RayPenはVisualforceページに配置することで、手書きパッドと手書き結果を表示することができます。手書きパッドはgcrp:RayPenコンポーネントの属性を使用して外観や画像サイズなどを変更できます。
手書きパッドのタイトルの文字列と文字色を変更できます。
<apex:page>
<gcrp:RayPen
titleText="署名欄"
titleTextColor="#3300FF"
/>
</apex:page>
手書きパッドの下部に注意書きを記載できます。この注意書きの文字列と色、および注意書き上部に表示する水平線の色を変更できます。
<apex:page>
<gcrp:RayPen
footNote="署名の前に契約書を必ずお読みください"
footNoteColor="#FF0000"
signatureLineColor="#FF6600"
/>
</apex:page>
手書きパッドの背景色を変更できます。
<apex:page>
<gcrp:RayPen
signatureBackgroundColor="#CCCCCC"
/>
</apex:page>
手書きの結果を確定または破棄するボタンの文字列を変更できます。
<apex:page>
<gcrp:RayPen
okButtonText="確定"
cancelButtonText="中止"
/>
</apex:page>
手書きパッドの向きを縦または横に変更できます。画面を縦向きにする場合はportrait、横向きの場合はlandscapeを設定します。
<apex:page>
<gcrp:RayPen
signaturePadOrientation="portrait"
/>
</apex:page>
プレースホルダーの代わりに手書きパッドに手書きした結果を表示できます。手書き結果を表示するには、gcrp:RayPenコンポーネントの属性のcurrentSignatureIdに手書きパッドで手書きした結果のIDを設定します。
次の手順は、プレースホルダーの代わりに手書き結果を表示する例です。
public with sharing class SampleSignaturePageController {
public string patientSignatureId{get;set;}
}
次に、Visualforceページを作成して手書きパッドを表示します。
<apex:page controller="SampleSignaturePageController" standardStylesheets="false">
<div>
<div class="signature-pad-container">
<gcrp:RayPen placeholder="署名する"
styleClass="signature-button"
signatureImageStyle="max-width: 200px; max-height: 100px;"
currentSignatureId="{!patientSignatureId}"
signaturePadOrientation="portrait"
/>
</div>
</div>
<style>
.signature-pad-container{
max-width: 200px;
max-height: 100px;
width: 200px;
height: 100px;
border: 1px solid black;
background-color: white;
text-align: center;
}
.signature-button{
width: 200px !important;
height: 100px !important;
background-color: white !important;
border: none !important;
-webkit-appearance: none;
background-image: none !important;
box-sizing: border-box;
border-radius: unset !important;
padding: 0 !important;
margin: 0 !important;
}
</style>
</apex:page>
作成したVisualforceページをタブに追加して動作を確認します。手書きパッドに入力すると、プレースホルダーの代わりに手書きした結果が表示されます。
手書きした手書き結果は画像として格納されます。格納する画像のサイズはgcrp:RayPenコンポーネントの属性のimageHeight、imageWidthを使用して設定できます。設定する数値の単位はピクセルです。
<apex:page>
<gcrp:RayPen
imageWidth="300"
imageHeight="150"
/>
</apex:page>
手書きの結果は画像としてgcrp:Signatureオブジェクトに格納されます。Signatureオブジェクトに格納されている手書き画像は、SignatureオブジェクトのSignature Imageを使用することでSalesforceの画面に埋め込むことができます。このときに表示される画像は、RayPenコンポーネントの属性のimageHeight、imageWidthで指定した実際の画像サイズになります。
画像を実際のサイズとは異なるサイズで表示したいときはSignatureオブジェクトのSignature Imageを使用せずに、次の手順のように新しくカスタム項目を作成して使用します。
これでSalesforceの画面に画像を埋め込む場合にSignature Imageの代わりにSignatureImage_CustomSizeを使用すれば、任意に指定したサイズで画像を表示できます。
Copyright © 2024 MESCIUS inc. All rights reserved.