Jak zachować podświetlanie i adnotacje utworzone w Okular?

12

Muszę czytać różne artykuły badawcze, a podczas kursu muszę wyróżniać i komentować. Ale jeśli zmienię nazwę pliku później lub zmienię komputer, podświetlenia i adnotacje znikną, ponieważ są one przechowywane osobno. Jak mogę zachować te wyróżnienia / adnotacje utworzone w Okular, jeśli w przyszłości zmienię maszyny?

nxkryptor
źródło

Odpowiedzi:

11

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.

Od wersji Okular 0.15 możesz także zapisywać adnotacje bezpośrednio w plikach PDF. Ta funkcja jest dostępna tylko wtedy, gdy Okular został zbudowany w wersji 0.20 lub nowszej biblioteki renderowania Poppler. Możesz użyć Plik → Zapisz jako ..., aby zapisać kopię pliku PDF z adnotacjami.

czytaj tutaj: https://docs.kde.org/stable5/en/kdegraphics/okular/annotations.html

Bruni
źródło
4

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.

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

Shivams
źródło
@HermanJaramillo: Cieszę się, że to pomogło :) Pamiętaj jednak, że jest to dość hack. Nadal szukam bardziej solidnego podejścia.
shivams
1
To najlepsze oprogramowanie, jakie do tej pory widziałem! To jest jak skrypt powłoki, ale dla aplikacji GUI! :)
matthieu,
2

Myślę, że mam odpowiedź. Po uruchomieniu tego prostego polecenia find w katalogu głównym:

find -type d -iname "*okular*" -print

Znajdziesz ten katalog:

/home/YOUR_USER_NAME_HERE/.kde/share/apps/okular

pod nim znajduje się katalog:

docdata

Ten docdatakatalog zawiera pliki XML dla każdego dokumentu, który otworzyłeś za pomocą Okulara. Po prostu wykonaj kopię zapasową tego folderu i przenieś na nowy komputer i wklej go w tym samym miejscu. Twoje adnotacje zostały zachowane!

tanmay
źródło
Działa jak marzenie.
JohnRos