Java 添加、替換、刪除PDF中的圖片的示例代碼
概述
本文介紹通過java程序向PDF文檔添加圖片,以及替換和刪除PDF中已有的圖片。另外,關(guān)于圖片的操作還可參考設(shè)置PDF 圖片背景、設(shè)置PDF圖片水印、讀取PDF中的圖片、將PDF保存為圖片等文章。
工具:Free Spire.PDF for Java (免費(fèi)版)
Jar獲取及導(dǎo)入:官網(wǎng)下載,并解壓將lib文件夾下的jar文件導(dǎo)入java程序,或者通過maven倉庫下載并導(dǎo)入。
jar導(dǎo)入效果:

Java代碼示例
【示例1】添加圖片到PDF
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
public class AddImage {
public static void main(String[] args) {
//創(chuàng)建文檔
PdfDocument pdf = new PdfDocument();
//添加一頁
PdfPageBase page = pdf.getPages().add();
//加載圖片,并獲取圖片高寬
PdfImage image = PdfImage.fromFile("fj.png");
int width = image.getWidth()/2;
int height = image.getHeight()/2;
//繪制圖片到PDF
page.getCanvas().drawImage(image,50,50,width, height);
//保存文檔
pdf.saveToFile("AddImage.pdf");
pdf.dispose();
}
}
圖片添加效果:

【示例2】替換PDF中的圖片
import com.spire.pdf.*;
import com.spire.pdf.graphics.PdfImage;
public class ReplaceImage {
public static void main(String[] args) {
//加載PDF文檔
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("AddImage.pdf");
//獲取第一頁
PdfPageBase page = pdf.getPages().get(0);
//加載一張圖片
PdfImage image = PdfImage.fromFile("lh.png");
//使用加載的圖片替換第一頁上的第一張圖片
page.replaceImage(0, image);
//保存文檔
pdf.saveToFile("ReplaceImage.pdf");
pdf.dispose();
}
}
圖片替換效果:

【示例3】刪除PDF中的圖片
import com.spire.pdf.*;
public class DeleteImage {
public static void main(String[] args) {
//創(chuàng)建PdfDocument對象
PdfDocument pdf = new PdfDocument();
//加載PDF文檔
pdf.loadFromFile("AddImage.pdf");
//獲取指定頁
PdfPageBase page = pdf.getPages().get(0);
//刪除頁面上的指定圖片
page.deleteImage(0);
//保存文檔
pdf.saveToFile("DeleteSpecificImage.pdf", FileFormat.PDF);
pdf.dispose();
}
}
圖片刪除效果:

總結(jié)
以上所述是小編給大家介紹的Java 添加、替換、刪除PDF中的圖片的示例代碼,希望對大家有所幫助,也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
hibernate-validator后端表單數(shù)據(jù)校驗(yàn)的使用示例詳解
這篇文章主要介紹了hibernate-validator后端表單數(shù)據(jù)校驗(yàn)的使用,hibernate-validator提供的校驗(yàn)方式為在類的屬性上加入相應(yīng)的注解來達(dá)到校驗(yàn)的目的,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
java結(jié)合keytool如何實(shí)現(xiàn)非對稱加密與解密詳解
這篇文章主要給大家介紹了關(guān)于java結(jié)合keytool如何實(shí)現(xiàn)非對稱加密與解密的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08
SpringBoot多controller添加URL前綴的實(shí)現(xiàn)方法
這篇文章主要介紹了SpringBoot多controller添加URL前綴的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(56)
下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你2021-08-08
一文教會你如何從0到1搭建一個SpringBoot項(xiàng)目
今天剛好學(xué)習(xí)到SpringBoot,就順便記錄一下吧,下面這篇文章主要給大家介紹了關(guān)于如何從0到1搭建一個SpringBoot項(xiàng)目的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
ArrayList的自動擴(kuò)充機(jī)制實(shí)例解析
本文主要介紹了ArrayList的自動擴(kuò)充機(jī)制,由一個題目切入主題,逐步向大家展示了ArrayList的相關(guān)內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下。2017-10-10
解析Java的Jackson庫中Streaming API的使用
這篇文章主要介紹了解析Java的Jackson庫中Streaming API的使用,Jackson被用于Java對象和JSON的互相轉(zhuǎn)換,需要的朋友可以參考下2016-01-01

