2012-02-06 3 views
0

iText 라이브러리를 사용하여 pdf 문서의 각 단어 속성 (글꼴, 글꼴 크기, 색상 등)을 추출하려고했습니다. 모든 페이지에서 텍스트를 추출 할 수는 있지만 속성은 추출 할 수 없습니다. 또한 나는 그와 같은 것을 제공 할 수있는 것을 찾지 못했습니다. 도와주세요.iText를 사용하여 pdf 파일에서 텍스트 글꼴 가져 오기

+0

[사용 된 모든 글꼴이 Java iText를 사용하여 PDF에 포함되어 있는지 확인하는 방법] (http://stackoverflow.com/questions/4646130/how-to-check-that-all-used-fonts- pdf-with-java-itext) –

답변

0

나는 자바가 아니기 때문에 코드를 제공 할 수는 없지만 잘하면 거기서 95 %를 얻을 수있다. 방법의

PdfTextExtractor.getTextFromPage(PdfReader reader, int pageNumber, TextExtractionStrategy strategy)

하나 :

먼저 다음 com.itextpdf.text.pdf.parser.TextExtractionStrategy

당신은 세 번째 매개 변수로이 클래스의 인스턴스를 전달할 수있는 인터페이스를 구현하는 클래스를 만들어야합니다 그 인터페이스의 renderText은 처리 된 모든 텍스트 블록에 대해 호출됩니다. 호출 될 때 TextRenderInfo이 전달되면 getFont이라는 메서드가 있습니다.이 메서드는 찾고자하는 것을 제공합니다. 그 내용을 일종의 버퍼에 저장하고 getTextFromPage 후에 각 버퍼를 검사하여 각 글꼴을 볼 수 있습니다. 해당 인터페이스를 구현하는 예제를 보려면 SimpleTextExtractionStrategy 온라인 코드를 참조하십시오. 그렇지 않으면 here's a C# version 당신이 찾고있는 것을 거의합니다.

+0

안녕하세요, 답장을 보내 주셔서 감사합니다. Java에서 콜백 함수의 개념을 알지 못했습니다 (여기 'renderText'와 같습니다). "Document Font"문서에서 언급 한 getFont() 메소드의 객체에 getFullFontName()을 적용하여 글꼴 이름을 가져올 수 있습니다. :-) – srjit

관련 문제