首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PdfBox -更改pdf文件中的字体或fontName?

PdfBox是一个用于处理PDF文件的Java库。它提供了丰富的功能,包括创建、修改和提取PDF文件的内容。

要更改PDF文件中的字体或fontName,可以按照以下步骤进行操作:

  1. 导入PdfBox库:在Java项目中,首先需要导入PdfBox库。可以通过在项目的构建路径中添加PdfBox的jar文件或使用构建工具(如Maven或Gradle)来实现。
  2. 打开PDF文件:使用PdfBox库的PDDocument类,可以打开现有的PDF文件。可以使用PDDocument.load()方法来加载PDF文件。
  3. 获取页面内容:通过PDDocument对象,可以获取PDF文件的页面内容。可以使用getPage()方法来获取指定页面的PDPage对象。
  4. 获取页面的内容流:通过PDPage对象,可以获取页面的内容流。可以使用getContentStream()方法来获取页面的内容流。
  5. 更改字体:通过内容流,可以使用PdfBox库提供的方法来更改字体。可以使用setFont()方法来设置字体。
  6. 保存修改后的PDF文件:在完成对PDF文件的修改后,可以使用PDDocument对象的save()方法将修改后的内容保存到新的PDF文件中。

以下是一个示例代码,演示如何使用PdfBox库更改PDF文件中的字体或fontName:

代码语言:txt
复制
import java.io.File;
import java.io.IOException;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.font.PDType1Font;

