iTextSharp导出PDF模板(报告)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using iTextSharp;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace WpfApp
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
/// <summary>
/// 导出成绩
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Button_Click(object sender, RoutedEventArgs e)
{
//创建文档
Document docPDF = new Document(PageSize.A4,0,0,0,0);
PdfWriter write = PdfWriter.GetInstance(docPDF,new FileStream(@"E:\"+DateTime.Now.ToString("yyyyMMddhhmmss")+"pdfFile.pdf",FileMode.OpenOrCreate,FileAccess.Write));
BaseFont baseFont = BaseFont.CreateFont(@"C:\Windows\Fonts\simsun.ttc,0",BaseFont.IDENTITY_H,BaseFont.EMBEDDED);
Font font = new Font(baseFont);
docPDF.Open();
docPDF.Add(new iTextSharp.text.Paragraph("第一个PDF文件",font));//将一句话写入PDF
iTextSharp.text.Paragraph paragraph = new iTextSharp.text.Paragraph();
PdfPTable tablerow1 = new PdfPTable(new float[] { 20, 20, 20 });
//PdfPCell cell1 = new PdfPCell(new iTextSharp.text.Paragraph("单元格测试",font));
//for (int i = 0; i <= 27; i++)//表示创建一个3列9行的表格
//{
// cell1 = new PdfPCell(new iTextSharp.text.Paragraph(i.ToString(), font));
// // tablerow1.AddCell(
// tablerow1.AddCell(cell1);//将单元格添加到表格中
//}
//docPDF.NewPage();//新的一页显示
PdfPTable tablerow2 = new PdfPTable(new float[] { 20, 20, 20 });
PdfPCell cell2 = new PdfPCell(new iTextSharp.text.Paragraph("单元格测试", font));
cell2 = new PdfPCell(new iTextSharp.text.Paragraph("表格跨行 row1 col1", font));
cell2.MinimumHeight = 40F;//设置表格的高度
cell2.Rowspan = 2;//单元格夸2行
tablerow2.AddCell(cell2);
cell2 = new PdfPCell(new iTextSharp.text.Paragraph("表格跨行row1 col2", font));
cell2.MinimumHeight = 40F;//设置表格的高度
tablerow2.AddCell(cell2);
cell2 = new PdfPCell(new iTextSharp.text.Paragraph("表格跨行row1 col3", font));
cell2.MinimumHeight = 40F;//设置表格的高度
tablerow2.AddCell(cell2);
cell2 = new PdfPCell(new iTextSharp.text.Paragraph("表格跨行row2 col3", font));
cell2.MinimumHeight = 40F;//设置表格的高度
tablerow2.AddCell(cell2);
cell2 = new PdfPCell(new iTextSharp.text.Paragraph("表格跨行row2 col3", font));
cell2.MinimumHeight = 40F;//设置表格的高度
tablerow2.AddCell(cell2);
docPDF.Add(tablerow2);
docPDF.Add(tablerow1);//将表格添加到pdf文档中
docPDF.Close();
}
}
}
iTextSharp导出PDF模板(报告)的更多相关文章
- ITextSharp导出PDF表格和图片(C#)
文章主要介绍使用ITextSharp导出PDF表格和图片的简单操作说明,以下为ITextSharp.dll下载链接 分享链接:http://pan.baidu.com/s/1nuc6glj 密码:3g ...
- 利用ITextSharp导出PDF文件
最近项目中需要到处PDF文件,最后上网搜索了一下,发现ITextSharp比较好用,所以做了一个例子: public string ExportPDF() { //ITextSharp Usage / ...
- C# 利用ITextSharp导出PDF文件
最近项目中需要导出PDF文件,最后上网搜索了一下,发现ITextSharp比较好用,所以做了一个例子: public string ExportPDF() { //ITextSharp Usage / ...
- c# iTextSharp导出PDF
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Th ...
- 使用iTextSharp导出PDF
/// <summary> /// 导出至PDF /// </summary> /// <param name="dt">数据源</par ...
- 史上最全的springboot导出pdf文件
最近项目有一个导出报表文件的需求,我脑中闪过第一念头就是导出pdf(产品经理没有硬性规定导出excel还是pdf文件),于是赶紧上网查看相关的资料,直到踩了无数的坑把功能做出来了才知道其实导出exce ...
- 使用iTextSharp来填充PDF模板文件
需求简介: 遇到了这样一个需求:某公司需要为所有用户的培训生成一个培训记录,过程如下: (1)用户在培训完之后会进入到一个填写信息的界面. (2)用户填写信息. (3) ...
- PDF模板报表导出(Java+Acrobat+itext)
1. 首先要安装Adobe Acrobat,装好之后用Acrobat从一个word,excel或者pdf中转换一个pdf模板,我做的模板很简单,直接写一个简单的word再生成一个pdf表单,之后编辑文 ...
- 创建PDF模板,java添加内容、导出下载PDF
本文主要内容是:用java在pdf模板中加入数据,图片. 废话不多说,举个非常简单的例子: 首先创建word文档,导出PDF. 用 软件adobe acrobat打开,操作步骤如图: 在指定位置添加文 ...
随机推荐
- 日常Bug排查-Nginx重复请求?
日常Bug排查-Nginx重复请求? 前言 日常Bug排查系列都是一些简单Bug排查,笔者将在这里介绍一些排查Bug的简单技巧,其中不乏一些看起来很低级但很容易犯的问题. 问题现场 有一天运维突然找到 ...
- fiddler操作详情
1.设置fiddler请求过滤 2.请求与响应的格式内容 3.拦截请求操作 a.按F11开始拦截,发送请求 b.修改请求数据 c.SHIFT+F11关闭拦截 d.run to complete,把修 ...
- 3、Java基础语法(下):程序流程控制
程序流程控制 从键盘获取不同类型的变量: 使用Scanner类,具体实现步骤: 1.导包:import java.util.Scanner; 2.Scanner的实例化:Scanner scan = ...
- 04:全局解释器锁(GIL)
1 全局解释器锁(GIL) 0 pypy(没有全局解释器锁) cpython(99.999999%) -pypy python好多模块用不了,1 全局解释器锁,GIL锁(cpython解释器的问 ...
- Duilib的双缓冲实现,附带GDI、WTL的双缓冲实现
前言: 闪烁问题,之前的经验是使用双缓冲,借此机会,把双缓冲的研究心得总结下. 双缓冲的含义: 缓冲这个词,相信大家都不陌生,Cache.主要是为了解决上下游(或者模块.或者系统)等性能不匹配问题.如 ...
- Pytest学习笔记6-自定义标记mark
前言 在pytest中,我们可以使用mark进行用例的自定义标记,通过不同的标记实现不同的运行策略 比如我们可以标记哪些用例是生产环境执行的,哪些用例是测试环境执行的,在运行代码的时候指定对应的mar ...
- 第三天编程学习Hello,World!
真正意义上迈入编程的大门--Hello,World! 新建一个文件夹(最好在桌面),方便存放代码 新建一个文件(如:Hello.txt) 改文件后缀名为.java 扩展文件得到Hello.java 编 ...
- VueX理解
什么是Vuex? 官方说法:Vuex 是一个专为 Vue.js应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化. 个人理解:Vue ...
- 使用Flash Builder 4.6出现 新建配置 失败 java.lang.NullPointerException错误
当看到这个错误的时候有点莫名奇妙的感觉,随后的第一反应是: 这跟我前些天安装的java的jre 1.8 有没有关联性.修改了设定,方法如下 "运行" -> "外部工 ...
- Spring Boot配置Filter
此博客是学习Spring Boot过程中记录的,一来为了加深自己的理解,二来也希望这篇博客能帮到有需要的朋友.同时如果有错误,希望各位不吝指教 一.通过注入Bean的方式配置Filter: 注意:此方 ...