itext 添加空格_借助 iText 用代码在 PDF 中创建空白签名域
首選,要獲取 PdfStamper 對(duì)象:
PdfStamper ps = new PdfStamper(reader, bos);
然后,要獲取到需要?jiǎng)?chuàng)建簽名域的矩形區(qū)域:
// 創(chuàng)建數(shù)組簽名域
int x = 300, y = 400, width = 200, height = 200; // 坐標(biāo)系遠(yuǎn)點(diǎn)位于頁(yè)面左下角,左下角到右下角為 x 軸,左下角到左上角為 y 軸
Rectangle areaSignatureRect = new Rectangle(// 簽名域區(qū)域,由兩個(gè)對(duì)角點(diǎn)構(gòu)成的矩形區(qū)域
x, // 點(diǎn)1 x坐標(biāo)
y, // 點(diǎn)1 y坐標(biāo)
x + width, // 點(diǎn)2 x坐標(biāo)
y + height // 點(diǎn)2 y坐標(biāo)
);
int pageNo = 1; // PDF 文件的頁(yè)碼從 1 開(kāi)始,而不是 0
PdfFormField pdfFormField = PdfFormField.createSignature(ps.getWriter());
pdfFormField.setFieldName("AREA_SIGNATURE"); // 簽名域標(biāo)識(shí)
pdfFormField.setPage(pageNo);
pdfFormField.setWidget(areaSignatureRect, PdfAnnotation.HIGHLIGHT_OUTLINE); // 高亮顯示
中間,可以通過(guò) PdfAppearance 對(duì)象對(duì)這塊區(qū)域的外觀做下調(diào)整:
// 設(shè)置區(qū)域?qū)捀吆瓦吙蚝穸?#xff0c;以及邊框顏色,填充顏色
PdfAppearance pdfAppearance = PdfAppearance.createAppearance(
ps.getWriter(),
width,
height
);
pdfAppearance.setColorStroke(BaseColor.LIGHT_GRAY); // 邊框顏色
pdfAppearance.setColorFill(BaseColor.YELLOW); // 填充顏色
// 填充矩形區(qū)域-開(kāi)始
pdfAppearance.rectangle(
0, // x 軸偏移
0, // y 軸偏移
width, // 寬
height // 高
);
pdfAppearance.fillStroke();
// 填充矩形區(qū)域-結(jié)束
// 添加文字-開(kāi)始
pdfAppearance.setColorFill(BaseColor.BLACK); // 填充顏色重置為黑色,顯示文字
ColumnText.showTextAligned(
pdfAppearance,
Element.ALIGN_CENTER,
new Phrase("簽名區(qū)域", new Font(bf)),
width / 2, // x
height / 2, // y
0 // rotation
);
// 添加文字-結(jié)束
// 將外觀應(yīng)用到簽名域?qū)ο笾?/p>
pdfFormField.setAppearance(PdfAnnotation.APPEARANCE_NORMAL, pdfAppearance);
最后,將簽名域?qū)ο笞鳛闃?biāo)注添加到 PdfStamper 對(duì)象:
ps.addAnnotation(pdfFormField, pageNo);
總結(jié)
以上是生活随笔為你收集整理的itext 添加空格_借助 iText 用代码在 PDF 中创建空白签名域的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 银行卡能补办原卡号吗
- 下一篇: opencv 解析yuv_OpenCV