단일 페이지 이미지에 대한 정보입니다.PDF 파일:
$ pdfimages -list p1.pdf
page num type width height color comp bpc enc interp object ID
---------------------------------------------------------------------
1 0 image 900 1100 rgb 3 8 image yes 4 0
1 1 mask 900 1100 - 1 1 image no 4 0
PDF에서 이미지를 추출하려면 다음 방법을 사용하고 있습니다 pdfimages
.
$ pdfimages -p p1.pdf ./p1
$ ls
p1-001-000.ppm p1-001-001.pbm p1.pdf
출력
p1-001-000.ppm
및 는 p1-001-001.pbm
각각 이전에 표시된 "이미지" 및 "마스크"에 해당합니다.
convert
그런 다음 및 다음을 사용하여 pdftk
두 가지 방법("스탬프" 및 "배경")으로 "이미지" 및 "마스크"에서 원본 PDF를 복원하려고 했습니다 .
$ for i in *.{ppm,pbm}; do convert $i $i.pdf; done
$ ls
p1-001-000.ppm p1-001-000.ppm.pdf p1-001-001.pbm p1-001-001.pbm.pdf p1.pdf
$ pdftk p1-001-000.ppm.pdf stamp p1-001-001.pbm.pdf output p1stamp.pdf
$ pdftk p1-001-000.ppm.pdf background p1-001-001.pbm.pdf output p1bkg.pdf
p1stamp.pdf
은 비어 있고(원본과 매우 다름p1.pdf
)p1bkg.pdf
원본과 비슷해 보이지만p1.pdf
오른쪽과 아래쪽 테두리 주변은 여전히 다릅니다.pdfimages
처음에 표시된 출력에는 "type"이라는 열이 있습니다.유형
이미지 유형. 가능한 값은 image(불투명 이미지), 마스크(단색 이미지 마스크), smask(소프트 마스크 이미지), stencil(색이나 패턴을 그리기 위한 단색 마스크 이미지)입니다.
참고: PDF의 이미지 투명도는 두 개의 별도 PDF 개체(이미지용 개체와 마스크용 개체)를 사용하여 생성됩니다. 투명 이미지에 속하는 마스크/마스크는 항상 목록의 이미지 바로 뒤에 있습니다.
PDF 파일에서 "마스크", "스마스크" 및 "스텐실"이 전경 또는 배경으로 사용됩니까?
"워터마크"와 어떻게 다릅니까? "워터마크"는 항상 배경으로 사용되나요?
또 다른 문제는 두 새 PDF 파일이 모두
p1stamp.pdf
476KB로 원본 파일(단지 94KB)보다 훨씬 크다는 것입니다p1bkg.pdf
.p1.pdf
다음 명령을 사용하여 새 PDF 파일을 압축하더라도 크기는 변경되지 않습니다.$ pdftk p1bkg.pdf output p1bkgcomp.pdf compress
분할 작업의 반대 작업
pdfimages
, 즉 추출된 이미지에서 원본 PDF 파일을 복구하는 방법을 실제로 어떻게 수행할 수 있습니까 pdfimages
? 그러면 모양과 크기가 원본 PDF 파일과 동일하거나 가깝습니까?
감사해요.
답변1
두 번째 이미지는 마스크이므로 마스크처럼 적용해야 합니다. 다음과 같이 할 수 있습니다.
convert ./p1-001-000.ppm ./p1-001-001.pbm -alpha Off -compose CopyOpacity -composite output.pdf
이로 인해PDF 파일하단의 검은색 가장자리가 마스크에 의해 제거/숨겨졌지만 파일 크기가 훨씬 더 크고(485.3Kb 대 96Kb) PDF 페이지도 더 큽니다. :
PDF는 단순한 레이어 이미지 그 이상입니다. PDF에는 텍스트, 서식 등도 포함되어 있습니다. 따라서 PDF 파일에서 이미지를 추출하면 정보가 손실됩니다. 이 경우 LibreOffice Draw에서 원본 PDF 파일을 볼 때 이미지의 가장자리가 PDF 페이지의 가장자리를 넘어 표시되지 않습니다. (각각의 이미지도 서로 다른 크기로 조정된 것 같습니다... - 에서 Draw에서 PNG로 추출된 LibreOffice 이미지여기비교하려고)