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匯入程序,如圖:
想法:載入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(); } }
##想法:載入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中的字型功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!