iText で PdfSignatureAppearance を回転させようとすると大きな問題が発生します (たとえば、90 度)。MakeSignature.signDetached メソッドを使用して PDF に署名し、外観に独自のテキストと画像を設定しています。
ここにいくつかのコードがあります:
PdfReader reader = new PdfReader("my input file");
FileOutputStream fout = new FileOutputStream("my output file");
PdfStamper stamper = PdfStamper.createSignature(reader, fout, '\0');
PdfSignatureAppearance sap = stamper.getSignatureAppearance();
sap.setLayer2Text("Signed by someone");
sap.setAcro6Layers(true);
sap.setSignatureGraphic("my signature image", null));
sap.setRenderingMode(PdfSignatureAppearance.RenderingMode.GRAPHIC_AND_DESCRIPTION);
Rectangle pageSize = reader.getPageSize(1); //the page to sign: 1 is the 1st one
Rectangle rect = new Rectangle(llx, lly, urx, ury, rotation);
//llx, lly ... come from a GUI. They are working fine, but the rotation is not considered
sap.setVisibleSignature(rect, 1, null); //1 is the page to sign
MakeSignature.signDetached(sap, ...); //sign the document
私の問題は「回転」引数です。何を設定しても、テキストと画像が回転することはありません。iText コード (私は iText 5.3.2 を使用しています) を見ると、署名レイヤーの境界ボックスの回転引数が破棄されているため、この方法で回転を設定してもまったく効果がありません。
ここで質問: PdfSignatureAppearance および MakeSignature クラス全体を書き換えずに署名レイヤーを回転させる方法はありますか?
明確にするために、ドキュメントにデジタル署名するコードは正常に機能しています。私の唯一の問題は、署名のビジュアル レイヤーに関するものです。回転できません。
ありがとう。