如何通過Java代碼在PDF中插入、替換或刪除圖像?

2023-01-05 17:33:10 來源:51CTO博客

圖文并茂的內容往往讓人看起來更加舒服,如果只是文字內容的累加,往往會使讀者產生視覺疲勞。搭配精美的文章配圖則會使文章內容更加豐富,增加文章可讀性的同時,也能提升用戶體驗。但由于PDF文檔安全性較高,不易對其進行修改編輯,那我們要如何在PDF中插入、替換或刪除圖像呢?別擔心,今天為大家介紹一種高效便捷的方法。我們可以通過編程的方式來實現此操作。


(資料圖)

將圖像插入PDF文檔替換PDF文檔中的圖像刪除PDF文檔中的指定圖像

代碼編譯環境:

IntelliJIDEA 2018(jdk 1.8.0)

PDFJar包:??FreeSpire.PDF for Java 5.1.0??

1.引入jar包

導入方法1:

手動引入。將Free Spire.PDF for Java下載到本地,解壓,找到lib文件夾下的Spire.PDF.jar文件。在IDEA中打開如下界面,將本地路徑中的jar文件引入Java程序:

導入方法2:如果您想通過 ????Maven????安裝,則可以在 pom.xml 文件中添加以下代碼導入 JAR 文件。

                    com.e-iceblue            https://repo.e-iceblue.cn/repository/maven-public/                        e-iceblue        spire.pdf.free        5.1.0    

將圖像插入PDF文檔

初始化 PdfDocument 類的實例。使用 PdfDocument.loadFromFile() 方法加載 PDF 文檔。使用 PdfDocument.getPages().get() 方法在 PDF 文檔中獲取所需的頁面。使用 PdfImage.fromFile() 方法加載圖像。指定頁面上圖像區域的寬度和高度。指定 X 和 Y 坐標以開始繪制圖像。使用 PdfPageBase.getCanvas().drawImage() 方法在頁面上繪制圖像。使用 PdfDocument.saveToFile() 方法保存結果文檔。

完整代碼

Java

import com.spire.pdf.FileFormat;import com.spire.pdf.PdfDocument;import com.spire.pdf.PdfPageBase;import com.spire.pdf.graphics.*;public class AddImage {    public static void main(String []args){        //初始化 PdfDocument 類的實例        PdfDocument pdf = new PdfDocument();        pdf.loadFromFile("阿拉斯加犬.pdf");        //獲取所需的頁面        PdfPageBase page = pdf.getPages().get(0);        //加載圖像        PdfImage image = PdfImage.fromFile("圖片1.jpg");        //指定頁面上圖像區域的寬度和高度        float width = image.getWidth() * 0.30f;        float height = image.getHeight() * 0.30f;        //指定 X 和 Y 坐標以開始繪制圖像        float x = 130f;        float y = 240f;        //在頁面指定位置上繪制圖像        page.getCanvas().drawImage(image, x, y, width, height);        //保存結果文檔        pdf.saveToFile("插入圖片.pdf", FileFormat.PDF);    }}

效果圖

替換PDF文檔中的圖像

以下是替換PDF文檔圖像的具體步驟:

初始化 PdfDocument 類的實例。使用 PdfDocument.loadFromFile() 方法加載 PDF 文檔。使用 PdfDocument.getPages().get() 方法在 PDF 文檔中獲取所需的頁面。使用 PdfImage.fromFile() 方法加載圖像。使用 PdfPageBase.replaceImage() 方法將頁面上的特定圖像替換為加載的圖像。使用 PdfDocument.saveToFile() 方法保存結果文檔。

完整代碼

Java

import com.spire.pdf.FileFormat;import com.spire.pdf.PdfDocument;import com.spire.pdf.PdfPageBase;import com.spire.pdf.graphics.PdfImage;public class ReplaceImage {    public static void main(String []args){        //初始化 PdfDocument 類的實例        PdfDocument doc = new PdfDocument();        //加載 PDF 文檔        doc.loadFromFile("插入圖片.pdf");        //獲取所需的頁面        PdfPageBase page = doc.getPages().get(0);        //加載圖像        PdfImage image = PdfImage.fromFile("圖片2.jpg");        //將頁面上的指定圖像替換為加載的圖像        page.replaceImage(0, image);        //保存結果文檔        doc.saveToFile("替換圖片.pdf", FileFormat.PDF);    }}

效果圖

刪除PDF文檔中的指定圖像

以下是從 PDF 文檔中刪除圖像的具體步驟:

初始化 PdfDocument 類的實例。使用 PdfDocument.loadFromFile() 方法加載 PDF 文檔。使用 PdfDocument.getPages().get() 方法在 PDF 文檔中獲取所需的頁面。使用 PdfPageBase.deleteImage() 方法刪除頁面上的特定圖像。使用 PdfDocument.saveToFile() 方法保存結果文檔。

完整代碼

Java

import com.spire.pdf.FileFormat;import com.spire.pdf.PdfDocument;import com.spire.pdf.PdfPageBase;public class DeleteImage {    public static void main(String []args){        //初始化 PdfDocument 類的實例        PdfDocument pdf = new PdfDocument();        //加載 PDF 文檔        pdf.loadFromFile("插入圖片.pdf");        //獲取所需的頁面        PdfPageBase page = pdf.getPages().get(0);        //刪除頁面上的指定圖像        page.deleteImage(0);        //保存結果文檔        pdf.saveToFile("刪除圖片.pdf", FileFormat.PDF);    }}

效果圖

—本文完—

標簽: 插入圖片

上一篇:第二十五章《圖書管理系統》第1節:圖書管理系統簡介
下一篇:世界今熱點:基于云基礎設施快速部署 RocketMQ 5.0 集群