PDFBox - 可访问的PDF - 如何检查PDF标签是否符合可访问性指南中的属性

6
需要根据无障碍标准检查PDF标签是否具有属性。
示例:
- H1 - 验证PDF中是否存在H1 - 图像(Figure Tag) - 验证图像\figure是否具有Alt文本 - 语言 - 验证语言属性是否设置,以便屏幕阅读器可以正确朗读。对于西班牙语和英语文档,应更新相应的语言代码。 - 表格 - 访问表对象并验证表结构是否正确(标题列与行列匹配等)
到目前为止,我已经能够:
- 通过PDDocument.getDocumentInformation().getMetadataKeys();提取元数据并验证文档是否具有适当的标题、主题和制作者信息 - 通过检查PDDocument.getDocumentCatalog().getMarkInfo().isMarked();标记来验证PDF是否可访问
要访问标签,我尝试了以下选项:
- getDocumentCatalog().getAcroForm()返回Null - PDDocument.getDocumentCatalog().getPages().get(0).getAnnotations();返回Null - 我尝试循环遍历PDDocument.getDocumentCatalog().getStructureTreeRoot().getKids(),但它仅返回1个StructElem类型的对象
使用OpenText创建无障碍PDF,因此开发团队不知道PDFBox。
我不知道如何获得标签/对象的访问权限(使用MarkedContent或其他内容)。
请建议如何提取单个对象(tag),例如P、H1、Table、Figure/Image并验证其属性。
注意:使用Adobe Acrobat Pro手动验证这些属性。

1
请分享一个包含这些标签的 PDF 并 @ 我。你要找的在结构树里,也可以用 PDFDebugger 查看它。 - Tilman Hausherr
@TilmanHausherr 感谢您的回复。不幸的是,我无法分享我需要验证的PDF文件。以下是样本PDF文件。在下面的PDF中,我需要验证Fox和dog图像是否具有适当的alt文本。http://gitlab.itextsupport.com/itext7/samples/raw/develop/publications/jumpstart/cmpfiles/chapter07/cmp_quick_brown_fox_PDFA-1a.pdf在下面的PDF中,我需要验证表格结构是否正确。例如它是否有TH、TBody标签。每个TD都被映射。http://gitlab.itextsupport.com/itext7/samples/raw/develop/publications/jumpstart/cmpfiles/chapter07/cmp_united_states_PDFA-3a.pdf - Sachin G
我看了一下...这比我想象的更棘手,很抱歉。如果你用PDFDebugger看一下,就会知道为什么了 :-( - Tilman Hausherr
没问题,谢谢你的检查。我以前没有用过PDFDebugger,会去尝试一下。 - Sachin G
@SachinG 你有关于这个的任何线索吗?另外,PDDocument.getDocumentCatalog().getStructureTreeRoot().getKids() 只返回一个 StructElem 类型对象。你找到迭代这个 StrucElem 的方法了吗? - Pramesh Bajracharya
显示剩余2条评论
1个回答

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接