欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Java如何實(shí)現(xiàn)在PDF中插入,替換或刪除圖像

 更新時(shí)間:2023年01月11日 16:13:13   作者:Carina-baby  
圖文并茂的內(nèi)容往往讓人看起來(lái)更加舒服,如果只是文字內(nèi)容的累加,往往會(huì)使讀者產(chǎn)生視覺(jué)疲勞。搭配精美的文章配圖則會(huì)使文章內(nèi)容更加豐富。那我們要如何在PDF中插入、替換或刪除圖像呢?別擔(dān)心,今天為大家介紹一種高效便捷的方法

前言

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

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

代碼編譯環(huán)境:

IntelliJ IDEA 2018(jdk 1.8.0)

PDF Jar包:Free Spire.PDF for Java 5.1.01.引入jar包

導(dǎo)入方法1:

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

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

<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>

將圖像插入PDF文檔

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

完整代碼

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 類(lèi)的實(shí)例
        PdfDocument pdf = new PdfDocument();
        pdf.loadFromFile("阿拉斯加犬.pdf");

        //獲取所需的頁(yè)面
        PdfPageBase page = pdf.getPages().get(0);

        //加載圖像
        PdfImage image = PdfImage.fromFile("圖片1.jpg");

        //指定頁(yè)面上圖像區(qū)域的寬度和高度
        float width = image.getWidth() * 0.30f;
        float height = image.getHeight() * 0.30f;

        //指定 X 和 Y 坐標(biāo)以開(kāi)始繪制圖像
        float x = 130f;
        float y = 240f;

        //在頁(yè)面指定位置上繪制圖像
        page.getCanvas().drawImage(image, x, y, width, height);

        //保存結(jié)果文檔
        pdf.saveToFile("插入圖片.pdf", FileFormat.PDF);
    }
}

效果圖

替換PDF文檔中的圖像

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

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

完整代碼

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 類(lèi)的實(shí)例
        PdfDocument doc = new PdfDocument();
        //加載 PDF 文檔
        doc.loadFromFile("插入圖片.pdf");

        //獲取所需的頁(yè)面
        PdfPageBase page = doc.getPages().get(0);

        //加載圖像
        PdfImage image = PdfImage.fromFile("圖片2.jpg");

        //將頁(yè)面上的指定圖像替換為加載的圖像
        page.replaceImage(0, image);

        //保存結(jié)果文檔
        doc.saveToFile("替換圖片.pdf", FileFormat.PDF);
    }
}

效果圖

刪除PDF文檔中的指定圖像

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

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

完整代碼

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 類(lèi)的實(shí)例
        PdfDocument pdf = new PdfDocument();
        //加載 PDF 文檔
        pdf.loadFromFile("插入圖片.pdf");

        //獲取所需的頁(yè)面
        PdfPageBase page = pdf.getPages().get(0);

        //刪除頁(yè)面上的指定圖像
        page.deleteImage(0);

        //保存結(jié)果文檔
        pdf.saveToFile("刪除圖片.pdf", FileFormat.PDF);
    }
}

效果圖

到此這篇關(guān)于詳解Java如何實(shí)現(xiàn)在PDF中插入,替換或刪除圖像的文章就介紹到這了,更多相關(guān)Java PDF插入 替換 刪除圖像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Springboot配置Swagger的實(shí)現(xiàn)示例

    Springboot配置Swagger的實(shí)現(xiàn)示例

    Swagger 是一種提高 API 開(kāi)發(fā)和維護(hù)效率的工具,它使開(kāi)發(fā)者能夠更輕松地構(gòu)建、測(cè)試和文檔化 API,本文主要介紹了Springboot配置Swagger的實(shí)現(xiàn)示例,感興趣的可以了解一下
    2023-10-10
  • 詳談Java 異常處理的誤區(qū)和經(jīng)驗(yàn)總結(jié)(分享)

    詳談Java 異常處理的誤區(qū)和經(jīng)驗(yàn)總結(jié)(分享)

    下面小編就為大家分享一篇Java 異常處理的誤區(qū)和經(jīng)驗(yàn)總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • SpringBoot集成logback打印彩色日志的代碼實(shí)現(xiàn)

    SpringBoot集成logback打印彩色日志的代碼實(shí)現(xiàn)

    Logback是由log4j創(chuàng)始人設(shè)計(jì)的另一個(gè)開(kāi)源日志組件,默認(rèn)情況下,Spring?Boot會(huì)用Logback來(lái)記錄日志,并用INFO級(jí)別輸出到控制臺(tái),本文給大家介紹了SpringBoot集成logback打印彩色日志,需要的朋友可以參考下
    2024-03-03
  • SpringBoot實(shí)現(xiàn)API接口的完整代碼

    SpringBoot實(shí)現(xiàn)API接口的完整代碼

    這篇文章主要給大家介紹了關(guān)于SpringBoot實(shí)現(xiàn)API接口的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Java中如何靈活獲取excel中的數(shù)據(jù)

    Java中如何靈活獲取excel中的數(shù)據(jù)

    這篇文章主要給大家介紹了關(guān)于Java中如何靈活獲取excel中的數(shù)據(jù),在日常工作中我們常常會(huì)進(jìn)行文件讀寫(xiě)操作,除去我們最常用的純文本文件讀寫(xiě),更多時(shí)候我們需要對(duì)Excel中的數(shù)據(jù)進(jìn)行讀取操作,需要的朋友可以參考下
    2023-07-07
  • SpringBoot實(shí)現(xiàn)熱部署Community的示例代碼

    SpringBoot實(shí)現(xiàn)熱部署Community的示例代碼

    本文主要介紹了SpringBoot實(shí)現(xiàn)熱部署Community的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Java讀取圖片EXIF信息的方法

    Java讀取圖片EXIF信息的方法

    這篇文章主要介紹了Java讀取圖片EXIF信息的方法,較為詳細(xì)的分析了圖片EXIF信息的概念、功能及java讀取EXIF信息的實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-07-07
  • java編程實(shí)現(xiàn)根據(jù)EXCEL列名求其索引的方法

    java編程實(shí)現(xiàn)根據(jù)EXCEL列名求其索引的方法

    這篇文章主要介紹了java編程實(shí)現(xiàn)根據(jù)EXCEL列名求其索引的方法,涉及Java元素遍歷與數(shù)學(xué)運(yùn)算的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-11-11
  • Mybatis緩存機(jī)制詳解與實(shí)例分析

    Mybatis緩存機(jī)制詳解與實(shí)例分析

    Mybatis的緩存分為一級(jí)緩存和二級(jí)緩存,一級(jí)緩存是SqlSession級(jí)別的而二級(jí)緩存是mapper級(jí)別的,本文詳細(xì)的介紹了Mybatis緩存機(jī)制與實(shí)例分析,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2023-11-11
  • Idea運(yùn)行單個(gè)main方法,不編譯整個(gè)工程的問(wèn)題

    Idea運(yùn)行單個(gè)main方法,不編譯整個(gè)工程的問(wèn)題

    這篇文章主要介紹了Idea運(yùn)行單個(gè)main方法,不編譯整個(gè)工程的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04

最新評(píng)論