2013-03-11 58 views
0

编辑:我已经做了更多的调查,并可以澄清问题,我会留下原来的问题。如何停止Ghostscript和pdfwrite将图像分解为多个XObjects?

看来,当使用带有多个条带的TIFF图像数据时,pdfwrite会为每个条带生成一个带有一个XObject的PDF输出。在我的情况下,每条有25行,所以整页图像被分解成25像素高的图像。除了会产生不愉快的视觉文物外,这样会很好。

使用tiffcp将文件恢复为一个大条可修复此问题,但Acrobat Distiller不需要此变通方法,因为它默认将图像作为一个大XObject维护。

我们可以让Ghostscript做同样的事吗?


我正在尝试使用pdfwrite而不是Acrobat Distiller将PS文件转换为PDF。该文件包含许多用GetTiff函数调用的扫描TIFF图像(我认为这最初由Xerox提供)。

Distiller的输出很好,但pdfwrite似乎为每个图像产生多个垂直XObject,而不是像Distiller那样只产生一个。它们都显示在下面的PDF中具有完全相同的大小:

104 0 obj 
<</Subtype/Image 
/ImageMask true 
/Width 2550 
/Height 25 
/BitsPerComponent 1/Length 7975>>stream 

有没有办法阻止此行为?当放大或打印时,输出看起来很好,但在屏幕上以常规缩放比例放映时,图像边界处会出现伪影。

我试过了一个基本的命令行(除了-sDEVICE和-sOutputFile之外没有选项)以及各种图像选项,但迄今为止没有区别。我试过版本9.05和8.54。

回答

2

Ghostscript不会直接使用TIFF文件,因此您必须对其执行其他操作。我的怀疑可能是你用来转换成PostScript的这个工具生成多个图像。我对“GetTiff”功能一无所知,但我会怀疑这是问题所在。为什么不简单地使用libtiff?

如果Adobe Acrobat蒸馏器具有相同的宽度和颜色空间,并且是连续的,则它具有“连接”连续图像的功能。

pdfwrite不这样做。

+0

我以前没有想过尝试过,但tiff2ps确实会生成一个图像,这两种方法看起来都是正确的。尽管如此,我仍然无法将它包含在我们的流程中,所以使用tiffcp转换图像是我们的解决方案。 Acrobat拼接在一起肯定可以解释发生了什么,我认为你是正确的,它是GetTiff引起的问题 - 它是用PS中包含的文件头中写的函数,我没有专业知识还没有完全理解它。 – 2013-03-12 23:16:23

+0

在我的回复中对于残酷的拼写道歉,我刚刚下了跨大西洋航班,显然比我想象的更累!这里有一个链接到另一个SO你可能会发现有趣的答案:http://stackoverflow.com/questions/15211428/conversion-tif-to-pdf-ghostscript – KenS 2013-03-13 09:11:53

+0

谢谢你。如果您好奇(或其他任何人注意到这一点),GetTiff似乎包含在一些施乐打印机中,例如DocuSP系列,我们在这里有许多。我们副本中的版权声明是从1998年开始的,因此它已经存在了一段时间。 – 2013-03-20 02:26:34