PDF辅助功能|使用XSL-FO生成的PDF格式的Acrobat Pro中的“标题 - 失败”错误

问题描述 投票:1回答:1

我正在使用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>
            ...

我错过了什么?

pdf pdf-generation xsl-fo apache-fop
1个回答
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的帮助。

© www.soinside.com 2019 - 2024. All rights reserved.