我正在使用 Apache FOP 2.1 生成 PDF 文件。
为此,我尝试将默认语言设置为英语。
这应该在通过 Adobe Reader 的选项“文件/属性/高级/阅读选项”创建 PDF 后进行验证。该值当前为空。
我尝试过设置xml:lang="en"
in fo:root
元素,在第一页序列中或在第一个元素中.xsl
文件...没有什么可以解决这个问题。
有什么建议吗?
谢谢季米特里斯。
Update:
我按照答案中的建议尝试了另外 2 个选项,但这两个选项都不起作用
<fo:declarations>
<pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
<pdf:string key="Lang">en</pdf:string>
</pdf:catalog>
<x:xmpmeta xmlns:x="adobe:ns:meta/">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about="" xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:title>the document title</dc:title>
<dc:language>en</dc:language>
Update 2
已经开始对这个问题进行悬赏。
任何帮助表示赞赏和奖励
根据我所尝试的一切,adobe reader显示的文档属性中的语言字段与pdf中实际找到的文档语言没有太大关系(它始终为空)。
FOP 2.1 的 fo:root 中的 xml:lang="en" 标记足以让 exiftool 将文档列为英语语言,也足以让 pdfbox 中的 PDFDebugger 显示文档目录中的 /Lang 条目,该条目位于语言是根据指定的pdf_参考 1.7 https://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf表 3.25“目录字典中的条目”。
The code
<fo:declarations>
<pdf:catalog
xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
<pdf:string key="Lang">en</pdf:string>
</pdf:catalog>
在 pdf 输出中的作用与 xml:lang 完全相同。
此外,您还可以在元数据中设置语言(也在元数据中)fo:declarations
)
<x:xmpmeta
xmlns:x="adobe:ns:meta/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:RDF>
<rdf:Description rdf:about="">
<dc:language><rdf:Bag><rdf:li>en</rdf:li></rdf:Bag></dc:language>
但如果 xml:lang 存在,我的 fop 2.1 似乎也会自动设置它。
因此,如果有人能够解释 adobe reader 中的文档语言属性实际显示的内容,那将会很有趣。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)