pdfimages -all
.pdf 파일(각 페이지는 텍스트임)에서 사용할 때 pdf의 각 페이지에 대해 3개의 이미지를 얻습니다.
Foo-001-000.jp2
Foo-001-002.png
Foo-001-002.jb2e
첫 번째 파일은 대부분 비어 있지만 으스스한 배경과 가끔 텍스트가 포함되어 있습니다. 두 번째 파일은 흑백이고 일종의 마스크처럼 보입니다. 아마도 세 번째 파일의 텍스트가 어디에 있는지 식별(?)할 수 있을 것입니다. 세 번째 파일을 Ubuntu의 이미지 뷰어나 김프에서 볼 수 없습니다.
를 사용하면 -png
동일한 세 개의 이미지를 얻지만 모두 .png입니다. PDF 텍스트의 대부분(거의 전부)은 세 번째 이미지에 있습니다.
pdfimages -list
다음과 같습니다.
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
1 0 image 829 1254 rgb 3 8 jpx yes 3659 0 150 150 76.2K 2.5%
1 1 image 829 1254 rgb 3 8 image yes 3663 0 150 150 5250B 0.2%
1 2 mask 1658 2508 - 1 1 image yes 3663 0 300 300 5250B 1.0%
2 3 image 934 1254 rgb 3 8 jpx yes 11 0 150 150 85.6K 2.5%
2 4 image 934 1254 rgb 3 8 image yes 15 0 150 150 14.1K 0.4%
2 5 mask 1868 2508 - 1 1 image yes 15 0 300 300 14.1K 2.5%
3 6 image 858 1243 rgb 3 8 jpx yes 47 0 150 150 78.0K 2.5%
3 7 image 858 1243 rgb 3 8 image yes 51 0 150 150 7681B 0.2%
누군가 내가 여기서 얻는 내용과 이 세 개의 이미지를 결합하여 각 페이지에 대한 단일 이미지를 얻는 방법을 이해하도록 도와줄 수 있습니까? 또는 페이지당 하나의 이미지만 추출하는 것과 같습니다. 나에게 가장 중요한 문제는 이러한 이미지에 사용 가능한 정보를 최대한 많이 유지하는 것입니다. 품질 저하를 방지하고 싶습니다.
답변1
단일 이미지를 페이지로 받고 있다고 생각했는데 실제로는 합성물이라는 사실에 놀랐을 것입니다. 잡지는 이미지가 몇 개 없는 단순한 책보다 그래픽적으로 더 복잡하기 때문에 이는 잡지를 보관하는 데 널리 사용되는 방법입니다. 품질을 유지하고 궁극적으로 매우 작은 PDF 파일을 제공하지만 렌더링 속도가 너무 느려 유용하지 않습니다.
이제 해결책이 있습니다. 실제로 PDF에서 아무것도 추출하고 싶지 않습니다. PDF 리더와 동일한 방식으로 렌더링되기를 원합니다. Ghostscript를 사용하는 것이 좋습니다. 다음과 같이 작동합니다.
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m -r600 -dGraphicsAlphaBits=4 -sOutputFile=./img/img-%03d.png "$pdffilename"
필요에 따라 조정하십시오.