Apache PDFBox 3最新入门指南(3.0.0-alpha2 released版本)

2023-12-19 11:08

本文主要是介绍Apache PDFBox 3最新入门指南(3.0.0-alpha2 released版本),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PDFBOX的8个作用:

1、提取文字:
提取pdf中的Unicode 文本
2、分割和合并PDF
分割单个PDF为多个PDF或者是合并多个PDF为一个DPF
3、填充PDF里面的表单
提取PDF表单内容或填充PDF表单
4、印前检查
根据PDF/A-1b标准,校验PDF文件。
5、打印PDF
通过JAVA的API打印PDF文件。
6、图片转换
把PDF文件转成PNG或JPEG格式的图片
7、创建PDF文件
从零开始创建PDF文件,往里面嵌入文字和图片
8、签名
对PDF文件签名
 


背景:

基于对Apache PDFBox的热爱,我想根据Apache PDFBox 3研究一下是如何使用,及改进了哪些内容。


相较于2.0版本的差异:

(1)3.0版本保留了PDPageContentStream的一些废弃方法(appendRawCommands)。

(2)3.0版本需要把PDDocument.load 改成Loader.loadPDF 方法。

(3)3.0版本增加了非压缩模式的保存PDF。通过PDDocument.save 方法的 CompressParameters.NO_COMPRESSION参数完成。

例如从原来的

doc.save(pdfPath);

变成

doc.save(pdfPath, CompressParameters.NO_COMPRESSION);

(4)3.0版本优化了操作PDF文件时的内容消耗。

(5)3.0版本相较于2.0版本删除了14种字头。

(6)修改PDDocumentCatalog.getAcroForm()获取AcroForms对象。例如使用命令:

PDDocumentCatalog.getAcroForm(null)

(7)重写了PDFBox应用程序的命令行接口。


参考链接:

Apache PDFBox | PDFBox 3.0 Migration GuideThe Apache PDFBox™ library is an open source Java tool for working with PDF documents. This project allows creation of new PDF documents, manipulation of existing documents and the ability to extract content from documents. Apache PDFBox also includes several command-line utilities. Apache PDFBox is published under the Apache License v2.0.https://pdfbox.apache.org/3.0/migration.html

这篇关于Apache PDFBox 3最新入门指南(3.0.0-alpha2 released版本)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/511929

相关文章

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.

Redis过期删除机制与内存淘汰策略的解析指南

《Redis过期删除机制与内存淘汰策略的解析指南》在使用Redis构建缓存系统时,很多开发者只设置了EXPIRE但却忽略了背后Redis的过期删除机制与内存淘汰策略,下面小编就来和大家详细介绍一下... 目录1、简述2、Redis http://www.chinasem.cn的过期删除策略(Key Expir

Java日期类详解(最新推荐)

《Java日期类详解(最新推荐)》早期版本主要使用java.util.Date、java.util.Calendar等类,Java8及以后引入了新的日期和时间API(JSR310),包含在ja... 目录旧的日期时间API新的日期时间 API(Java 8+)获取时间戳时间计算与其他日期时间类型的转换Dur

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

SpringBoot整合Apache Flink的详细指南

《SpringBoot整合ApacheFlink的详细指南》这篇文章主要为大家详细介绍了SpringBoot整合ApacheFlink的详细过程,涵盖环境准备,依赖配置,代码实现及运行步骤,感兴趣的... 目录1. 背景与目标2. 环境准备2.1 开发工具2.2 技术版本3. 创建 Spring Boot

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.