Хранение аннотаций и метаданных Okular PDF в самом PDF

16

Программа просмотра PDF Okular (часть рабочего стола KDE) имеет множество приятных функций и поддерживает множество форматов файлов. Одна из вещей, которые мне нравятся, это комментарии и аннотации. К сожалению, все комментарии и метаданные (например, последняя просмотренная страница) хранятся локально в: ~ / .kde / share / apps / okular / docdata

Есть ли способ заставить Okular хранить их в самом PDF?

Bichoy
источник
2
См. Также unix.stackexchange.com/questions/34053/…
naught101

Ответы:

11

Эта информация документирована в обычной документации .

Как уже упоминалось, метод, поддерживаемый некоторое время, заключается в сохранении документа PDF в виде архива, который создает .okularфайл. Сохранение аннотаций непосредственно в PDF довольно недавно, и из документации эта опция доступна только с версии 0.15. С такой последней версией, использование Save Asи сохранение в формате PDF также сохраняет аннотации. Также обратите внимание, что, как упоминалось в документации, для этого также требуется последняя версия poppler.

Однако проблема, с которой вы можете столкнуться, заключается в том, что документ, сохраненный в виде архива, в настоящее время нельзя сохранить в формате PDF. Поэтому, если вы уже сделали свои аннотации и хотите использовать более новую версию, okularчтобы сохранить их в PDF, это может оказаться сложным. Если вы просто обновите свою версию okular, это может сработать, поскольку она будет использовать ту же ~/.kde/share/apps/okular/docdataпапку. Однако, если вы хотите использовать более новую версию okular в другой системе, вам следует перенести PDF и соответствующий файл метаданных отдельно.

Винсент Нивольерс
источник
3

После создания каких-либо комментариев с помощью Okular,

Перейдите к опции «Печать» (в меню «Файл» или «Ctrl + P»), а затем в опции « Имя» измените значение на «Печать в файл (PDF)», а в опции « Выходной файл» укажите путь к нужному выходному файлу.

Вуаля, ваши аннотации теперь являются частью вашего нового PDF.

Яскаран Вирди
источник
Всплывающие заметки не кликабельны, поэтому вы можете использовать их.
rbaleksandar
2

Из обычного FAQ:

Как я могу аннотировать документ и отправить его другу / коллеге / и т. Д.?

Начиная с KDE 4.2, Okular имеет функцию «архивирования документов». Это специфичный для Okular формат для переноса документа плюс различные метаданные, связанные с ним (в настоящее время только аннотации). Вы можете сохранить «архив документов» из открытого документа, выбрав «Файл -> Экспортировать как -> Архив документов». Чтобы открыть архив документов Okular, просто откройте его с помощью Okular, как, например, PDF-документ.

http://forum.kde.org/viewtopic.php?f=20&t=107182#p247428

alxs
источник
3
Это хорошо для передачи пользователям Okular. Я хочу отправить аннотированный документ обычному пользователю. Кто-то, кто может использовать любую операционную систему и просматривать PDF с его любимым средством просмотра.
Бичой
1

Просто используйте file > print > printer name: print to file (PDF). Выходной файл отправляется в ваш дом по умолчанию. Ваша аннотация должна быть там.

м-RIC
источник
2
Это не дает желаемого результата. Пример: я попытался подчеркнуть и print to PDF. Хотя подчеркивание сохраняется, страница с подчеркиванием сохраняется как изображение (вы не можете выделить текст), но страницы, на которых нет комментариев, позволяют выбирать текст.
Cutculus
1

Текущая версия Okular позволяет сохранить PDF с аннотациями, перейдя в Файл -> Сохранить как.

Тем не менее, я хотел что-то автоматизированное. Итак, я создал скрипт Autokey, чтобы каждый раз, когда я закрывал свой PDF, аннотации автоматически сохранялись в самом PDF. Обратите внимание, что этот скрипт сохранит ваш PDF, перезаписывая оригинальный PDF.

Скрипт автоключей

Сначала вам нужно будет установить autokey-gtkи xdotoolсначала:

sudo apt-get install autokey-gtk xdotool

Теперь в autokey перейдите в New -> Script. Добавьте следующий код в ваш новый скрипт:

#This is used to save PDF in okular so that the annotations persist in the PDF file itself
#We have to use to `xdotool` to bring the dialogs back into focus, otherwise they are losing focus 
import subprocess

keyboard.send_keys("<ctrl>+<shift>+s")
time.sleep(0.4)
subprocess.call(["xdotool", "windowfocus", "`xdotool getwindowfocus`"])
time.sleep(0.1)
keyboard.send_key("<enter>")
time.sleep(0.1)
subprocess.call(["xdotool", "windowfocus", "`xdotool getwindowfocus`"])
time.sleep(0.1)
keyboard.send_key("<tab>")
time.sleep(0.1)
keyboard.send_key("<enter>")
time.sleep(0.1)
subprocess.call(["xdotool", "windowfocus", "`xdotool getwindowfocus`"])
time.sleep(0.5)
keyboard.send_keys("<ctrl>+q") #Quit Finally

Теперь вы можете назначить фильтр окна и горячую клавишу этому сценарию. В окне фильтра добавить .*okular.*. И в горячих клавишах, я использовал <ctrl>+s. Вы можете использовать все, что вы предпочитаете.

Итак, теперь, когда мне нужно выйти из okular, я использую CtrlS, и okular завершает работу после сохранения моего pdf.

shivams
источник