2012-02-06 41 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

私はJavaの人ではありませんので、私はあなたに作業コードを与えることはできませんが、うまくいけば私はそこに道の95%を得ることができます。メソッドの

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

ワン:

まず、あなたはその後com.itextpdf.text.pdf.parser.TextExtractionStrategy

あなたは3番目のパラメータとして、このクラスのインスタンスを渡すことができますインターフェイスを実装するクラスを作成する必要がありますは、処理されるすべてのテキストブロックに対して呼び出されるrenderTextです。呼び出されるとTextRenderInfoが渡され、それにはgetFontというメソッドがあります。これはあなたが探しているものを与えるはずです。その内容をある種のバッファに格納し、getTextFromPageの後に、そのバッファを調べて各フォントを見ることができます。そのインタフェースを実装する例を見るには、SimpleTextExtractionStrategyのコードを参照してください。そうでなければhere's a C# versionあなたが探しているものはかなりです。

+0

こんにちは、お返事ありがとうございました。私は、Javaのコールバック関数の概念(ここでは 'renderText'など)を知らなかった。 "Document Font"のドキュメントに記載されているgetFont()メソッドのオブジェクトにgetFullFontName()を適用してフォント名を取得することができました。 :-) – srjit

関連する問題