У меня есть две версии того же документа в формате PDF. У каждого есть аннотации, которые я сделал на нем при чтении его на моем ноутбуке, в то время как другой имеет аннотации, которые я сделал на планшете. Теперь я хочу объединить эти аннотации в тот же файл.
Я знаю, что Adobe Acrobat позволяет мне делать это (см., например, что этот ответ на Спрашивает Отличающийся). Есть ли какое-либо программное обеспечение, которое я могу использовать в Ubuntu, которая позволит мне делать это?
Если это имеет значение я использую Xodo на планшете.
По крайней мере, okular
хранилища комментируют как объекты /Type/Annot
, посмотрите эти примеры для синтаксиса:
17 0 obj
<<
/Type/Annot
/Rect[67.023 756.168 85.203 774.333]
/Subtype/Text
/M(D:20170828091301)
/T(■ somebody)
/Contents(■ text)
/NM(okular-{8ff65cc1-7b89-45c6-8adf-1aa6cec06cd0})
/F 4
/C[1 1 0]
/CA 0.5
/Border[0 0 1]
/P 20 0 R
>>
endobj
18 0 obj
<<
/Type/Annot
/Rect[37.7 597.841 236.675 615.979]
/Subtype/FreeText
/DA(/Invalid_font 10 Tf)
/M(D:20170828091316)
/T(■ somebody)
/Contents(■ text)
/NM(okular-{50420111-1c05-4e07-8db5-08deffb0ec7e})
/F 20
/C[1 1 0]
/CA 0.5
/Border[0 0 1]
/Q 0
/IT/FreeText
/P 20 0 R
>>
endobj
Те объекты связаны со страницами с помощью команды как /Annots 14 0 R
, который является, как этот сценарий удаляет все комментарии в данном pdf
файл, это просто удаляет весь /Annots
строки:
pdftk original.pdf output uncompressed.pdf uncompress
LANG=C sed -n '/^\/Annots/!p' uncompressed.pdf > stripped.pdf
pdftk stripped.pdf output final.pdf compress
Если Вы погружаетесь действительно глубоко в структуру Вашего определенного pdf
документы – просто открывают их с текстовым редактором – Вы можете понимать то, что продолжается, и сумейте управлять своими документами с, например. sed
, однако я серьезно сомневаюсь, там существует решение, которое соответствует каждому типу pdf
зарегистрируйте здесь. Если это имеет значение (по крайней мере, для моего тестового файла) следующая острота дает Вам комментарии input.pdf
в терминале:
pdftk input.pdf output - uncompress | sed '/^\/Contents (/!d'
Добавить >> comments
в конец той строки для хранения вывода в названном файле comments
вместо этого.