【发布时间】:2023-04-07 10:39:01
【问题描述】:
我有一个我认为是由 apache fop 生成的 PDF/A-1a 文件,并且使用 pdfbox 中的 OverlayPDF 放置了一个覆盖信头。 preflight 将文件识别为正常(但显然只有 PDF/A-1b)并且 Acroreader 在文档属性中说它是“PDF/A”模式和“标记:是”。我想看看它的外观,以便我可以将 fop 调整为一些小的改进。
我的问题是,我在哪里可以查看标记的内容(即 PDF 中的文本表示是 char 输出的紧缩序列),最好不用自己编码,例如使用 pdfbox 中的调试器/PDFReader?我在那里有点迷失 - 是否有另一种方法获取文档结构的文本输出,例如到一个xml文件中使用编辑器搜索它? - TIA!
编辑
信头本身最初是附言,并使用 ghostscript 转换为 PDF/A-1b,然后覆盖
java -jar pdfbox-app-2.0.0-RC3.jar OverlayPDF letter_plain.pdf \
followingpages_letterhead.pdf -first firstpage_letterhead.pdf \
letter_with_head.pdf
letter_plain.pdf 是使用 fop 生成的
fop -pdfprofile 'PDF/A-1a' -v -d -c my_fop_config.cfg -xml letter.xml \
-xsl letter_to_fo.xsl -pdf letter_plain.pdf
使用的版本是 pdfbox 2.0 和 fop 1.1。
如果 letter_with_head.pdf 不再是 PDF/A-1a,那么问题将适用于 letter_plain.pdf,根据 fop 调用应该是 1a,必须选择不同的解决方案(如 svg)来那就把信笺拿进去。
编辑 2
示例 pdf 可在此处找到:https://www.magentacloud.de/share/j9qk7jfzyv - 无需单独的 followingpages_letterhead.pdf,因为示例只有一页。
编辑 3
我怀疑文本隐藏在 Root/StructTreeRoot/ParentTree/Nums/[1]/[3]/P/P/P/P/P/P 下方的某处(假设 P 以某种方式映射 fo:block 的)但无法从 pdf 中显示文本。
【问题讨论】:
-
是否可以共享相关文档?
-
这里有示例 pdf magentacloud.de/share/j9qk7jfzyv
-
首先,Adobe Acrobat Preflight 声称 letter_plain.pdf 中已经存在许多 PDF/A-1a 有效性问题。
-
我知道,刚在pdftools上查了一下。有些我可以使用 exiftool 修复(关于包/语言和日期的东西),有些我不知道它们有多相关......但核心问题是关于标签。
标签: pdf pdfbox apache-fop pdfa