文章主要介绍使用ITextSharp导出PDF表格和图片的简单操作说明,以下为ITextSharp.dll下载链接

  分享链接:http://pan.baidu.com/s/1nuc6glj 密码:3gxw

  一、流程

                                                                                                                                    

二、简单实例:

1)创建表格实例

      程序:

        /// <summary>
/// 创建PDF文件
/// </summary>
private void CreatPDFTable()
{
//打印PDF表格
string pdfname = string.Empty;
SaveFileDialog dlg = new SaveFileDialog();
dlg.FileName = "PDF表格";
dlg.DefaultExt = ".pdf";
dlg.Filter = "Text documents (.pdf)|*.pdf";
if (dlg.ShowDialog() == DialogResult.OK)
{
pdfname = dlg.FileName;
FileStream fs = new FileStream(pdfname, FileMode.Create); //创建文件流
Document document = new Document(PageSize.A7.Rotate()); //创建文件 PageSize.A7.Rotate()表示A7纸横向输出
PdfWriter pdfWriter = PdfWriter.GetInstance(document, fs); //实例化
document.Open(); //打开文件
document.Add(new Paragraph(""));
document.Add(PDFTable1()); //添加表格 document.SetPageSize(PageSize.A6); //A6纸纵向输出
document.NewPage(); //新起一页
document.Add(new Paragraph(""));
document.Add(PDFTable2());
document.Add(new Paragraph(""));
document.Add(PDFTable3());
document.Close(); //关闭文件
fs.Close();
}
}
/// <summary>
/// 创建表格1
/// </summary>
/// <returns></returns>
private PdfPTable PDFTable1()
{
var table1 = new PdfPTable(); //创建表格实例4列
int[] a = { , , , }; //设置列宽比例
table1.SetWidths(a); for (int i = ; i < ; i++)
{
table1.AddCell((i + ).ToString()); //添加单元格
}
return table1;
} /// <summary>
/// 创建表格2
/// </summary>
/// <returns></returns>
private PdfPTable PDFTable2()
{
//字体定义
var bfchinese = BaseFont.CreateFont(@"c:\windows\fonts\simkai.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);//simkai.ttf
var ChFont_12 = new iTextSharp.text.Font(bfchinese, );
var ChFont_10 = new iTextSharp.text.Font(bfchinese, );
var ChFont_8 = new iTextSharp.text.Font(bfchinese, );
var ChFont_12_red = new iTextSharp.text.Font(bfchinese, , iTextSharp.text.Font.ITALIC, BaseColor.RED);
var table2 = new PdfPTable(); //创建表格实例
PdfPCell cell;
cell = new PdfPCell(new Phrase(Convert.ToString(), ChFont_10));
cell.HorizontalAlignment = ; //居中输入 默认 0:居左 1:居中
cell.Colspan = ; //横向合并单元格
table2.AddCell(cell); cell = new PdfPCell(new Phrase(Convert.ToString(), ChFont_8));
cell.HorizontalAlignment = ;
cell.Rowspan = ; //纵向合并单元格
table2.AddCell(cell); cell = new PdfPCell(new Phrase(Convert.ToString(), ChFont_10));
cell.BackgroundColor = BaseColor.GRAY; //设置背景颜色
table2.AddCell(cell); cell = new PdfPCell(new Phrase(Convert.ToString(), ChFont_12_red)); //设置字体颜色
table2.AddCell(cell); for (int i = ; i < ; i++)
{
table2.AddCell((i + ).ToString()); //添加单元格
}
return table2;
} /// <summary>
/// 单元格中填加表
/// </summary>
/// <returns></returns>
private PdfPTable PDFTable3()
{
var table3 = new PdfPTable(); int[] a = { , , , }; //设置列宽比例
table3.SetWidths(a);
for (int i = ; i < ; i++)
{
if (i == )
{
PdfPCell cell = new PdfPCell(PDFTable2()); //单元格中添加表2
cell.Padding = ; //表与单元格间距为0;
table3.AddCell(cell);
continue;
}
table3.AddCell(""); //添加单元格
}
return table3;
}

    样式:

    

    

2)创建图片

    程序:

 private void btnPDFImage_Click(object sender, EventArgs e)
{
string pdfname = string.Empty;
SaveFileDialog dlg = new SaveFileDialog();
dlg.FileName = "PDF图片";
dlg.DefaultExt = ".pdf";
dlg.Filter = "Text documents (.pdf)|*.pdf";
if (dlg.ShowDialog() == DialogResult.OK)
{
pdfname = dlg.FileName;
FileStream fs = new FileStream(pdfname, FileMode.Create); //创建文件流
Document document = new Document(PageSize.A5.Rotate()); //创建文件 PageSize.A5.Rotate()表示A5纸横向输出
PdfWriter pdfWriter = PdfWriter.GetInstance(document, fs); //实例化
document.Open(); //打开文件
document.Add(addImage(document)); //添加图片
document.Add(addImage2(document)); //添加图片
document.Close(); //关闭文件
fs.Close();
}
}
/// <summary>
/// PDF添加图片
/// </summary>
/// <returns></returns>
private iTextSharp.text.Image addImage(Document document)
{
iTextSharp.text.Image hgLogo = iTextSharp.text.Image.GetInstance("yijing.jpg");
hgLogo.ScalePercent(4f); //图片比例
hgLogo.SetAbsolutePosition(40f, document.PageSize.Height - 100f); //iamge 位置
return hgLogo;
}
/// <summary>
/// PDF添加图片2
/// </summary>
/// <param name="document"></param>
/// <returns></returns>
private iTextSharp.text.Image addImage2(Document document)
{
iTextSharp.text.Image hgLogo = iTextSharp.text.Image.GetInstance("yijing.jpg");
hgLogo.ScalePercent(12f); //图片比例
hgLogo.SetAbsolutePosition(200f, document.PageSize.Height - 400f); //iamge 位置
return hgLogo;
}

