`
Donald_Draper
  • 浏览: 972173 次
社区版块
存档分类
最新评论

iText制作PDF,ComboBox

 
阅读更多
package test;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.ExceptionConverter;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfBorderDictionary;
import com.itextpdf.text.pdf.PdfContentByte;
import com.itextpdf.text.pdf.PdfFormField;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPCellEvent;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.text.pdf.TextField;

public class ComboBoxItems {
	
 
    public static final String DEST = "E:\\ComboBox.pdf";
 
    public static void main(String[] args) throws IOException, DocumentException {
        File file = new File(DEST);
        file.getParentFile().mkdirs();
        new ComboBoxItems().createPdf(DEST);
    }
 
    public void createPdf(String dest) throws IOException, DocumentException {
        Rectangle pagesize = PageSize.LETTER;
        Document document = new Document(pagesize);
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(dest));
        document.open();
        PdfPTable table = new PdfPTable(2);
        PdfPCell cell;
        //Add rows with selectors
        PdfFormField selectGroup = PdfFormField.createEmpty(writer);
        selectGroup.setFieldName("myCombos");
        String[] options = {"Choose first option", "Choose second option", "Choose third option"};
        String[] exports = {"option1", "option2", "option3"};
        table.addCell("Combobox:");
        cell = new PdfPCell();
        cell.setCellEvent(new SelectCellEvent(selectGroup, "combo1", exports, options));
        cell.setMinimumHeight(20);
        table.addCell(cell);
        document.add(table);
        writer.addAnnotation(selectGroup);
        document.close();
        System.out.println("===========:end");
    }
    class SelectCellEvent implements PdfPCellEvent {
        protected PdfFormField selectGroup;
        protected String name;
        protected String[] exports;
        protected String[] options;
        protected BaseFont font;
 
        public SelectCellEvent(PdfFormField selectGroup, String name, String[] exports, String[] options) throws DocumentException, IOException {
            this.selectGroup = selectGroup;
            this.name = name;
            this.exports = exports;
            this.options = options;
            font = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.CP1250, BaseFont.NOT_EMBEDDED);
            font.setSubset(false);
        }
 
        public void cellLayout(PdfPCell cell, Rectangle position, PdfContentByte[] canvases) {
            PdfWriter writer = canvases[0].getPdfWriter();
            TextField tf = new TextField(writer, position, name);
            tf.setFont(font);
            tf.setBorderStyle(PdfBorderDictionary.STYLE_BEVELED);
            tf.setVisibility(TextField.VISIBLE_BUT_DOES_NOT_PRINT);
            tf.setBorderColor(BaseColor.GRAY);
            tf.setChoiceExports(exports);
            tf.setChoices(options);
            tf.setAlignment(Element.ALIGN_CENTER);
            try {
                selectGroup.addKid(tf.getComboField());
            } catch (Exception e) {
                throw new ExceptionConverter(e);
            }
        }
    }
}
分享到:
评论

相关推荐

    itext 生成pdf 目录

    iText 是一个强大的Java库,专门用于创建和修改PDF文档。在PDF文档中,目录(或书签)是用户友好的导航工具,可以帮助读者快速跳转到特定章节或页面。本篇文章将深入探讨如何使用iText来生成PDF的目录。 首先,理解...

    Android使用iText生成pdf并读取pdf内容

    在这个场景中,我们将探讨如何利用iText在Android应用中生成PDF以及读取PDF的内容。 首先,我们需要在Android项目中引入iText库。由于Android Studio默认使用Gradle作为构建工具,我们可以在`build.gradle`文件的...

    itext7 pdf转图片

    在IT行业中,iText是一个广泛使用的Java和.NET库,用于创建、编辑和处理PDF文档。在最新的版本iText 7中,它提供了丰富的功能,包括将PDF文档转换为图像。这个话题涉及到PDF处理和图像转换两个核心领域。下面将详细...

    Itext删除PDF的图层

    "Itext删除PDF的图层"是一个针对PDF处理的专题,特别是涉及到如何使用Itext库来移除PDF文档中的特定图层。Itext是一个开源Java库,专为处理PDF文档设计,提供了一系列API用于创建、编辑和阅读PDF文件。 **Itext库...

    使用iText生成PDF.doc

    iText 是一个强大的 Java 类库,专为生成和编辑PDF文档而设计。它以其灵活性和易用性在开发社区中广受欢迎。通过iText,开发者可以轻松创建包含文本、图像、表格等各种元素的PDF文件。以下是一些关于如何使用iText...

    使用IText生成PDF和WORD文档

    IText是一款广泛使用的Java库,专门用于创建和编辑PDF及Word文档。在本文中,我们将深入探讨如何利用IText库生成这两种格式的文档,并通过实际的源码示例来理解其工作原理。 首先,让我们从PDF(Portable Document ...

    iText_pdf.rar_iText pdf_itext PDF类

    在描述中提到的“iText可以制作中文PDF文件的JAVA源程序”,意味着这个压缩包可能包含示例代码或教程,展示了如何使用iText库在Java程序中创建包含中文字符的PDF文档。通常,处理中文字符需要正确配置字体资源,并...

    iText生成pdf解决中文不显示

    iText生成pdf解决中文不显示字库,pdf凉字不显示,由于生成iText插件生成pdf的时候中文会显示不出来,遇到过的是"凉"字,查到是字体库的原因,网上下载字体库msyh.ttc,生成的时候指定字体库,就可以解决了,小bug一...

    iText操作Pdf简单整理

    iText是一款强大的Java类库,专门用于生成和编辑PDF文档。这个开源项目源自sourceforge.net,为开发者提供了灵活且高效的方式来处理PDF文档的创建、更新和格式转换。iText不仅支持生成PDF和rtf格式的文档,还具备将...

    itext对pdf进行编辑

    itext对pdf进行编辑.使用Adobe对pdf创建表单,itext对表单填充,下拉选,单选,文本框.复选框.itext对pdf进行编辑.使用Adobe对pdf创建表单,itext对表单填充,下拉选,单选,文本框.复选框

    itextpdf.jar

    iTextPDF,这个名字源自荷兰语“tekst”,意为“文本”,它由iText Software公司开发,是一个开放源代码的PDF库,主要支持Java和.NET平台。iTextPDF提供了一整套API,使得开发者能够轻松创建、修改和处理PDF文档,...

    itext生成pdf并通过证书进行签章

    本文将详细探讨如何使用iText库生成PDF并利用证书进行签章,确保文档的完整性和不可篡改性。 首先,iText是一个强大的开源Java库,专门用于创建、修改和处理PDF文档。它提供了一系列API,使得开发者可以方便地实现...

    itextpdf 导出pdf 表格 自动分页中文 目录

    iTextPDF是一个Java库,专门用于创建、编辑和处理PDF文档,而`iText-asian-5.2.0.jar`和`itextpdf-5.5.5.jar`是iText库的不同版本,用于支持中文字符和其他亚洲语言。 1. **iTextPDF**: iTextPDF是iText项目的一...

    itext生成PDF开发文档

    iText 是一个强大的 Java 库,用于生成和编辑 PDF 文档。在 Java 开发中,iText 提供了丰富的 API,使得开发者可以方便地在代码中创建 PDF 文件、添加文本、图像、表格、链接等元素,甚至进行数字签名和表单处理。在...

    itext实现pdf打印之二

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

    itextpdf jar包

    iTextPDF是一个强大的Java类库,专为生成和编辑PDF文档而设计。它以其灵活性和易用性在开发社区中广受欢迎,适用于各种项目需求,包括但不限于报告生成、电子发票制作、文档转换等。这个jar包版本为5.5.12,代表着一...

    freemarker+itext生成PDF

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

    Itext生成PDF所需要的最全Jar包

    Itext是一款广泛使用的Java库,专门用于生成和处理PDF文档。在Java开发中,如果你需要创建、编辑或读取PDF文件,Itext是不可或缺的工具。这个压缩包提供了使用Itext生成PDF所需的全部Jar包,确保你可以一次性导入...

    com.itextpdf.itextpdf.5.5.13.3 相关jar包和源码jar包

    com.itextpdf.itextpdf.5.5.13.3 相关jar包和包含源码jar包 <groupId>com.itextpdf</groupId> <artifactId>itextpdf <version>5.5.13.3 下载地址为: ...

    itextpdf-5.5.13

    《iTextPDF 5.5.13:创建PDF文件的高效工具》 iTextPDF是一款功能强大的Java库,主要用于创建、编辑以及处理PDF文档。版本5.5.13是其历史版本之一,提供了丰富的API和功能,使得开发者能够方便地在Android平台上...

Global site tag (gtag.js) - Google Analytics