Объединить аннотации PDF из двух файлов

gnome-system-monitor или df -h или lsblk

Другими полезными утилитами являются baobab.

6
задан 16 October 2017 в 08:40

2 ответа

Как минимум 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 - просто откройте их текстовым редактором - вы сможете понять, что происходит, и управлять ими с помощью e. г. sed, однако я серьезно сомневаюсь, что существует решение, которое подходит для каждого типа документа pdf здесь. Для чего это стоит (по крайней мере для моего тестового файла), следующий oneliner дает вам комментарии input.pdf в терминале:

pdftk input.pdf output - uncompress | sed '/^\/Contents (/!d'

Добавить >> comments в конец этой строки для хранения вывод в файле с именем comments.

1
ответ дан 18 July 2018 в 07:48

Как минимум 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 - просто откройте их текстовым редактором - вы сможете понять, что происходит, и управлять ими с помощью e. г. sed, однако я серьезно сомневаюсь, что существует решение, которое подходит для каждого типа документа pdf здесь. Для чего это стоит (по крайней мере для моего тестового файла), следующий oneliner дает вам комментарии input.pdf в терминале:

pdftk input.pdf output - uncompress | sed '/^\/Contents (/!d'

Добавить >> comments в конец этой строки для хранения вывод в файле с именем comments.

1
ответ дан 24 July 2018 в 18:52
  • 1
    Я награждаю вас щедростью, чтобы она не потерялась. Но я надеюсь, что есть лучший способ! – becko 21 September 2017 в 10:20
  • 2
    @becko Как PDF далеко не является четко определенным форматом с четким и стабильным синтаксисом, к сожалению, это маловероятно. Извините за отсутствие новостей. – dessert 21 September 2017 в 10:26
  • 3
    Ну, Adobe Acrobat делает это довольно хорошо, что показывает, что это возможно. На самом деле я использую Xodo для создания аннотаций на планшете. Возможно, Xodo хранит комментарии так же, как Okular? – becko 21 September 2017 в 11:03
  • 4
    Вы уверены, что Adobe Acrobat может сделать это для комментариев, добавленных в другие программы? Я бы не стал рассчитывать на это ... Я только что протестировал, и Xodo хранит комментарии аналогично Okular, поэтому последняя команда в моем ответе может отображать их. – dessert 21 September 2017 в 12:24
  • 5
    Adobe Acrobat отлично работает с Xodo, который является комбо, который я использовал, на Mac (где у меня есть Adobe Acrobat). Если Xodo использует тот же формат, что и Okular, это хорошие новости! благодаря – becko 21 September 2017 в 12:31

Другие вопросы по тегам:

Похожие вопросы: