多くの異なるコードからテキストを抽出しようとしています(rtf doc pdf)。私は自然にApache Tikaに目を向けると、ドキュメントを自動検出してそれに応じてテキストを抽出できるからです。私はテキストだけに興味があり、フォーマットなどはしません。Apache tikaでPDFontキャッシングを削除する
私のアプリケーションは大きなメモリリークを引き起こし、調査するとPDFBoxの依存関係からPDFFontクラスにキャッシュされています。私はテキストを抽出するだけで、Fontmetricsやその他のフォントフォーマットの問題をpdfsからキャッシュするのは面白くない。
私はtika 1.12を使用しています。誰もこのカッシー問題を回避する方法を知っていますか?
AutoDetectParser parser = new AutoDetectParser();
BodyContentHandler handler = new BodyContentHandler(-1);
Metadata metadata = new Metadata();
FileInputStream inputstream = new FileInputStream(new File(child.getPath()));
ParseContext context = new ParseContext();
parser.parse(inputstream, handler, metadata, context);
String s=null;
s =handler.toString();
handler=null;
context=null;
inputstream.close();
PDFont.clearResources();
PDFBox 2.0.3では、フォントの漏れに関するいくつかの問題が解決されました。最新のTIKAバージョンを使用し、それにPDFBox 2.0.3を使用する必要があります。 –
https://issues.apache.org/jira/browse/TIKA-2045 –