/// <summary>
/// 导出至PDF
/// </summary>
/// <param name="dt">数据源</param>
/// <param name="fileName">文件名</param>
/// <param name="dicTableHeader">字段表头名对照</param>
public static void Export(DataTable dt, string fileName, Dictionary<string, string> dicTableHeader)
{
Document document = new Document();
using (MemoryStream pdfStream = new MemoryStream())
{
PdfWriter pdfWriter = PdfWriter.GetInstance(document, pdfStream);
document.Open();
BaseFont bfChinese = BaseFont.CreateFont(@"C:\Windows\Fonts\simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font fontChinese = new Font(bfChinese, , Font.NORMAL, new BaseColor(, , ));
Font fontHeader = new Font(bfChinese, , Font.BOLD, new BaseColor(, , )); int columCount = dicTableHeader.Count;
PdfPTable table = new PdfPTable(columCount); foreach (var item in dicTableHeader)
{
PdfPCell cell = new PdfPCell(new Phrase(item.Value, fontHeader));
cell.HorizontalAlignment = Element.ALIGN_CENTER;
table.AddCell(cell);
} for (int i = ; i < dt.Rows.Count; i++)
{
foreach (var item in dicTableHeader)
{
table.AddCell(new Phrase(dt.Rows[i][item.Key].ToString(), fontChinese));
}
}
document.Add(table); document.Close();
pdfWriter.Close(); HttpContext curContext = HttpContext.Current;
curContext.Response.Clear();
curContext.Response.ClearContent();
curContext.Response.ClearHeaders();
curContext.Response.ContentType = "application/octet-stream";
curContext.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, Encoding.UTF8) + ".pdf");
curContext.Response.BinaryWrite(pdfStream.ToArray());
curContext.Response.Flush();
curContext.Response.End();
} }

使用iTextSharp导出PDF的更多相关文章

  1. ITextSharp导出PDF表格和图片(C#)

    文章主要介绍使用ITextSharp导出PDF表格和图片的简单操作说明,以下为ITextSharp.dll下载链接 分享链接:http://pan.baidu.com/s/1nuc6glj 密码:3g ...

  2. 利用ITextSharp导出PDF文件

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

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

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

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

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

  5. c# iTextSharp导出PDF

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

  6. C#&.Net干货分享- iTextSharp导出数据源到PDF

    namespace Frame.ITextSharp{    /// <summary>    /// iTextSharp导出数据源到PDF    /// </summary> ...

  7. 用Itextsharp 组件导出PDF 的文档的方法

    Itextsharp 是一个很强大,开源的,轻量级的 PDF 生成组件,官方网上好像没有相应的API 说明文档,以下是在工作中使用的心得与体会,并附上源码,功能包含了pdf 的创建,table 的创建 ...

  8. .Net导出pdf文件,C#实现pdf导出

    最近碰见个需求需要实现导出pdf文件,上网查了下代码资料总结了以下代码.可以成功的实现导出pdf文件. 在编码前需要在网上下载个itextsharp.dll,此程序集是必备的.楼主下载的是5.0版本, ...

  9. 根据路径获得文件名以及Aspose.Cells.dll操作excel 以及使用iTextSharp.text.pdf.PdfReader.dll对PDF的操作

    string result = Regex.Match(str,@"[^\\]+$").Value;//正则表达式 this.listBox1.Items.Add(Path.Get ...

随机推荐

  1. 新电脑一般javaweb配置

    下个jdk (官网)1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Jav ...

  2. 第一篇:SpringBoot2.0简单介绍

    距离Spring Boot1.0发布已经4年了,今年3月份SpringBoot2.0正式发布.让我们一起来了解一下它. Spring Boot主要依赖于Spring,整合了很多框架的使用方式,帮助开发 ...

  3. RPC的基础:调研EOS插件http_plugin

    区块链的应用是基于http服务,这种能力在EOS中是依靠http_plugin插件赋予的. 关键字:通讯模式,add_api,http server,https server,unix server, ...

  4. Docker国内仓库和镜像

    由于网络原因,我们在pull Image 的时候,从Docker Hub上下载会很慢...所以,国内的Docker爱好者们就添加了一些国内的镜像(mirror),方便大家使用. 一.国内Docker仓 ...

  5. ida 调试 android fork

    在使用ida 调试android native代码时经常会碰见fork子进程的情况出现,而运行一个 android_server只能对一个进程进行调试或者attach,而ida 默认端口是23946, ...

  6. process_begin: CreateProcess(NULL,......) make (e=87): 参数错误。

    在编译 trinity-android 的过程中,总是报 process_begin: CreateProcess(NULL,......) make (e=87): 参数错误 原因是.MK文件中包含 ...

  7. Bootstrap学习记录-2.container和table

    1. Container Bootstrap中容器类提供了2个类标识:container.container-fluid. 两者的区别在于: container:容器不止有15px的padding,还 ...

  8. 控制台安装跟检测Microsoft.Net Framework

    1.检测 每一个版本的.Net Framework的安装过程都会在Windows目录下的\Microsoft.NET\Framework目录中生成一个子目录(安装目录). 比如说,假设Windows目 ...

  9. 设计模式之备忘录模式(Memento )

    当我们在实际应用中需要提供撤销机制,当一个对象可能需要再后续操作中恢复其内部状态时,就需要使用备忘录模式.其本质就是对象的序列化和反序列化的过程,支持回滚操作. 作用 在不破坏封装性的前提下,捕获一个 ...

  10. JNI和NDK基础

    引言 JNI是Java Native Interface(Java本地接口),是为了方便Java调用C和C++等本地代码所封装的一层接口. NDK是Android提供的一个工具集合,通过NDK可以在A ...