fbpx
< 戻る
印刷

構造化されているテキストの抽出

構造化されたPDFファイルと構造化されていないPDFファイル

PDF ファイルは、構造化された PDF ファイル (ページ構造に関する情報を含む) または構造化されていない PDF ファイル (構造情報を含まず、コンテンツがどのような順序であってもよい) を作成することができます。これはPDFが作成されるときに発生し、非構造化PDFファイルを構造化PDFファイルに変換することはできません。

PDFファイルは、PDF内のテキストコンテンツの構造を保持するためにメタデータタグを含むことができます(これはPDFファイルが作成されるときのオプションです)。存在する場合、JPedalはPDFファイルからテキストコンテンツを抽出するためのいくつかの方法を提供します。この場合、PDF内に存在するあらゆる構造化テキストを抽出することができます。存在しない場合、出力ファイルには、コンテンツが得られなかったことを説明する簡単なメッセージが含まれます。

構造化PDFファイルの利点は、コンテンツを抽出して他の形式に変換できることです。JPedalは現在、このコンテンツをXMLまたはHTMLコンテンツとして出力することをサポートしています。

コマンドラインまたは他の言語からPDFから構造化テキストを抽出

コンテンツをXMLとして抽出する場合

				
					java --module-path . --add-modules com.idrsolutions.jpedal org/jpedal/examples/text/ExtractStructuredText 
"inputFileOrDir" "outputDir" "xml"
				
			

コンテンツをHTMLとして抽出する場合

				
					java --module-path . --add-modules com.idrsolutions.jpedal org/jpedal/examples/text/ExtractStructuredText 
"inputFileOrDir" "outputDir" "html"
				
			

Java 11以降のモジュールを推奨します。古いバージョンを使用している場合は、クラスパスを使用する必要があります。

APIアクセスでの利用のコードサンプル

				
					 ExtractStructuredTextProperties properties = new ExtractStructuredTextProperties();
 properties.setFileOutputMode(OutputModes.XML);
 //properties.setFileOutputMode(OutputModes.HTML);
 ExtractStructuredText extract = new ExtractStructuredText("C:/pdfs/mypdf.pdf", properties);
 //extract.setPassword("password");
 if (extract.openPDFFile()) {
     Document anyStructuredText = extract.getStructuredTextContent();
 }

 extract.closePDFfile();
				
			

Javaでタグ付きPDFから構造化テキストを抽出

				
					//構造化テキストをXMLとして抽出するのがデフォルトです
ExtractStructuredText.
writeAllStructuredTextOutlinesToDir("inputFileOrDirectory", "outputDir");

//構造テキストの抽出をオプションでより自由にコントロール
final String password = null; //null is used when no password required
final ErrorTracker tracker = null; //ErrorTracker implementations can be used to monitor extraction
ExtractStructuredTextProperties properties = new ExtractStructuredTextProperties();
properties.setFileOutputMode(OutputModes.XML);
//properties.setFileOutputMode(OutputModes.HTML);
        
ExtractStructuredText.
writeAllStructuredTextOutlinesToDir("inputFileOrDirectory", password, "outputDir", tracker, properties);
				
			

この例では、JPedal ExtractStructuredTextクラスを使用しています。ExtractStructuredTextは、ファイルが含む構造化コンテンツを詳細に記述したファイルのXMLファイルを出力します。

使用される座標

抽出方式はすべて、指定された矩形内の PDF テキストを抽出します。この矩形の座標の 必須フォーマットは x1, y1 (左上隅) と x2, y2 (右下隅)です。ページ原点は左下(Java とは逆)です。

    MENU
    PAGE TOP