itext使用html標籤生成pdf檔案
使用itext5通過html文字生成pdf檔案
需要jar包
<!-- itext5 start --> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.10</version> </dependency> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itext-asian</artifactId> <version>5.2.0</version> </dependency> <dependency> <groupId>com.itextpdf.tool</groupId> <artifactId>xmlworker</artifactId> <version>5.5.11</version> </dependency> <!-- itext5 end -->
package com.gehouse.smartdevice.controller;
import java.io.ByteArrayInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.nio.charset.Charset; import com.itextpdf.text.BaseColor; import com.itextpdf.text.Document; import com.itextpdf.text.DocumentException; import com.itextpdf.text.Font; import com.itextpdf.text.FontProvider; import com.itextpdf.text.PageSize; import com.itextpdf.text.Paragraph; import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.PdfWriter; import com.itextpdf.tool.xml.XMLWorkerHelper; public class Itext5HtmlToPDF { public static void main(String[] args) { new Itext5HtmlToPDF().createPdf(); } public void createPdf() { try { BaseFont bfChinese = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", false); Font font = new Font(bfChinese, 12, Font.NORMAL); Document document = new Document(PageSize.A4, 10, 10, 10, 10); PdfWriter mPdfWriter = PdfWriter.getInstance(document, new FileOutputStream("C://Users/miju/Desktop/htmltest.pdf")); document.open(); document.add(new Paragraph("建立pdf檔案.支援中文......", font)); String s = getHtml(); ByteArrayInputStream bin = new ByteArrayInputStream(s.getBytes()); XMLWorkerHelper.getInstance().parseXHtml(mPdfWriter, document, bin, Charset.forName("UTF-8"), new ChinaFontProvide()); document.close(); mPdfWriter.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } public static String getHtml() { StringBuffer html = new StringBuffer(); html.append("<div style='color:green;font-size:20px;'>你好世界!hello world !</div>"); html.append("<span style='color:red'>what are you 弄啥咧!</span>"); html.append("<h1>標題</h1>"); html.append("<table>"); html.append("<tr>"); html.append("<th>序號</th>"); html.append("<th>使用者名稱</th>"); html.append("<th>性別</th>"); html.append("</tr>"); html.append("<tr>"); html.append("<td>1</td>"); html.append("<td>fengxing</td>"); html.append("<td>男</td>"); html.append("</tr>"); html.append("<tr>"); html.append("<td>2</td>"); html.append("<td>admin</td>"); html.append("<td>女</td>"); html.append("</tr>"); html.append("</table>"); return html.toString(); } /** * * 提供中文 * */ public static final class ChinaFontProvide implements FontProvider { @Override public Font getFont(String arg0, String arg1, boolean arg2, float arg3, int arg4, BaseColor arg5) { BaseFont bfChinese = null; try { bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); } catch (Exception e) { e.printStackTrace(); } Font FontChinese = new Font(bfChinese, 12, Font.NORMAL); return FontChinese; } @Override public boolean isRegistered(String arg0) { return false; } } }
參考:http://blog.csdn.net/a1215656324/article/details/40346887
相關推薦
itext使用html標籤生成pdf檔案
使用itext5通過html文字生成pdf檔案 需要jar包 <!-- itext5 start --> <dependency> <groupId>com.itextpdf</groupId>
福利!NodeJs爬取網路教程並生成PDF檔案,以阮一峰JavaScript教程和ES6教程為例(附原始碼和PDF檔案)
前言 你想一夜暴富嗎?你想一夜成名嗎?你想開蘭博基尼泡妞嗎?你想拿鈔票點菸嗎?你想成為世界主宰嗎?那麼,趕緊往下看吧,雖然它不能達成前面所說的任 何一個夢想,但是,你將獲得: 通過命令列將某網站的內容轉成PDF檔案 通過NodeJS爬蟲將某網路教程(例如阮一峰的JavaScript教程和ES6教
生成PDF檔案方案--學習中
PDF檔案是目前比較流行的電子文件格式,在辦公自動化(OA)等軟體的開發中,經常要用到該格式,但介紹如何製作PDF格式檔案的資料非常少,在網上搜來搜去,都轉貼的是同一段“暴力”破解的方法,程式碼片斷如下: StreamWriter pPDF=new StreamWriter(filePath);
ASP. NET MVC專案 使用iTextSharp將網頁程式碼生成PDF檔案
/// <summary> /// 獲取MVC檢視Html /// </summary> /// <param name="context">控制器上下文</param> ///
解決iText生成pdf檔案過大的問題
為iText生成的pdf檔案瘦身。 原來生成pdf檔案,即使是純文字內容,無論內容再如何少,檔案體積總是在7M多,導致傳輸速度很慢。經排查,是在pdf生成的時候,選用了第三方中文字型造成的。 原生成
java將資料庫資料轉換成word文件並且生成pdf檔案最後轉換成對應的圖片
目的:將資料轉換成word圖片的方式展現給使用者 工具:openoffice +java程式碼 +資料庫,其中openoffice有windows版本的和Linux版本的。 其中openoffice的下載地址為:連結:https://pan.baidu.com/s/1Y5Ra3TfNCc
前端生成pdf檔案之pdfmake.js
轉載:點選檢視原文 pdfmake.js是一個簡單的生成pdf檔案的外掛。 pdfmake.js https://files.cnblogs.com/files/s313139232/pdfmake.min.js 程式碼也很簡單: html檔案:
django 動態生成PDF檔案
可以通過開源的Python PDF庫ReportLab來實現PDF檔案的動態生成。 一、安裝ReportLab ReportLab庫在PyPI上提供,可以使用pip來安裝: $ pip install reportlab 在Python互動直譯器中匯入它來測試安裝: >&g
從inputstream中讀pdf生成pdf檔案
public static void main(String[] args) { System.out.println(FileUtils.exists("invoice/2017011817151260118001.pdf")); System.out.p
winform 把視窗上的全部資訊生成PDF檔案顯示
using System; using System.IO; using System.Text; using System.Collections; namespace PDFGenerator { //生成pdf的類 public class PDF
Latex 通過生成dvi檔案 生成pdf檔案
網上很多LaTeX生成PDF的教程,一般都是選單欄選擇“pdfLaTeX”即可。 不過也不知道是我下載的ctex不完整還是怎樣,我用這個選項的時候,不是不能生成pdf,就是超級慢。 所以我個人還是比較推崇傳統的方法:先生成dvi,在生成pdf。 直接在winEdt
Java應用iText動態生成PDF檔案
{ /** */ /** * 例項化文件物件 第一個引數是頁面大小。接下來的引數分別是左、右、上和下頁邊距。但是還沒有定義該文件的型別。 * 它取決於所建立的寫入器的型別。對於我們的示例,選擇了com.lowagie.text.pdf.
用jspdf實現頁面下載生成pdf檔案
一路辛酸就不多說了,經歷了各種嘗試,最後終於搞定,直接貼程式碼: function pdfCreater(){ html2canvas(document.body, { onrendered: function(canvas) {var imgData = canvas.toDataURL();/
WinEdt7生成PDF檔案中的一些使用體會
由於在一個月之後要用到PPT展示,因此特地從網上下載了WinEdt7準備一顯身手,然後卻在生成PDF時出了問題。 原始碼是用Latex的語言寫的,但是在編譯時卻變成了PDFTex, 後來檢查後發現呼叫的檔案出錯了,應該用Latex.exe . 具體修改方法是opti
使用doxygen和latex生成PDF檔案
ubuntu版本:ubuntu-gnome-16.04-desktop-amd64,gnome版windows版本:win10LaTeX版本:CTeX windows版doxygen版本:linux版-
使用iText生成PDF檔案
iText是著名的開放原始碼的站點sourceforge一個專案,是用於生成PDF文件的一個java類庫。通過iText不僅可以生成PDF或rtf的文件,而且可以將XML、Html檔案轉化為PDF檔案。 專案要使用iText,必須引入jar包。才能使用,mav
使用ABAP和JavaScript程式碼生成PDF檔案的幾種方式
ABAP 方法1:使用ABAP + Adobe Lifecycle Enterprise Service 方法2:使用ABAP Webdynpro裡的InteravtiveForm控制元件 + Adobe Form Template
單個或者多個jasper檔案生成PDF檔案
import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import
JasperReport結合JasperReport Studio工具,生成Pdf檔案,解決中文不顯示問題
專案結構圖: 該專案為Maven專案: pom.xml 如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i
Android生成PDF檔案、webview載入本地PDF或者網路PDF
生成pdf Andrid端生成PDF侷限性太差,尚未有優雅的解決方案。但網上眾說紛紜,實踐者少之又少,高質量的博文也是鳳毛麟角,大家都是博文搬用工,也沒有誰做過詳細的探索。筆者就自己的一點經驗做點分享。 使用iText iText不支援中文,要