Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 从PDF中删除图像(具有透明度/alpha通道)_Linux_Pdf - Fatal编程技术网

Linux 从PDF中删除图像(具有透明度/alpha通道)

Linux 从PDF中删除图像(具有透明度/alpha通道),linux,pdf,Linux,Pdf,如何删除PDF文件中具有alpha通道(透明度)的图像 我需要从PDF文件中删除所有具有透明度的图像,因为它需要使用pdf2ps和ps2pdf进行优化(以减小文件大小)。。当PDF包含透明图像且PDF将转换为一个大图像时,Postscript无法正常工作。Clark 听起来www.pstill.com将在一个工具中完成您需要的一切,甚至更多。有一个Linux命令行版本,价格非常合理。出于不同的原因,我在一些不同的PDF上使用了这个工具,它一直都像广告中所宣传的那样有效 从他们的网站 将“便携”放

如何删除PDF文件中具有alpha通道(透明度)的图像

我需要从PDF文件中删除所有具有透明度的图像,因为它需要使用
pdf2ps
ps2pdf
进行优化(以减小文件大小)。。当PDF包含透明图像且PDF将转换为一个大图像时,Postscript无法正常工作。

Clark

听起来www.pstill.com将在一个工具中完成您需要的一切,甚至更多。有一个Linux命令行版本,价格非常合理。出于不同的原因,我在一些不同的PDF上使用了这个工具,它一直都像广告中所宣传的那样有效

从他们的网站

将“便携”放回PDF格式-PDF到PDF转码

您的PDF无法在某些打印机上打印或使用某些应用程序处理?PStill可以清理、简化、重新处理、展平透明度和重新压缩PDF文件,此过程也称为“转码”创建一个新的PDF,该PDF具有更好的兼容性,文件大小通常更小,可以选择加密/保护,并且只包含一组统一的字体类型。字体可以标准化为纯PostScript Type 1格式,可以进行子集设置,包括丢失的字体和修复/替换坏字体。PStill可以检测并删除PDF中的重复元素。文本可以转换为大纲,这使得它非常适合创建“fontless”PDF。转码可用于修复坏PDF或简化PDF结构,以便更有限的输出设备可以处理它


安德鲁。

我还没有设法重现你的问题。
对于缺点,我做了同样的处理来压缩我的pdf,除了我使用了
pdftops
而不是
pdf2ps

我希望这会有帮助。
抱歉,我的英语(translate.google)

在带有alpha通道图像的PDF上运行
gs
,并强制其删除透明胶片(通过选择PDF版本<1.4或通过设置
-dHaveTransparency=false
)会导致整个页面存储为位图图像。OpenOffice可以更好地处理这个问题(尝试将带有RGBA图像的Writer文档导出为PDF/a)。为什么不使用
gs
的pdfwrite来缩小PDF并保持支持透明的PDF级别?我需要在运行
pdf2ps
之前删除alpha通道,因为postscript不能使用它。。单独使用
gs
并不总能获得最佳效果。。正在并行运行
gs
pdf2ps/ps2pdf
,并使用具有最小文件大小的文件尽管有许多PDF功能无法在PDF中“生存”→附言→PDF转换(在透明图像旁边),我强烈建议单独使用
gs
/pdfwrite,并找出生成的PDF文件有时太大的原因。pdfwrite具有微调功能。这就是说,我不认为有一个简单的解决方案来消除图像的透明度。也许你可以使用诸如qpdf之类的PDF库编写自己的解决方案(请参阅)。我“不在乎”PDF功能。。我只需要尽可能小的文件大小,
ps2pdf
通常是实现这一点的最佳工具。。我看了一下你的例子。。它是用什么写的?如果排除
pdfwrite
方法,我认为您必须编写自己的程序来删除图像的透明度。上面链接的例子是用C++(.cc扩展)编写的。它演示了使用QPDF库处理图像。还有用于对象级PDF操作的PoDoFo和用于渲染级PDF处理的Poppler(Poppler也可以渲染为PDF)。下载了
http://www.wizards.de/~frank/pstill18434_linux_ia32.tar.gz
但我如何安装/编译它?!我不是Linux用户。我下载了gz文件并在WinRar中打开了gz文件。有一个名为INSTALL的文件,下面是一个名为***安装过程***的部分,它似乎解释了如何安装和运行它。如果您有可用的Windows计算机,我建议您首先下载Windows GUI版本,并通过转换器手动运行一些文件,以查看输出的PDF是否满足您的要求。您现在尝试了
pdftops
,但它似乎将PDF转换为一个大图像,就像
pdf2ps
那样。。。命令:
pdftopsin.pdf out.pdf.ps
@clarkk:我不是专家,但确实有。也许你会找到你的幸福。否则,我认为你改变方法做得很好,