`
xuningxiaoni
  • 浏览: 33631 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

itext实现pdf打印之一

阅读更多
近来项目完成自己学些itext打印pdf,主要是因为普通打印不能满足要求,比如有的用户要求我要打印查询出来所有的记录,而用普通的页面打印方式又只能打印当前页面,如果数据是四五个页面的大小普通打印就不能满足要求了,以前也用过免费的web打印,但是还是会有些问题不能解决,更为要命的是别人的东西拿来就用,能满足要求固然是好事,否则你的麻烦就要来了。一旦出现错误就没有办法补救了,所以还是得自己想办法用自己会的东西才是最安全的。 itext 做pdf其实也比较简单,最重要的就是个Document对象,把他的生成过程了解清楚就可以自己动手写东西。 下面是我的代码: package com.xuning.pdf.test; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.List; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.Element; import com.lowagie.text.ExceptionConverter; import com.lowagie.text.Font; import com.lowagie.text.PageSize; import com.lowagie.text.Phrase; import com.lowagie.text.Rectangle; import com.lowagie.text.pdf.BaseFont; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfPCell; import com.lowagie.text.pdf.PdfPTable; import com.lowagie.text.pdf.PdfPageEventHelper; import com.lowagie.text.pdf.PdfTemplate; import com.lowagie.text.pdf.PdfWriter; /** * itext 实现pdf打印功能,这里我没有写成action或是servlet类 * 如果要设置成可以在页面上进行下载的就要在action 或是servlet中进行设置 * 设置成可下载的就可以了。还有一种方式也是比较好的,就是加载xml文件的形式进行 * 生成pdf文件,不过这种方式你要写各种类来解释xml各种元素。 * @author 徐宁 luoyuexiaoxiao@yahoo.com.cn */ public class PdfExport extends PdfPageEventHelper { public PdfTemplate tpl; public BaseFont bf; private static BaseFont bfChinese; public static BaseFont arial; private static Font fontCN; private static Font fontCN1; private static Font font; private static Font font1; //类执行时就初始化这个块 static { try { bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",BaseFont.NOT_EMBEDDED); fontCN = new com.lowagie.text.Font(bfChinese, 14,com.lowagie.text.Font.BOLD); fontCN1 = new com.lowagie.text.Font(bfChinese, 8,com.lowagie.text.Font.NORMAL); font = new Font(bfChinese, 12f, Font.BOLD); font1 = new Font(bfChinese, 10f, Font.NORMAL); } catch (DocumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } @SuppressWarnings("unchecked") public static void main(String[] args) throws Exception { PdfExport pe = new PdfExport(); Document document = new Document(PageSize.A4); try { FileOutputStream os = new FileOutputStream("批量查询结果列表.pdf"); PdfWriter writer = PdfWriter.getInstance(document, os); writer.setPageEvent(new PdfExport()); writer.setViewerPreferences(PdfWriter.HideMenubar); document.open(); PdfPTable tab1 = pe.setTableBody(new ArrayList(0)); document.add(tab1); } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (Exception de) { de.printStackTrace(); } finally { if (document != null) { document.close(); } } } /** * 设置标题方法,实际应用中通过传入参数进行设置 * @return */ private PdfPTable setTiteAndDate(String titleName){ PdfPTable titleTable = new PdfPTable(1); int table[] = { 100 }; try { titleTable.setWidths(table); titleTable.setWidthPercentage(100); titleTable.setSpacingBefore(5f);// 设置标题和第一个表格间的距离.不然会粘在一起 PdfPCell pdfcell = new PdfPCell(new Phrase(titleName, fontCN)); pdfcell.setBorder(0); pdfcell.setHorizontalAlignment(Element.ALIGN_CENTER); titleTable.addCell(pdfcell); PdfPCell pdfcell1 = new PdfPCell(new Phrase("日期:"+ getDifferentTime(null), fontCN1)); pdfcell1.setHorizontalAlignment(Element.ALIGN_LEFT); pdfcell1.setBorder(0); titleTable.addCell(pdfcell1); } catch (Exception e) { e.printStackTrace(); } return titleTable; }
0
0
分享到:
评论
1 楼 demosaid 2014-12-17  
什么鸡毛玩意

相关推荐

    itext实现pdf打印之二

    **标题:“iText实现PDF打印之二”** 在IT领域,PDF(Portable Document Format)是一种广泛应用的文件格式,用于创建和分享文档,不受操作系统、硬件或软件的影响。iText是一款强大的开源Java库,用于处理PDF文档...

    itextpdf-5.5.13

    版本5.5.13是其历史版本之一,提供了丰富的API和功能,使得开发者能够方便地在Android平台上生成高质量的PDF文件。本篇文章将详细介绍iTextPDF 5.5.13的核心功能及使用方法,并通过"printPdfTest.java"这个示例代码...

    itextpdf-5.5.5.jar

    《深入解析iTextPDF 5.5.5:构建PDF文档的强大工具》 在信息化高度发展的今天,PDF作为一种跨平台、格式稳定的文档格式,被广泛应用于各行各业。...对于需要处理PDF文档的开发者来说,iTextPDF是不可或缺的工具之一。

    iTextpdf支持中文

    iTextpdf是一款强大的Java库,专门用于生成和编辑PDF文档,同时也支持在Android平台上使用。这个库使得开发者能够轻松地在应用程序中创建、修改和处理PDF文档,包括添加文本、图像、表格、链接等元素。在标题中提到...

    使用POI和IText将Excel转换成PDF

    在IT行业中,转换数据格式是常见的任务之一,例如将Excel表格转换为PDF文档。这个过程可以方便用户在不使用特定应用程序(如Microsoft Excel)的情况下查看和打印数据。本篇文章将详细探讨如何使用Apache POI和iText...

    iText7 html转换为pdf生成页码、页眉、页脚DEMO

    itext7 html转换为pdf;iText7页码、页眉、页脚,itext 的复杂表格实现;完整springboot项目代码

    使用Java组件itext生成pdf介绍.docx

    此外,它还具备将XML、HTML文件转化为PDF的能力,这使得iText成为了处理各类文档的理想工具之一。 ##### 2.2 安装与集成 iText的安装过程极为简单: 1. **下载**:访问官方网站...

    SpringBoot集成Freemarker+FlyingSaucer实现pdf在线预览.pdf

    本文讲述如何使用SpringBoot集成Freemarker和FlyingSaucer实现PDF在线预览、打印和下载的功能。该技术方案可以应用于各种在线文档预览、报表生成、电子邮件发送等场景。 一、Freemarker模板引擎 Freemarker是Java...

    [iText实战(第2版)].(iText.in.Action).Bruno.Lowagie.文字版.pdf

    ### iText实战(第2版) — Bruno Lowagie #### 概述 《iText实战(第2版)》是一本由Bruno Lowagie撰写的书籍,该书覆盖...无论是在企业级应用还是个人项目中,《iText实战(第2版)》都将成为你宝贵的参考资料之一。

    JavaPDF打印测试实例

    在提供的"mimeograph"压缩包文件中,可能包含了一个简单的Java应用程序,演示了如何使用Java和上述库之一来实现PDF打印。这个程序可能已经配置好了必要的打印设置和逻辑,用户可以直接运行来测试打印功能。 总的来...

    pb数据窗口打印pdf

    在PB中,数据窗口是核心组件之一,用于展示、操作和管理数据库中的数据。本文将深入探讨如何利用PB数据窗口来打印PDF,实现批量静默打印以及自动保存功能。 1. **PB数据窗口打印基础** PB数据窗口提供了丰富的打印...

    基于java的用iText类库制作PDF文档.zip

    Java编程语言以其强大的功能和广泛的应用领域而闻名,其中之一就是创建PDF文档。iText是一个流行的开源Java库,专门用于生成和处理PDF文档。这个压缩包“基于java的用iText类库制作PDF文档.zip”显然包含了使用iText...

    Java实现Web报表打印功能.

    在Web应用领域,打印功能一直是开发者面临的挑战之一。由于Web应用本质上属于瘦客户端架构,直接操作客户端设备(如打印机)存在限制。这促使业界探索了多种解决方案,包括使用第三方软件、Applet调用API、ActiveX、...

    itext报表生成工具

    在IT行业中,尤其是在报表生成、电子发票制作以及文档自动化等领域,IText是广泛应用的工具之一。 在描述中提到的“eclipse3.2+myeclipse5.5”是两个流行的Java集成开发环境(IDE)。Eclipse是一个通用的开源IDE,...

    PDF电子票多张合并打印.7z

    使用iTextSharp,开发者可以轻松地实现PDF的读取、写入、合并、拆分以及添加水印、签名等功能。在这个工具中,iTextSharp被用来读取每个PDF发票页面,然后按照指定的排列顺序和尺寸调整,将它们合并到一个新的PDF...

    itext-5.5.6

    iText 5.5.6的核心功能之一就是PDF的生成。通过使用iText,开发者可以构建复杂的PDF文档,包括添加文本、图像、表格、链接、注释、书签、表单字段等元素。此外,iText还支持PDF的安全性,如设置密码保护、权限控制等...

    iText in Action 2nd Edition Oct.2010

    本书由iText的核心开发者之一Bruno Lowagie撰写,全面覆盖了iText 5版本的功能。 #### 三、iText简介 - **定义**:iText是一款开源的Java库,用于创建、操作和修改PDF文档。它支持多种平台,并且可以集成到各种...

Global site tag (gtag.js) - Google Analytics