現在、PDF ファイルから重要なキーワードを自動的に抽出しようとしています。PDFドキュメントからテキスト情報を取得できます。しかし今、これらのキーワードが持つフォント サイズとフォント ファミリを知る必要があります。
私がすでに持っている次のコード:
主要
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();
}
SemTextExtractionStrategy
そして、次のようなTextExtraction Strategy を実装しました。
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 シェアウェア ライブラリは、その仕事を完璧にこなしてくれます。しかし、それは非常に高価で、オープン ソース プロジェクトを使用する必要があります。