以下示例演示了如何使用 Apache PDFBox 使 PDF 文档中的文本居中。

Maven 依赖项

我们使用 Apache Maven 来管理我们的项目依赖项。确保以下依赖项驻留在类路径中。

<dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.8</version>
</dependency>

Apache PDFBox 中心文本 PDF 文档

为了计算 PDF 文档的中心,我们需要做一些计算。看看下面的例子。

package com.memorynotfound.pdf.pdfbox;import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.font.PDFont;
import org.apache.pdfbox.pdmodel.font.PDType1Font;import java.io.File;
import java.io.IOException;public class CenterText {public static void main(String[] args) throws Exception{try {String title = "Apache PDFBox Center Text PDF Document";PDFont font = PDType1Font.HELVETICA_BOLD;int marginTop = 30;int fontSize = 16;final PDDocument doc = new PDDocument();PDPage page = new PDPage(PDRectangle.A4);PDRectangle mediaBox = page.getMediaBox();doc.addPage(page);PDPageContentStream stream = new PDPageContentStream(doc, page);float titleWidth = font.getStringWidth(title) / 1000 * fontSize;float titleHeight = font.getFontDescriptor().getFontBoundingBox().getHeight() / 1000 * fontSize;float startX = (mediaBox.getWidth() - titleWidth) / 2;float startY = mediaBox.getHeight() - marginTop - titleHeight;stream.beginText();stream.setFont(font, fontSize);stream.newLineAtOffset(startX, startY);stream.showText(title);stream.endText();stream.close();doc.save(new File("/tmp/center-text.pdf"));} catch (IOException e){System.err.println("Exception while trying to create pdf document - " + e);}}}

演示

当我们运行应用程序时,文本以 PDF 文档为中心。

Apache PDFBox 居中文本 PDF 文档示例相关推荐

  1. java pdf_Java 生成 PDF 文档

    最近项目需要实现PDF下载的功能,由于没有这方面的经验,从网上花了很长时间才找到相关的资料.整理之后,发现有如下几个框架可以实现这个功能. 1. 开源框架支持 iText,生成PDF文档,还支持将XM ...

  2. java生成pdf方法_详解Java生成PDF文档方法|chu

    最近项目需要实现PDF下载的功能,由于没有这方面的经验,从网上花了很长时间才找到相关的资料.整理之后,发现有如下几个框架可以实现这个功能. 1. 开源框架支持iText,生成PDF文档,还支持将XML ...

  3. java xsl转换pdf_Java 生成PDF文档-阿里云开发者社区

    最近项目需要实现PDF下载的功能,由于没有这方面的经验,从网上花了很长时间才找到相关的资料.整理之后,发现有如下几个框架可以实现这个功能. 1. 开源框架支持 iText,生成PDF文档,还支持将XM ...

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

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

  5. pdfbox创建pdf_PDFBox创建PDF文档

    现在让我们了解如何使用PDFBox库创建PDF文档. 创建一个空的PDF文档 可以通过实例化PDDocument类来创建一个空的PDF文档.使用这个类的Save()方法将文档保存在所需的位置. 以下是 ...

  6. 使用HttpHandler解析并展示PDF文档内容

    前言 如果我们想将服务端的PDF文档内容展示给客户端,往往会通过URL直接访问的方式.这样一来,PDF文档就会毫无保留的保存到客户端去,通过浏览器的PDF插件,客户端可以随意拷贝PDF的副本.(如下图 ...

  7. HttpHandler解析并展示PDF文档内容

    2019独角兽企业重金招聘Python工程师标准>>> HttpHandler 解析并展示 PDF 文档内容 如果我们想将服务端的 PDF 文档内容展示给客户端,往往会通过 URL ...

  8. Java使用 PDFBox 2.0 从 PDF 文档中读取所有文本

    在本教程中,我们将学习在 Java 程序中使用 PDFBox 2.0 库从 pdf 文档中读取所有文本. PDF 文档可能包含文本.嵌入图像等作为其内容.PDFBox 中的 PDFTextStripp ...

  9. Apache PdfBox 2.0.X 版本解析PDF文档(文字和图片)

    最近项目开发过程涉及到了pdf文件的内容的解析和和内容的提取入库操作,其中pdf的解析采用了开源的apache pdfbox 插件,版本选用的是最新版本的2.0.8版本,现将简单的读取解析的步骤记录如 ...

最新文章

  1. Hessian(C#)介绍及使用说明
  2. GDCM:读取gdcm::Curve的测试程序
  3. 数据仓库之 ETL漫谈
  4. android:碎片的概念
  5. DataDir and DirectoryFactory in SolrConfig
  6. Python调用百度接口(情感倾向分析)和讯飞接口(语音识别、关键词提取)处理音频文件...
  7. 管理数据通用权限系统快速开发框架设计
  8. php webview referer,WebView构造中间页自由设置Referrer
  9. [ARM] ARM处理器寻址方式
  10. Eddy Cue称FBI可能会要求苹果激活iPhone摄像头并打开麦克风
  11. CNN卷积神经网络之卷积运算的初步理解
  12. Linq 支持动态字查询集合, 也就是说根据传入的值进行查询。
  13. 前端50个精美登录注册模板
  14. bzoj4173 数学
  15. window.history详细解析
  16. java面试题干货51-95
  17. calcite是什么
  18. 2022年证券从业资格投资顾问考试多选题专练及答案
  19. 经方败案群20150303李小荣讲桂枝芍药知母汤
  20. C#,图像二值化(16)——全局阈值的力矩保持算法(Moment-proserving Thresholding)及其源代码

热门文章

  1. CentOS虚拟机访问外部网络
  2. 蓝桥杯题目——带分数
  3. 微信公众号自动化测试
  4. 从tf1到tf2的几个函数转换
  5. c.k沉珂真的死了吗
  6. numpy的tfrecord处理
  7. 启功经典作品(兰竹自题)
  8. 用DensePose,教照片里的人学跳舞,系群体鬼畜 | ECCV 2018
  9. 怎么把安装文件弄到服务器上面,如何上传安装包到服务器
  10. PYTHON CIS线阵相机(PYTHON CISC)