У меня есть пара сценариев ios, когда я объединяю PDF, а также когда извлекаю аннотации:
Вставьте do c между pageRange:
Например:
pdf_1 (страницы 1 -> 3), pdf_2, pdf_2, pdf_1 (страницы 4 -> 5)
Итак, я попробовал два способа Для этого:
Используя класс Splitter
для получения поддокументов, используйте PDFMerger.appendDocument
(Этот подход требует памяти и времени).
Другой подход состоял в том, чтобы l oop на страницах для каждого документа и добавлять (импортировать) страницы, необходимые для нового документа. (этот подход намного быстрее и занимает меньше памяти)
Мой вопрос, есть ли другой способ, который лучше, чем эти 2 подхода, и я также хочу сохранить насколько это возможно, в форме formFields, что подводит нас ко второму вопросу.
Я хочу проанализировать документ PDF, чтобы вывод был таким:
{
"pageAnnotations": {
"radioButton": [], // should contain all radio buttons annotations with exportedValues, flags ... also if radio has two checks, this means that two objects would exist in this array.
"pushButton": [],
"textBox": [],
"checkBox": [],
"choiceBox": []
},
"pageNumber": 1,
"rect": {
"rotation": 0.0,
"offsetX": 0.0,
"offsetY": 0.0,
"width": 25.5,
"height": 33.0
}
}
Мне удалось получить описанную выше структуру, но она основывается на существовании acroForms
и pageAnnotations
, циклически перебирая поля fieldTree
и получая поля widgets
для terminal
, а затем связывает widget
на поле со страницей.
Проблема здесь в том, что в случае объединенных pdf, как указано выше, поля formFields удаляются, но аннотации страницы сохраняются, поэтому я больше не могу полагаться на синтаксический анализ, описанный выше. .
Что мне нужно, так это проанализировать pdf на основе постраничных аннотаций (страница за страницей), не полагаясь больше на acroForm. ???
(Извините, я не могу поделиться ни одним кодом или PDF-файлами (политика компании))