2012-09-22 67 views
3

我需要使用PHP将PDF文件解析为图像。我已经在Ghostscript的帮助下完成了它。下面是该脚本:使用Ghostscript去除图像中的白色边框

$result = exec("gs -sDEVICE=png16m -sOutputFile=page-%03d.png $pdfname.pdf"); 

但几乎所有的最终图像的具有白色边框周围(PDF页面没有这些边界)。如何摆脱它们?也许Ghostcript代码中有一些方法我无法找到,哪些方法会有所帮助。
这是一个图像 - >http://www.pictureshack.ru/images/88046_page-009.png
这是从PDF文件PRINTSCREEN - >http://www.pictureshack.ru/images/62869_pdf.PNG

+0

你能提供表现出白色边框你描述样本PDF和JPEG文件? –

+0

我编辑了一篇文章,并且您可以找到示例 –

+0

PDF中的打印屏幕不够好。我需要查看'/ MediaBox','/ ArtBox','/ TrimBox','/ CropBox'和'/ BleedBox'的值,因此需要查看PDF本身。从PDF中提取的一页有图片可能已经足够了... –

回答

5

我会建议您的网页是裁剪框定义比对于媒体较小。您可以通过在命令行上提供-dUseCropBox开关来告诉Ghostscript使用CropBox。

当然,正如库尔特所说,没有看到原始文件就不可能分辨出来。

+0

你能告诉我什么是Mediabox和Crobboxes?或者,也许是一个链接写的地方。你说你需要一个原始文件,为什么?你会看到什么?也许我可以检查一下,如果你解释 –

+0

你是一个天才!非常感谢你!你的建议绝对正确!谢谢! –

+0

@PigalevPavel:如果要给出有关PDF问题的明确答案,访问示例文件总是更好。其他一切都只是纯粹的猜测。 –

1

Pigalev Pavel应该给出关于他如何解决问题的真实答案。一种可能性是,他不得不使用这样的:

gs       \ 
    -sDEVICE=png16m   \ 
    -sOutputFile=page-%03d.png \ 
    -dUseTrimBox    \ 
    file.pdf 

gs       \ 
    -sDEVICE=png16m   \ 
    -sOutputFile=page-%03d.png \ 
    -dUseCropBox    \ 
    file.pdf 
+0

我已经使用-dUseCropBox –