public class PdfFontChanger {
    public static void main(String[] args) {
        try {
            // 打开PDF文件
            PDDocument document = PDDocument.load(new File("input.pdf"));

            // 获取第一页
            PDPage page = document.getPage(0);

            // 获取页面的内容流
            PDPageContentStream contentStream = new PDPageContentStream(document, page);

            // 设置字体
            contentStream.setFont(PDType1Font.HELVETICA_BOLD, 12);

            // 在页面上写入文本
            contentStream.beginText();
            contentStream.newLineAtOffset(100, 700);
            contentStream.showText("Hello, World!");
            contentStream.endText();

            // 关闭内容流
            contentStream.close();

            // 保存修改后的PDF文件
            document.save("output.pdf");

            // 关闭PDF文件
            document.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上述示例代码中,我们使用了PdfBox库的PDType1Font类来设置字体为Helvetica Bold,并在第一页的指定位置写入了文本"Hello, World!"。最后,我们将修改后的内容保存到名为"output.pdf"的新PDF文件中。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iot
  • 腾讯云区块链(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云元宇宙(Metaverse):https://cloud.tencent.com/product/metaverse

请注意,以上链接仅供参考,具体的产品选择应根据实际需求和情况进行评估。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SpringBoot 下PDF生成使用填坑总结

PDF,但ITextRenderer有一个问题是要解决中文不显示问题,必须把字体放在一个以 文件夹 路径访问形式引入,SpringBoot打包后,经测试,无法获取打包后FONT字体; 则,再另辟途径...第二种通过映射关系解决中文不显示尝试过,没有作用。 这也不行,那也不行,那到底怎么办。 最后延用解决生成pdf思路,解决字体问题,结果没想到成了。...,如果将生成pdfpdf文件转图片连起来还是会有中文显示乱码问题: 复现方式:生成pdf文件后下载,然后上传(上传时候,pdf转图片存储),预览图片,发现图片中中文显示乱码。...虽然中文显示乱码但是完全可以满足用户需求,但是本着细致负责态度,仍着力去解决这个问题:终于问题解决了 解决方案:引入外部字体文件(好像是又回到了引入字体文件那种解决方式,但是两者有区别,一个是解决...,一个是更好优化提升用户体验) 找到组内其他用windows研发同学,拷贝“SIMSUN.TTC”字体文件到linux服务器,安装。

4.6K30
  • java 利用 pdfbox 实现PDF转为图片

    * 分享遇到坑: * 1.如何解决 Linux 环境下乱码问题:重写 UnixFontDirFinder 类,修改 Linux 环境下获取字体文件路径,改为取项目里字体文件(使用 pdfbox...转图片时方法,使用 icepdf 请自行研究) * 2.如果后续遇到乱码问题,查看日志看看缺少什么字体,然后将字体文件上传到项目的 src/main/resources/fonts 目录下即可...想想还是研究研究 pdfbox 源码吧,分析后发现它是根据不同系统来读取字体文件,然后一个同事建议我重写读写 Linux 系统文件类,指向我们项目的文件夹,然后在项目新建一个文件夹来存放需要字体...需要注意是,后面如果pdf有用到新字体,就需要将对应字体下载下来,放到该目录下。...:重写 UnixFontDirFinder 类,修改 Linux 环境下获取字体文件路径,改为取项目里字体文件 Copyright: 采用 知识共享署名4.0 国际许可协议进行许可 Links: https

    3.7K10

    使用 Apache PDFBox 操作PDF文件

    Apache PDFBox还包括几个命令行实用程序。 Apache PDFBox主要功能如下: 从PDF文件中提取Unicode文本。 将单个PDF拆分成多个文件合并多个PDF文件。...从PDF表单中提取数据填写PDF表单。 验证PDF文件是否符合 PDF/A-1b 标准。 使用标准Java打印API打印PDF文件。 将PDF另存为图像文件,例如PNGJPEG。...从头开始创建PDF,包括嵌入字体和图像。 对PDF文件进行数字签名。 导入 首先,我们需要确保已经将PDFBox库添加到我Java项目中。...效果如下图: 万猫学社 读取PDF文件 我们可以使用以下代码读取PDF文件全部内容: import java.io.File; import java.io.IOException; import...然后,我们使用drawImage()方法在PDF文档指定位置插入了图像。 最后,我们将修改后文档保存到名为“one-more-jpg.pdf文件,并关闭文档。

    2K20

    Ubutu 更改文件子目录权限

    Ubuntu中有两个修改命令可以用到,「change mode」&「change owner」 即chmod以及chown,其中可以用递归参数-R来实现更改所有子文件和子目录权限。...1、利用chmod修改权限: 对Document/目录下所有子文件与子目录执行相同权限变更: chmod -R 700 Document/ -R参数是递归 处理目录下所有文件以及子文件夹 700...是变更后权限表示(只有所有者有读和写以及执行权限) Document/ 是需要执行目录 2、利用chown改变所有者: 对Document/ 目录下所有文件与子目录执行相同所有者变更,修改所有者为...users用户组username用户 chown -R username:users Document/ username:users users用户组username,用户组参数不是必须有

    2.2K40

    LIMS系统仪器数据采集-使用xpdf解析pdf内容

    不同语言解析PDF内容都有各自库,比如Javapdfbox,.netitextsharp。.../mahongbiao/p/3760867.html 这些类库解析PDF文本有一个弊端,就是可配置性不强,它们多数是用于PDF文件生成,对于PDF文本内容提取仅提供一两个函数供调用。...解析PDF文本,可使用xpdf,该工具为一命令行工具,因此可通过java.net调用命令行执行。...解析某PDF文件时,文本内容以竖排形式输出,不易解析信息。...例子中文没有解析出来,可通过配置PDF中文字体解决,xpdf另一个强项功能,就是它支持配置pdf字体,有些PDF内容通过itextsharp解析不出来情况下,使用xpdf在配置了正确字体后可以解析出内容

    1.8K40

    OpenSource - 文件在线预览模块(多格式转 PDF 文件

    返回某个路径文件格式 方案二 ASPOSE 文件在线预览模块(多格式转PDF文件) 说明:本项目是将一些常见技术做了整合,帮助那些需要在线预览文件正在寻找.../archives/420.html Linux 安装字体(不安装会出现乱码问题):http://wiki.nooss.cn/archives/406.html 1、直接复制源码里文件搬家至你自己代码...文件转图片 ps:会先将文件转为 pdf,然后使用 pdfbox 转为图片 http://ip:port/demo/toPng 文件转SVG ps:会先将文件转为 pdf,然后使用 pdfbox...PDF 部分采用了LibreOffice工具 PDF 转换图片使用了PDFBox组件 感谢hutool组件 项目关联关键词 word 转 pdf、word 转图片、office 格式转换、在线文件预览...://github.com/svg/svgo GZIP压缩 对svg文件压缩 ----- 乱码问题处理 乱码主要是由字体引起,安装字体即可解决该问题。

    17800

    一款漂亮不像实力派pdf软件分享

    pdf 基于 postscript 语言,每个 pdf 文件都封装了一个固定版式平面文档描述,包含了文本,字体,矢量图形,光栅图像等。...字体嵌入系统让字体可以和文档整合,一起移动,可以实现批量替换。 结构化存储系统 可以让页面元素和内容打包成一个文件,并且进行了压缩处理。...UPDF 提供直观导航工具和广泛注释工具,可直接向 PDF 添加高亮显示、文本框、形状和其他元素。 编辑 PDF 文本链接,就像您通常在 Word 文档中所做那样。...您可以在不离开 PDF 情况下添加删除文本,更改原始文本字体和大小。...updf 支持单击图像进行编辑,然后在带有有用对齐指南易于使用界面调整大小、重新定位、替换、复制、删除裁剪图像。

    27120

    如何通过SSH更改Linux系统下文件文件夹)拥有者

    再把生成文章打包放回123SYSTEMS,也还顺利,不过解压覆盖后,文件所有者变成了ROOT,于是就有了下文: 通过SSH,在shell,可以使用chown命令来改变文件所有者。...chown命令是change owner(改变拥有者)缩写。需要要注意是,用户必须是已经存在系统,也就是只能改变为在 /etc/passwd这个文件中有记录用户名称才可以。...chown命令用途很多,还可以顺便直接修改用户组名称。此外,如果要连目录下所有子目录文件同时更改文件拥有者的话,直接加上-R参数即可。...用root账户连接SSH登录,输入chown 用户名称 文件文件夹目录,然后回车确认。...laoyao文件夹下所有文件和子文件拥有者全部更改成apache,我们输入: chown -R apache /home/admin/laoyao 回车确认,即成功更改拥有者。

    3.1K30

    微软 Outlook 如何修改邮件列表字体字号

    因为电脑操作系统是默认英文,默认字体实在是太难看了。 解决方案 我们是可以对字体进行修改。 例如修改成下面的方案。 选择视图 首先,先选定顶部视图。...然后在当前视图下,选择视图设置。 随后在弹出窗口中,选择其他设置。 设置字体 然后在弹出界面,对字体进行选择。...当前,我们选择字体为 Open Sans,这个字体是 Google 字体,但是这个字体不能支持简体中文,也不能支持 CJK。...如果需要选择支持中文字体,可以选择 Noto Sans 这个字体。 这个字体是能够支持中文(CJK)。 Noto Sans Noto Sans 这个字体中文名称为:思源黑体。...在部分缺失某些字体Windows、Linux等系统,无法显示字符会变成方块“□”,一般惯称为“tofu”,即“豆腐”之意。

    2.4K20

    如何在Linux使用 chattr 命令更改文件目录扩展属性?

    在 Linux 操作系统,chattr 命令用于更改文件目录扩展属性,包括可写性、可执行性和删除性等。本文将介绍 chattr 命令使用方法以及常见参数。...图片1. chattr 命令基本语法chattr 命令基本语法如下:chattr [选项] [文件目录]选项包括:-R:递归地更改文件目录属性。-v:显示命令执行详细信息。...常见属性包括:a:仅允许附加操作,不允许删除截断文件。i:设置文件为不可修改。d:设置文件为无法删除。u:设置文件为可恢复。...总结本文介绍了 chattr 命令使用方法及常见参数。我们可以使用 chattr 命令更改文件目录扩展属性,包括可写性、可执行性和删除性等。常见属性包括 a、i、d 和 u 等。...我们可以根据实际需求选择相应属性,从而更好地保护文件目录。

    3.7K20

    LinuxChattr命令更改文件属性

    在Linux文件属性是描述文件行为元数据属性。 例如,属性可以指示是否压缩文件指定是否可以删除文件。...本文介绍了如何使用chattr命令更改Linux文件系统上文件属性。...= -等于运算符告诉chattr将指定属性设置为唯一属性。 操作符后跟一个多个要添加文件属性删除[ATTRIBUTES]标志。...以下是一些常用属性和相关标志列表: a-设置此属性后,只能以追加模式打开文件进行写入。 A -打开具有该属性集文件时,其atime记录不会更改。...i -此属性表示文件是不可变,这意味着该文件无法删除重命名。 要获取所有文件属性和标志完整列表,请在终端输入man chattr。

    3.7K20

    pdf文件用什么方式打开-电脑上PDF怎么都变成Edge浏览器打开了?怎么更改PDF文件打开方式?

    近段时间发现每次设置完PDF格式文件打开方式一段时间后又变成了默认Edge浏览器打开了,网上看到有很多用户跟懿古今一样总是被Edge浏览器修改PDF默认打开方式pdf文件用什么方式打开,目前还没有特别有效方法...2、拖动滚动条找到.pdf格式,将默认应用 Edge更改为其他PDF阅读器,如极速PDF阅读器WPS PDF即可。   ...或者直接右键电脑上某个PDF文件 - 打开方式 - 选择其他应用 - 选择某个PDF阅读器 - 勾选“始终使用此应用打开.PDF文件”并点击【确定】按钮。   ...另外,据说还需要点击Edge浏览器右上角三个小圆点 - 设置 - 下载 - 把“在浏览器打开Office文件”关闭,点击其开关按钮让其处于关闭状态即可。   ...不过好像win10系统Edge浏览器升级后这个PDF默认打开方式又会改变pdf文件用什么方式打开,届时再重新设置一遍吧,毕竟目前Edge就是这么流氓。

    8.1K10

    五分钟实现pdf分页

    结果找了几个pdf阅读器,这类操作都需要会员收费。作为一名程序员,这么简单操作还要收费显然是一种羞耻(当然我是不会承认主要是因为qiong),几分钟就可以代码解决问题为啥要花钱呢?...PDFBox提供主要功能有: 从 PDF 提取文本 合并 PDF 文档 PDF 文档加密与解密 与 Lucene 搜索引擎集成 填充 PDF/XFDF 表单数据 从文本文件创建 PDF 文档 从 PDF...通过iText不仅可以生成PDFrtf文档,而且可以将XML、Html文件转化为PDF文件。...这里使用是itextpdf,代码如下: /** * 导出pdf文档部分页到新pdf文件 * @param filePath 文件路径 * @param newFile 写入目标文件路径...后续将详解pdf文件格式,以及pdfbox和itextpdf核心源码。

    1.9K20

    使用pdfminer提取PDF文件文字

    和word文档一样,pdf文件也拥有强大排版功能。...对于pdf编程操作而言,分为读和写两大类,其中读是相对简单一种,比如读出pdf文件文字,写是比较难,除了文字,图片等基本元素,最重要是排版样式控制,而编程还无法满足样式灵活性。...本文主要介绍pdf读取操作一种应用,从PDF文件中提取文字,可以通过pdfminer模块来实现,安装方式如下 pip install pdfminer 该模块同时还提供了一种,命令行脚本程序,可以方便提取...pdf文字,用法如下 python pdf2txt.py input.pdf 如果提取出文字之后,需要进一步操作,最好还是通过脚本对程序进行处理,在脚本实现文字提取代码如下 >>> from pdfminer.pdfinterp...,比如将提取出文字, 利用python-docx模块输入到word文档,从而实现pdf到word文档转换,也可以提取pdf表格文字,写入到excel

    5.4K10
    领券