asp.net2.0导出pdf文件完美解决方案
作者:清清月儿
主页:http://blog.csdn.net/21aspnet/ 时间:2007.5.28
PDF简介:PDF(Portable Document Format)文件格式是Adobe公司开发的电子文件格式。这种文件格式与操作系统平台无关,也就是说,PDF文件不管是在Windows,Unix还是在苹果公司的Mac OS操作系统中都是通用的。这一特点使它成为在Internet上进行电子文档发行和数字化信息传播的理想文档格式。越来越多的电子图书、产品说明、公司文告、网络资料、电子邮件开始使用PDF格式文件。PDF格式文件目前已成为数字化信息事实上的一个工业标准。
Adobe公司设计PDF文件格式的目的是为了支持跨平台上的,多媒体集成的信息出版和发布,尤其是提供对网络信息发布的支持。为了达到此目的, PDF具有许多其他电子文档格式无法相比的优点。PDF文件格式可以将文字、字型、格式、颜色及独立于设备和分辨率的图形图像等封装在一个文件中。该格式文件还可以包含超文本链接、声音和动态影像等电子信息,支持特长文件,集成度和安全可靠性都较高。
日常工作中经常遇到想把报表和网页导出到PDF的需求。本文提供完美的解决方案:
ASP.NET导出到PDF的最终效果图(其实winform和控制台程序都一样可以做)。
本文实现 文字,图片,数据表的导出
核心技术方案:使用itextsharp.dll
1.下载itextsharp.dll和ICSharpCode.SharpZipLib.dll
http://sourceforge.net/project/showfiles.php?group_id=72954
iTextSharp.tutorial.01.zip 示例文件 提供了各种解决方案本文由于时间问题仅做抛砖引玉,希望大家自己研究其他需求
itextsharp.dll itextsharp-4.0.3-dll.zip
ICSharpCode.SharpZipLib.dll http://download.csdn.net/down/135897 ICSharpCode.SharpZipLib.dll
SharpZipLib.dll类库中的内容实现的压缩与解压功能,它是开源的
2.引用itextsharp.dll和ICSharpCode.SharpZipLib.dll
3.后台代码:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using iTextSharp;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
public partial class _Default : System.Web.UI.Page
...{
static DataTable datatable = new DataTable("testpdf");
protected void Page_Load(object sender, EventArgs e)
...{
//判断是否是回发页面http://blog.csdn.net/21aspnet
if (!Page.IsPostBack)
...{
DataRow dr;
//建立Column例,可以指明例的类型,这里用的是默认的string
datatable.Columns.Add(new DataColumn("编号"));
datatable.Columns.Add(new DataColumn("用户名"));
for (int i = 1; i < 5; i++)
...{
dr = datatable.NewRow();
dr[0] = System.Convert.ToString(i);
dr[1] = "清清月儿" + System.Convert.ToString(i);
datatable.Rows.Add(dr);
}
}
}
protected void Button1_Click(object sender, EventArgs e)
...{
try
...{
Document document = new Document();
PdfWriter.getInstance(document, new FileStream(Server.MapPath("Chap0101.pdf"), FileMode.Create));
document.Open();
BaseFont bfChinese = BaseFont.createFont("C:\\WINDOWS\\Fonts\\simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
Font fontChinese = new Font(bfChinese, 12, Font.NORMAL,new Color(0, 0, 0));
document.Add(new Paragraph(this.TextBox1.Text.ToString(), fontChinese));
iTextSharp.text.Image jpeg = iTextSharp.text.Image.getInstance(Server.MapPath("pic015.jpg"));
document.Add(jpeg);
PdfPTable table = new PdfPTable(datatable.Columns.Count);
for (int i = 0; i < datatable.Rows.Count; i++)
...{
for (int j = 0; j < datatable.Columns.Count; j++)
...{
table.addCell(new Phrase(datatable.Rows[i][j].ToString(), fontChinese));
}
}
document.Add(table);
document.Close();
}
catch (DocumentException de)
...{;
Response.Write(de.ToString());
}
}
}
4.前台代码:
<%...@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>清清月儿 制作导出PDF http://blog.csdn.net/21aspnet</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="导出" /></div>
</form>
</body>
</html>
5.前台操作:
6.属性说明:
itextsharp-4.0.3-dll.zip 示例文件包含几乎所有的PDF处理需求
颜色:
Font fontChinese = new Font(bfChinese, 12, Font.NORMAL,new Color(0, 0, 0)); //黑Font fontChinese = new Font(bfChinese, 12, Font.NORMAL,new Color(0, 255, 0)); //绿
注释:
iText支持不同风格的注释。
u 文本注释:
你可以添加一小段文本到你的文档中,但它并非文档内容的一部分,注释有标题和内容:
Annotation a = new Annotation(
"authors",
"Maybe it's because I wanted to be an author myself that I wrote iText.");
对齐方式:
cell.HorizontalAlignment = Element.ALIGN_CENTER;
cell.VerticalAlignment = Element.ALIGN_MIDDLE;
下划线/删除线:
Chunk chunk1 = new Chunk("This text is underlined", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.UNDERLINE));
Chunk chunk2 = new Chunk("This font is of type ITALIC | STRIKETHRU", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.ITALIC | Font.STRIKETHRU));
加密:
public void setEncryption(boolean strength, String userPassword, String ownerPassword, int permissions);
由于时间问题:更多如页眉页脚属性目录水印单元格间距边框等等请大家自己研究文档。
你想得到的想不到的示例文件都有。
分享到:
相关推荐
下面将详细讲解如何在ASP.NET 2.0中实现PDF文件的完美导出。 首先,我们需要理解PDF的格式。PDF(Portable Document Format)是一种通用的文件格式,能够保留原始文档的格式和内容,跨平台兼容性极佳。在ASP.NET ...
ASP.NET 2.0是微软开发的一个用于构建Web应用程序的框架,它建立在.NET Framework之上,为开发者提供了更高效、更灵活的Web开发环境。本书《ASP.NET 2.0入门经典:C#编程篇》显然是针对初学者设计的,旨在帮助读者...
ASP.NET 2.0是微软开发的一个用于构建Web应用程序的框架,它建立在.NET Framework的基础之上,为开发者提供了丰富的功能和高效的语言支持。本资源"ASP.NET 2.0网络编程从入门到精通-修订"显然是一个教程文档,旨在...
《Programming Microsoft ASP.NET 2.0 Applications - Advanced Topics》是一本深入探讨ASP.NET 2.0高级应用开发的专业书籍。本书旨在帮助开发者充分利用ASP.NET 2.0的强大功能,实现高效、可扩展和高度定制化的Web...
通过这个案例教程,学习者不仅会掌握ASP.NET 2.0的基本概念和技术,还能通过实际案例学习如何将这些知识应用于解决实际问题,提升其在Web开发领域的技能。每个课件可能包含详细的讲解、示例代码和实践练习,确保理论...
内容代码,使用VB.net和C# 两种解释 <br>第1章ASP.NET2.0概述 1 1.1简史 1 1.2ASP.NET2.0的目标 2 1.2.1开发人员的效率 3 1.2.2管理 5 1.2.3性能和可伸缩性 8 1.3ASP.NET2.0的其他新特性 8 ...
ASP.NET 2.0是微软公司推出的一种用于构建Web应用程序的框架,它是.NET Framework的一部分,为开发者提供了丰富的功能和工具,使得创建动态、交互式的Web站点变得更加容易。本教程将深入探讨ASP.NET 2.0的核心特性,...
此"天轰穿ASP.NET2.0视频教程"针对初学者和进阶开发者,通过详细的教学指导,帮助用户掌握ASP.NET 2.0的核心概念和技术。 1. **ASP.NET 2.0架构** ASP.NET 2.0基于.NET Framework 2.0,引入了统一的页面生命周期...
本书的章节结构清晰,每章都遵循提出问题、分析解决方案、实际操作的模式,使读者能够逐步理解并掌握ASP.NET 2.0的开发技巧。书中的实例代码可以在指定的合作站点上下载,以便读者进行实践和学习。 对于寻求提升ASP...
《Wrox Asp.Net 2.0 Instant Results》是一本针对ASP.NET 2.0技术的经典案例教程,旨在帮助读者快速掌握并应用ASP.NET 2.0开发动态网站的技能。...下载提供的PDF文件,开始你的ASP.NET 2.0探索之旅吧。
根据提供的文件信息,我们可以推断出这是一本关于ASP.NET 2.0的专业书籍,书名为《Professional ASP.NET 2.0》,由多位作者共同编写,包括Bill Evjen、Scott Hanselman、Farhan Muhammad、Srinivasa Sivakumar 和 ...
2.回顾 ASP.NET 2.0解决的 Internet 编程问题 3.解释 ASP.NET 2.0是怎样适应其他技术的 4.浏览一个由 ASP.NET 2.0构建的站点的动态功能 5.理解创建 ASP.NET 2.0页面(ASPX)将要使用的工具--Visual Web Developer ...
这个“ASP.NET2.0实用教程(C#版)书中例子”PPT很可能会涵盖以上这些主题,并通过实例演示如何在实践中应用这些技术。PPT中的例子可能包括创建简单的Web表单、使用控件进行数据绑定、实现用户身份验证以及利用AJAX...
在全面介绍ASP.NET各种编程技能的同时重点介绍了ASP.NET 2.0版本中的巨大变化,详细阐述了ASP.NET 2.0中所包含的每个新特性。书中提供了大量的实例,可帮助读者快速掌握如何在.NET Framework下构建功能强大的ASP.NET...
本书以全新ASP.NET 2.0内容设计为出发点,循序渐进地以图文步骤及观念讲解新的ASP.NET 2.0技术精要。内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas ...
本书通过深入剖析12个使用ASP.NET 2.0开发的项目,全面阐述了ASP.NET 2.0应用程序的架构及ASP.NET 2.0新增的控件和功能。通过探索这些项目的设计和代码,读者可快速掌握使用ASP.NET 2.0开发应用程序的技巧,从空白...
本书以全新ASP.NET 2.0内容设计为出发点,循序渐进地以图文步骤及观念讲解新的ASP.NET 2.0技术精要。内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas ...
本书以全新ASP.NET 2.0内容设计为出发点,循序渐进地以图文步骤及观念讲解新的ASP.NET 2.0技术精要。内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas ...
《ASP.NET 2.0 + SQL Server 网络应用开发详解》这本书是针对使用ASP.NET 2.0和SQL Server进行Web应用开发的详细指南。ASP.NET是Microsoft .NET框架的一部分,它提供了一种高效、面向对象的方式来构建动态网站、web...