首页 > 编程知识 正文

java在图片上添加文字,java书籍pdf

时间:2023-05-05 10:35:40 阅读:169269 作者:3113

概要

通常无法修改和编辑PDF文档格式的内容,但可以通过根据需要提取文本内容来实现。 本文介绍如何使用Java代码从PDF文档中提取文本内容。

本教程使用的第三方控件是Free Spire.PDF for Java (免费版)。 根据需要,可以支持以下三种提取功能:

提取PDF文档中的所有文本内容

提取PDF中指定页面的文本内容

提取PDF指定区域的文本内容

获取和部署Jar包

在执行代码之前,必须将Free Spire.PDF for Java控件的Jar包导入到IDEA中。 有两种导入方式。 其中之一是在官网上下载并解压缩包,然后手动将lib文件夹下的Spire.Pdf.jar导入IDEA中。 其次,在IDEA中创建Maven项目,在pom.xml文件中输入以下代码,最后单击" Import Changes "。

com.e-iceblueid

3358 repo.e-ice blue.cn/repository/maven-public/URL

存储库

储存库

e-icebluegroupId

spire.pdf.freeartifactId

3.9.0版本

依存

从属权利

示例代码

示例提取PDF文档中的所有文本内容

输入com.spire.pdf.pdf document;

import com.spire.pdf.pdf pagebase;

import java.io.*;

创建publicclassextractalltext { publicstaticvoidmain (string [ ] args ) pdf文档实例

PdfDocument doc=new PdfDocument (; 加载//pdf文档

doc.load from file (c : users test1 desktop sample.pdf ); 创建StringBuilder实例

stringbuilder sb=new stringbuilder (; pdf页面;页面; 遍历//pdf页面,获取每页的文本并将其添加到StringBuilder对象

for(intI=0; itrue ); } FileWriter writer; 将try//stringbuilder对象的文本写入文本文件

writer=new filewriter (output/extract alltext.txt ); writer.write(sb.tostring ) ); writer.flush (; }catch(ioexceptione ) { e.printStackTrace ); } doc.close (; }

}

提取效果:

示例提取PDF中指定页面的文本内容

import com.spire.pdf.*;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

publicclassextracttextfromparticularpage { publicstaticvoidmain (string [ ] args ) throws IOException { //加载PDF文档

pdf文档pdf=new pdf文档(; pdf.load from file (c : users test1 desktop sample.pdf ); 创建//.txt文件并保存提取的文本

string result=' output/extracttextfromaparticularpage.txt '; 文件文件=new文件(result; if (! file.exists () { file.delete; } file.createNewFile (); filewriter fw=new filewriter (file,true ); bufferedwriterbw=newbufferedwriter (fw;//获取第1页的文本

PdfPageBase page=pdf.getPages ().get ) ) 0; string text=page.extract text (true; //string text=page.extract text (false );

bw.write(Text; bw.flush (; bw.close (; fw.close (; }

}

提取效果:

示例提取PDF指定区域的文本内容

import com.spire.pdf.*;

import Java.awt.geom.rectangle 2d;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileWriter;

import java.io.IOException;

publicclassextracttextfromspecificarea { publicstaticvoidmain [ ] args ] throwsioexception {///加载PDF文档

pdf文档pdf=new pdf文档(; pdf.load from file (c : users test1 desktop sample.pdf ); 创建//.txt文件并保存提取的文本

文件文件=new文件(output/extracttextfromaspecifiedarea.txt ); if (! file.exists () { file.delete; } file.createNewFile (); filewriter fw=new filewriter (file,true ); bufferedwriterbw=newbufferedwriter (fw;//获取第1页

PdfPageBase page=pdf.getPages ().get ) ) 0; 提取第//1页指定区域的文本

string text=page.extract text (new rectangle 2d.float (80,20,500,110 ); bw.write(Text; bw.flush (; bw.close (; fw.close (; }

}

提取效果:

文章来源: segmentfault.com,作者: Millie_Yellow,版权归原作者所有。 转载的情况下,请联系作者。

原文链接: segment fault.com/a/119000038215489

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。