[ASP.NET]利用itextsharp将GridView汇出PDF档

原文 [ASP.NET]利用itextsharp将GridView汇出PDF档

最近在讨论区看到有人说itextsharp可以把网页变成PDF

小弟就去抓一下itextsharp来玩玩,先教大家最实用的,就是把GridView汇出成PDF档

asp.net(c#) 

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="GridViewToPDF.Index" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>GridViewToPDF</title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="汇出至PDF档" />
            <asp:GridView ID="GridView1" runat="server">
            </asp:GridView>
        </div>
    </form>
</body>
</html>

 

 

using System;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html.simpleparser;
using System.IO;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Collections.Generic;

namespace GridViewToPDF
{
    public partial class Index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                List<member> mem = new List<member>();
                mem.Add(new member("1", "Puma"));
                mem.Add(new member("2", "F6 Team"));
                this.GridView1.DataSource = mem;
                this.GridView1.DataBind();
            }
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.ContentType = "application/pdf";
            Response.ContentEncoding = System.Text.Encoding.UTF8;
            Response.AddHeader("content-disposition", "attachment;filename=test.pdf");
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            System.IO.StringWriter stringWrite = new StringWriter();
            System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);

            HtmlForm form = new HtmlForm();
            form.Controls.Add(GridView1);
            form.Controls[0].RenderControl(htmlWrite);
            StringReader reader = new StringReader(stringWrite.ToString());
            Document doc = new Document(PageSize.A4);
            HTMLWorker parser = new HTMLWorker(doc);
            PdfWriter.GetInstance(doc, Response.OutputStream);
            doc.Open();
            parser.Parse(reader);
            doc.Close();
        }

    }
    public class member
    {
        private string _id;
        private string _name;

        public member(string ID, string Name)
        {
            _id = ID;
            _name = Name;
        }

        public string ID
        {
            set { _id = value; }
            get { return _id; }
        }

        public string Name
        {
            set { _name = value; }
            get { return _name; }
        }
    }
}

 

 

   

执行结果:

 

参考网址:

http://csharpdotnetfreak.blogspot.com/2008/12/export-gridview-to-pdf-using-itextsharp.html 
http://blog.rubypdf.com/2007/10/10/using-htmlworker-to-parse -html-snippets-and-convert-to-pdf/ 
http://stackoverflow.com/questions/1322303/html-to-pdf-some-characters-are-missing-itextsharp 
http://coolwebdeveloper.com/2008/ 10/using-open-source-itextsharp-net-pdf-library-to-generate-pdf-on-the-fly/ 
http://forums.asp.net/t/1199774.aspx

时间: 2024-09-25 03:48:20

[ASP.NET]利用itextsharp将GridView汇出PDF档的相关文章

[C#] 网页Html转PDF档(一行程式码解决)

原文 [C#] 网页Html转PDF档(一行程式码解决) 网页转PDF档做法很多( Convert HTML to PDF in .NET ) 这边纪录一下老外最多人加分的那篇做法,使用wkhtmtopdf (采GPL授权)可以省很多程式码   首先到官网http://code.google.com/p/wkhtmltopdf/downloads/list 找installer.exe下载,这边Demo我是下载wkhtmltopdf-0.9.9-installer.exe 下载完后执行安装它 选

[ASP.net MVC] 将HTML转成PDF档案,使用iTextSharp套件的XMLWorkerHelper (附上解决显示中文问题)

原文:[ASP.net MVC] 将HTML转成PDF档案,使用iTextSharp套件的XMLWorkerHelper (附上解决显示中文问题) [ASP.net MVC] 将HTML转成PDF档案,使用iTextSharp套件的XMLWorkerHelper (附上解决显示中文问题) 前言 最近专案又遇到需要制作PDF文件的需求,这次还要额外控制PDF档案的其他功能,我的直觉马上联想到使用iTextSharp来实现 一般使用iTextSharp套件要塞资料到PDF档案里的话,大概要先把Phr

[ASP.NET]以iTextSharp手绘表格并产生PDF下载

原文 [ASP.NET]以iTextSharp手繪表格並產生PDF下載 大家使用iTextSharp的機緣都不太一樣, 由於單位Crystal Report的License數量有限主管要我去找一個免費產生PDF方法, 避免Crystal Report的License使用過多, 於是乎就找上了iTextSharp.  Crystal Report 與 iTextSharp比較表   Crystal Report iTextSharp 視覺化界面 YES NO 轉換成PDF YES YES 費用 Y

利用JavaScript选择GridView行

本篇技巧和诀窍记录的是:利用JavaScript选择GridView行. 下面我们利用JavaScript完成这一功能. 我们可以通过调用JavaScirpt函数改变单击的行的背景颜色来模拟选择的行 ,这里需要声明一个隐藏字段,从JS中获得选取GridView行的ID.在选择/删除 事件中,可以从隐藏字段中得到选择行的ID,完成一些需要功能. 第一步:在页面中添加GridView控件和一个按钮,隐藏字段 <input id="hdnEmailID" type="hidd

ASP.NET 2.0中Gridview中数据操作技巧

Asp.net 2.0中新增的gridview控件,是十分强大的数据展示控件,在前面的 系列文章里,分别展示了其中很多的基本用法和技巧(详见<<ASP.NET 2.0中Gridview控件高级技巧>>.<<ASP.NET2.0利用Gridview实现 主从关系>>).在本文中,将继续探讨有关的技巧. 一.Gridview中的内容导出到Excel 在日常工作中,经常要将gridview中的内容导出到excel报表中去,在 asp.net 2.0中,同样可以很方

asp.net 网站发布后word转pdf没有权限

问题描述 asp.net 网站发布后word转pdf没有权限 网站需要把word转成pdf,我用一个SaveAsPDFandXPS.exe插件,源码跑起来没有问题.但是网站一发布,就会报错,查了下,是权限问题,解决方法是web.config identity impersonate="true" userName="" password="" 但是这个方法太危险,不知道有没有其他办法 解决方案 你看看服务器对应文件夹的权限,把文件夹权限搞成可以读

asp中利用数组实现数据库记录的批量录入方法

数据|数据库|数组 asp中利用数组实现数据库记录的批量录入方法(原创) 演示:http://www.zwtd.com/1/yanek/n/needdj2.asp <% rem 文章题目 asp中利用数组实现数据库记录的批量录入方法(原创)作者:yanek联系email:aspboy@263.net%> 包括两个文件 1.allneeddj.asp:实现表单的生成 2. allneeddjresult.asp 处理表单批量录入 3.hbedu.mdb :数据库文件 其数据库结构如下 provi

在ASP中利用“正则表达式” 对象实现UBB风格的论坛

ubb|对象|正则 上一次,我们谈到在ASP中如何利用"正则表达式"对象来实现各种数据的校验,文中描述了正则表达式对象的强大功能,接下来,我们来看看有关"正则表达式"对象的其他功能.当我们在网上冲浪的时候,尤其是浏览各类论坛的时候,经常会见到"UBB代码"这个词语.什么是UBB代码呢?UBB代码是HTML的一个变种http://www.alixixi.com/program/a/,是Ultimate Bulletin Board (国外一个BBS

asp.net 2.0中用GRIDVIEW插入新记录

asp.net|插入 看了下国外某巨牛的BLOG,大概是讲asp.net 2.0中用GRIDVIEW插入新记录的,方法比较特别,但效果一般,故将程序转之,较为简单,不做解释等.<%@ Page Language="C#" ClassName="Default_aspx" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/