2011-08-13 10 views

답변

1

PDF 파일은 JPEG를 실제 JPEG (DCT 및 JPX 인코딩)로 저장하므로 대부분의 경우 데이터를 추출 할 수 있습니다. Tiffs를 사용하면 CCITT 데이터를 찾고 있습니다 (단, Tiff로 만들려면 헤더를 데이터에 추가해야합니다). 나는 http://www.jpedal.org/PDFblog/2010/09/understanding-the-pdf-file-format-images/http://www.jpedal.org/PDFblog/2011/07/extract-raw-jpeg-images-from-a-pdf-file/에 PDF 파일의 이미지에 2 개의 블로그 기사를 썼습니다.

+0

감사합니다. Mark --- 그 기사를 보았습니다. 파이썬에서 jpg 예제를 발견 한 것처럼 간단한 예제를 사용하여 누군가가 이미 열심히 작업했으면합니다. – David

3

PDF 파일에는 다른 이미지 데이터가 포함될 수 있습니다 (당연한 것은 아닙니다).

가장 일반적인 경우가 있습니다

  • 팩스 데이터 (CCITT 그룹 3 및 4) 복호화 파라미터 옵션 팔레트 모든 공기를 빼다 또는 LZW 압축 압축
  • JPEG 데이터
  • 원시 래스터 데이터

최근에 (PDF 라이브러리 개발자로서) JBIG2 이미지 데이터로 점점 더 많은 PDF가 나왔습니다. 또한 JPEG2000을 PDF에 넣을 수 있습니다.

나는 당신이 아마 외부 라이브러리없이 *.jpeg/*.jp2/*.jpx 파일을 해당로 JPEG/JBIG2/JPEG2000 데이터를 추출 할 수 있지만, 깨진 발전기에 의해 방출 이상한 PDF 파일의 모든 종류의 준비를 할 수 있다는 말을한다. 또한 PDF는 객체 스트림을 자주 사용하므로 PDF 용으로 정교한 파서를 구현해야합니다.

팩스 데이터 (즉, TIFF라고 부르는 데이터)는 유효한 TIFF로 압축되어 있어야합니다. 예를 들어 오픈 소스 libtiff에서 그 코드를 빌릴 수 있습니다.

그런 다음 원시 래스터 데이터가 제공됩니다. 나는 도서관의 도움없이 그러한 데이터를 추출하는 것이 합리적이라고 생각하지 않는다. 물론 그렇게 할 수는 있지만 수개월이 걸릴 것입니다.

따라서 동일한 생성기로 생성 된 모든 PDF 세트에서 특정 종류의 이미지 데이터 만 추출하려는 경우 작업이 실제로 가능할 수 있습니다. 다른 모든 경우에는 시간, 돈 및 머리를 절약하고 작업을 위해 라이브러리를 사용하는 것이 좋습니다.

+0

라이브러리를 사용하는 편이 낫지 만 Windows와 Mac에서 모두 사용할 수있는 합리적인 가격의 로열티가없는 라이브러리를 찾을 수 없었습니다. – David