我有一个 PDF,我想向某人展示,但不允许他们复制。一种可能的方法是将页面转换为图像,然后再将其转换为 PDF。我如何使用convert
或pdftk
以其他方式编写脚本?不是 GUI。
答案1
Imagemagick 将所有内容栅格化。您可以简单地执行以下操作:
convert -density 200 input.pdf output.pdf
当然,收件人可能会决定在您的文件上运行 OCR 程序。该density
参数设置以 PPI 表示的分辨率。
答案2
PDF
印象
该poppler-utils
软件包包含pdftoppm
实用程序,能够将PDF
文件转换为ppm
或png
格式jpeg
:
pdftoppm -png file.pdf prefix
这将使文件名称prefix-X.extension
为X
页码(输出的每个文件将是转换后的一页PDF
)并且为extension
您选择的输出类型。
默认分辨率为 150dpi。您可以使用以下命令增加分辨率(以获得更高质量的输出):
pdftoppm -rx 300 -ry 300 -extension file.pdf prefix
如果只打印一页,请执行以下操作:
pdftoppm -f N -singlefile -extension file.pdf prefix
其中N
,是页码,从 1 开始。
这种方法比使用其他帖子中提到的包要快得多,也更简洁imagemagick
。尽管你必须使用它来转换回来。
图像至PDF
这需要安装该imagemagick
软件包。为此,请执行以下操作:
sudo apt-get install imagemagick
该imagemagick
包中有一个名为的实用程序convert
,其功能正如其名称所示:转换。要以您想要的方式使用它,请按如下方式运行它:
convert file.extension file.pdf
不过,这将PDF
只生成该单页。要合并上一个命令的所有输出以转换为图像,请使用以下命令:
convert *.extension file.pdf
这将抓取您所在目录中带有extension
扩展名的所有文件,并将它们转换为PDF
名为 的文件file.pdf
。
笔记
我选择以两个独立命令的方式格式化我的答案,以便为 OP 提供灵活性并理解他们试图完成的任务,而不是使用一个命令将两者联系起来。当然,如果该解决方案对他们来说更好,那么我鼓励他们为该特定答案点赞/标记为已回答。
答案3
我总是使用 pdftoppm 将 pdf 转换为 png 图像。只需执行以下命令
pdftoppm -f [startpage] -l [end page] -r [resolution (use 300 or 600) -png <pdf file location> [Prefix for your image files]
然后执行
convert prefix-[number].png file.pdf
但有些程序可以将这些图像重新转换为文本。让您的 PDF 无法复制非常困难。您可以添加加密保护以防止复制和打印,这将使复制和打印您的 PDF 文件(稍微)变得更加困难
答案4
是的,你可以先转换你的PDF 页面转为 PNG/JPG 图像,然后转换PNG/JPG 转 PDF。
但是,您发送文件的接收者可以使用 OCR 服务从您的文件中获取文本。