![在 PDF 本身中存储 Okular PDF 注释和元数据](https://linux22.com/image/30868/%E5%9C%A8%20PDF%20%E6%9C%AC%E8%BA%AB%E4%B8%AD%E5%AD%98%E5%82%A8%20Okular%20PDF%20%E6%B3%A8%E9%87%8A%E5%92%8C%E5%85%83%E6%95%B0%E6%8D%AE.png)
PDF 查看器 Okular(KDE 桌面的一部分)具有许多出色的功能并支持多种文件格式。我喜欢它的一件事是评论和注释。不幸的是,所有评论和元数据(例如上次查看的页面)都存储在本地: 〜/.kde/share/apps/okular/docdata
有没有办法让 Okular 将它们存储在 PDF 本身中?
答案1
此信息记录在好的文档。
正如alxs提到的,目前支持的一种方法是将PDF文档另存为存档,这会创建一个.okular
文件。直接在 PDF 中保存注释是最近才出现的事情,从文档来看,此选项仅在 0.15 版本中可用。对于这样的最新版本,使用Save As
并保存为 PDF 也会存储注释。另请注意,正如文档中提到的,这还需要最新版本的poppler
.
但是,您可能遇到的一个问题是,保存为存档的文档当前无法另存为 pdf。因此,如果您已经做了注释,并且想要使用较新版本的okular
将这些注释保存在 PDF 中,这可能会变得很棘手。如果您只是更新 okular 的版本,这可能会起作用,因为它将使用相同的~/.kde/share/apps/okular/docdata
文件夹。但是,如果您想在其他系统上使用较新版本的 okular,则应单独传输 PDF 和相应的元数据文件。
答案2
使用 Okular 进行任何注释后,
转到打印选项(在文件菜单或 Ctrl+P 中),然后在姓名选项将值更改为打印到文件(PDF),然后在输出文件选项给出您需要的输出文件的路径。
瞧,您的注释现在已成为新 PDF 的一部分。
答案3
来自 okular 常见问题解答:
如何注释文档并将其发送给朋友/同事/等?
从 KDE 4.2 开始,Okular 具有“文档归档”功能。这是 Okular 特定的格式,用于携带文档以及与其相关的各种元数据(当前仅注释)。您可以通过选择“文件 -> 导出为 -> 文档存档”从打开的文档中保存“文档存档”。要打开 Okular 文档存档,只需使用 Okular 打开它,就像 PDF 文档一样。
答案4
当前版本的 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 后退出。