1、將html轉為pdf需求分析
經常會看到爬蟲有這樣的需求,將某一個網站上的數據,獲取到了以后,進行分析,然后將需要的數據進行存儲,也有將html轉為pdf進行存儲,作為原始存檔,當然這里看具體的需求,可能有些不需要。
2、這里的itext7是pdf的工具,有一個html2pdf包,可以將html轉為pdf,這里面可以是一段html文本也可以是一個html文件,這個根據不同的情況,我們可以通過不同的參數去實現。
通過圖中我們可以知道,方法里的參數形式還是很豐富的。
3、引入依賴包pom.xml
<!-- iText7 Core --><dependency><groupId>com.itextpdf</groupId><artifactId>itext7-core</artifactId><version>7.1.16</version><type>pom</type></dependency><!-- HTML to PDF Add-On --><dependency><groupId>com.itextpdf</groupId><artifactId>html2pdf</artifactId><version>3.0.4</version></dependency>
4、編寫測試類HtmlToPdfConverter
/**@date: 2025年4月14日
@author: 花花魚
@filename: HtmlToPdfConverter.java
@func: 測試html文件生成pdf文件
*/
package com.example.utils;import com.itextpdf.html2pdf.HtmlConverter;
import com.itextpdf.kernel.pdf.PdfWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;public class HtmlToPdfConverter {public static void main(String[] args) {// HTML內容String htmlContent = "<h1>Hello, World!</h1><p>This is a paragraph.</p>";// 輸出PDF文件的路徑String dest = "output.pdf";try {// 創建PdfWriter實例用于寫入PDF文件File file = new File(dest);System.out.println(file.getAbsoluteFile().toString());PdfWriter writer = new PdfWriter(new FileOutputStream(new File(dest)));// 創建PdfDocument實例
// PdfDocument pdf = new PdfDocument(writer);// 使用HtmlConverter將HTML轉換為PDFHtmlConverter.convertToPdf(htmlContent, writer);// 關閉文檔
// pdf.close();writer.close();System.out.println("PDF created successfully!");} catch (IOException e) {e.printStackTrace();}}
}
一個簡單的html轉為pdf文件就生成了,特別地:如果html比較復雜的話,可能需要進行額外的處理,這里是簡單的測試, 更多功能待你去發掘。