`
lzth
  • 浏览: 141015 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PDFTable表格生成PDF

    博客分类:
  • Java
阅读更多
package com.xishui.action;

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

import org.apache.taglibs.standard.lang.jstl.EmptyOperator;

import com.itextpdf.text.Element;
import com.lowagie.text.Cell;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfPCell;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.pdf.PdfWriter;

public class iTextTablePage1 {

	public static void main(String[] args) {

		Document document = new Document();
		try {
			
			PdfWriter.getInstance(
								new FileOutputStream("c:\\iTextTablePage1.pdf"));
			
			document.open();

						float[] widths = { 1f };
			PdfPTable table = new PdfPTable(widths);

			table.setTotalWidth(800);// Total的高度,但不起作用j
			PdfPCell cell = new PdfPCell(new Paragraph(
					"Student Basic Data................\n\n"));

			cell.setFixedHeight(75);// 设置第一个表的高度
			table.setWidthPercentage(100);// 设置第一个表的宽度
			document.add(table);
						table.addCell(cell);
			document.add(table);
			document.add(new Paragraph("\n\n"));

			// 第二个table开始
			float[] widths2 = { 0.3f };
			PdfPTable table2 = new PdfPTable(widths2);

			PdfPCell cell2 = new PdfPCell(new Paragraph("SWOT Analysis\n\n\n"
					+ "Strength:\n\n\n\n" + "IELTSWeakness:\n\n\n"
					+ "Opportunity:\n\n\n" + "Threat:\n\n\n"
					+ "Memo of the meeting:\n\n\n"));

			cell2.setFixedHeight(588);// 设置第二个表格的高度

			table2.setWidthPercentage(58);// 设置第二个表的宽度
			document.add(table2);

						document.add(table2);

						table2.addCell(cell2);
			document.add(table2);

			// /////////////////////////////////////////////////////
			// 第三个测试开始

			float[] widths3 = { 1f };
			PdfPTable table3 = new PdfPTable(widths3);

						PdfPCell cell3 = new PdfPCell(new Paragraph("SWOT Analysis\n\n\n"
					+ "Strength:\n\n\n\n" + "IELTSWeakness:\n\n\n"
					+ "Opportunity:\n\n\n" + "Threat:\n\n\n"
					+ "Memo of the meeting:\n\n\n"));

			cell3.setFixedHeight(80);// 设置第三个表格的高度

			table3.setWidthPercentage(39);// 设置第三个表的宽度

			
			table3.setHorizontalAlignment(Element.ALIGN_RIGHT); 			table3.addCell(cell3);
			document.add(table3);
			document.add(new Paragraph("\n\n"));
						float[] widths4 = { 0.5f, 2f, 2f };
			PdfPTable table4 = new PdfPTable(widths4);
			PdfPCell cell4 = new PdfPCell(new Paragraph("Bath"));

			table4.addCell("1");
			table4.addCell("Accounting an ");
			table4.addCell("City University");
			table4.addCell("2");
			table4.addCell("City University");
			table4.addCell("City University");
			table4.addCell("3");
			table4.addCell("2.2");
			table4.addCell("3.2");
			table4.addCell("4");
			table4.addCell("City University");
			table4.addCell("City University");

			table4.setHorizontalAlignment(Element.ALIGN_RIGHT); 
						table4.setWidths(widths4);
			document.add(table4);

			
			document.add(new Paragraph("\n\n"));
			// ////////////////////////////////////////////////////////

			/* 第2页 */
			PdfPTable tb1 = new PdfPTable(3);
			cell = new PdfPCell(
					new Paragraph(
							"CASS Business School, City University - Quantitative Finance!(1)\n\n"));

						cell.setColspan(3); // 设为几,就是几列,另加之前设置的表格数量
			tb1.setWidthPercentage(100);
			tb1.addCell(cell);// 此cell占用3个table

			tb1.addCell("3.1\n\n");
			tb1.addCell("3.2\n\n");
			tb1.addCell("3.3\n\n");

						cell = new PdfPCell(new Paragraph(
					"profession describe (3) !!\n\n\n\n\n\n\n\n\n\n\n"));
			cell.setColspan(3);
			tb1.addCell(cell);
						document.add(tb1);
			document.add(new Paragraph("\n\n"));

			PdfPTable tb2 = new PdfPTable(3);
			cell = new PdfPCell(
					new Paragraph(
							"CASS Business School, City University - Quantitative Finance(2)\n\n"));

						cell.setColspan(3); // 设为几,就是几列,另加之前设置的表格数量
			tb2.setWidthPercentage(100);
			tb2.addCell(cell);// 此cell占用3个table

			tb2.addCell("2.1\n\n");
			tb2.addCell("2.2\n\n");
			tb2.addCell("2.3\n\n");

						cell = new PdfPCell(new Paragraph(
					"profession describe (2) \n\n\n\n\n\n\n\n\n\n\n"));
			cell.setColspan(3);
			tb2.addCell(cell);
						document.add(tb2);
			document.add(new Paragraph("\n\n"));

			PdfPTable tb3 = new PdfPTable(3);
			cell = new PdfPCell(
					new Paragraph(
							"CASS Business School, City University - Quantitative Finance!(3)\n\n"));

						cell.setColspan(3); // 设为几,就是几列,另加之前设置的表格数量
			tb3.setWidthPercentage(100);
			tb3.addCell(cell);// 此cell占用3个table

			tb3.addCell("3.1\n\n");
			tb3.addCell("3.2\n\n");
			tb3.addCell("3.3\n\n");

						cell = new PdfPCell(new Paragraph(
					"profession describe (3) !!\n\n\n\n\n\n\n\n\n\n\n"));
			cell.setColspan(3);
			tb3.addCell(cell);
						document.add(tb3);
			document.add(new Paragraph("\n\n"));

			
		} catch (DocumentException de) {
			System.err.println(de.getMessage());
		} catch (IOException ioe) {
			System.err.println(ioe.getMessage());
		}

		System.out.println("iTextTablePage1.pdf to c:\\");
		
		document.close();

	}
}


第二页

package com.xishui.action;

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

import com.lowagie.text.Cell;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfPCell;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.pdf.PdfWriter;

public class iTextTablePage2 {

	public static void main(String[] args) {

		Document document = new Document();
		try {
						PdfWriter.getInstance(
								new FileOutputStream("c:\\iTextTable_Page_2.pdf"));
			
			document.open();
						document.add(new Paragraph("Potential programs for you")); // 小标题

			PdfPTable table = new PdfPTable(3);
						PdfPCell cell = new PdfPCell(
					new Paragraph(
							"CASS Business School, City University - Quantitative Finance(1)\n\n"));

			cell.setColspan(3); // 设为几,就是几列,另加之前设置的表格数量
			table.addCell(cell);// 此cell占用3个table

			table.addCell("1.1\n\n");
			table.addCell("2.1\n\n");
			table.addCell("3.1\n\n");

						cell = new PdfPCell(new Paragraph(
					" profession describe (1) !!\n\n\n\n\n\n\n\n\n\n\n"));
			cell.setColspan(3);
			table.addCell(cell);
						document.add(table);
			document.add(new Paragraph("\n\n"));

			PdfPTable tb2 = new PdfPTable(3);
			cell = new PdfPCell(
					new Paragraph(
							"CASS Business School, City University - Quantitative Finance(2)\n\n"));

						cell.setColspan(3); // 设为几,就是几列,另加之前设置的表格数量
			tb2.addCell(cell);// 此cell占用3个table

			tb2.addCell("2.1\n\n");
			tb2.addCell("2.2\n\n");
			tb2.addCell("2.3\n\n");

						cell = new PdfPCell(new Paragraph(
					"profession describe (2) \n\n\n\n\n\n\n\n\n\n\n"));
			cell.setColspan(3);
			tb2.addCell(cell);
						document.add(tb2);
			document.add(new Paragraph("\n\n"));

			PdfPTable tb3 = new PdfPTable(3);
			cell = new PdfPCell(
					new Paragraph(
							"CASS Business School, City University - Quantitative Finance!(3)\n\n"));

						cell.setColspan(3); // 设为几,就是几列,另加之前设置的表格数量
			tb3.addCell(cell);// 此cell占用3个table

			tb3.addCell("3.1\n\n");
			tb3.addCell("3.2\n\n");
			tb3.addCell("3.3\n\n");

						cell = new PdfPCell(new Paragraph(
					"profession describe (3) !!\n\n\n\n\n\n\n\n\n\n\n"));
			cell.setColspan(3);
			tb3.addCell(cell);
						document.add(tb3);
			document.add(new Paragraph("\n\n"));

			
		} catch (DocumentException de) {
			System.err.println(de.getMessage());
		} catch (IOException ioe) {
			System.err.println(ioe.getMessage());
		}

		System.out.println("iTextTable_Page_2.pdf to c:\\");
		// step 5: we close the document

		document.close();

	}
}




0
3
分享到:
评论

相关推荐

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

    - **表格生成**: - 使用`swap`方法对二维数组进行了列的交换,将第四列移动到了第三列的位置。这一操作是为了适应表格列的设计需求。 - 通过`tableTemplate`方法生成最终的`PdfPTable`对象。这个方法接收多个参数...

    asp·net生成PDF详解

    asp.net生成PDF详解 asp.net生成PDF PDF详解 用C#制作PDF文件全攻略 丽水市汽车运输集团有限公司信息中心 苟安廷 目 录 前 言 3 第一部分 iText的简单应用 4 第一章 创建一个Document 4 第一步 创建一个Document实例...

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

    3. **PDF表格自动分页**: 在生成PDF文档时,如果一个表格太长以至于无法在一页内完全显示,iTextPDF可以自动将其分页。通过调整表格属性,如行高、列宽,以及设置分页策略,可以确保表格在每一页上都保持完整的结构...

    java itext生成PDF文件

    在本文中,我们将深入探讨如何使用iText库生成PDF文件,并特别关注在创建表格时进行单元格合并的方法。 首先,`itextpdf-5.5.10.jar`是iText库的核心组件,包含了生成和操作PDF的基本功能。这个版本的iText支持PDF ...

    C# 生成pdf文档 <一>

    在IT行业中,生成PDF文档是常见的需求,尤其是在报表、合同或者文档分享等场景。C#是一种广泛使用的编程语言,尤其在Windows平台上的开发工作中。在本篇内容中,我们将聚焦于如何利用iText库在C#环境中生成PDF文档。...

    ITextSharp教程用C#制作PDF复杂表格表单

    定义基本表格,并生成表格时,从上而下生成。图片不能最后插入。 第七步:插入图片 插入图片,并插入一个空行(内容为空的表格)。 完整代码 以下是完整的代码: ``` using iTextSharp.text; using System.IO; ...

    itextpdf包及复杂结构实现

    itextpdf包及复杂结构实现,几个例子运行一下,看看,基本上你就会了

    PDFTableGenerator:使用PDFBox根据数据自动呈现pdf格式的表格

    分页 PDFBox 表格生成器 这是一个如何使用 PDFBox 生成分页表的简单示例。 我没有对代码进行过多优化或开发,但它是一个工作模型,可用于获取有关如何使用 PDFBox 实现表格生成的一些想法。 本项目需要pdfbox-app-...

    C# .net 利用Npoi将Excel转Pdf(完整代码).rar

    3. **添加表格到PDF**:在PDF文档中创建Table对象,根据Excel的列数设置列数,并将Excel中的数据逐行写入表格。 4. **设置样式和格式**:你可以自定义单元格的字体、颜色、对齐方式等,确保PDF中的样式与Excel一致。...

    CreatePDF.rar

    这个名为"CreatePDF.rar"的压缩包文件提供了一个使用Unity和C#结合itestsharp插件来生成PDF的示例项目。接下来,我们将详细探讨这个过程中的关键知识点。 首先,Unity是游戏开发的主流平台,它支持2D和3D游戏的开发...

    C# 在PDF文档中创建表格的实现方法

    该组件提供了两个类PdfTable和PdfGrid用于创建表格,在进行代码编辑前,需先安装,添加Spire.PDF. dll到项目程序集中,同时添加到命名空间。下面是两种方法来添加表格的全部代码,供参考。 两种类用于创建表格的异同...

    C#pdf制作,itextsharp文件外加在网上下的一个制作表格的案例

    itextsharp文件外加在网上下的一个制作表格的案例 第一部分 iText的简单应用 ...PdfTable 颜色(SpotColors)和图案(Patterns) 第十一章 本地和异地转向、目标和概要 本地转向 异地转向 第十二章 页面和表格事件

    ITextSharp中文教程用C#制作PDF文件全攻略.pdf

    然而,如何高效生成PDF文件一直是一个挑战。本文档提供了一个详细的指南,介绍了如何利用ITextSharp库和C#语言来创建高质量的PDF文件。 为了实现这一目标,你需要准备两个关键组件:`itextsharp.dll`和`ICSharpCode...

    Itext应用封装(二)_生成表格

    在这个主题“iText应用封装(二)_生成表格”中,我们将深入探讨如何使用iText来创建和操作PDF文档中的表格。这个博客文章可能详细介绍了在实际项目中如何高效地封装iText的功能,以实现表格的自定义生成。 首先,...

    C#制作PDF文件(附Demo源码)

    用C#制作PDF文件全攻略 目 录 前 言 3 第一部分 iText的简单应用 4 第一章 创建一个Document 4 第一步 创建一个Document实例: 5 第二步 创建Writer实例 6 第三步 打开Document 6 第四步 添加内容 10 第五步,关闭 ...

    C# 导出pdf,ASP.NET MVC 导出PDF

    然后,为每个数据行创建一个PdfTable,并在表格中添加数据。 4. **写入响应流**:在HTTP响应中,设置Content-Type为"application/pdf",并设置Content-Disposition为"attachment",这样浏览器会提示用户下载文件。...

    用C#制作PDF文件全攻略

    虽然这个库的文档主要为英文,但通过翻译和实践,开发者可以掌握其核心概念,从而高效地生成PDF文件。如果你遇到困难,可以参考源代码示例,或者直接访问iTextSharp的官方网站获取更多信息和支持。

    iTextSharp教程(中文)%2B代码实例.rar

    iTextSharp是一款开源的PDF操作类库,使用它可以快速的创建PDF文件。简单的生成PDF文件,设置PDF文档信息,利用Document对象。向PDF里面添加图片,Fimg为图片路径。向PDF里面添加表格,表格对象为PdfTable对象,

    itext-src架包

    除了生成PDF,`iText` 还可以用于解析已存在的PDF文档,提取文本、图像和其他元素。这在文档处理、信息抽取等场景中非常有用。 ### 6. iText源码学习 `iText-src` 包含的源代码可以帮助开发者深入了解PDF规范和`...

Global site tag (gtag.js) - Google Analytics