현재 PDF 파일에서 중요한 키워드를 자동으로 추출하려고합니다. 텍스트 정보를 PDF 문서에서 가져올 수 있습니다. 하지만 이제는이 키워드가 가지고있는 폰트 크기와 폰트 패밀리를 알아야합니다.iText - 텍스트 세그먼트의 글꼴 크기 및 패밀리 얻기
홈페이지
public static void main(String[] args) throws IOException {
String src = "SEM_081145.pdf";
PdfReader reader = new PdfReader(src);
SemTextExtractionStrategy semTextExtractionStrategy = new SemTextExtractionStrategy();
PrintWriter out = new PrintWriter(new FileOutputStream(src + ".txt"));
Rectangle rect = new Rectangle(70, 80, 490, 580);
RenderFilter filter = new RegionTextRenderFilter(rect);
for (int i = 1; i <= reader.getNumberOfPages(); i++) {
// strategy = new FilteredTextRenderListener(new LocationTextExtractionStrategy(), filter);
out.println(PdfTextExtractor.getTextFromPage(reader, i, semTextExtractionStrategy));
}
out.flush();
out.close();
}
그리고 나는이처럼 보이는 TextExtraction 전략 SemTextExtractionStrategy
구현 :
다음 코드는 이미이
public class SemTextExtractionStrategy implements TextExtractionStrategy {
private String text;
@Override
public void beginTextBlock() {
}
@Override
public void renderText(TextRenderInfo renderInfo) {
text = renderInfo.getText();
System.out.println(renderInfo.getFont().getFontType());
System.out.print(text);
}
@Override
public void endTextBlock() {
}
@Override
public void renderImage(ImageRenderInfo renderInfo) {
}
@Override
public String getResultantText() {
return text;
}
}
내가 fontType을 얻을 수 있습니다 그러나 글꼴 크기를 얻는 방법은 없습니다. 다른 방법이 있습니까, 또는 현재 텍스트 세그먼트의 글꼴 크기를 어떻게 얻을 수 있습니까?
또는 TextSegments에서 글꼴 크기를 가져올 수있는 다른 라이브러리가 있습니까? 이미 PDFBox와 PDFTextStream을 살펴 보았습니다. Aspose의 PDF 셰어웨어 라이브러리가 완벽하게 작동합니다. 하지만 비용이 많이 들고 오픈 소스 프로젝트를 사용해야합니다.
Thx, 나중에 사용해보고 다른 사용자의 자바 코드를 게시하십시오.) – Prine
작동 중입니다! Java 솔루션을 하나의 대답으로 게시 할 것입니다. 다시 한 번 감사드립니다! – Prine
이 계산에 관한 질문. 여기에서 기본 선이나 하강 선을 사용해야합니까? 하강 선을 사용하면 결과 숫자가 다른 응용 프로그램 (예 : OS X 미리보기 PDF 주석 도구)에 표시된 "글꼴 크기"와 더 잘 일치하는 것 같습니다. – Thilo