PDFBox - Доступный PDF - Как проверить, имеют ли PDF-теги свойства в соответствии с рекомендациями Accessiblity - PullRequest
0 голосов
/ 27 декабря 2018

Необходимо проверить, имеют ли теги PDF свойства в соответствии с рекомендациями по доступности.Примеры:

  • H1 - проверить, что H1 существует в PDF
  • Изображение (изображение тега) - проверить изображение \ figure имеет альтернативный текст
  • Язык - Проверитьэто свойство языка установлено так, что программа чтения с экрана будет читать правильно.Для документов на испанском и английском языках соответствующие коды языков должны быть обновлены
  • Таблицы - получить доступ к объекту таблицы и проверить правильность структуры таблицы (столбцы заголовков соответствуют столбцу строки и т. Д.)

Пока чтоЯ смог:

  • Извлечь метаданные и проверить, что документ имеет правильную информацию о названии, теме и производителе, PDDocument.getDocumentInformation().getMetadataKeys();
  • Проверить, доступен ли PDF или нет, отметив PDDocument.getDocumentCatalog().getMarkInfo().isMarked(); flag

Чтобы получить доступ к тегам, я попробовал следующие варианты:

  • getDocumentCatalog().getAcroForm() возвращает значение Null
  • PDDocument.getDocumentCatalog().getPages().get(0).getAnnotations(); возвращает значение Null
  • Я попытался перебрать PDDocument.getDocumentCatalog().getStructureTreeRoot().getKids(), но он возвращает только объект типа 1 StructElem

Создание Accessible PDF выполняется с использованием OpenText, поэтому команда разработчиков не знает о PDFBox.Я заблудился здесь, как получить доступ к тегам / объектам (используйте MarkedContent или что-то еще).

Пожалуйста, предложите, как извлечь отдельные объекты (теги), такие как P, H1, Table, Figure / Image и проверить их свойства.Примечание. Проверка этих свойств вручную выполняется с использованием Adobe Acrobat Pro

.

1 Ответ

0 голосов
/ 15 июля 2019

На основании https://issues.apache.org/jira/browse/PDFBOX-7, представляется, что вы можете использовать PDFMarkedContentExtractor для получения необходимой вам информации.

...