在PDF本身中存储Okular PDF批注和元数据


16

PDF查看器Okular(KDE桌面的一部分)具有许多不错的功能,并支持许多文件格式。我喜欢它的一件事是评论和注释。不幸的是,所有评论和元数据(如上次查看的页面)都存储在本地: 〜/ .kde / share / apps / okular / docdata

有什么方法可以使Okular将其存储在PDF本身中吗?


Answers:


11

该信息记录在okular文档中

正如alxs所提到的那样,一段时间以来受支持的方法是将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

来自okular常见问题解答:

如何注释文档并将其发送给朋友/同事/等?

从KDE 4.2开始,Okular具有“文档归档”功能。这是Okular特定的格式,用于携带文档以及与之相关的各种元数据(当前仅用于注释)。您可以通过选择“文件->导出为->文档档案”来保存打开文档中的“文档档案”。要打开Okular文档档案库,只需用Okular打开它就可以了,例如PDF文档。

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


3
这对于转移到Okular用户是很好的。我想将带注释的文档发送给一般用户。可能正在使用任何操作系统并使用他喜欢的查看器查看PDF的人。
Bichoy

1

只需使用file > print > printer name: print to file (PDF)。默认情况下,输出文件会转到您的家。您的注释应该在那里。


2
这不会给出最理想的结果。示例:我尝试在和下划线print to PDF。在保留下划线的同时,带有下划线的页面会像图像一样保存(您不能选择文本),但是没有任何注释的页面则允许选择文本。
cutculus 2015年

1

当前版本的Okular允许进入“文件”->“另存为”来保存带有注释的PDF。

但是,我想要一些自动化的东西。因此,我创建了一个Autokey脚本,以便每当我关闭PDF时,注释便会自动保存在PDF本身中。请注意,此脚本将保存您的PDF并覆盖原始PDF。

自动键脚本

首先,您需要安装,autokey-gtk然后xdotool首先:

sudo apt-get install autokey-gtk xdotool

现在,在自动键中,转到“新建”->“脚本”。将以下代码添加到新脚本中:

#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后退出。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.