我以为这将是一项简单的任务,但结果却恰恰相反。
水印是每一页上完全相同的图像(重叠但透明)。我使用 PDFCreator 0.9.8 自己创建了 PDF 文件(因此这里无需担心版权问题)。
我已经尝试过我朋友的 Adobe Acrobat Pro,但是没有用。它试图删除它,但是却不行。我尝试删除页眉/页脚等,但是水印就是不消失。
我怎样才能去除水印?
答案1
对于基于图像的水印,有几种工具可以自动删除。例如:
所有这些都可以免费尝试,但需要许可证才能真正产生所需的输出。
但是,这个特定 PDF 文件(原作者通过电子邮件发给我的)的水印并不是在所有页面上重复出现的单个图像。事实证明,PDFCreator 将其(几乎逐像素)硬编码到每个页面上。这使得水印更难去除(并导致 PDF 文件相当臃肿)。
由于水印实际上是由许多微小的图像组成的,因此您可以使用 PDF 编辑器将其删除(例如,Foxit 高级 PDF 编辑器),只需选择它们并按 即可Delete。不幸的是,您必须对每一页都重复此操作。
一个更省时的解决方案是通过编程去除水印。我们需要:
- 編輯:一种用于压缩(解压缩)和修复 PDF 流的工具。
- 记事本++:一个能够替换的文本编辑器Perl 兼容正则表达式。
脚步
下载 Pdftk 并解压执行文件和库文件到%windir%\System32、路径中的目录或您选择的任何其他位置。
下载并安装 Notepad++。
PDF 流通常使用放气算法。这节省了空间,但会使 PDF 源难以辨认。
命令
pdftk original.pdf output uncompressed.pdf uncompress
解压缩所有流,以便可以通过文本编辑器进行修改。
打开未压缩.pdf使用Notepad++来揭示水印的结构。
在这个特定案例中,每个页面都以块开头
q 9 0 0 9 2997 4118.67 cm BI /CS/RGB /W 1 /H 1 /BPC 8 ID Ÿ®¼ EI Q
和近 4,000 个与此类似的块。此特定块仅设置了
/W 1 /H 1
水印像素中的一个 ( )。向下滚动直到图案发生变化,就会发现水印流的长度为 95,906 字节(包括换行符)。PDF 文件的每一页上都重复了完全相同的流。
按Ctrl+H并设置以下内容:
Find: q 9 0 0 9 2997 4118\.67 cm.{95881} Replace: (blank) Match case: checked Wrap around: checked Regular expression: selected . matches newline: checked
该正则表达式
q 9 0 0 9 2997 4118\.67 cm.{95881}
与上述块的第一行(q 9 0 0 9 2997 4118.67 cm
)及其后面的所有 95,881 个字符(即水印的流)匹配。点击全部替换将其从 PDF 文件的所有页面中删除。
水印现已被删除,但 PDF 文件有错误(流的长度不正确)并且未压缩。
命令
pdftk uncompressed.pdf output nowatermark.pdf compress
照顾两者。
未压缩.pdf不再需要。您可以将其删除。
结果是相同的 PDF,但没有水印(并且大小大约只有一半)。
答案2
听起来水印实际上是 .PDF 中图像的一部分,而不是您用来显示 .PDF 的程序在其上渲染的单独图像。如果不从 .PDF 中提取图像、通过图像编辑器运行它们,然后手动重建 .PDF,您可能无法删除水印。
答案3
对于文本水印,编辑 PostScript 版本会容易得多:
$ pdftops 文档.pdf
编辑 document.ps,然后通过以下方式转换回 PDF
$ ps2pdf 文档.ps
答案4
印章的人工制品是您可以在 Adobe Acrobat Pro 中删除它,但是它会在鼠标移动时重新生成,因为流对象会使其保持持久性。
如果您尝试编辑 pdf 源(这很棘手),则文件可能会损坏。
如果邮票是一个流,我们可以通过断开计算机与网络的连接来中断它,我就是这么做的。
然后使用 Adobe Acrobat Pro,我选择了我的其中一个注释,右键单击以显示弹出窗口,然后选择“显示注释列表”。
从列表中选择恶意水印/图章,右键单击以弹出窗口并选择“删除”。对出现该附加内容的每个页面执行此操作。
用其他名称保存文件。我的应用程序崩溃了,但在保存文件之前没有崩溃!
打开新的更小的文件;请注意,所有水印/印章都是奇特的。
就我而言,我的 3 页文档的文件大小从 300 kb 缩减到了惊人的 60 kb。所有原始数据和注释都完好无损 - 除水印外。
~祝你狩猎愉快 :o)