2014-12-02 3 views
-2

PdfReader을 이미지 바이트를 얻을 :그래서, <a href="http://itextpdf.com/" rel="nofollow">Itext library</a>와 페이지

PdfReader reader = new PdfReader(); 
reader.getPageContent(4) 

내 페이지 (4)을 내용으로 이미지, getPageContent 반환 바이트 []

이 이미지는 결과에 비어

+0

이것은 아마도 누군가가 당신을 도울 수 있도록 너무 작은 코드입니다. 질문에 더 많은 정보를 표시 할 수 있습니까? 파싱 ​​할 PDF와 특별한 무언가가 있습니까? – Magnilex

답변

3

reader.getPageContent(4)을 입력하면 PDF 구문이 포함 된 byte[]이 표시됩니다. 예 :

BT 
36 788 Td 
/F1 12 Tf 
(Hello World)Tj 
ET 
q 
0 0 m 
595 842 l 
S 
Q 

이것은 결코 이미지가 아닙니다. 결코 독립 실행 형 개체로 사용할 수있는 콘텐츠는 아닙니다. 예를 들어, /F1은 리소스, 특히 글꼴을 나타냅니다. PDF 구문을 추출한 페이지 중 /Resources을 보지 않고 PDF 문자열 (Hello World)이 어떤 모양인지는 알 수 없습니다.

질문 제목 페이지의 이미지 바이트를에 가져 오는 것은 잘못되었습니다. 당신은 내 페이지 (4) 내용의 이미지를라고하지만 그건 영어가 아닙니다. 내 페이지 4에 이미지가 있다고 가정 해 봅시다. 이 구문 q에서

q 20 0 0 20 36 786 cm /img0 Do Q 

Q 저장하고 상태를 복원 :이 경우, getPageContent()에 의해 반환되는 byte[]는 다음과 같이 다소 볼 것이다. cm 연산자는 이미지의 크기와 위치를 정의합니다. 20 x 20 사용자 단위이고 x = 36 및 y = 786에 배치됩니다. 실제 이미지는 이미지 XObject로 페이지 사전의 리소스에 저장됩니다. Do 연산자를 사용하여 페이지에 추가됩니다.

이 답변에서 제가 한 말을 이해하지 못한다면 ISO-32000-1을 읽거나 iText 설명서를 읽지 않으시겠습니까?

는 예를 들어보기 : Extract Images from PDF coordinates using iText

  • How can I get the resolution of an embeded image in a PDF using ITextSharp