如何在此选项卡上添加关键字:
我想实现一个类似 Windows Word 的功能,我们可以在其中添加关键字,它会显示在这里,然后我们可以在资源管理器中搜索。
如何将该功能添加到我的 PDF 工具中?
理想情况下,我希望在用户更新 Acrobat PDF 中的标签时更新关键字。
这可能吗?如果是,请建议如何。我正在寻找方向,但无法在 Google 中找到它。
最佳答案
我。手动完成
您可以通过编辑 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 中)。。 p>搜索
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 做
您还可以通过 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) 做
Adobe Acrobat (Pro) 提供了一个 GUI 来简单地编辑关键字。
- 转到菜单"file"->“属性...”
- 打开标题为“描述”的标签
- 将您的关键字添加到名为“关键字:”的字段中。
四。使 Windows 支持 PDF
您没有命名您所使用的 Windows 版本。
据我所知,在过去的 Windows XP/2000 时代,您需要安装第三方 Windows Shell Extension 或 Windows iFilter 才能访问PDF 文件的元数据。
此启用的加载项随后允许在 Windows 资源管理器窗口中以详细信息查看模式显示“关键字”和“页面”列。
Debenu 也提供了这样一个 Windows shell 扩展(免费,就像“免费”)。
我好像还记得Adobe Acrobat等PDF软件默认安装了这样一个扩展。
当然,虽然其中一个可能已安装在您的 Windows 上,但它也可能已被管理员禁用。
所以最好也检查一下。
关于c# - 如何在 PDF 文件的文件属性的详细信息选项卡中添加关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28857107/