最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)將HTML文件與字符串轉(zhuǎn)換為圖片

 更新時間:2025年08月31日 09:29:00   作者:Eiceblue  
在 Java 開發(fā)中,我們經(jīng)常會遇到將 HTML 內(nèi)容轉(zhuǎn)換為圖片的需求,本文小編就來和大家詳細講講如何使用 Free Spire.Doc for Java 庫來實現(xiàn)這一功能吧

前言

在 Java 開發(fā)中,我們經(jīng)常會遇到將 HTML 內(nèi)容轉(zhuǎn)換為圖片的需求,比如生成網(wǎng)頁報告截圖、電商商品詳情頁預覽圖、在線文檔縮略圖等。本文將介紹如何使用 Free Spire.Doc for Java 庫來實現(xiàn)這一功能。

Free Spire.Doc for Java 是一款免費庫且無需任何依賴,有一定頁面限制,適合中小型項目或個人開發(fā)者使用。 在開始之前,將以下依賴項添加到您的pom.xml文件中:

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependency>
    <groupId>e-iceblue</groupId>
    <artifactId>spire.doc.free</artifactId>
    <version>5.3.2</version>
</dependency>

核心實現(xiàn):HTML 轉(zhuǎn)圖片完整代碼

Free Spire.Doc for Java 實現(xiàn) HTML 轉(zhuǎn)圖片的邏輯很清晰:先將 HTML 內(nèi)容加載為 Document 文檔對象,再通過saveToImages 方法將文檔頁面轉(zhuǎn)換為圖片流,最后輸出為本地圖片文件。以下是兩種常見場景的完整代碼:

場景 1:轉(zhuǎn)換本地 HTML 文件為圖片

如果需要轉(zhuǎn)換的 HTML 已保存為本地文件(如input.html),代碼如下:

import com.spire.doc.*;
import com.spire.doc.documents.*;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;

public class HTMLtoImage {
    public static void main(String[] args) throws Exception{
        // 加載 HTML 文檔
        Document document = new Document();
        document.loadFromFile("E:\\input.html", FileFormat.Html, XHTMLValidationType.None);

        // 將 HTML 文檔轉(zhuǎn)換為圖片
        BufferedImage[] images = document.saveToImages(ImageType.Bitmap);

        // 遍歷圖片集合
        for (int i = 0; i < images.length; i++) {

            // 將圖像保存為 png 格式
            BufferedImage image = images[i];
            File file = new File(String.format(("HTML轉(zhuǎn)圖-%d.png"), i));
            ImageIO.write(image, "PNG", file);
        }
    }
}

輸出:

場景 2:轉(zhuǎn)換 HTML 字符串為圖片

若 HTML 內(nèi)容是動態(tài)生成的字符串(如接口返回的 HTML 片段),無需保存為本地文件,可直接加載字符串轉(zhuǎn)換:

import com.spire.doc.Document;
import com.spire.doc.documents.ImageType;
import com.spire.doc.documents.Paragraph;

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

public class HtmlStringToImage {
    public static void main(String[] args) throws IOException {
            // 定義HTML字符串(可包含圖片標簽等)
            String htmlContent = "<!DOCTYPE html>" +
                    "<html>" +
                    "<head><style>" +
                    "body{font-family:Arial;}" +
                    ".title{color:#2E86AB;font-size:24px;}" +
                    ".content{margin-top:20px;line-height:1.8;}" +
                    "</style></head>" +
                    "<body>" +
                    "<h1 class='title'> Java HTML字符串轉(zhuǎn)圖片</h1>" +
                    "<div class='content'>這是一個HTML字符串轉(zhuǎn)圖片的測試案例。</div>" +
                    "<img src='E:\\data.jpg' width='300' height='200'/>" +
                    "</body></html>";

            // 創(chuàng)建Document對象,寫入HTML字符串
            Document document = new Document();
            Paragraph paragraph = document.addSection().addParagraph();
            paragraph.appendHTML(htmlContent);

            // 轉(zhuǎn)換為圖片并保存
            BufferedImage[] images = document.saveToImages(ImageType.Bitmap);
            for (int i = 0; i < images.length; i++) {

                // 將圖像保存為 png 格式
                BufferedImage image = images[i];
                File file = new File(String.format(("HTML字符串轉(zhuǎn)圖.png"), i));
                ImageIO.write(image, "PNG", file);

        }
    }
}

輸出:

關(guān)鍵參數(shù)說明

