首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

iText 一份代碼同時生成 PDF / HTML / RTF (Word) / Excel 多格式文件

     編輯:Java 相關知識

iText 核心設計:Document 為統一模型,透過不同 Writer 輸出多種格式。本文展示單一邏輯同時產出 PDF、HTML、RTF (Word 相容) 的範例。

核心代碼

Document doc = new Document(PageSize.A4);

// 1. 選擇 Writer 即可切換格式
// PdfWriter.getInstance(doc, new FileOutputStream("out.pdf"));      // PDF
// HtmlWriter.getInstance(doc, new FileOutputStream("out.html"));    // HTML (可另存 .doc/.xls)
// RtfWriter2.getInstance(doc, new FileOutputStream("out.rtf"));     // RTF (Word 可開)

doc.open();

// 統一建構內容 (Table/Cell/Paragraph 等)
Table table = new Table(3);
table.setBorderWidth(1);
table.setBorderColor(new Color(0,0,255));
table.addCell(new Cell("Header").setHeader(true).setColspan(3));
table.addCell("A1"); table.addCell("B1"); table.addCell("C1");
table.addCell("A2"); table.addCell("B2"); table.addCell("C2");
doc.add(table);

doc.close();

Writer 對照表

Writer 類別輸出格式副檔名建議備註
PdfWriterPDF.pdf標準、功能最全
HtmlWriterHTML 3.2.html / .doc / .xls瀏覽器/Word/Excel 可開,**非標準 HTML5**,複雜樣式受限
RtfWriter2RTF.rtf / .docWord 相容性佳,支援分頁、頁首尾

實務建議

  • **報表/列印** → PDF (PdfWriter) 或 HTML 轉 PDF (Flying Saucer)。
  • **用戶可編輯下載** → RTF (RtfWriter2) 或直接產出 .xlsx (Apache POI)。
  • **Web 預覽** → HTML (HtmlWriter) 或前端框架渲染。
  • 避免用 HtmlWriter 產出 .xls 做複雜試算表,**請用 Apache POI (HSSF/XSSF)** 真正操作 Excel 二進制/ OOXML 格式。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved