如何在此标签上添加关键字:
我希望实现像Windows Word这样的功能,我们可以在其中添加关键字并在此处显示,然后我们可以在资源管理器中搜索。
如何将该功能添加到我的PDF工具中?
理想情况下,当用户在Acrobat PDF中更新标签时,我希望更新关键字。
这可能吗?如果是,那么请建议如何。我正在寻找方向,但无法在谷歌找到这个。
答案 0 :(得分:1)
您可以通过编辑PDF源代码来添加这些关键字。
首先通过解压缩其压缩内容来为编辑器准备PDF:
qpdf --qdf --object-streams=disable input.pdf uncompressed.pdf
这需要安装命令行工具 QPDF 。
可以获得类似结果的其他命令行工具包括:podofouncompress
和mutool clean -d
。
现在在文本编辑器中打开uncompressed.pdf
,该编辑器能够处理可能仍包含一些二进制字节部分的文件。
找到/Info
字典。 (提示:在文件的最后会有一个trailer
,其中包含/Info 34 0 R
这样的条目。这意味着/Info
字典在PDF对象编号34中<) / em>的
搜索34 0 obj
。您现在已找到/Info
字典。
/Info
字典将包含以下条目:
/Author (Kurt Pfeifle)
/Creator (MS Word 2010)
/CreationDate (D:20150304000000+01'00')
通过在字典中添加额外的行来添加所需的关键字:
/Keywords (keyword1, keyword2, blah blubb, foo, bar)
保存您的修改。
现在重新压缩已编辑的PDF:
qpdf uncompressed.pdf input-modified.pdf
您可能会注意到有关正在修复的外部参照的一些警告。它们是无害的。
您还可以通过 Ghostscript 运行原始PDF来添加关键字,这将从输入中创建一个全新的PDF。
首先准备一个包含以下内容的特殊文本文件keywords.txt
:
[ /Keywords (keyword1, keyword2, blah blubb, foo, bar)
/DOCINFO pdfmark
然后运行Ghostscript命令:
gs -o with-keywords.pdf -sDEVICE=pdfwrite input.pdf keywords.txt
您可以完全跳过文本文件的创建(上面的步骤1.),并在Ghostscript命令行上提供所有关键字:
gs -o with-keywords.pdf -sDEVICE=pdfwrite \
-c "[/Keywords (keyword1, keyword2, blah blubb, foo, bar)" \
-c "/DOCINFO pdfmark" \
-f input.pdf
甚至
gs -o with-keywords.pdf -sDEVICE=pdfwrite \
-c "[/Keywords(keyword1, keyword2, blah blubb, foo, bar)/DOCINFO pdfmark" \
-f input.pdf
Adobe Acrobat(Pro)提供了一个GUI,只需在关键字中进行编辑即可。
您没有说出您所使用的Windows版本。
AFAIK,在Windows XP / 2000的旧时代,您需要安装第三方 Windows Shell扩展或 Windows iFilter 才能访问PDF文件的元数据。
此启用的附加组件随后可以显示&#34;关键字&#34;和&#34;页面&#34; Windows资源管理器窗口中的列与详细信息视图模式。
Debenu 也提供了这样的Windows外壳扩展程序(免费,例如&#34; gratis&#34;)。
我似乎也记得Adobe Acrobat和其他PDF软件默认安装了这样的扩展程序。
当然,虽然其中一个可能是已安装在您的Windows上,但管理员也可以禁用。
所以最好还检查一下。