我想删除/删除PDF中的所有图像,只留下PDF中的文本/字体,无论使用什么命令行工具。
我尝试在Ghostscript命令中使用-dGraphicsAlphaBits=1
,但图像存在,但像一个大像素。
答案 0 :(得分:19)
答案 1 :(得分:5)
时间过去了,Ghostscript的开发已经取得了进展......
最新版本具有以下新命令行参数。这些可以添加到命令行:
-dFILTERIMAGE
:生成一个输出,其中删除了所有光栅图。
-dFILTERTEXT
:生成一个输出,其中删除了所有文本元素。
-dFILTERVECTOR
:生成一个输出,其中删除了所有矢量绘图。
可以合并这些选项中的任何两个。
示例命令:
gs -o noimage.pdf -sDEVICE=pdfwrite -dFILTERIMAGE input.pdf
更多详细信息(包括一些说明性的屏幕截图)可以在我对 "How can I remove all images from a PDF?" 的回答中找到。
答案 2 :(得分:2)
不,AFAIK,使用命令行工具删除 PDF中的所有图片是不可能的。
无论如何,您的请求的目的是什么?保存文件大小?删除图片中包含的信息?或者......?
无论您的目标是什么,这里都是一个命令,可以将所有图像下采样到2 ppi的分辨率( 更新: 1 ppi不起作用)。这一次实现了两个目标:
以下是有选择地执行此操作的方法,仅 original.pdf
第33页上的图片:
gs \
-o images-uncomprehendable.pdf \
-sDEVICE=pdfwrite \
-dDownsampleColorImages=true \
-dDownsampleGrayImages=true \
-dDownsampleMonoImages=true \
-dColorImageResolution=2 \
-dGrayImageResolution=2 \
-dMonoImageResolution=2 \
-dFirstPage=33 \
-dLastPage=33 \
original.pdf
如果您想在所有页面上为所有图片执行此操作,请跳过-dFirstPage
和-dLastPage
参数。
如果要从图像中删除所有颜色信息,请在同一命令中将它们转换为灰度(在Stackoverflow上搜索其他详细信息,详细讨论)。
更新:最初,我建议使用1 PPI的分辨率。这似乎不适用于Ghostscript。我现在用2 PPI进行测试。这很有效。
更新2:另请参阅以下(新)问题及答案:
它提供了一些示例PostScript代码,可以完全删除PDF中的所有(光栅)图像,而页面布局的其余部分保持不变。
它还反映了Ghostscript的扩展新功能,它现在可以选择性地删除PDF中的所有文本或所有光栅图像或所有矢量对象,或这三种类型的任意组合。
答案 3 :(得分:2)
要将图片和文字分隔到不同的图层,遗憾的是 没有可用的免费/开源软件实用程序 。也不是免费的啤酒...
此任务只能通过 各种付费软件解决方案 来实现。既然你没有在你的问题中排除这个,但是你要求'无论命令行工具是什么',我会告诉你我最喜欢的一个:
可以使用CLI使用的版本(包括支持大量低级PDF操作的强大SDK),并且所有主要操作系统平台都支持此功能,包括Linux。
callas为您提供功能齐全的免费test license,已启用(相信)14天。