2012-09-22 100 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 –