`
小杨学JAVA
  • 浏览: 900712 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

iText - 合并单元格

 
阅读更多

 

iText中的PdfPTable和PdfPCell仅提供了合并列的功能(通过cell.setColspan(cellCount)实现),并未提供合并行的方法。如果需要生成下列表格,怎么实现呢?

 

A
D
B
C

 


可考虑在cell中添加一个表格来实现。对于上列表格,需先建立一个2列的表格。在表格的第一列中填充一个2行的表格即可。具体代码如下:

 

1 package itext; 2 3 import java.io.FileOutputStream; 4 5 import com.lowagie.text.Element; 6 import com.lowagie.text.PageSize; 7 import com.lowagie.text.Paragraph; 8 import com.lowagie.text.pdf.PdfPCell; 9 import com.lowagie.text.pdf.PdfPTable; 10 import com.lowagie.text.pdf.PdfWriter; 11 12 public class MergeCell { 13 14 public static void main(String[] args) { 15 String tmpPath = "c:\\test.pdf"; 16 PdfPCell cell; 17 PdfPCell iCell; 18 PdfPTable iTable; 19 float lineHeight1 = (float)25.0; 20 float lineHeight2 = (float)25.0; 21 try{ 22 Document pdfDoc = new Document(PageSize.A4.rotate(), 36, 36, 24, 36); 23 24 PdfWriter.getInstance(pdfDoc, new FileOutputStream(tmpPath)); 25 26 pdfDoc.open(); 27 28 PdfPTable headerTable = new PdfPTable(2); 29 headerTable.setWidthPercentage(40); 30 31 //create a table to fill cell 1 32 iTable = new PdfPTable(2); 33 iCell = new PdfPCell(new Paragraph("A")); 34 iCell.setHorizontalAlignment(Element.ALIGN_CENTER); 35 iCell.setVerticalAlignment(Element.ALIGN_MIDDLE); 36 iCell.setFixedHeight(lineHeight1); 37 //merge column 38 iCell.setColspan(2); 39 iTable.addCell(iCell); 40 iCell = new PdfPCell(new Paragraph("B")); 41 iCell.setHorizontalAlignment(Element.ALIGN_CENTER); 42 iCell.setVerticalAlignment(Element.ALIGN_MIDDLE); 43 iCell.setFixedHeight(lineHeight2); 44 iTable.addCell(iCell); 45 iCell = new PdfPCell(new Paragraph("C")); 46 iCell.setHorizontalAlignment(Element.ALIGN_CENTER); 47 iCell.setVerticalAlignment(Element.ALIGN_MIDDLE); 48 iCell.setFixedHeight(lineHeight2); 49 iTable.addCell(iCell); 50 cell = new PdfPCell(iTable); 51 cell.setPadding(0); 52 headerTable.addCell(cell); 53 54 //fill cell 2 55 cell = new PdfPCell(new Paragraph("D")); 56 cell.setHorizontalAlignment(Element.ALIGN_CENTER); 57 cell.setVerticalAlignment(Element.ALIGN_MIDDLE); 58 cell.setPadding(0); 59 cell.setFixedHeight(lineHeight1+lineHeight2); 60 headerTable.addCell(cell); 61 62 pdfDoc.add(headerTable); 63 64 pdfDoc.close(); 65 66 } catch(Exception e) { 67 e.printStackTrace(); 68 } 69 } 70 }
转载
分享到:
评论

相关推荐

    itext-2.1.7.jar和itext-rtf-2.1.7.jar

    4. **表格处理**:iText提供了创建和操作表格的功能,包括添加行、列,合并单元格,以及设置边框和填充色。 5. **交互元素**:iText允许添加链接、按钮、表单字段和其他交互元素到PDF中,增强用户与文档的互动性。 ...

    iText-5.0.6.jar iTextAsian.jar

    3. **表格和列表**:创建复杂的表格和列表结构是iText的一大优势,可以方便地调整列宽、行高,以及单元格样式。 4. **链接和书签**:添加超链接和内部书签,方便用户导航。 5. **表单处理**:创建交互式PDF表单,...

    itext-2.1.7.rar

    4. **表格绘制**:使用`PdfPTable`类创建表格,支持多列、合并单元格、自定义边框等功能。 5. **表单处理**:可以创建交互式表单,添加文本字段、选择框、复选框等元素,并能处理用户输入的数据。 6. **数字签名**...

    itext-2.1.7.js4.7z_javareport_V2_

    3. **表格创建**:提供了一套完整的API来创建和操作表格,包括合并单元格、调整列宽等。 4. **样式与模板**:可以定义CSS样式,实现类似网页布局的效果,也可以使用模板快速生成复杂的PDF文档。 5. **表单处理**:...

    itext-5.1.3.zip

    3. **表格和列表**:轻松创建和填充表格,支持多列、合并单元格等操作。 4. **图像处理**:插入和调整图像的大小、位置,支持多种格式如JPEG、PNG等。 5. **字体支持**:可以使用系统字体或自定义字体,支持多种...

    java 后端生成pdf模板合并单元格表格的案例.docx

    ### Java后端生成PDF模板合并单元格表格案例详解 #### 概述 本文将详细介绍一个Java后端生成PDF模板,并在此基础上实现单元格合并功能的案例。案例的主要目的是展示如何在Java环境中创建复杂的表格结构,并将其导出...

    itext-5.5.6

    你可以控制行高、列宽、边框样式,并对单元格进行合并。 3. **文本处理**:通过Paragraph、Chunk、Font等类,iText可以轻松地插入和格式化文本,包括设置字体、大小、颜色、对齐方式等。 4. **图像集成**:iText...

    itext-5.50

    8. **PDF拆分与合并**:用户可以利用iText将一个PDF文档拆分为多个小文件,或者将多个文件合并为一个大的PDF。 在5.5.0版本中,还包含了一些额外的组件,如itext-xtra和itext-pdfa,它们扩展了iText的功能。`itext-...

    itext-1.4.8.jar_itext_

    3. **表格操作**:iText提供了创建和操作复杂表格的功能,可以设置列宽、行高,合并单元格,甚至插入跨页的表格。 4. **表单处理**:库中包含了处理交互式PDF表单的工具,可以填充字段、签署电子签名,以及导出和...

    table合并单元格的多种方法

    在表格(Table)设计中,有时我们需要合并单元格来达到特定的展示效果,例如创建标题行或列,或者为了美观和布局对齐。在HTML、CSS以及JavaScript中,都有多种方式可以实现单元格的合并。这里我们将详细探讨六种合并...

    itext合并和拆分PDF实例

    根据提供的文件信息,我们可以深入探讨如何使用iText库在Java环境中进行PDF文件的合并与拆分操作。以下是对这些操作的详细解释。 ### iText简介 iText 是一个开源库,用于生成、修改以及处理PDF文件。它支持多种...

    java pdf合并实例

    本实例将探讨如何使用Java进行PDF合并,特别是通过iText库实现这一功能。 iText是一个开源的Java库,专门用于创建、编辑和修改PDF文档。它提供了丰富的API,使得开发者能够方便地处理PDF的各种操作,如添加文本、...

    itextpdf-5.3.1

    通过这个库,你可以生成、修改、合并或拆分PDF文件,添加文本、图像、表格和各种图形元素,同时支持数字签名和表单处理。 1. **PDF生成与编辑** iTextPDF允许开发者动态地生成PDF文档,可以添加文本、段落、列表、...

    Itext实现自动生成pdf word文件

    4. **表格和列表**:iText提供高级的表格处理功能,支持多列、合并单元格、自动调整列宽等。同时,它也可以轻松地创建和格式化列表。 5. **字体支持**:iText支持多种字体,包括Unicode和CJK(Chinese, Japanese, ...

    iText7——第七章源代码工程

    4. **表格处理**:`PdfPTable`和`PdfPCell`类提供了创建和填充表格的功能,包括自定义边框、单元格合并等。 5. **表单处理**:使用`AcroFields`和`PdfFormField`,可以创建交互式PDF表单,添加文本字段、复选框、...

    java itext生成PDF文件

    下面是一个简单的示例,展示了如何使用iText创建一个表格并合并单元格: ```java // 创建表格 PdfPTable table = new PdfPTable(3); // 3列 // 添加单元格 PdfPCell cell1 = new PdfPCell(new Phrase("单元格1"));...

    itext生成pdf文件-表格

    本文将深入探讨iText如何生成包含表格的PDF文件,同时结合提供的“itext教程_itext的使用方法_iava使用itext实现pdh的输出.doc”文档,为您详细解析这一过程。 首先,我们需要了解iText的基本用法。iText是用Java...

    itextpdf-5.4.3.jar

    4. **表格处理**:` PdfPTable`类允许创建多列表格,支持单元格合并、边框样式设置,以及自动调整列宽等功能。 5. **表单处理**:iTextPDF支持交互式PDF表单的填充,如文本字段、复选框、单选按钮等。可以使用`...

    itext2.0.8的jar包和api

    10. **PdfCopy和PdfReader类**:对于合并多个PDF文件,可以使用`PdfCopy`和`PdfReader`,`PdfReader`读取PDF,`PdfCopy`负责合并。 在实际应用中,开发者通常会根据需求选择上述功能的组合。例如,可以先创建一个`...

Global site tag (gtag.js) - Google Analytics