哈喽,我是老鱼,一名致力于在技术道路上的终身学习者、实践者、分享者!
该项目允许创建新的 PDF 文档、对现有文档进行操作以及从文档中提取内容。PDFBox 还包括几个命令行实用程序。PDFBox 是在 Apache 2.0 版许可下发布的。
默认构建将编译 Java 源代码并打包二进制文件 类到JAR 包中。请参阅 Maven 文档了解所有 其他可用的构建选
添加依赖:
org.apache.pdfbox
pdfbox
2.0.27
功能:
提取文本:从 PDF 文件中提取 Unicode 文本。
拆分和合并:将单个 PDF 拆分为多个文件或合并多个 PDF 文件。
填写表格:从 PDF 表单中提取数据或填写 PDF 表单。
印前检查:根据 PDF/A-1b 标准验证 PDF 文件。
打印:使用标准 Java 打印 API 打印 PDF 文件。
另存为图像:将 PDF 另存为图像文件,如 PNG 或 JPEG。
创建文档:使用嵌入的字体和图像从头开始创建 PDF。
签署:对 PDF 文件进行数字签名。
将 PDFBox 与 Java 8 1.8.0_191 之前版本或 Java 9 9.0.4 之前版本一起使用时的重要注意事项
由于java色彩管理模块向“LittleCMS”方向的转变,用户在色彩操作中可能会遇到性能下降的情况。一种解决方案是通过以下方式禁用 LittleCMS,转而使用旧的 KCMS(柯达色彩管理系统):
- 以或开头-Dsun.java2d.cmm=sun.java2d.cmm.kcms.KcmsServiceProvider
- 叫System.setProperty("sun.java2d.cmm", "sun.java2d.cmm.kcms.KcmsServiceProvider")
来源:
https://bugs.openjdk.java.net/browse/JDK-8041125
自 PDFBox 2.0.4 起
PDFBox 2.0.4 引入了新的命令行设置
-Dorg.apache.pdfbox.rendering.UsePureJavaCMYKConversion=true