我正在使用Apache FO从XML创建PDF文件。当我使用Acrobat Reader Pro DC(版本2019.010.20098)对生成的PDF进行辅助功能检查时,辅助功能报告显示“标题-失败”。
当我在Acrobat中查看文档的元数据时(文件->属性->描述选项卡),我可以看到标题,作者和主题值都填充有我的FO样式表中定义的值(请参见下文)
如果我转到文件->属性->初始视图(选项卡)->“窗口选项”(部分),然后在“显示”中选择“文档标题”,然后重新运行可访问性检查标题是否通过。
此问题与this previous question中提出的问题相同。
根据前一个问题的答案,此问题应该在FOP 2.2中得到解决。但是,我已经使用FOP 2.2和FOP 2.3进行了尝试,但这个问题仍然存在。我目前正在运行FOP 2.3,截至撰写本文时,它是当前版本。
是否需要设置一些FOP值或属性以使Acrobat默认在初始视图中显示“文档标题”而不是“文件名”?
以下是我的XSL的相关代码段:
...
</fo:layout-master-set>
<fo:declarations>
<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>DOCUMENT TITLE</dc:title>
<dc:creator>COMPANY NAME</dc:creator>
<dc:description>DOCUMENT DESCRIPTION</dc:description>
</rdf:Description>
</rdf:RDF>
</x:xmpmeta>
</fo:declarations>
<fo:bookmark-tree>
...
我想念什么?
答案 0 :(得分:1)
我通过在“ fo:declaration”部分中添加以下代码段来解决此问题:
<fo:declarations>
<pdf:catalog xmlns:pdf="http://xmlgraphics.apache.org/fop/extensions/pdf">
<!-- this will replace the window title from filename to below dc:title -->
<pdf:dictionary type="normal" key="ViewerPreferences">
<pdf:boolean key="DisplayDocTitle">true</pdf:boolean>
</pdf:dictionary>
</pdf:catalog>
<x:xmpmeta xmlns:x="adobe:ns:meta/">
我在this question中了解了这种方法。
谢谢@TonyGraham的帮助。