JavaはPDFテキストと画像の抽出を実現します
PDFファイルは常に多くの優れた情報コンテンツを携帯するために使われています。これらの情報をより良く利用するためには、いくつかのツールを使ってPDFからテキストと画像情報を抽出する必要があります。以下はJavaを通してPDFを抽出するテキストと写真を紹介します。
ツール使用:
- Free Spire Pdf for JAVA 2.4.4(無料版)
- Intellij IDEA / Eclipse
Jarパッケージ導入:
- 方法1: Free Spire.Pdf for Javaのストレスをオフィシャルサイトからダウンロードした後、IDEA又はEclipseにおいてShift+Ctrl+Alt+Sに追加導入Spire.Pdf.jarパケットをプログラムに追加することで、jarファイルを伸張経路下のlibフォルダで取得することができる。jarパッケージの導入結果は以下の通り:
- 方法2: mavenライブラリから導入する。導入方法を参考にする(https://www.e-iceblue.com/Tutorials/Licensing/How-to-install-Spire.PDF-for-Java-from-Maven-Repository.html)。
Javaコードの例参照:
【例1】PDFのテキスト内容を抽出する
ステップ1: 名前空間を追加します;
import com.spire.pdf.*;
import java.io.FileWriter;
ステップ2: PDFのインスタンスを作成し、PDFソースファイルをロードする;
//Create the PDF
PdfDocument doc = new PdfDocument();
//Load the PDF file
doc.loadFromFile("data/Sample.pdf");
ステップ3: StringBuider法を使用して、PDFドキュメント全体を巡回巡回する文字バッファの例を定義する;
// Traverse the PDF
StringBuilder buffer = new StringBuilder();
for(int i = 1; i<doc.getPages().getCount(); i++){
PdfPageBase page = doc.getPages().get(i);
buffer.append(page.extractText());
}
ステップ4: 1つのwriterのインスタンスを定義してバッファエリアにデータを書き込み、write()を使ってバッファエリアのデータをtext.txtファイルに書き込み、保存する。
//save text
String fileName = "output/text.txt";
FileWriter writer = new FileWriter(fileName);
writer.write(buffer.toString());
writer.flush();
writer.close();
【例2】PDF中のピクチャを抽出する
ステップ1: 名前空間を追加します;
import com.spire.pdf.*;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
ステップ2: PDFのインスタンスを作成し、PDFソースファイルをロードする;
//Create the PDF
PdfDocument pdf = new PdfDocument();
//Load the PDF file
pdf.loadFromFile("data/Sample.pdf");
ステップ3: forループはPDFの各ページを巡回し、extractImages()方法を使って指定ページの画像を取得し、最後にPNG形式で画像を保存します。
// Declare an int variable
int index = 0;
// loop through the pages
for (int i= 0;i< pdf.getPages().getCount(); i ++){
//Get the PDF pages
PdfPageBase page = pdf.getPages().get(i);
// Extract images from a particular page
for (BufferedImage image : page.extractImages()) {
//specify the file path and name
File output = new File("output/" + String.format("Image_%d.png", index++));
//Save image as .png file
ImageIO.write(image, "PNG", output);
}
}
Author And Source
この問題について(JavaはPDFテキストと画像の抽出を実現します), 我々は、より多くの情報をここで見つけました https://qiita.com/iceblue/items/f1d14e3fa07144e24b3e著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .