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.net2.0导出pdf文件完美解决方案 asp.net2.0导出pdf文件完美解决方案
Professional ASP.NET 2.0.pdfProfessional ASP.NET 2.0.pdfProfessional ASP.NET 2.0.pdf
ASP.NET 2.0动态网站开发基础教程(C#) 第01章 ASP.NET2.0基础 Framework Web Form(共32页).ppt ASP.NET 2.0动态网站开发基础教程(C#) 第02章 HTML和脚本语言 VBScript javaScript(共21页).ppt ASP.NET 2.0...
内容代码,使用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.net2.0 入门经典C#篇.避免了翻译后的质量下降
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.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 ...
2.回顾 ASP.NET 2.0解决的 Internet 编程问题 3.解释 ASP.NET 2.0是怎样适应其他技术的 4.浏览一个由 ASP.NET 2.0构建的站点的动态功能 5.理解创建 ASP.NET 2.0页面(ASPX)将要使用的工具--Visual Web ...
本书以全新ASP.NET 2.0内容设计为出发点,循序渐进地以图文步骤及观念讲解新的ASP.NET 2.0技术精要。内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas ...
这部分内容不需要读者有任何的客户端开发知识,只要在Visual Stuio中轻松拖放即可实现强大的客户端Ajax功能,例如局部页面更新、异步回送、拖放、动画等,非常适合为现有的ASP.NET 2.0应用程序添加少量的Ajax特性,...
本书以全新ASP.NET 2.0内容设计为出发点,循序渐进地以图文步骤及观念讲解新的ASP.NET 2.0技术精要。内容涵盖VS 2005开发工具、SQL Server 2005安装管理策略与ASP.NET 2.0各种新功能,乃至于极度爆红的AJAX与Atlas ...
asp.net 2.0 网站开发全程解析 第2版
ASP.net 2.0网络编程从入门到精通-修订.rar
ASP.NET 2.0网络开发技术 ASP.NET 2.0类,对象和命名空间,电子书
asp.net 导出 pdf 文件
ASP.NET 2.0网络编程自学手册 (版本是低了点,但是有些函数的应用对OOP-面向对象的有些思想还是有些启发作用) ASP.NET 2.0 是 Microsoft 公司推出的 Web 开发平台,也是目前最先进、特征最丰富、功 能最...