Current version of Okular allows one to save the PDF with the annotations by going into File -> Save As.
However, I wanted something automated. So, I created an Autokey script so that whenever I close my PDF, the annotations are automatically saved in the PDF itself. Note that this script will save your PDF overwriting the original PDF.
The Autokey Script
First, you will need to install autokey-gtk
and xdotool
first:
sudo apt-get install autokey-gtk xdotool
Now, in autokey, go to New -> Script. Add the following code to your 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
You can now assign a window filter and hotkey to this script. In window filter, add .*okular.*
. And in hotkey, I've used <ctrl>+s
. You could use anything else that you prefer.
So, now whenever I have to quit okular, I use CtrlS, and okular quits after saving my pdf.