Przechowywanie adnotacji i metadanych Okular PDF w samym pliku PDF

16

Przeglądarka plików PDF Okular (część pulpitu KDE) ma wiele fajnych funkcji i obsługuje wiele formatów plików. Jedną z rzeczy, które lubię w tym są komentarze i adnotacje. Niestety wszystkie komentarze i metadane (jak ostatnio oglądana strona) są przechowywane lokalnie w: ~ / .kde / share / apps / okular / docdata

Czy istnieje sposób, aby Okular przechowywał je w samym pliku PDF?

Bichoj
źródło
2
Zobacz także unix.stackexchange.com/questions/34053/…
naught101

Odpowiedzi:

11

Informacje te są udokumentowane w dokumentacji okularu .

Jak wspomniano w Alxs, obecnie obsługiwaną metodą jest zapisanie dokumentu PDF jako archiwum, które tworzy .okularplik. Zapisywanie adnotacji bezpośrednio w pliku PDF jest dość niedawne, a z dokumentacji ta opcja jest dostępna tylko od wersji 0.15. Dzięki tak najnowszej wersji używanie Save Asi zapisywanie jako plik PDF również powoduje przechowywanie adnotacji. Należy również pamiętać, że jak wspomniano w dokumentacji, wymaga to również najnowszej wersji poppler.

Problemem może być jednak to, że dokumentu zapisanego jako archiwum nie można obecnie zapisać z powrotem jako pdf. Dlatego też, jeśli adnotacje zostały już wykonane i chcesz użyć nowszej wersji, okularaby zapisać je w pliku PDF, może to być trudne. Jeśli tylko zaktualizujesz swoją wersję okularu, może to działać, ponieważ będzie używać tego samego ~/.kde/share/apps/okular/docdatafolderu. Jeśli jednak chcesz użyć nowszej wersji okularu w innym systemie, powinieneś osobno przesłać plik PDF i odpowiedni plik metadanych.

Vincent Nivoliers
źródło
3

Po dodaniu adnotacji za pomocą Okulara,

Przejdź do opcji Drukuj (w menu Plik lub Ctrl + P), a następnie w opcji Nazwa zmień wartość na Drukuj do pliku (PDF), aw opcji Plik wyjściowy podaj ścieżkę potrzebnego pliku wyjściowego.

Voila, twoje adnotacje są teraz częścią twojego nowego pliku PDF.

Jaskaran Virdi
źródło
Notatek wyskakujących nie można klikać, dlatego można ich używać.
rbaleksandar
2

Od okular faq:

Jak mogę opatrzyć adnotację dokumentem i wysłać go znajomemu / współpracownikowi itp.?

Od KDE 4.2 Okular posiada funkcję „archiwizacji dokumentów”. Jest to format specyficzny dla Okulara do przenoszenia dokumentu oraz powiązanych z nim metadanych (obecnie tylko adnotacje). Możesz zapisać „archiwum dokumentów” z otwartego dokumentu, wybierając „Plik -> Eksportuj jako -> Archiwum dokumentów”. Aby otworzyć archiwum dokumentów Okular, po prostu otwórz je w Okular, tak jak byłoby to np. Dokument PDF.

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

alki
źródło
3
To jest dobre do przesyłania do użytkowników Okular. Chcę wysłać dokument z komentarzem do ogólnego użytkownika. Ktoś, kto może używać dowolnego systemu operacyjnego i przegląda pliki PDF w swojej ulubionej przeglądarce.
Bichoy,
1

Po prostu użyj file > print > printer name: print to file (PDF). Plik wyjściowy domyślnie trafia do twojego domu. Twoja adnotacja powinna tam być.

m-ric
źródło
2
To nie daje najbardziej pożądanego rezultatu. Przykład: próbowałem podkreślić i print to PDF. Gdy zachowane jest podkreślenie, strona z podkreśleniem jest zapisywana jak obraz (nie można zaznaczyć tekstu), ale strony bez adnotacji pozwalają na zaznaczenie tekstu.
cutculus
1

Obecna wersja Okulara pozwala zapisać plik PDF z adnotacjami, przechodząc do opcji Plik -> Zapisz jako.

Chciałem jednak coś zautomatyzowanego. Stworzyłem więc skrypt Autokey, aby przy każdym zamknięciu pliku PDF adnotacje były automatycznie zapisywane w samym pliku PDF. Pamiętaj, że ten skrypt zapisze plik PDF zastępując oryginalny plik PDF.

Skrypt Autokey

Najpierw musisz zainstalować, autokey-gtka xdotoolnajpierw:

sudo apt-get install autokey-gtk xdotool

Teraz w autokey przejdź do Nowy -> Skrypt. Dodaj następujący kod do nowego skryptu:

#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

Możesz teraz przypisać filtrowi okna i skrótowi do tego skryptu. W filtrze okna dodaj .*okular.*. I w skrócie, którego użyłem <ctrl>+s. Możesz użyć wszystkiego, co wolisz.

Więc teraz, ilekroć muszę wyjść z okularu, używam CtrlSi okular kończy po zapisaniu mojego pliku pdf.

Shivams
źródło