博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
输出 pdf
阅读量:6703 次
发布时间:2019-06-25

本文共 4316 字,大约阅读时间需要 14 分钟。

  hot3.png

jar 包 :core-renderer.jar  iText-2.0.8.jar   iTextAsian.jar

方式1:

import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.OutputStream;import java.util.ArrayList;import java.util.List;import org.xhtmlrenderer.pdf.ITextFontResolver;import org.xhtmlrenderer.pdf.ITextRenderer;import com.lowagie.text.pdf.BaseFont;public class pdf { public static void main(String[] args) throws FileNotFoundException {     List
list = new ArrayList
(); for (int i = 0; i < 10; i++) { list.add("test"); } String outputFile = "e:/firstdoc.pdf"; OutputStream os = new FileOutputStream(outputFile); ITextRenderer renderer = new ITextRenderer(); StringBuffer html = new StringBuffer(); //组装成符合W3C标准的html文件,否则不能正确解析 html.append(""); html.append("") .append("") .append("
") .append("
") .append("
") .append("
") .append("") .append(""); html.append("
"); html.append("
报表测试
"); for(int i=0;i
" + list.get(i) + ""); } html.append("
"); html.append(""); try { renderer.setDocumentFromString(html.toString()); // ITextFontResolver fontResolver = renderer.getFontResolver(); // fontResolver.addFont("e:/fonts/ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); // 解决图片的相对路径问题,图片路径必须以file开头 // renderer.getSharedContext().setBaseURL("file:/" + rootpath); renderer.layout(); renderer.createPDF(os); os.close(); System.out.println("ok"); } catch (Exception e) { e.printStackTrace(); } }}

方式2

import java.awt.Color;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.OutputStream;import java.util.ArrayList;import java.util.List;import com.lowagie.text.Document;import com.lowagie.text.DocumentException;import com.lowagie.text.Font;import com.lowagie.text.Paragraph;import com.lowagie.text.Phrase;import com.lowagie.text.pdf.BaseFont;import com.lowagie.text.pdf.PdfPCell;import com.lowagie.text.pdf.PdfPTable;import com.lowagie.text.pdf.PdfWriter;public class pdf2 { public static void main(String[] args) throws FileNotFoundException, Exception {     List
list = new ArrayList
(); for (int i = 0; i < 10; i++) { list.add("test"); } String outputFile = "e:/firstdoc.pdf"; OutputStream ops = new FileOutputStream(outputFile); Document document = new Document(); PdfWriter.getInstance(document, ops); document.open(); // set chinese font BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); Font f2 = new Font(bfChinese, 2, Font.NORMAL); Font f6 = new Font(bfChinese, 6, Font.NORMAL); Font f8 = new Font(bfChinese, 8, Font.NORMAL); Font f10 = new Font(bfChinese, 10, Font.NORMAL); Font f12 = new Font(bfChinese, 12, Font.BOLD); // int rowNumer = 0;// PdfPTable table = new PdfPTable(2);// table.setWidthPercentage(80); // table.setHorizontalAlignment(PdfPTable.ALIGN_CENTER);// PdfPCell titleCell = new PdfPCell(); // titleCell.setBackgroundColor(new Color(213, 141, 69)); // titleCell.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); // titleCell.setPhrase(new Paragraph("人口指标", f8)); // table.addCell(titleCell); // titleCell.setPhrase(new Paragraph("人口指标2", f8)); // table.addCell(titleCell); // document.add(table); PdfPTable table = new PdfPTable(3); PdfPCell cell; cell = new PdfPCell(new Phrase("Cell with colspan 3")); cell.setColspan(3); table.addCell(cell); cell = new PdfPCell(new Phrase("Cell with rowspan 2")); cell.setColspan(2); table.addCell(cell); table.addCell("row 1; cell 1"); table.addCell("row 1; cell 2"); table.addCell("row 2; cell 1"); table.addCell("row 2; cell 2"); document.add(table); document.close(); ops.close(); System.out.println("ok"); }}

 

转载于:https://my.oschina.net/sbcagf/blog/782956

你可能感兴趣的文章
GIT指令
查看>>
php 性能分析工具 xhprof 使用
查看>>
C++Builder 2010深入TForm类之方法
查看>>
Horizon View 网络配置要点
查看>>
java实现spark streaming与kafka集成进行流式计算
查看>>
这个招聘不错!!
查看>>
7月第2周游戏运营类网站/频道:91.com首次第一
查看>>
7月28日全球域名商(国际域名)解析新增量TOP20
查看>>
rsync工具介绍/rsync通过ssh同步
查看>>
win7启动盘或PE无法启动,原因是U盘问题
查看>>
(二) azure虚拟机
查看>>
最佳实践:使用负载均衡SLB IPv6搞定苹果AppStore审核
查看>>
腾讯的核心竞争力到底是什么?
查看>>
Redis学习(2)—— 实例与注释说明
查看>>
windows2008NPS(网络连接策略)设置radius 实现telent登陆交换机路由器权限分配
查看>>
nginx-如何将自己的HTTP模块编译进nginx
查看>>
亚洲各国程序员命运 中国程序员为高薪奋斗
查看>>
用shell统计局域网内的IP+MAC地址,还有没有使用的IP地址
查看>>
vim 查找替换 和高级应用 vim的多行注释和替换
查看>>
linux out of memory分析
查看>>