itext 添加空格_借助 iText 用代码在 PDF 中创建空白签名域
首選,要獲取 PdfStamper 對象:
PdfStamper ps = new PdfStamper(reader, bos);
然后,要獲取到需要創建簽名域的矩形區域:
// 創建數組簽名域
int x = 300, y = 400, width = 200, height = 200; // 坐標系遠點位于頁面左下角,左下角到右下角為 x 軸,左下角到左上角為 y 軸
Rectangle areaSignatureRect = new Rectangle(// 簽名域區域,由兩個對角點構成的矩形區域
x, // 點1 x坐標
y, // 點1 y坐標
x + width, // 點2 x坐標
y + height // 點2 y坐標
);
int pageNo = 1; // PDF 文件的頁碼從 1 開始,而不是 0
PdfFormField pdfFormField = PdfFormField.createSignature(ps.getWriter());
pdfFormField.setFieldName("AREA_SIGNATURE"); // 簽名域標識
pdfFormField.setPage(pageNo);
pdfFormField.setWidget(areaSignatureRect, PdfAnnotation.HIGHLIGHT_OUTLINE); // 高亮顯示
中間,可以通過 PdfAppearance 對象對這塊區域的外觀做下調整:
// 設置區域寬高和邊框厚度,以及邊框顏色,填充顏色
PdfAppearance pdfAppearance = PdfAppearance.createAppearance(
ps.getWriter(),
width,
height
);
pdfAppearance.setColorStroke(BaseColor.LIGHT_GRAY); // 邊框顏色
pdfAppearance.setColorFill(BaseColor.YELLOW); // 填充顏色
// 填充矩形區域-開始
pdfAppearance.rectangle(
0, // x 軸偏移
0, // y 軸偏移
width, // 寬
height // 高
);
pdfAppearance.fillStroke();
// 填充矩形區域-結束
// 添加文字-開始
pdfAppearance.setColorFill(BaseColor.BLACK); // 填充顏色重置為黑色,顯示文字
ColumnText.showTextAligned(
pdfAppearance,
Element.ALIGN_CENTER,
new Phrase("簽名區域", new Font(bf)),
width / 2, // x
height / 2, // y
0 // rotation
);
// 添加文字-結束
// 將外觀應用到簽名域對象之上
pdfFormField.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, pdfAppearance);
最后,將簽名域對象作為標注添加到 PdfStamper 對象:
ps.addAnnotation(pdfFormField, pageNo);
總結
以上是生活随笔為你收集整理的itext 添加空格_借助 iText 用代码在 PDF 中创建空白签名域的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 银行卡能补办原卡号吗
- 下一篇: 腾安基金销售(深圳)有限公司扣款怎么追回