📜  itext 7 获取文字中的文本 (1)

📅  最后修改于: 2023-12-03 15:31:27.587000             🧑  作者: Mango

iText 7 获取文字中的文本

iText是一个开源的Java库,可以让程序员创建和操作PDF文件。iText库可以用来创建、批量处理、填充、签署、加密等PDF文档操作。在iText 7中,可以很容易地获取文本中的文本内容。

获取文本

获取文本的过程涉及到以下步骤:

  1. 通过iText库打开PDF文件。
  2. 在需要的页面中获取所有的文本段落。
  3. 遍历文本段落列表并获取每个段落中的文本内容。
  4. 打印或处理提取的文本内容。

下面是一个使用iText 7获取文本的示例:

// 打开PDF文件
PdfDocument pdfDocument = new PdfDocument(new PdfReader("input.pdf"));

// 获取第一页
PdfPage page = pdfDocument.getPage(1);

// 获取所有文本段落
List<TextRenderInfo> textList = page.getOperatorList().getTextRenderInfos();

// 遍历文本段落并获取文本内容
for (TextRenderInfo text : textList) {
    System.out.println(text.getText());
}

// 关闭PDF文档
pdfDocument.close(); 
获取文本样式

如果需要获取文本段落的样式,例如字体大小、颜色或字体类型,也可以使用iText 7。可以通过 TextRenderInfo 类中的各种getters来获取这些信息。

以下是一个示例,该示例获取文本段落中的字体大小和颜色:

// 打开PDF文件
PdfDocument pdfDocument = new PdfDocument(new PdfReader("input.pdf"));

// 获取第一页
PdfPage page = pdfDocument.getPage(1);

// 获取所有文本段落
List<TextRenderInfo> textList = page.getOperatorList().getTextRenderInfos();

// 遍历文本段落并获取文本样式
for (TextRenderInfo text : textList) {
    System.out.println("Text: " + text.getText());
    System.out.println("Color: " + text.getFillColor());
    System.out.println("Font size: " + text.getFontSize());
}

// 关闭PDF文档
pdfDocument.close(); 

以上代码将打印所有文本段落的文本内容、颜色和字体大小。

结论

通过iText 7库可以轻松地获取PDF文档中的文本内容和文本样式。程序员可以根据需要修改示例代码,并使用iText库来完善他们的PDF文档处理工具。