java - 当字段标记为“按 N 个符号拆分”时,pdfBox acroForm 文本字段中的对齐
问题描述
目的:填写一份PDF表格,其中的字符必须写在方格中(使用pdfBox 2.0.24)。因此,字段中有“分成N个字符”的标志。
问题:水平对齐不起作用。如果您在任何查看器中打开模板,那么您将能够用手输入信息并正确显示。但是从程序填充后 - 对齐不起作用填充-form.pdf
一些截图:
将重复该问题的示例:
代码:
public static byte[] testFillPdf(byte[] pdf, Map<String,String> data) throws Exception{
PDDocument inDoc = PDDocument.load(pdf);
PDDocumentCatalog docCatalog = inDoc.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
acroForm.setXFA(null);
acroForm.setNeedAppearances(false);
PDTextField field1 = (PDTextField) acroForm.getField("field1");
field1.setValue("1");
PDTextField field2 = (PDTextField) acroForm.getField("field2");
field2.setValue("2");
acroForm.refreshAppearances();
acroForm.flatten();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
inDoc.setAllSecurityToBeRemoved(true);
inDoc.save(baos);
inDoc.close();
return baos.toByteArray();
}
我找不到解决这个问题的方法。这是一个错误吗?还是我错过了什么?
解决方案
Tilman Hausherr -“查看代码后,我发现这是一个TODO。issues.apache.org/jira/browse/PDFBOX-5256 ”
推荐阅读
- aem - 通过 HTTP 从 Adobe Experience Manager 提供我自己的 HLS .m3u8 和 .ts 文件,以便通过 Video.js 播放
- ruby - 如何按属性均匀排列数组
- slider - 通过鼠标拖动触发上一个和下一个按钮
- powerbi - 如何禁用 Power BI 文本框中的超链接?
- reactjs - 将 setTimeout 函数与设置特定状态的箭头函数一起使用时出现问题
- c# - AuthnContextDeclRef 问题
- java - Java 线程在 join() 中被阻塞
- database - 有没有办法在 Redis 数据库中创建集群?
- python - 数据驱动 - 如何在 Python 中使用选择性 args/params 作为参数化的一部分?
- sql - 将 SQL 输出格式化为自定义 JSON