当前位置: 首页 > news >正文

电子政务网站系统企业网站管理系统(多语言)

电子政务网站系统,企业网站管理系统(多语言),网站开发价格估算,企业网站实名制在现代开发中#xff0c;PDF 文件的操作是不可避免的一部分。无论是生成报告、解析文档#xff0c;还是从文件中提取信息#xff0c;我们常常需要处理 PDF 文件。iText 是一个非常强大的库#xff0c;广泛应用于 PDF 文件的创建、修改和解析。自 iText 7 发布以来#xff…在现代开发中PDF 文件的操作是不可避免的一部分。无论是生成报告、解析文档还是从文件中提取信息我们常常需要处理 PDF 文件。iText 是一个非常强大的库广泛应用于 PDF 文件的创建、修改和解析。自 iText 7 发布以来它的架构、性能和功能有了巨大的提升。本文将深入介绍 iText 7 的使用特别是如何利用它从 PDF 文档中提取文本和图像帮助开发者高效地进行 PDF 文件的处理。 iText 7 简介 iText 7 是 iText 库的最新版本相比于其前身 iText 5它不仅提供了更多强大的功能还改进了 API 设计并引入了模块化结构使开发者可以根据需要选择所需的功能模块。iText 7 支持更多的 PDF 操作例如生成 PDF/A、PDF/UA无障碍 PDF、数字签名、表单处理等并且在性能、图形渲染等方面得到了显著优化。 作为一个开源项目iText 7 采用 AGPL 许可证如果用于商业项目则需要购买商业许可证。今天我们将重点介绍 iText 7 中如何提取 PDF 文件中的文本内容和嵌入的图像。 为什么选择 iText 7 模块化设计iText 7 将功能模块化开发者可以根据项目需要选择不同的模块避免不必要的依赖。强大的文本和图像处理iText 7 提供了丰富的 API能够轻松提取文本、图像和其他 PDF 内容。性能优化iText 7 在内存管理和多线程支持上做了优化可以高效处理大型 PDF 文档。现代化的 APIiText 7 使用更为现代化的设计提供了更强的扩展性和灵活性。 使用 iText 7 提取 PDF 中的文本和图像 在 iText 7 中提取 PDF 文档的内容包括文本和图像是一个常见的操作。通过结合 PdfTextExtractor 类和 PdfCanvasProcessor 类开发者可以很方便地提取 PDF 页面的文本和图像。 核心 API 介绍 PdfReader用于读取 PDF 文件。PdfDocument表示一个 PDF 文档提供对文档内容的访问。PdfTextExtractor用于从 PDF 页面中提取文本。PdfCanvasProcessor用于处理 PDF 页面中的图像、文本或其他元素。ImageRenderInfo包含关于图像的详细信息可以获取图像的字节数据。IEventListener事件监听器用于在 PDF 页面中处理各种事件特别是图像渲染事件。 示例代码 以下示例展示了如何使用 iText 7 提取 PDF 文档中的文本和图像并将图像保存为文件。 import com.itextpdf.kernel.pdf.PdfDocument; import com.itextpdf.kernel.pdf.PdfReader; import com.itextpdf.kernel.pdf.canvas.parser.EventType; import com.itextpdf.kernel.pdf.canvas.parser.PdfCanvasProcessor; import com.itextpdf.kernel.pdf.canvas.parser.PdfTextExtractor; import com.itextpdf.kernel.pdf.canvas.parser.data.IEventData; import com.itextpdf.kernel.pdf.canvas.parser.data.ImageRenderInfo; import com.itextpdf.kernel.pdf.canvas.parser.listener.IEventListener; import com.itextpdf.kernel.pdf.canvas.parser.listener.ITextExtractionStrategy; import com.itextpdf.kernel.pdf.canvas.parser.listener.SimpleTextExtractionStrategy; import com.itextpdf.kernel.pdf.xobject.PdfImageXObject;import java.io.FileOutputStream; import java.io.IOException; import java.util.Set;public class IText7Example {private static void readTextAndImage(String filePath) {try {// 使用 iText 7 的 PdfReader 打开 PDF 文件PdfDocument pdfDoc new PdfDocument(new PdfReader(filePath));// 获取 PDF 页数int numberOfPages pdfDoc.getNumberOfPages();// 遍历每一页提取文本for (int i 1; i numberOfPages; i) {// 创建文本提取策略ITextExtractionStrategy strategy new SimpleTextExtractionStrategy();// 提取当前页面的文本String pageContent PdfTextExtractor.getTextFromPage(pdfDoc.getPage(i), strategy);// 输出当前页的内容System.out.println(Page i Content: \n pageContent \n);// 使用 PdfCanvasProcessor 处理页面内容提取图像PdfCanvasProcessor processor new PdfCanvasProcessor(new ImageExtractionListener(i));processor.processPageContent(pdfDoc.getPage(i));}// 关闭 PDF 文档pdfDoc.close();} catch (IOException e) {e.printStackTrace();}}// 定义一个监听器用于提取图像static class ImageExtractionListener implements IEventListener {private final int pageNum;public ImageExtractionListener(int pageNum) {this.pageNum pageNum;}Overridepublic void eventOccurred(IEventData eventData, EventType eventType) {if (eventType EventType.RENDER_IMAGE) {// 获取图像数据ImageRenderInfo renderInfo (ImageRenderInfo) eventData;PdfImageXObject imgObj renderInfo.getImage();try {// 提取图像并保存为文件byte[] imgBytes imgObj.getImageBytes();String imageFilePath image_ System.currentTimeMillis() .png;try (FileOutputStream fos new FileOutputStream(imageFilePath)) {fos.write(imgBytes);System.out.println(Page pageNum Image saved: imageFilePath);}} catch (IOException e) {e.printStackTrace();}}}Overridepublic SetEventType getSupportedEvents() {return Set.of(EventType.RENDER_IMAGE);}}public static void main(String[] args) {// 输入 PDF 文件路径String inputPdfPath /path/to/your/pdf-file.pdf; // 替换为实际路径readTextAndImage(inputPdfPath);} }代码解析 PdfDocument 和 PdfReader 我们使用 PdfReader 打开一个现有的 PDF 文件并通过 PdfDocument 对象获取文件内容。通过 pdfDoc.getNumberOfPages() 获取 PDF 文件的总页数方便后续遍历每一页。 文本提取 PdfTextExtractor.getTextFromPage() 方法用于从 PDF 页面中提取文本。SimpleTextExtractionStrategy 是默认的文本提取策略它会保留页面上的文本内容并去除图像和其他非文本元素。 图像提取 PdfCanvasProcessor 被用来遍历 PDF 页面内容并触发图像提取事件。在 ImageExtractionListener 中我们监听 EventType.RENDER_IMAGE 事件该事件会在页面渲染图像时触发。图像通过 ImageRenderInfo 提供可以通过 imgObj.getImageBytes() 获取图像的字节数据并保存为文件。 文件保存 提取的图像字节通过 FileOutputStream 保存为 .png 格式文件。每次提取图像时都会保存为一个新文件并打印出文件路径。 小结 通过上述示例我们了解了如何使用 iText 7 提取 PDF 文件中的文本和图像。iText 7 提供了强大且灵活的 API能够轻松处理各种 PDF 操作。通过事件监听和页面处理我们可以轻松提取 PDF 中的图像数据并根据需要进行进一步的处理。iText 7 的模块化设计和现代化的 API 使其成为处理 PDF 文件的理想选择适用于各种业务场景。 在实际开发中你可以根据自己的需求灵活运用 iText 7 提供的功能处理各种复杂的 PDF 文件。无论是生成 PDF 文件、提取数据还是处理图像和表单iText 7 都能够提供强大的支持帮助你轻松完成各种任务。
http://www.hkea.cn/news/14343321/

