Java PDFBox 教程展示了如何使用 PDFBox 在 Java 中创建 PDF 文件。

PDFBox

Apache PDFBox 是一个开源 Java 库,可用于创建,渲染,打印,拆分,合并,更改,验证和提取 PDF 文件的文本和元数据。

另一个非常流行的用于处理 PDF 文件的 Java 库称为 iText 。

PDFBox Maven 依赖项

我们需要为我们的项目添加以下 Maven 依赖项。

Java PDFBox 写文本

在下面的示例中,我们创建一个 PDF 文档并将一些文本写入其中。

JavaPdfBoxWriteText.java

该示例将四行内容写入 PDF 文档。

创建一个新的PDDocument。 默认情况下,文档具有 A4 格式。

创建一个新页面并将其添加到文档中。

要写入 PDF 页面,我们必须创建一个PDPageContentStream对象。

在beginText()和endText()方法之间写入文本。

我们设置字体和文本开头。

我们使用newLineAtOffset()方法开始新的一行文本。 页面的原点位于左下角。

文本使用showText()方法编写。

使用newLine()方法,我们移至下一行文本的开头。

Java PDFBox 读取文本

下一个示例从 PDF 文件读取文本。

JavaPdfBoxReadText.java

该示例打印 PDF 文档的文本及其大小。

我们从src/main/resources目录加载 PDF 文档。

PDFTextStripper用于从 PDF 文件提取文本。

Java PDFBox 创建图像

下一个示例在 PDF 文档中创建图像。

JavaPdfBoxCreateImage.java

该示例从目录加载图像,创建新的 PDF 文档,然后将图像添加到页面中。

PDImageXObject用于处理 PDFBox 中的图像。

我们得到图像的宽度和高度。

PDPageContentStream's drawImage()将图像绘制到页面中。

Java PDFBox 文档信息

PDF 文档可以包含描述文档本身或文档中某些对象(例如文档的作者或创建日期)的信息。 可以使用PDDocumentInformation对象设置和检索基本信息。

JavaPdfBoxDocumentInformation.java

该示例创建一些文档信息元数据。 该信息可以在 PDF 查看器中的 PDF 文档属性中看到。

我们得到PDDocumentInformation对象。

我们设置一些元数据信息。

Java PDFBox 编写元数据

可扩展元数据平台(XMP)是用于创建,处理和交换数字文档和数据集的标准化和自定义元数据的 ISO 标准。 PDF 文件使用 XMP 来存储其他元数据信息。

metadata.xml

这是一个 XML 文档,其中包含有关 PDF 文档的一些基本元数据。

JavaPdfBoxMetadataWrite.java

该示例从 XML 文件读取元数据,并将其存储在生成的二进制文档中。

PDMetadata用于处理元数据。

我们将元数据设置为文档的目录。

Java PDFBox 读取元数据

在下一个示例中,我们从 PDF 文档中读取元数据。

JavaPdfBoxMetadataRead.java

该示例从 PDF 文档读取元数据,并将其打印到控制台。

我们从PDDocumentCatalog中检索PDMetadata。

该文档可能不包含元数据; 因此,我们进行一些简单的检查。

createInputStream()为文档的元数据创建输入流。 我们从该流中读取数据并将其打印到终端。

