一、概述
在進行網頁開發和瀏覽過程中,我們通常會遇到將HTML網頁轉化成PDF格式文件的需求。itextpdfhtml轉pdf是一種基於Java語言實現的將HTML網頁轉化成PDF格式文件的開源工具,並且在轉化的過程中能夠保留HTML網頁中的樣式、布局等元素。
下面就itextpdfhtml轉pdf進行詳細介紹。
二、轉換過程詳解
1. 導入依賴
要使用itextpdfhtml轉pdf,首先需要在項目中導入相關的依賴包。來看一下示例代碼:
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf-html2pdf</artifactId>
<version>5.5.13.2</version>
</dependency>
2. 編寫轉化代碼
接着就可以開始編寫itextpdfhtml轉pdf的代碼了。具體過程如下:
第一步:創建PdfWriter和document對象
String pdfFilePath = "生成的PDF文件路徑";
OutputStream outputStream = new FileOutputStream(pdfFilePath);
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, outputStream);
document.open();
第二步:獲取html文件並轉化為xhtml格式
由於itextpdfhtml轉pdf需要將html文件轉化為xhtml格式,因此需要使用Jsoup等庫獲取HTML文件並將其轉化為xhtml格式。
String htmlFilePath = "待轉換的HTML文件路徑";
File input = new File(htmlFilePath);
Document doc = Jsoup.parse(input, "UTF-8");
doc.outputSettings().syntax(Document.OutputSettings.Syntax.xml);
String html = doc.html();
ByteArrayInputStream inputStream = new ByteArrayInputStream(html.getBytes("UTF-8"));
第三步:使用XMLWorkerHelper將xhtml文件轉化為pdf文件
XMLWorkerHelper.getInstance().parseXHtml(writer, document, inputStream);
第四步:關閉Document和OutputStream對象
document.close();
outputStream.close();
接下來就是完整的代碼示例:
import com.itextpdf.text.Document;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.tool.xml.XMLWorkerHelper;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import java.io.ByteArrayInputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class HtmlToPdfUtil {
public static void htmlToPdf(String htmlFilePath, String pdfFilePath) throws Exception {
OutputStream outputStream = new FileOutputStream(pdfFilePath);
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, outputStream);
document.open();
File input = new File(htmlFilePath);
Document doc = Jsoup.parse(input, "UTF-8");
doc.outputSettings().syntax(Document.OutputSettings.Syntax.xml);
String html = doc.html();
ByteArrayInputStream inputStream = new ByteArrayInputStream(html.getBytes("UTF-8"));
XMLWorkerHelper.getInstance().parseXHtml(writer, document, inputStream);
document.close();
outputStream.close();
}
}
三、mht轉換成pdf軟件
1. SaveAs PDF插件
SaveAs PDF是一款在Chrome瀏覽器上使用的插件,可以將正在瀏覽的網頁快速轉化為PDF格式文件並進行下載。使用該插件可以方便快捷地生成PDF文件,同時也能夠保留對應網頁的格式、布局等元素。
2. PDF24 Creator
PDF24 Creator是一款免費的PDF創建和轉換軟件,可以幫助用戶將各種文件格式轉換成PDF格式,包括mhtml文件。該軟件簡單易用,操作便捷,同時也支持將多個文件進行合併成一個PDF文件。
3. Universal Document Converter
Universal Document Converter是一款可以將各種文件格式轉換為PDF或其他圖片格式的軟件,包括mhtml文件。該軟件使用簡單,支持多個文件的批量轉換,同時也能夠進行文件壓縮和保護等操作。
四、總結
itextpdfhtml轉pdf是一種基於Java語言實現的將HTML網頁轉化成PDF格式文件的開源工具,能夠保留HTML網頁中的樣式、布局等元素。同時,通過SaveAs PDF、PDF24 Creator、Universal Document Converter等軟件,可以使得mhtml文件快速轉換成PDF格式文件,方便快捷地進行閱讀和轉發。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/291779.html