相关文章:

  • 如何查询网站开发语言海南app网站建设
  • 单页网站开发费用企业网站程序下载
  • 音乐外链网站怎么用自己的电脑做网站主机
  • 南京网站设计公司有哪些公司济宁seo营销
  • 建网站的域名是什么意思广州品牌网站建设公司
  • 建立网站ftp是什么网站301定向
  • 做网站需要什么工具wordpress图片自动alt
  • 贺州网站seo网站 mysql数据库 字符
  • 广州网站外包可以打开所有网站的浏览器
  • 做物流网站找哪家好软文代写自助发稿平台
  • 织梦网站如何播放mp4有人利用婚恋网站做微商
  • 网站中数据库教程wordpress会员设置
  • 在北京做兼职哪个网站好推广网络营销案例
  • 多语种 小语种网站推广方法wordpress设定密码
  • 怎么做直播网站揭阳做网站建设公司
  • 专业网站建设空间wordpress没有路径
  • 建网站什么赚钱九维品牌设计
  • 东莞品牌网站建设费用工商登记注册身份验证app
  • 网站设计制作是什么十大基本营销方式
  • 泰安手机网站建设公司网页设计师需要掌握的领域
  • 沈阳核工业建设工程总公司网站展馆展厅设计报价
  • 玉山电商网站建设seo优化的内容有哪些
  • 司法公开网站建设情况汇报小说网站编辑怎么做
  • 在百度怎么做网站和推广沈阳网站开发简维
  • 深圳工信部网站wordpress 分享到朋友圈
  • 泗泾做网站公司用网站做平台
  • 企业网站官网模板网站首页制作
  • 网站建设毕业设计综述百度识图软件
  • 合江做网站软装设计专业
  • 好的网站建设启示完整的软件开发流程