将PDF转换为JPEG而不使用它们的幻影/斜角

时间:2009-07-30 06:40:22

标签: php pdf pdf-generation ghostscript

我正在为报纸网站制作CMS模块。我让编辑可以选择上传整个报纸的.pdf,然后将其翻译成翻页的数字在线报纸。

页面翻转技巧是用flash完成的,只是我用于所有版本的.swf。我的问题在于.pdf.jpg转化。

这些.pdf在Adobe InDesign CS4中完成,大部分时间都包含具有阴影或斜面效果的图像。

我最初尝试使用.pdf的代码,其中只包含文本或简单图像,并且工作正常。当我尝试使用更复杂的.pdf时,其中包括带有阴影效果的旋转图像,事情变得棘手。

这是我的ghostscript代码:

$result=exec("gs -sDEVICE=jpeg -sOutputFile=../ediciones/20090717/pages/page-%d.jpeg ../ediciones/20090717/20090717.pdf");

Here is the only link you'll need.

2 个答案:

答案 0 :(得分:1)

我怀疑gs的作用是将pdf转换为支持postscript的同一数据模型。 Postscript不支持透明度(alpha通道),因此无法以此中间格式表示阴影。然后,gs呈现jpg,显然没有trasparencies。

我认为你必须使用另一种策略将你的pdf转换为jpg。

答案 1 :(得分:0)

问题解决了。

它与从Adobe InDesign CS4导出PDF的方式有关。

此导出的正确格式为:

  • 标准:PDF / X-3:2003
  • 兼容性:Acrobat 4(PDF 1.3)
  • 输出 - 颜色:无颜色转换
  • 输出 - PDF / X:文档 - > (文件没有任何空间)
  • 高级 - 透明度压平:[中等分辨率]

其中一些配置我不知道它们是什么,但这是用于正确导出PDF并转换为JPEG(包括阴影)的配置。

根据我的理解,使用此配置,在生成PDF之前会发生一个展平过程,从而为Ghostscript节省了必须解释透明度的麻烦。

您现在可以在此处检查生成的JPEG: http://www.dengelz.com/clientes/norte/ediciones/20090717/pages/page-1.jpg