package test;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.ExceptionConverter;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.Rectangle;
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 CreateFormInTable {
public static final String DEST = "E:\\table.pdf";
public static void main(String[] args) throws IOException,
DocumentException {
File file = new File(DEST);
file.getParentFile().mkdirs();
new CreateFormInTable().createPdf(DEST);
}
public void createPdf(String dest) throws IOException, DocumentException {
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream(dest));
document.open();
PdfPTable table = new PdfPTable(2);
PdfPCell cell;
// cell = new PdfPCell(new PdfPTable(2)); cell中嵌入Talbe可以实现分单元个功能
cell = new PdfPCell(new Phrase("Name:"));
table.addCell(cell);
cell = new PdfPCell();
cell.setCellEvent(new MyCellField("donald"));
table.addCell(cell);
cell = new PdfPCell(new Phrase("Address:"));
table.addCell(cell);
cell = new PdfPCell();
cell.setCellEvent(new MyCellField("New York"));
table.addCell(cell);
document.add(table);
document.close();
System.out.println("===========:end");
}
class MyCellField implements PdfPCellEvent {
protected String fieldname;
public MyCellField(String fieldname) {
this.fieldname = fieldname;
}
public void cellLayout(PdfPCell cell, Rectangle rectangle, PdfContentByte[] canvases) {
final PdfWriter writer = canvases[0].getPdfWriter();
final TextField textField = new TextField(writer, rectangle, fieldname);
try {
final PdfFormField field = textField.getTextField();
writer.addAnnotation(field);
} catch (final IOException ioe) {
throw new ExceptionConverter(ioe);
} catch (final DocumentException de) {
throw new ExceptionConverter(de);
}
}
}
}
分享到:
相关推荐
iText 是一个强大的 Java 类库,专为生成和编辑PDF文档而设计。它以其灵活性和易用性在开发社区中广受欢迎。通过iText,开发者可以轻松创建包含文本、图像、表格等各种元素的PDF文件。以下是一些关于如何使用iText...
在IT行业中,生成PDF文件是一项常见的任务,特别是在文档制作、报表导出以及数据展示等领域。iText是一个流行的Java库,专门用于创建和编辑PDF文档。本文将深入探讨iText如何生成包含表格的PDF文件,同时结合提供的...
至于目录,你可以使用iText的TableOfContents类来生成。首先,你需要收集HTML中的标题元素,然后创建一个PdfAction和PdfOutline来构建目录结构。 ```java public void createTableOfContents(PdfDocument pdfDoc, ...
一、iText5制作PDF iText5提供了丰富的API,可以用来创建PDF文档,设置页面大小、字体样式,以及插入图像等。要将二维码作为图像插入PDF,首先需要生成二维码图片,然后使用iText5的`com.itextpdf.text.Image`类将其...
import com.itextpdf.text.Table; Table table = new Table(3); // 3列 table.addCell("列1"); table.addCell("列2"); table.addCell("列3"); document.add(table); List list = new List(List.UNORDERED); list....
以下是一些使用iText制作PDF的关键知识点: 1. **创建PDF文档**:首先,你需要创建一个`Document`对象,这是iText处理PDF的基础。然后,你可以使用`PdfWriter`将`Document`对象与实际的PDF文件关联起来。 2. **...
iText7 原生方法制作带斜线表格
在IT行业中,转换多张图片为PDF文档是一种常见的需求,特别是在文档整理、报告制作或图像共享时。本篇文章将详细讲解如何使用Java编程语言,通过`itext-asian(5.2.0)`和`itextpdf`库来实现这一功能,并确保图片能...
总的来说,iText是一个强大且灵活的PDF处理工具,其HTML转PDF功能使得开发者能够方便地将网页内容集成到PDF文档中,这对于报告生成、电子书制作、发票打印等应用场景具有很高的价值。然而,为了实现这一功能,你需要...
对于更复杂的布局,iText提供了`Table`类,用于创建多列的表格。你可以通过`Cell`对象定义单元格的内容和样式,包括边框、填充和对齐方式。此外,`List`类则用于创建带有项目符号或编号的列表。 iText还支持从HTML...
在Java开发中,iText是一个强大的库,它允许开发者创建、编辑和修改PDF文档。本文将深入探讨如何利用iText库来创建PDF文档。 1. iText简介: iText是一款开源的Java库,它提供了丰富的API,使得开发者能够轻松地...
在IT行业中,生成PDF文档是一项常见的任务,尤其在数据报告、合同签署或电子书籍制作等领域。iText是一个强大的Java库,专门用于创建和修改PDF文档。在这个场景中,我们主要关注如何利用iText将HTML代码转换为PDF...
本压缩包"基于Java的用iText类库制作PDF文档.zip"专注于讲解如何利用iText这个强大的Java库来创建PDF文档。iText是一个开源库,它使得在Java和.NET平台上生成、修改和优化PDF文档变得简单易行。 首先,我们需要了解...
**IText 2.1.7工具包及Demo:Java生成PDF详解** IText是一款功能强大的Java库,专用于创建、编辑和修改PDF文档。在2.1.7这个版本中,它还是遵循Apache License 2.0,允许商业免费使用,而之后的版本则转向了GPL协议...
这个压缩包"基于java的开发源码-用iText类库制作PDF文档.zip"显然包含了使用iText库进行PDF文档生成的示例代码和相关资源。 iText库主要提供了以下关键功能: 1. **PDF文档创建**:iText允许开发者从头开始创建PDF...
3. **了解基础类**:熟悉 `Document`、`Font`、`Paragraph`、`Cell` 和 `Table` 等核心类的作用,它们是构建 PDF 文档的基本元素。 ### 三、用 iText 进行 PDF 操作 以下是一些 iText 使用的基础示例: 1. **经典...
iText库广泛应用于报告生成、发票制作、电子书创建等场景。 iText的核心组件包括以下几个部分: 1. **iTextpdf-5.4.4.jar**: 这是主库文件,包含了iText的主要功能。它提供了一系列API,允许开发者创建新的PDF文档...
描述中提到“利用itext制作pdf,使用方法和说明”,这暗示我们将探讨如何使用iText来创建PDF文档。首先,你需要引入iText库到你的项目中。如果是Maven项目,可以通过在pom.xml文件中添加依赖来实现: ```xml ...
这个名为“iText可以制作中文PDF文件的JAVA源程序.rar”的压缩包中,包含了一套利用iText库生成中文PDF文档的Java源代码示例。 在Java开发中,生成文档格式如Word、PDF和RTF是常见的需求。这些格式各有特点,例如,...
关于压缩包中的文件“iText可以制作中文PDF文件的JAVA源程序”,这很可能是一个示例项目或者代码库,包含了一些演示如何使用iText创建中文PDF的Java代码。开发者可以通过阅读和运行这些示例,了解如何在实际项目中...