実際、私は約 20 のフォーム フィールドを持つ PDF を持っています。その 1 つのフォーム フィールドは 'PDSignatureField' 型です。ここで、この PDSignatureField に値を設定する必要があります
これが私が試したコードの一部です(署名値を取得できますが、ドキュメントを保存した後に署名を設定しようとするとmが表示されません)
GetSignature --> 正常に動作
document = PDDocument.load(documents);
PDAcroForm form = document.getDocumentCatalog().getAcroForm();
PDField pdfFields;
pdfFields = form.getField("EMPLOYEE SIGNATURE");
if (pdfFields instanceof PDSignatureField)
{
PDSignatureField f3 = (PDSignatureField)form.getField("EMPLOYEE SIGNATURE");
System.out.println(f3.getSignature().getName());
}
SetSignature --> その特定のフォーム フィールドで署名値を表示できません
ここで 'sigObject' が PDSignature オブジェクトとして宣言されています
document = PDDocument.load(documents);
PDAcroForm form = document.getDocumentCatalog().getAcroForm();
PDField pdfFields;
pdfFields = form.getField("EMPLOYEE SIGNATURE");
if (pdfFields instanceof PDSignatureField)
{
PDSignatureField f3 = (PDSignatureField)form.getField("EMPLOYEE SIGNATURE");
sigObject.setName("Test");
sigObject.setLocation("Test");
sigObject.setReason("Test");
sigObject.setSignDate(Calendar.getInstance());
f3.setSignature(sigObject);
}
誰でも私を助けてくれますか pls ありがとう