為了讓轉(zhuǎn)換效果更符合需求,這里補充幾個關(guān)鍵參數(shù)的調(diào)整技巧和注意事項:

  • 圖片格式選擇:PNG 支持透明背景且無損壓縮,適合文字類內(nèi)容;JPG 壓縮率高,適合含圖片的 HTML(可通過ImageIO.write 調(diào)整圖片格式)。
  • HTML 兼容性注意事項:圖片路徑需使用絕對路徑(如C:\\test.jpghttp://xxx.com/test.jpg),相對路徑可能導致圖片加載失敗。
  • 多頁 HTML 處理:若 HTML 內(nèi)容超過 1 頁,saveToImages 方法會返回一個 BufferedImage 數(shù)組,每個元素對應 1 頁圖片,可通過循環(huán)遍歷保存所有頁面。

通過 Free Spire.Doc for Java 實現(xiàn) HTML 轉(zhuǎn)圖片,代碼簡潔且無額外依賴,非常適合快速集成到項目中。除了 HTML 轉(zhuǎn)圖片,該免費 Java 庫還支持更多Word文檔處理功能。

到此這篇關(guān)于Java實現(xiàn)將HTML文件與字符串轉(zhuǎn)換為圖片的文章就介紹到這了,更多相關(guān)Java HTML轉(zhuǎn)圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring boot打包jar分離lib和resources方法實例

    Spring boot打包jar分離lib和resources方法實例

    這篇文章主要介紹了Spring boot打包jar分離lib和resources方法實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • springboot與redis的簡單整合實例

    springboot與redis的簡單整合實例

    Redis是一個緩存、消息代理和功能豐富的鍵值存儲。StringBoot提供了基本的自動配置。這篇文章主要介紹了springboot與redis的簡單整合實例,非常具有實用價值,需要的朋友可以參考下
    2019-01-01
  • java鏈表應用--基于鏈表實現(xiàn)隊列詳解(尾指針操作)

    java鏈表應用--基于鏈表實現(xiàn)隊列詳解(尾指針操作)

    這篇文章主要介紹了java鏈表應用--基于鏈表實現(xiàn)隊列,結(jié)合實例形式分析了java基于鏈表實現(xiàn)隊列尾指針相關(guān)操作使用技巧,需要的朋友可以參考下
    2020-03-03
  • java 記錄一個子串在整串中出現(xiàn)的次數(shù)實例

    java 記錄一個子串在整串中出現(xiàn)的次數(shù)實例

    今天小編就為大家分享一篇java 記錄一個子串在整串中出現(xiàn)的次數(shù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 關(guān)于使用Lambda表達式簡化Comparator的使用問題

    關(guān)于使用Lambda表達式簡化Comparator的使用問題

    這篇文章主要介紹了關(guān)于使用Lambda表達式簡化Comparator的使用問題,文中圖文講解了Comparator對象的方法,需要的朋友可以參考下
    2023-04-04
  • Spring Boot調(diào)用 Shell 腳本實現(xiàn)看門狗功能

    Spring Boot調(diào)用 Shell 腳本實現(xiàn)看門狗功能

    這篇文章主要介紹了Spring Boot調(diào)用 Shell 腳本實現(xiàn)看門狗功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • 教你怎么用Java回溯算法解數(shù)獨

    教你怎么用Java回溯算法解數(shù)獨

    一直不太會數(shù)獨問題,這次下決定搞明白,所以整理了本篇文章,文中有非常詳細的代碼示例,對不會算法的小伙伴們很有幫助,需要的朋友可以參考下
    2021-06-06
  • maven 離線模式打包的實現(xiàn)示例

    maven 離線模式打包的實現(xiàn)示例

    本文主要介紹了在不使用外網(wǎng)的情況下進行離線打包,步驟包括刪除遠程倉庫文件、打包本地依賴、修改Maven配置文件并執(zhí)行命令,具有一定的參考價值,感興趣的可以了解一下
    2026-01-01
  • 讓IntelliJ IDEA支持.vue文件的方法

    讓IntelliJ IDEA支持.vue文件的方法

    這篇文章主要介紹了讓IntelliJ IDEA支持.vue文件的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Java調(diào)用WebService服務的三種方式總結(jié)

    Java調(diào)用WebService服務的三種方式總結(jié)

    雖然WebService這個框架已經(jīng)過時,但是有些公司還在使用,在調(diào)用他們的服務的時候就不得不面對各種問題,本篇文章總結(jié)了最近我調(diào)用?WebService的心路歷程,3種方式可以分別嘗試,需要的朋友可以參考下
    2023-08-08

最新評論

砚山县| 抚州市| 望城县| 高雄县| 略阳县| 通江县| 平昌县| 石阡县| 内江市| 沙洋县| 宣城市| 鲜城| 崇明县| 江源县| 玉环县| 河西区| 波密县| 新泰市| 阳谷县| 福州市| 横山县| 句容市| 尖扎县| 久治县| 宣城市| 丽江市| 瓦房店市| 兴海县| 拜泉县| 建平县| 霍林郭勒市| 盈江县| 二连浩特市| 正阳县| 中宁县| 龙海市| 合川市| 景东| 柘荣县| 米林县| 鲜城|