`
dreamstone
  • 浏览: 289531 次
  • 来自: ...
文章分类
社区版块
存档分类

使用IText打印PDF

阅读更多
IText是开源的,对与打印PDF做的还不错,下边一个例子关于IText的,列出了大部份常用的功能。
import java.io.FileOutputStream;

import com.lowagie.text.Cell;
import com.lowagie.text.Document;
import com.lowagie.text.Font;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Table;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfWriter;


public class Example {
    
private static Font FONT_11;
    
private static BaseFont msgothic;
    
public static void main(String[] args) throws Exception{
        
try{
            
//定义字体
            msgothic = BaseFont.createFont("D:\\workspace\\UseIText\\MSMINCHO.TTC,0",BaseFont.IDENTITY_H,BaseFont.EMBEDDED);
            FONT_11
=new Font(msgothic);
            FONT_11.setSize(
11);
        }
catch(Exception e){
            e.printStackTrace();
        }

        
//为了测试方便,加入自动关闭打开acrord32
        Runtime.getRuntime().exec("tskill acrord32").waitFor();
        Thread.sleep(
1000);
        Document document
=new Document(PageSize.A4.rotate());
        
//写文件
        PdfWriter writer=PdfWriter.getInstance(document, new FileOutputStream("d:/temp.pdf"));
        document.open();
        makeDocument(document);
        document.close();
        
//为了测试方便,加入自动关闭打开acrord32
        Runtime.getRuntime().exec("\"c:\\Program Files\\Adobe\\Acrobat 7.0\\Reader\\acrord32.exe\" d:/temp.pdf").waitFor();
    }

    
public static void makeDocument(Document document)throws Exception{
        
//table大部份操做类似与html,下边是一些常用的参数
        
//3是总的列数,也可以同时指定行数和列数new Table(3,4)
        Table table=new Table(3);
        
//table的宽度
        table.setWidth(98);
        
//类似html的cellSpaceing
        table.setSpacing(2);
        
//每一列的宽度,是比例不是固定宽度
        table.setWidths(new int[]{10,30,60});
        
//对齐方式
        table.setAlignment("CENTER");
        
//table是否有边框
        table.setBorder(0);
        
//cell默认是否有边框
        table.setDefaultCellBorder(0);
        
//自动填充空白
        table.setAutoFillEmptyCells(true);
        
int n=10;
        
for(int i=0;i<n;i++){
            makeContent(table);
        }

        
//新的一页要加上这句
        document.newPage();
        
for(int i=0;i<n;i++){
            makeContent(table);
        }

        document.add(table);
    }

    
public static void  makeContent(Table table)throws Exception {
        
int len = table.columns();
        
for(int i=0;i<len;i++){
            String testStr 
= "test"+i+"xxxxxxxxxxxxxxxxxxxxxx";
            Cell cell
=new Cell(testStr);
            
//max lines ,设置成1防止换行,配合cell宽度,可以实现自动截取
            cell.setMaxLines(1);
            table.addCell(cell);
        }

    }

    
//构造一个自定义的cell
    public static Cell makeCell(int colspan,String align,int maxLines,Font font){
        Cell cell 
= null;
        Paragraph paragraph 
=null;
        
try{
            
//使用自定义字体
            paragraph=new Paragraph("testxxx",font);
            cell
=new Cell(paragraph);
            
//设置colspan,同样的方法可以设置rowspan
            if(colspan >1){
                cell.setColspan(colspan);
            }

            
//设置对齐
            if((align != null&& (!align.equals(""))){
                cell.setHorizontalAlignment(align);
            }

            
//设置maxlines
            cell.setMaxLines(maxLines);
        }
catch(Exception e){
            e.printStackTrace();
        }

        
return cell;
    }

}

分享到:
评论

相关推荐

    itext实现pdf打印之二

    在“iText实现PDF打印之二”这篇博文中,作者可能进一步介绍了如何利用iText来打印PDF文件,这通常涉及到以下几个关键步骤: 1. **初始化PDFDocument对象**:这是创建PDF文档的第一步,我们需要实例化一个...

    使用iText生成PDF.doc

    以下是一些关于如何使用iText生成PDF的关键知识点: 1. **安装与获取iText**: 要使用iText,首先需要从其官方源代码托管平台SourceForge下载相应的.jar文件。基础的iText.jar提供了基本的PDF生成功能,但如果你...

    iText_pdf.rar_iText pdf_itext PDF类

    iText是一款广泛使用的Java库,专门用于创建和编辑PDF(Portable Document Format)文件。这个类库使得开发者能够方便地在应用程序中集成PDF生成和修改功能,而无需深入了解PDF的复杂规格。标题中的“iText_pdf.rar_...

    iText操作Pdf简单整理

    7. **安全与权限**:iText支持设置PDF文档的访问权限,如禁止复制、打印等,这可以通过`PdfWriter.setEncryption()`方法实现。 8. **PDF合并与分割**:`PdfCopy`类可以用于合并多个PDF文档,而`PdfStamper`则能用于...

    itext打印pdf文件拆分list数据

    本话题将深入探讨如何使用iText库来打印PDF文件并拆分包含在List数据中的信息。 首先,我们要理解iText的工作原理。iText提供了一系列API,允许开发者创建PDF文档,添加文本、图像、表格等元素,以及进行更复杂的...

    Itext删除PDF的图层

    PDF(Portable Document Format)是一种广泛使用的文档格式,它允许用户创建、分享和打印文档,而无需考虑原始软件或硬件环境。然而,PDF不仅仅局限于文本和图像,它还支持图层(Optional Content Groups,OCGs),...

    itextpdf-5.5.13

    本篇文章将详细介绍iTextPDF 5.5.13的核心功能及使用方法,并通过"printPdfTest.java"这个示例代码来进一步解析其实现步骤。 首先,iTextPDF的核心在于其 PdfWriter 类,它是生成PDF文件的关键。PdfWriter允许...

    iText(PDF格式打印)学习整理

    iText是一款强大的PDF库,主要...总结,iText是JAVA开发中不可或缺的PDF处理工具,其强大功能和易用性使其成为报表打印和文档生成的理想选择。通过不断学习和实践,你将能够熟练运用iText解决实际问题,提高项目效率。

    使用iText 7 生成pdf

    **使用iText 7生成PDF** 在IT行业中,PDF(Portable Document Format)是一种广泛用于创建、分享和打印文档的标准格式。iText是一个流行的Java库,它允许开发人员以编程方式生成、修改和处理PDF文件。iText 7是该库...

    freemarker+itext生成PDF

    这篇博客 "freemarker+itext生成PDF" 可能详细介绍了如何结合这两者来生成PDF文件,这在报表生成、发票打印或任何需要静态化输出的场景中非常有用。 首先,让我们了解FreeMarker。FreeMarker是一个基于模板的语言,...

    itextpdf jar包

    2. **HTML和XML转换**:iTextPDF可以通过DOM解析器将HTML或XML文档转换成PDF格式,这使得网页内容可以直接导出为PDF,方便离线阅读或打印。同时,它支持CSS样式,可以保留原始文档的视觉效果。 3. **表单处理**:...

    iTextpdf支持中文

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

    itextpdf不同版本的jar包

    1. **PDF生成**:你可以使用iTextPDF来动态地创建PDF文档,添加文本、图像、表格、链接、注释等元素。 2. **PDF编辑**:除了生成,iTextPDF还允许你修改已有的PDF文档,如添加或删除页面、更新内容、签署文档等。 3....

    iText中文帮助文档_itext中文帮助文档_itext_iTextpdf_itext中文文档_

    iText是一款广泛使用的开源Java库,专门用于生成和编辑PDF文档。这个中文帮助文档提供了详细的指导,帮助开发者理解和使用iText来创建包含丰富内容的PDF文件。以下是对iText库和文档中涉及的关键知识点的详细解释: ...

    Itext导出PDF,中文不显示字体

    Itext导出PDF,中文不显示字体,在body上设置font-family: "Arial Unicode MS",同时在java中引入fontResolver.addFont("/ARIALUNI.TTF", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); 就可以显示中文了

    利用itext操作pdf从数据库导出大量数据

    在IT行业中,PDF(Portable Document Format)是一种广泛用于存储和分发文档的格式,它能够保持文档的原始格式不变,方便跨平台查看和打印。iText是一个强大的Java库,允许开发者在应用程序中创建、修改和处理PDF...

    itextpdf的相关jar包

    在本篇文章中,我们将深入探讨iTextPDF以及如何使用它来将SWF(ShockWave Flash)文件嵌入到PDF中。 iTextPDF是iText项目的一部分,由iText Software Corp开发,它提供了丰富的API,使得开发人员可以轻松地进行PDF...

    Itext利用模板生成PDF实例demo,导入即可使用,供前台下载,打印,预览等

    前端预览通常使用`&lt;iframe&gt;`或者PDF.js这样的库实现,而打印则可以通过浏览器的内置打印功能或者自定义的打印指令完成。 **表格数据的处理** 在PDF中插入表格时,特别是在数据量不确定的情况下,Itext需要处理的一...

    itextpdf-5.5.5.jar

    本文将详细探讨iTextPDF 5.5.5版本的核心功能和使用方法。 iTextPDF是iText库的一个子项目,专注于PDF文档的生成和处理。iText本身起源于Java,后来发展出了.NET版本,覆盖了Java和.NET两大主流开发平台。5.5.5是...

    使用adobe acrobat DC 生成pdf模板后,用在java里使用itext填充pdf并转格式

    下面将详细介绍如何使用Adobe Acrobat DC创建PDF模板,以及如何在Java中使用iText进行PDF填充和转换。 首先,使用Adobe Acrobat DC创建PDF模板: 1. 打开Adobe Acrobat DC,选择“创建”或“新建PDF”选项,可以...

Global site tag (gtag.js) - Google Analytics