核心代碼如下
package com.hmkcode;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.html2pdf.HtmlConverter;
public class App {
public static final String HTML = "<h1>Hello</h1>"
+ "<p>This was created using iText</p>"
+ "<a href='hmkcode.com'>hmkcode.com</a>";
public static void main( String[] args ) throws FileNotFoundException, IOException
{
HtmlConverter.convertToPdf(HTML, new FileOutputStream("string-to-pdf.pdf"));
System.out.println( "PDF Created!" );
}
}
『貳』 java把html轉成pdf文件
renderer.createPDF( os );捕捉下異常,看是不是跳走廊,在close之前調用os.flush()試試。
String docPath = session.getAttribute("docpath").toString();//獲取文件HTML文件路徑
String inputFile = docPath+"html"; //定義輸入文件全名
String url = new File(inputFile).toURI().toURL().toString();
String outputFile =docPath + "pdf"; //定義輸出文件全名
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer(); 實例化一個ITextRenderer
renderer.setDocument(url);
ITextFontResolver fontResolver = renderer.getFontResolver();
ontResolver.addFont("C:/Windows/fonts/simsun.ttc",BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED); //設置字體
// 解決圖片的相對路徑問題
renderer.getSharedContext().setBaseURL("file:/" + application.getRealPath("UserFiles/Image") + "/");
renderer.layout();
renderer.createPDF(os);
os.close();
『叄』 java將html文件轉成pdf
要將HTML文件轉換成PDF,在Java中可以使用以下方法和步驟:
使用iText或Apache PDFBox結合Html2Image技術:
選擇合適的庫:
轉換步驟:
注意事項:
通過上述方法和步驟,你可以使用Java將HTML文件成功轉換成PDF文件。
『肆』 javahtml轉pdf樣式丟失
javahtml轉pdf樣式丟失的原因。
1、CSS樣式丟失,HTML文檔中使用的CSS樣式無法被局猜正確解析和轉換為PDF格式。
2、字體問題,Java轉換HTML為PDF時,字體缺失或無法識別某些字體腔伍,導致樣式丟失。
3、轉換工具問題,Java轉換HTML為PDF的工具本身也存在問題,轉換演算法不夠完伍臘或善,版本不兼容等問題,導致樣式丟失。