java使用itext操作pdf
2010-12-30 13:13
519 查看
这两天一直在和pdf打交道,总结一下这两天的成果。这里需要注意itext使用的是itext 1.4,不同的版本可能在api的形式上存在不同,可能不能兼容,jar下载地址:http://cid-f41b44b9285d0b86.office.live.com/browse.aspx/%e5%85%ac%e5%bc%80%e6%96%87%e4%bb%b6%e5%a4%b9/J2EE%e5%ad%a6%e4%b9%a0%e8%b5%84%e6%96%99%e5%85%b1%e4%ba%ab
下面的这个例子中首先生成文件索引(类似word的链接),然后存在一个报表和将图片转换成pdf的形式,代码如下:
下面这个例子演示如何将将word转换成pdf,这里使用的是openoffice来实现的,参考:http://www.javaeye.com/topic/352103
3. 实现代码:
1、安装OpenOffice 3:下载路径:http://zh.openoffice.org/new/zh_cn/downloads.html
2、用以下命令启动OpenOffice服务
cd C:/Program Files/OpenOffice.org 3/program
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
下面的这个例子中首先生成文件索引(类似word的链接),然后存在一个报表和将图片转换成pdf的形式,代码如下:
public void GenerateAllParts() { Document document = new Document(); try { PdfWriter.getInstance(document, new FileOutputStream("d://all.pdf")); // 生成字体 BaseFont bfChinese = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", false); // 标题字体 Font f30 = new Font(bfChinese, 30, Font.NORMAL, Color.BLACK); // 正文字体 Font f12 = new Font(bfChinese, 12, Font.NORMAL, Color.BLACK); Font f6 = new Font(bfChinese, 6, Font.NORMAL, Color.BLACK); Font f8 = new Font(bfChinese, 8, Font.NORMAL, Color.BLACK); document.open(); // 标题 document.add(new Paragraph("报表实例", f30)); // 换行 document.add(new Chunk("/n/n")); // document.add( new Paragraph( new Chunk(".......................点击查看报表", f12) .setLocalGoto("table"))); // 换行 document.add(new Chunk("/n/n")); document.add( new Paragraph( new Chunk(".......................点击查看图片", f12) .setLocalGoto("image"))); document.add(new Chunk("/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n/n")); /////////////////////////////////////////////////// // 报表位置 document.add(new Chunk("报表实例", f12).setLocalDestination("table")); // 添加table实例 PdfPTable table = new PdfPTable(5); table.setWidthPercentage(100); table.setHorizontalAlignment(PdfPTable.ALIGN_LEFT); PdfPCell cell = new PdfPCell(); cell.setBackgroundColor(new Color(213, 141, 69)); cell.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); // 表格标题 cell.setPhrase(new Paragraph("标题一", f8)); table.addCell(cell); cell.setPhrase(new Paragraph("标题二", f8)); table.addCell(cell); cell.setPhrase(new Paragraph("标题三", f8)); table.addCell(cell); cell.setPhrase(new Paragraph("标题四", f8)); table.addCell(cell); cell.setPhrase(new Paragraph("标题五", f8)); table.addCell(cell); // 表格数据 PdfPCell newcell = new PdfPCell(); newcell.setHorizontalAlignment(PdfPCell.ALIGN_CENTER); newcell.setPhrase(new Paragraph("数据一", f8)); table.addCell(newcell); newcell.setPhrase(new Paragraph("数据二", f8)); table.addCell(newcell); newcell.setPhrase(new Paragraph("数据三", f8)); table.addCell(newcell); newcell.setPhrase(new Paragraph("数据四", f8)); table.addCell(newcell); newcell.setPhrase(new Paragraph("数据五", f8)); table.addCell(newcell); document.add(table); //////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// // 添加连接 document.add(new Chunk("图片实例", f12).setLocalDestination("image")); Image jpg = Image.getInstance("d://3.jpg"); document.add(jpg); ////////////////////////////////////////////////////////// document.close(); } catch (Exception e) { // TODO: handle exception } }
下面这个例子演示如何将将word转换成pdf,这里使用的是openoffice来实现的,参考:http://www.javaeye.com/topic/352103
3. 实现代码:
/** * 完成word2pdf的转换 */ public void GeneratePdfFromWord() { Date date = new Date(); OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100); try { connection.connect(); DocumentConverter converter = new OpenOfficeDocumentConverter(connection); converter.convert(new File("d://test.doc"), new File("d://word2pdf.pdf")); } catch (Exception e) { // TODO: handle exception } finally { if(connection!=null){ connection.disconnect(); connection = null; } } }
1、安装OpenOffice 3:下载路径:http://zh.openoffice.org/new/zh_cn/downloads.html
2、用以下命令启动OpenOffice服务
cd C:/Program Files/OpenOffice.org 3/program
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
相关文章推荐
- java使用itext操作pdf
- Java使用iText实现对PDF文件的操作
- Java操作PDF报表-iText的使用
- Java导出PDF文档使用iText操作
- java使用itext操作pdf
- Java使用PDFBox操作PDF文件
- 使用Java组件itext生成pdf介绍
- java操作pdf>>>pdfBox使用体验
- 使用itextpdf操作pdf
- 在Java代码中使用iTextPDF生成PDF
- Java使用Itext5.5.10进行pdf签章
- java 使用itextpdf.jar和itext-asian.jar根据pdf模板填写数据后生成一个新的pdf文件
- JAVA 使用iText导出PDF(含有Table)示例
- java使用itextpdf将图片转换成pdf的简单实例
- 【java】 iText使用PDF模板生成输出PDF 这个比较清晰
- 利用java操作Itext创建pdf文件
- 使用itextpdf操作pdf
- Java使用IText PDF 导出报表
- Java操作PDF文件(iText)
- 【PDF】Java操作PDF之iText超入门