2012-09-22 5 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

나는 페이지가 CropBox가 MediaBox보다 작은 정의 제안했다. Ghostscript가 명령 행에서 -dUseCropBox 스위치를 제공하여 CropBox를 사용하도록 지정할 수 있습니다.

물론 커트 (Kurt)가 말했듯이 원래 파일을 보지 않고도 말할 수는 없습니다.

+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를 사용했습니다. –