Java實現替換PDF中的字體功能
文檔中可通過應用不同的字體來呈現不一樣的視覺效果,通過字體來實現文檔佈局、排版等設計需要。應用字體時,可在創建文檔時指定字體,也可以用新字體去替換文檔中已有的字體。下面,以Java代碼展示如何來替換PDF中的已有字體,包括:
替換所有字體
替換指定字體
引入jar
Maven程序中配置pom.xml:
<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>
如需手動導入的話,可將 Jar包下載到本地,然後解壓,找到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中的字體功能的文章就介紹到這瞭,更多相關Java替換PDF字體內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 詳解Java如何實現在PDF中插入,替換或刪除圖像
- Java 創建PDF打印小冊子案例
- 詳解Java如何實現加密或者解密PDF文檔
- Java 給PDF簽名時添加可信時間戳的方法
- Java如何在PDF中添加ToolTip工具提示