- 浏览: 7949394 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
近期要用asp.net 2.0生成PDF,看了下书,查了下资料,发现可以有组件帮得上忙,可以下载itextsharp(https://sourceforge.net/projects/itextsharp)
下载,然后在工程中引用该控件,举例子如下
1 datatable 的内容转换为PDF
首先,建立一个datatable转换为pdf的方法如下
using iTextSharp;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;
/// <summary>
/// 将DataTable转化为PDF文件的方法
/// </summary>
public class TableToPDF
{
public TableToPDF()
{
}
/// <summary>
/// 转换数据表为PDF文档
/// </summary>
/// <param name="Data">数据表数据</param>
/// <param name="PDFFile">目标PDF文件全路径</param>
/// <param name="FontPath">字体所在路径</param>
/// <param name="FontSize">字体大小</param>
/// <returns>返回调用是否成功</returns>
public static bool ConvertDataTableToPDF(DataTable datatable, string PDFFilePath, string FontPath, float FontSize)
{
//初始化一个目标文档类
Document document = new Document();
//调用PDF的写入方法流
//注意FileMode-Create表示如果目标文件不存在,则创建,如果已存在,则覆盖。
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(PDFFilePath, FileMode.Create));
//打开目标文档对象
document.Open();
//创建PDF文档中的字体
BaseFont baseFont =BaseFont.CreateFont(
FontPath,
BaseFont.IDENTITY_H,
BaseFont.NOT_EMBEDDED);
//根据字体路径和字体大小属性创建字体
Font font = new Font(baseFont, FontSize);
//根据数据表内容创建一个PDF格式的表
PdfPTable table = new PdfPTable(datatable.Columns.Count);
//遍历原table的内容
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(), font));
}
}
//在目标文档中添加转化后的表数据
document.Add(table);
//关闭目标文件
document.Close();
//关闭写入流
writer.Close();
return true;
}
}
然后,在要调用转换的按钮的事件代码中调用就可以了
/将目标文件保存在此项目下
//字体使用simsun
//字号选择14
//mytb是数据datatable的名
TableToPDF.ConvertDataTableToPDF(mytb, Server.MapPath(".") + @"\Table.pdf", "c:\\winnt\\FONTS\\simsun.ttc,1", 14);
2 给出文本内容,生成PDF
比如用户输入文本内容及要输出PDF的保存路径的话,也可以输出PDF
///<param="txt">:要输出文本的内容</param>
private void CreateTxt(string txt,string filepath)
{
//创建文档对象
Document document = new Document();
//实例化生成的文档
PdfWriter.GetInstance(document, new FileStream(filepath, FileMode.Create));
//打开文档
document.Open();
//在文档中添加文本内容
document.Add(new Paragraph(txt));
//关闭文档对象
document.Close();
}
3 加页眉页脚
private void CreatePDFheader(string filepath,string headertxt,string footertxt)
{
//创建文档对象
Document document = new Document();
// 创建文档写入实例
PdfWriter.GetInstance(document, new FileStream(filepath, FileMode.Create));
// 添加页脚
HeaderFooter footer = new HeaderFooter(new Phrase(footertxt), true);
footer.Border = Rectangle.NO_BORDER;
document.Footer = footer;
//打开文档内容对象
document.Open();
// 添加页眉
HeaderFooter header = new HeaderFooter(new Phrase(headertxt), false);
document.Header = header;
//设计各页的内容
document.Add(new Paragraph("This is First Page"));
//新添加一个页
document.NewPage();
//第2页中添加文本
document.Add(new Paragraph("This is Second Page"));
// 重置页面数量
document.ResetPageCount();
//关闭文档对象
document.Close();
}
发表评论
-
.NET 嵌入式版4.2发布:关键更新抢先看
2012-02-22 14:57 1873作为.NET家族的一员,.Net Micro Framewor ... -
asp.net中模拟测试smtp发信
2011-03-20 18:47 1935在asp.net 中,有时要测试发信SMTP,但如果在单元测试 ... -
vs.net 2010两个数据库方面的好工具
2011-02-14 11:47 1901今天发现vs.net 2010在处理数据库方面的两个不错的工具 ... -
将gridview导出到excel,world,pdf的小结
2011-02-07 22:47 2994下面小结下把gridview的数据导出到excel,world ... -
gridviewtips1:gridview的页脚中的加亮显示和页数显示
2011-01-27 09:58 2395在asp.net 中,要经常显示gridview中的页数,并且 ... -
asp.net 4中的HTML过滤的一个新特性
2011-01-21 09:47 1899在asp.net 4中,有个新增加的对HTML过滤,防止XSS ... -
在vs.net 2010中使用重构方法
2011-01-20 16:55 2210在vs.net 2010中,可以很方便地对一些冗余的代码进行重 ... -
一个比较好的.net 3.5的异常报告类
2011-01-10 14:51 1992发现了一个比较好的异常报告类,其中用到了.net 3.5以上的 ... -
asp.net 4.0中menu菜单的改进
2011-01-03 22:47 2606在asp.net 3.5时,如果用menucontrol时,使 ... -
asp.net 4中的新特性之一:控制URL长度
2010-09-14 23:06 2428asp.net 4中的新特性之一:控制URL长度。在ASP.N ... -
vs.net 2010中使用code snippets
2010-09-09 20:58 1615其实在vs.net 2010中,使用code snippets ... -
百万开发者拥戴!七大.NET著名开源项目
2010-09-07 09:42 2340新翻译了篇帖子,原文发表在 http://publish.i ... -
asp.net 2010中jquery调用webservice
2010-08-30 22:21 2787在asp.net 2010中,在建立web应用时,默认已经在s ... -
.net中的placeholder控件
2005-01-15 20:00 2023最近留意到有人问,NET中的placeholder控件用来做什 ... -
asp.net 中一次性更新DATAGRID中所有记录
2005-01-15 20:03 982在asp.net中,如何一次性 ... -
在asp.net 中实现只允许数字输入的文本框
2005-01-15 20:18 1538在asp.net 中实现只允许数字输入的文本框,其实是十分简单 ... -
一个重构代码的小技巧
2005-01-16 21:58 1170刚开始接触重构,听就听的多了,理论没认真看过,不过今天发现,将 ... -
防止SQL注入攻击
2005-02-05 14:42 1182看了本期ASP。NET杂志里的一篇讲防止SQL注入攻击的文章, ... -
优秀.net 控件包介绍
2005-02-18 19:47 1714在oday上看到得,将介绍摘录在这里 NetAdvantage ... -
vs.net 2005中的ConfigurationManager
2005-05-06 18:11 1695vs.net 2005中的ConfigurationManag ...
相关推荐
在ASP.NET 2.0开发环境中,生成PDF文件是一个常见的需求,这可能涉及到报表、发票、合同等文档的导出。下面将详细讲解如何在ASP.NET 2.0中实现PDF文件的完美导出。 首先,我们需要理解PDF的格式。PDF(Portable ...
本入门精通PDF全集涵盖了ASP.NET 2.0的核心概念和技术,旨在帮助初学者快速掌握这一技术。 1. ASP.NET 2.0基础: ASP.NET 2.0引入了许多改进,包括控件模型的增强、数据绑定机制的简化、母版页(Master Pages)和...
第Ⅰ部分 生成ASP.NET页面 第1章 ASP.NET编程模型 2 1.1 究竟什么是ASP.NET 2 1.1.1 Web窗体中的编程 4 1.1.2 通过HTTP的事件驱动编程 4 1.1.3 HTTP协议 6 1.1.4 ASP.NET...
《PHP与ASP.NET 2.0之比较分析》是一门深度探讨两种主流Web开发技术的课程,旨在帮助开发者理解PHP和ASP.NET 2.0之间的差异、优缺点以及适用场景。这门课程通过PPT、视频和文档的形式,提供丰富的学习资源,确保学员...
水晶报表(Crystal Reports)是SAP公司的一款强大的报告生成工具,尤其在.NET框架下,与Asp.net2.0的结合使得它在企业级应用开发中占据了重要地位。本压缩包文件"CrystalReports2.0--Asp.net2.0水晶报表(Crystal...
ASP.NET 2.0 和 SQL Server 2005 是微软技术栈中用于构建Web应用程序和数据库管理的经典组合。在本项目"asp.net 2.0+sql server 2005 图书馆网站"中,开发人员利用了这两项技术来创建一个图书馆管理系统的前端和后端...
在这个"ASP.NET 2.0 管理系统开发经典案例(C#版)"的压缩包中,包含了多个实际应用场景的管理系统,如宾馆酒店、人事工资、固定资产、商品销售、图书租借和房产中介。这些案例将帮助开发者深入理解如何使用C#语言和...
文件列表中的"7-302-13906-7ch02.pdf"、"7-302-13906-7ch01.pdf"、"7-302-13906-7ch03.pdf"、"7-302-13906-7ch04.pdf"可能是关于ASP.NET 2.0的教程或指南,它们可能涵盖了上述提及的诸多概念和功能的详细解释,包括...
本教程重点聚焦于ASP.NET 2.0中的数据绑定高级技巧,这对于创建数据驱动的应用程序至关重要。 在ASP.NET 2.0中,数据绑定是一个核心特性,它允许开发者将网页控件与数据源进行连接,以展示、操作和管理数据。数据...
ASP.NET 2.0动态网站开发基础教程中的第09章着重讲解了ASP.NET Web服务以及如何在Web服务中传送数据。Web服务是一种基于互联网的、使用XML消息交换的、可独立于操作系统和编程语言的组件。它们通过标准的XML格式进行...
【简历管理系统ASP.NET2.0】是一个基于微软的ASP.NET 2.0技术构建的实用管理系统,它旨在实现对个人简历的高效管理和自动化处理。在企业招聘过程中,大量的应聘者简历需要整理、筛选和存储,这个系统能有效地解决这...
- **使用Web Setup项目**:Visual Studio 2005中的Web Setup项目可以自动生成安装程序,用于部署ASP.NET应用程序。 - **配置Web.config文件**:Web.config文件是ASP.NET应用程序的主要配置文件,用于配置应用程序的...
在Asp.Net 2.0中,可以使用Microsoft的Ajax扩展库(Microsoft AJAX Library)来实现Ajax功能。这个库包括了UpdatePanel、ScriptManager、Timer等控件,它们使得在Asp.Net页面中实现Ajax功能变得更加简单。例如,...
在提供的资源中,"20070607--深入挖掘ASP.NET 2.0系列课程(9):ASP.NET中的集合对象.pdf"可能包含了关于这些主题的详细讲解,包括实例代码和演示,对于深入理解和应用ASP.NET 2.0的集合对象将大有裨益。通过学习和...
这个压缩包包含三份文档,分别是"Visual Studio 2005开发环境.pdf"、"C#2.0程序设计基础.pdf"以及"ASP.NET2.0 页面基本对象.pdf",涵盖了从开发工具到编程语言再到ASP.NET核心概念的多个方面。 首先,"Visual ...
在ASP.NET 2.0中,缓存机制得到了进一步的优化和增强,提供了更加灵活和高效的缓存管理方式。 #### 数据库缓存策略 数据库缓存是指在数据库层面或应用程序层面存储数据副本,以避免频繁的数据库查询。在ASP.NET ...
GoagoChartReportForAsp.Net2.0主要目标是提供一种简单易用的方式来在ASP.NET应用中生成图表和报表。这通常涉及到数据可视化,使得开发者能够将数据库中的数据以图形化的方式展示给用户,帮助他们更好地理解和分析...
Asp.NET 2.0 搭配 Crystal Reports 是一种常用的报表生成解决方案,适用于开发复杂的商业智能应用。这个资源集合提供了 Crystal Reports 在 Asp.NET 2.0 环境下的实例源码,帮助开发者更好地理解和掌握如何在 C# 中...
在*** Core 2.0中,开发者还可以使用Entity Framework Core(EFCore)进行数据访问,这是一种轻量级、模块化和跨平台的.NET标准数据访问技术。 EFCore支持多种数据库系统,包括SQL Server、SQLite等。使用EFCore,...