PDF可访问性&x27;标题-失败';使用XSL-FO生成的PDF中的Acrobat Pro出错

PDF可访问性&x27;标题-失败';使用XSL-FO生成的PDF中的Acrobat Pro出错,pdf,pdf-generation,xsl-fo,apache-fop,Pdf,Pdf Generation,Xsl Fo,Apache Fop,我正在使用ApacheFO从XML创建一个PDF文件。当我使用Acrobat Reader Pro DC(版本2019.010.20098)对生成的PDF运行可访问性检查时,可访问性报告显示“标题-失败” 当我在Acrobat(文件-->属性-->描述选项卡)中查看文档元数据时,我可以看到标题、作者和主题值都由我的FO样式表中定义的值填充(见下文) 如果我转到文件-->属性-->初始视图(选项卡-->“窗口选项”(部分),并在“显示”中选择“文档标题”,然后重新运行辅助功能,请检查标题传递 此问

我正在使用ApacheFO从XML创建一个PDF文件。当我使用Acrobat Reader Pro DC(版本2019.010.20098)对生成的PDF运行可访问性检查时,可访问性报告显示“标题-失败”

当我在Acrobat(文件-->属性-->描述选项卡)中查看文档元数据时,我可以看到标题、作者和主题值都由我的FO样式表中定义的值填充(见下文)

如果我转到文件-->属性-->初始视图(选项卡-->“窗口选项”(部分),并在“显示”中选择“文档标题”,然后重新运行辅助功能,请检查标题传递

此问题与中提出的问题相同

根据对上一个问题的回答,这个问题应该在FOP2.2中得到解决。然而,我已经使用FOP2.2和FOP2.3尝试了这个方法,这个问题仍然存在。我目前正在运行FOP2.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>
            ...
。。。
文件标题
公司名称
文件说明
...

我遗漏了什么?

我通过在“fo:declaration”部分添加以下代码片段解决了这个问题:


真的
我是在年学会这种方法的


谢谢@TonyGraham的帮助。

您正在生成什么PDF版本?”DisplayDoctTitle’已添加到PDF 1.4的查看器首选项词典中。(但是,如果您试图生成可访问的PDF,则生成PDF 1.3的可能性似乎不大。)我正在生成PDF 1.7。如何设置“DisplayDocTitle”值?实际上我想我可能已经找到了答案。
            <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/">