是的,iText 是一個用于處理 PDF 文檔的 Java 庫,它可以用來提取 PDF 中的文本內容。iText 提供了一系列類和方法,可以幫助你讀取、解析和操作 PDF 文件。
要使用 iText 提取 PDF 文本內容,你需要先添加 iText 依賴到你的項目中。如果你使用的是 Maven,可以在 pom.xml
文件中添加以下依賴:
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>7.1.16</version>
</dependency>
接下來,你可以使用以下代碼示例來提取 PDF 中的文本內容:
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfReader;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.kernel.text.PdfTextExtractor;
import com.itextpdf.kernel.text.Text ExtractionStrategy;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class PdfTextExtractorExample {
public static void main(String[] args) {
String pdfFilePath = "path/to/your/pdf-file.pdf";
String outputTextFilePath = "output-text-file.txt";
try {
extractTextFromPdf(pdfFilePath, outputTextFilePath);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void extractTextFromPdf(String pdfFilePath, String outputTextFilePath) throws IOException {
// 創建一個 PdfReader 對象
try (PdfReader reader = new PdfReader(new FileInputStream(new File(pdfFilePath)))) {
// 創建一個 PdfWriter 對象
try (PdfWriter writer = new PdfWriter(new FileOutputStream(new File(outputTextFilePath)))) {
// 創建一個 PdfDocument 對象
PdfDocument pdfDocument = new PdfDocument(reader, writer);
// 使用 PdfTextExtractor 提取文本內容
String text = PdfTextExtractor.getTextFromPage(pdfDocument, 1);
System.out.println(text);
}
}
}
}
這個示例中的 extractTextFromPdf
方法接受一個 PDF 文件路徑和一個輸出文本文件路徑。它首先創建一個 PdfReader
對象來讀取 PDF 文件,然后創建一個 PdfWriter
對象來寫入提取的文本。接下來,它創建一個 PdfDocument
對象,并使用 PdfTextExtractor
類的 getTextFromPage
方法提取第一頁的文本內容。最后,它將提取的文本內容輸出到控制臺。
你可以根據需要修改這個示例,以提取 PDF 文件的其他頁或整個文檔的文本內容。