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比较复杂的话,可能需要进行额外的处理,这里是简单的测试, 更多功能待你去发掘。