样式:

ITextSharp导出PDF表格和图片(C#)的更多相关文章

  1. iTextSharp导出PDF模板(报告)

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;us ...

  2. 利用ITextSharp导出PDF文件

    最近项目中需要到处PDF文件,最后上网搜索了一下,发现ITextSharp比较好用,所以做了一个例子: public string ExportPDF() { //ITextSharp Usage / ...

  3. 使用itextsharp创建PDF文档——图片集合

    文档管理系统中 ,扫描模块将文档或证件扫描后.为了便于保存多个图片,拟将多个图片生成一个PDF文档进行保存. 这里我们就需要PDF生成工具了.你可以在这里下载.PDFCreator 主要使用了开源工具 ...

  4. C# 利用ITextSharp导出PDF文件

    最近项目中需要导出PDF文件,最后上网搜索了一下,发现ITextSharp比较好用,所以做了一个例子: public string ExportPDF() { //ITextSharp Usage / ...

  5. c# iTextSharp导出PDF

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Th ...

  6. 使用iTextSharp导出PDF

    /// <summary> /// 导出至PDF /// </summary> /// <param name="dt">数据源</par ...

  7. 史上最全的springboot导出pdf文件

    最近项目有一个导出报表文件的需求,我脑中闪过第一念头就是导出pdf(产品经理没有硬性规定导出excel还是pdf文件),于是赶紧上网查看相关的资料,直到踩了无数的坑把功能做出来了才知道其实导出exce ...

  8. PHP导入导出excel表格图片(转)

    写excel的时候,我用过pear的库,也用过pack压包的头,同样那些利用smarty等作的简单替换xml的也用过,csv的就更不用谈了.呵呵.(COM方式不讲了,这种可读的太多了,我也写过利用wp ...

  9. iText导出pdf、word、图片

    一.前言 在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示或 ...

随机推荐

  1. stringbuffer和stringbuilder

    StringBuffer是线程安全的可变字符序列.长度可变,类型任意,最终都要转换为字符串存储.是一个字符串缓冲区,是一个容器.用于临时存储数据.不过StringBuffer缓冲区内部是由数组来存储的 ...

  2. Python面试题

    1.Python装饰器 详情 2.设置多个Python项目使用不同版本的Python和第三方库 使用PyEnv 详情 3.PEP8 详情 4.参数传递 按引用传递 5.列表解析,字典解析 详情 6.列 ...

  3. 《大道至简》第三章读后感+ppt课后作业

                   大道至简读后感 ——第三章团队 古人云“三人为众”,众则是指团体或团队.对于一个团队而言,重要的是凝聚力,大家能在一起把拳头握紧那么产生的力量就不紧紧是能以1+1=2 来 ...

  4. python容器类型:列表,字典,集合等

    容器的概念我是从C++的STL中学到的 什么是容器? 容器是用来存储和组织其他对象的对象. 也就是说容器里面可以放很多东西,这些东西可以是字符串,可以是整数,可以是自定义类型,然后把这些东西有组织的存 ...

  5. ubuntu 14.4 中文语言包安装问题

    1.安装前,请选择更新源,在系统设定 system setting 里,选择software and updates 里,选择中国的源,用于快速更新语言包 2.在language support里选择 ...

  6. 类似lol的友军视野怎么实现

    https://github.com/kbengine/kbengine/issues/129 你们可以按这个思路自己先改一下 例如: 可将队友的AOI实体也同步到自己的客户端中. 可对某些特定类型的 ...

  7. MySQL_采购入库价格与在线售价监控_20161213

    c037采购入库价格与在线售价监控 ##c037采购入库价格与在线售价监控 SELECT a.城市,a.产品ID,a.商品名称,a.入库日期,a.入库仓库,a.单价,a.总金额,a.采购人,b.单价 ...

  8. web初学之JavaBean

    JavaBean 1.javaBean类:特殊的java类,以封装和重用为目的.通常JavaBean与Jsp搭配使用构成JavaBean技术. (1)JavaBean的规范: ●JavaBean是个公 ...

  9. opengl

    基于OpenGL ES的GLfixed类型使用 OpenGL ES中引入了GLfixed类型.这个类型一般被定义为int,32位.高16位表示整数部分,低16位表示小数部分.由于其整数部分和小数部分所 ...

  10. (转)UIWebView全部API学习

    网上找的收藏一下 http://www.myexception.cn/web/1888974.html 最生僻的API做了下划线以及粗体的标注.百度上查了全是拷贝的同一份代码,而且只有代码没有解释,很 ...