需要根据无障碍标准检查PDF标签是否具有属性。
示例:
- H1 - 验证PDF中是否存在H1 - 图像(Figure Tag) - 验证图像\figure是否具有Alt文本 - 语言 - 验证语言属性是否设置,以便屏幕阅读器可以正确朗读。对于西班牙语和英语文档,应更新相应的语言代码。 - 表格 - 访问表对象并验证表结构是否正确(标题列与行列匹配等)
到目前为止,我已经能够:
- 通过
要访问标签,我尝试了以下选项:
-
使用OpenText创建无障碍PDF,因此开发团队不知道PDFBox。
我不知道如何获得标签/对象的访问权限(使用MarkedContent或其他内容)。
请建议如何提取单个对象(tag),例如P、H1、Table、Figure/Image并验证其属性。
注意:使用Adobe Acrobat Pro手动验证这些属性。
示例:
- 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手动验证这些属性。
PDDocument.getDocumentCatalog().getStructureTreeRoot().getKids()
只返回一个StructElem
类型对象。你找到迭代这个StrucElem
的方法了吗? - Pramesh Bajracharya