生成不可编辑的 PDF

Chi*_*kol 12 drm pdftex

是否可以生成不可编辑的 PDF?

目前,我生成的文档可以使用pdflatexAdobe Acrobat X Pro 等应用程序进行编辑。

我有一些无法用 Acrobat 编辑的 PDF 文档,那么,我如何用 LaTeX 重现它?

小智 11

PDF工具包是一个免费的,命令行应用程序提供此功能。您设置“所有者密码”( owner_pw <password>) 并指定文档允许的属性。这是一个使用 128 位强度加密文档并仅允许打印的示例(来自Pdftk 示例页面):

pdftk mydoc.pdf 输出 mydoc.128.pdf owner_pw foopass 允许打印

它在 Adob​​e 中生成以下文档属性:

在此处输入图片说明

也可以设置其他权限(来自Pdftk 手册页):

[ 允许 < 权限 > ]

仅当指定了加密强度或提供了所有者或用户密码时,权限才会应用于输出 PDF。如果未指定权限,则默认为“无”,这意味着以下所有功能都被禁用。

权限部分可以包括以下一项或多项功能:

  • 印刷 – 高品质印刷
  • DegradedPrinting – 低质量打印
  • ModifyContents – 也允许组装
  • 集会
  • CopyContents – 还允许使用屏幕阅读器
  • 屏幕阅读器
  • ModifyAnnotations – 也允许 FillIn
  • 填写
  • AllFeatures – 允许用户执行上述所有操作和高质量打印。

事实证明,这些安全功能非常依赖于查看者,并且有很多方法可以解决。

  • @ Alfred M.:根据定义,任何此类解决方案都不是健壮的。事实上,如果一个人可以看到一个PDF文件的内容,他也可以将它保存在另一个PDF/PS/...文件中。这只是找到合适工具的问题(Acrobat 拒绝这样做不是因为它不能,而是因为 Adob​​e _不想_它这样做)。 (3认同)

yo'*_*yo' 10

我将添加这个作为答案,因为它以某种方式回答了这个问题,而且它很长而且有点复杂。简短的回答是:不,这是不可能的。一旦您可以在屏幕上阅读 PDF,就意味着这里有所有信息,并且可以编辑 PDF。Adobe 程序当然不提供此类功能。但如果您希望 PDF 可编辑,您始终可以使用 ImageMagick:

convert -density 600 myfile.pdf myfile.png
Run Code Online (Sandbox Code Playgroud)

之后,由于质量非常高,任何足够好的 OCR 都能够将其转换回文本。当然还有其他的可能性。正如其他人所提到的,您可以将 PDF 解码为 PS(这是可能的,因为在某种程度上,这是 PDF 阅读器必须执行的操作)然后再转换回来,您就拥有了一个可编辑的 PDF 文件。

结论:您可以保护 PDF 免受“普通”用户的编辑,但您无法保护它免受知道自己在做什么的人的编辑。