文档中可通过应用不同的字体来呈现不一样的视觉效果,通过字体来实现文档布局、排版等设计需要 。应用字体时,可在创建文档时指定字体,也可以用新字体去替换文档中已有的字体 。下面,以Java代码展示如何来替换PDF中的已有字体,包括:
- 替换所有字体
- 替换指定字体
<repositories><repository><id>com.e-iceblue</id><url>https://repo.e-iceblue.cn/repository/maven-public/</url></repository></repositories><dependencies><dependency><groupId>e-iceblue</groupId><artifactId>spire.pdf.free</artifactId><version>5.1.0</version></dependency></dependencies>如需手动导入的话,可将 Free Spire.PDF for Java下载到本地,然后解压,找到lib文件夹下的Spire.Pdf.jar文件 。在IDEA中打开“Project Structure”并将本地路径下的jar导入程序,如图:

文章插图
Java代码1. 替换所有字体
思路:加载PDF文档后,获取源文档中的字体,然后定义新字体,替换原有字体,最后保存文档 。
Java
import com.spire.pdf.*;import com.spire.pdf.graphics.PdfFont;import com.spire.pdf.graphics.PdfFontFamily;import com.spire.pdf.graphics.PdfFontStyle;import com.spire.pdf.graphics.fonts.PdfUsedFont;public class ReplaceAllFonts {public static void main(String[] args) throws Exception{//创建PdfDocument类的对象PdfDocument pdf = new PdfDocument();//加载PDF文档pdf.loadFromFile("input.pdf");//获取文档中的所有字体PdfUsedFont[] fonts = pdf.getUsedFonts();//遍历所有字体for (PdfUsedFont font: fonts) {//获取字体大小float fontSize = font.getSize();//创建新字体PdfFont newfont = new PdfFont(PdfFontFamily.Times_Roman, fontSize, PdfFontStyle.Italic);//替换原有字体font.replace(newfont);}//保存文档pdf.saveToFile("ReplaceAllFonts.pdf");pdf.dispose();}}

文章插图
2. 替换指定字体
思路:加载PDF文档后,查找、获取文档中的指定字体,然后定义新字体,替换查找到的原有字体,最后保存文档 。
Java
import com.spire.pdf.PdfDocument;import com.spire.pdf.graphics.*;import com.spire.pdf.graphics.fonts.PdfUsedFont;public class ReplaceSpecificFont {public static void main(String[] args) throws Exception{//创建PdfDocument类的对象PdfDocument pdf = new PdfDocument();//加载PDF文档pdf.loadFromFile("sample.pdf");//获取文档中的所有字体PdfUsedFont[] fonts = pdf.getUsedFonts();//遍历所有字体for (PdfUsedFont font: fonts){//判断符合条件的字体if(font.getName().equals("Calibri")){//获取字体大小float fontSize = font.getSize();//创建新字体PdfFont newfont = new PdfFont(PdfFontFamily.Times_Roman, fontSize, PdfFontStyle.Italic);//替换Calibri字体font.replace(newfont);}}//保存文档pdf.saveToFile("ReplaceSpecificFont.pdf");pdf.dispose();}}

文章插图
【Java 替换PDF中的字体】—END—
- 春季老年人吃什么养肝?土豆、米饭换着吃
- 三八妇女节节日祝福分享 三八妇女节节日语录
- 老人谨慎!选好你的“第三只脚”
- 校方进行了深刻的反思 青岛一大学生坠亡校方整改校规
- 脸皮厚的人长寿!有这特征的老人最长寿
- 长寿秘诀:记住这10大妙招 100%增寿
- 春季老年人心血管病高发 3条保命要诀
- 眼睛花不花要看四十八 老年人怎样延缓老花眼
- 香槟然能防治老年痴呆症? 一天三杯它人到90不痴呆
- 老人手抖的原因 为什么老人手会抖
