Java將HTML轉化為PDF+獲得頁數+合併PDF
最近公司用到了HTML轉PDF的技術,這裡就把用到的方式和技術在這裡寫一下,方便他人和自己以後有需要時進行。
首先將HTML轉化成PDF: 現在有許多將HTML轉化為PDF的方法:PD4ML,IText,Flying Sauser。
選擇PD4ML原因:PD4ML實現html2pdf,速度快,糾錯能力強,支援多種中文字型。相比較於IText和Flying Sauser方便許多
依賴包:pd4ml.jar fonts.jar pd4ml.jar ss_css2.jar
如果這裡出現中文亂碼的情況,請大家在src根目錄下建立一個包fonts,在裡面新建一個配置檔案pd4fonts.properties
在配置檔案中寫
KaiTi_GB2312=SIMKAI.TTF
public class LLL_HTMLToPDF { public static void main(String[] args) throws Exception { File pdfFile = new File("D:/pdf/index.pdf"); htmltopdf(pdfFile, "D:/pdf/index.html"); } private static void htmltopdf(File outputPDFFile, String inputHTMLFileName) throws Exception { FileOutputStream fos = new FileOutputStream(outputPDFFile); PD4ML pd4ml = new PD4ML(); pd4ml.setPageInsets(new Insets(40,30,30,40)); pd4ml.setHtmlWidth(960); PD4PageMark p = new PD4PageMark(); pd4ml.setPageHeader(p); pd4ml.setPageSize(PD4Constants.A4); pd4ml.useTTF("java:fonts", true); pd4ml.setDefaultTTFs("KaiTi_GB2312", "KaiTi_GB2312", "KaiTi_GB2312"); pd4ml.enableDebugInfo(); pd4ml.render("file:" + inputHTMLFileName,fos); } }
到這裡我們就可以看到在目錄下有當前生成的pdf檔案了。
下面講一下pdf頁數的獲取 除開一些基礎包之外,我們需要用到的包是:pdfbox-app-1.7.1.jar(注意用1.7.1才與我這個一樣)
public class LLL_getPDFpage { public static void main(String[] args) { PDFParser parser; File file = new File("D:/pdf/printer/mergedTest.pdf"); COSDocument cosDoc = null; PDDocument pdDoc = null; try { parser = new PDFParser(new FileInputStream(file)); parser.parse(); cosDoc = parser.getDocument(); pdDoc = new PDDocument(cosDoc); System.out.println(pdDoc.getDocumentCatalog().getAllPages().size()); } catch (Exception e) { e.printStackTrace(); try { if (cosDoc != null) cosDoc.close(); if (pdDoc != null) pdDoc.close(); } catch (Exception e1) { e.printStackTrace(); } } } }
這裡就可以打印出來當前pdf有多少頁
然後下面說一下將pdf合併的問題 我們現在專案中需要將多個pdf合併成一個pdf檔案,這裡還是用的pdfbox包就可以
public class LLL_MergePDF {
public static void main(String[] args) throws Exception {
PDFMergerUtility mergePdf = new PDFMergerUtility();
String folder = "D:/pdf/";
String destinationFileName = "mergedTest.pdf";
String[] filesInFolder = getFiles(folder);
for (int i = 0; i < filesInFolder.length; i++)
{
mergePdf.addSource(folder + File.separator + filesInFolder[i]);
}
mergePdf.setDestinationFileName(folder + File.separator + destinationFileName);
mergePdf.mergeDocuments();
System.out.print("合併完成__LLL丶禾羊__部落格");
}
private static String[] getFiles(String folder) throws IOException {
File _folder = new File(folder);
String[] filesInFolder;
if (_folder.isDirectory()) {
filesInFolder = _folder.list();
return filesInFolder;
} else {
throw new IOException("Path is not a directory");
}
}
}
這裡就是java關於pdf的一些操作,講了java將html轉化成pdf,獲取pdf的頁碼,合併多個pdf到一個裡面去,如果對你起到了幫助,請把它分享給更多人,謝謝!
相關推薦
Java將HTML轉化為PDF+獲得頁數+合併PDF
最近公司用到了HTML轉PDF的技術,這裡就把用到的方式和技術在這裡寫一下,方便他人和自己以後有需要時進行
java將Excel轉化為Html
view mas pub str ali alt inpu hashmap align 之前在做移動端頁面的時候,發現iphone不支持預覽excel文檔,於是將excel轉化為html元素然後查看其中的具體信息,在這裏整理下文檔,以便於記憶避免踩坑。 1. 引入相
javascript+java實現html轉化為PDF文檔
parse itl 比例 數據 length java實現 ucc bytearray ngs 1. 項目中引入相關的jar包 itextasian-1.5.2.jar itext-4.2.1.jar itextpdf-5.1.2.jar
iText —— JAVA將html轉pdf
1、index.html檔案內容如下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.
java將圖片轉化為base64和base64轉化為圖片編碼並儲存在本地
直接上程式碼public class Base64Convert { /** * @Description: 圖片轉化成base64字串 * @param: path * @Return: */ public static S
java將:String轉化為Date的工具類
package com.yanshu.logback; import java.text.ParseException; import java.text.ParsePosition; import java.text.SimpleDateFormat; import ja
java將html的圖文轉化為PDF檔案輸出
首先在我的專案的resource目錄下建立相應的目錄,如圖其中file用來存放一個logo以及生成的PDF檔案,font資料夾用來存放font 字型然後在專案的 pom.xml中新增引用<dependency> <groupId>org.xht
如何將java項目轉化為web項目
ble ont 代碼段 nat webapps com eclipse 配置 onf 1、修改工程文件 找到項目工作空間目錄,打開.project文件,找到:<natures> </natures>代碼段,在代碼段中加入如下內容並保存:<nat
Java 如何將String轉化為Int
tac string ger mat tst valueof eof 轉化 form 在 Java 中要將 String 類型轉化為 int 類型時,需要使用 Integer 類中的 parseInt() 方法或者 valueOf() 方法進行轉換. 例1: 1
react標籤屬性dangerouslySetInnerHTML將字串轉化為html(動態渲染)
根據需求,前端頁面有時需要動態展示後端返回的程式碼,但是此時的程式碼是字串型別,直接展示,頁面顯示的只是字串,這時就用到了react標籤屬性dangerouslySetInnerHtml屬性; dangerouslySetInnerHtml用法: dangerouslySetInnerH
POI將word轉化為html
參考資料 1.POI包依賴:https://poi.apache.org/components/index.html 2.包版本問題:https://bbs.csdn.net/topics/392208805 並沒有使用其中的3.9的版本,使用的為3.13 最開始使用的
使用java將html原始碼(拼裝、可獲取頁面原始碼)轉換成為("html頁面",“doc文件檔案”,“pdf格式”),,doc檔案轉換成為pdf,,檔案的刪除、壓縮...
目錄: 1、轉換成為html頁面 2、html原始碼轉換成為doc檔案 3、html原始碼轉換成為pdf檔案 4、壓縮多個檔案成為一個zip檔案
瀏覽器外掛形式將html轉成pdf,將html轉成圖片
javascript: (function () { var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); var scrip
PDF技術(四)-Java實現Html轉PDF檔案
html轉換為pdf的關鍵技術是如何處理網頁中複雜的css樣式、以及中文亂碼處理。 各實現對比表 於Windows平臺進行測試: 基於IText 基於FlyingSaucer 基於WKHtmlToPdf
用html2canvas和jspdf實現將html轉成pdf下載到本地
解決了下載的圖片會模糊和偏移的問題 <script src="${basePath!}/js/bluebird.js"></script> <script src="${basePath!}/js/jspdf.debug.js"></script>
Java實現Html轉PDF
專案上的客戶提出一個需求,把政務流程中的表單資料匯出成pdf或者圖片格式,用來作電子檔案材料。表單基於公司的電子政務構建平臺實現,在資料庫儲存的都是html格式,因此打算直接把表單html轉成pdf或者圖片。由於表單是已經寫好了html頁面,那我要做的就是能完美解析htm
將.md轉化為.html
總共需要下載的東西-windows pandoc 現在你需要下載的安裝包有: pandoc-windows版本 步驟 下載並安裝pandoc 在你的.md目錄下開啟cmd 只需要.
Java如何將字串轉化為JSON(json-lib)
前言: 關於如何轉換網上的文章已經很多了,我之所以還寫出來的主要目的是提供一下jar。很多博主只是提供json-lib包,其他依賴的包讓自己去下載,自己在這裡遇到一些坑就是,如果版本不一致會導致報錯。另外有些博主為了賺取積分,讓我這種學生黨有些無奈。因此就在這
iText – 使用Java將HTML轉換為PDF
iText “XML Worker”允許開發人員以一種程式設計師友好的方式將XML檔案轉換成PDF檔案。iText還可以將包含CSS樣式的HTML轉換為PDF格式的文件。 目標: 實現如何利用iText Java庫將HTML檔案轉換成PDF文件?
java實現html轉pdf,支援中文,css以及中文換行
專案需使用到html轉pdf功能,在網上搜了很多,綜合了不少大神的方法,現在這裡做一個標記,以免自己以後忘記了。 java程式碼 import java.io.File; import java.io.FileOutputStream; import j