pdfbox java_Java PDFBox 教程相关推荐

  1. 【PDFBox】PDFBox操作PDF文档之添加本地图片、添加网络图片、图片宽高自适应、图片水平垂直居中对齐

    这篇文章,主要介绍PDFBox操作PDF文档之添加本地图片.添加网络图片.图片宽高自适应.图片水平垂直居中对齐. 目录 一.PDFBox操作图片 1.1.添加本地图片 (1)案例代码 (2)运行效果 ...

  2. 注解java_Java注解教程及自定义注解

    Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容.在这个教程当中,我们将学习Java的注解,如何定制注解,注解的使用以及如何通过反射解析注解. Java1.5引入了注解,当前许 ...

  3. 0010101 java_JAVA入门教程运算符和表达式

    JAVA入门教程运算符和表达式 运 算 符 指 明 对 操 作 数 所 进 行 的 运 算 . 按 操 作 数 的 数 目 来 分 ,可 以 有 一 元 运 算 符 (如 ++. -),二 元 运 算 ...

  4. 除号java_Java基础教程-运算符

    所谓运算符,就好比日常生活中的运算符号"+"."-"."*"."/",这些符号几乎天天都要用到.在Java中,运算符就和 ...

  5. selenium 教程 java_java selenium教程环境搭建方法

    webdriver 就是selenium 2.    webdriver 是一款优秀的,开源的,自动化测试框架. 支持很多语言.  本文描述的是用java Eclipse 如何搭建环境 阅读目录 首先 ...

  6. 字节流java_Java基础教程——字节流

    IO流 水流 特点 连续性 逝者如斯夫,不舍昼夜: 方向性 一江春水向东流.水往低处流.百川东到海,何时复西归?少壮不努力,老大徒伤悲! 源头尽头 唯有源头活水来:覆水难收 Java里的IO也有这样的 ...

  7. Java PDFBox

    Java PDFBox 教程展示了如何使用 PDFBox 在 Java 中创建 PDF 文件. PDFBox Apache PDFBox 是一个开源 Java 库,可用于创建.渲染.打印.拆分.合并. ...

  8. apache pdfbox_Apache PDFBox命令行工具:无需Java编码

    apache pdfbox 在博客文章Apache PDFBox 2中 ,我演示了将Apache PDFBox 2用作从Java代码中调用的库来操作PDF. 事实证明,Apache PDFBox 2还 ...

  9. apache pdfbox_Apache PDFBox 2

    apache pdfbox Apache PDFBox 2已于今年早些时候发布 , Apache PDFBox 2.0.1和Apache PDFBox 2.0.2已发布. Apache PDFBox是 ...

最新文章

  1. Canvas VS . SVG
  2. latex hyperref_LaTeX 使用心得
  3. java怎么给类中的私有变量赋值_Java学习笔记分享 如何理解接口抽象类和关键字...
  4. 让win7提速几倍的10个方法
  5. java 插入mysql 日期_Java日期-插入数据库
  6. 红与黑(信息学奥赛一本通-T1216)
  7. 计算机课计划,计算机教学计划汇总
  8. 【推荐】Zeal 离线API文档浏览器
  9. Python数据分析库pandas高级接口dt和str的使用
  10. Ant Design Pro引入Echarts 报错Unexpected token
  11. java开发工具比较(16个工具修订版)
  12. gradientDescent----吴恩达机器学习作业
  13. 使用whistle代理
  14. 基于时空融合的高效率多阶段视频降噪方法-EMVD
  15. hackbar工具安装使用教程
  16. 系统分区减小_每日一练,防排烟系统,6.1
  17. deadmau5 《光之塔》 NFT 系列来袭!
  18. python抠图教程视频_Python快速抠图不比PS差!1分钟搞定!
  19. tensorflow2.0——预测泰坦尼克号旅客生存概率(Keras应用实践)
  20. [励志]知乎热门:做事情三分钟热度怎么破?

热门文章

  1. 计算机网络实验---思科模拟器
  2. 奥特曼视频软件测试,抖音奥特曼知识问答测试答案大全 奥特曼知识大挑战问答竞赛答案...
  3. jquery过滤时采用比较_微软,诺基亚采用jQuery
  4. 基站查询-基站定位资源
  5. VMware ESXi OpenSLP堆溢出漏洞,附本次勒索软件ESXiArgs恶意文件分析(CNVD-2021-12321对标CVE-2021-21974)
  6. Java计算器模拟程序
  7. 二分图最佳匹配 KM算法 Hdu2255奔小康赚大钱 + Poj 3565 Ants
  8. 轻量级框架:Nancy学习
  9. 浅析移动CRM的客户价值细分
  10. 测试面试题集锦(二)| 测试工具篇(附答案)