`

asp.net 2.0 中生成PDF

    博客分类:
  • .NET
阅读更多

    近期要用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();
    }

分享到:
评论

相关推荐

    asp.net2.0导出pdf文件完美解决方案

    在ASP.NET 2.0开发环境中,生成PDF文件是一个常见的需求,这可能涉及到报表、发票、合同等文档的导出。下面将详细讲解如何在ASP.NET 2.0中实现PDF文件的完美导出。 首先,我们需要理解PDF的格式。PDF(Portable ...

    asp.net2.0入门精通PDF全集

    本入门精通PDF全集涵盖了ASP.NET 2.0的核心概念和技术,旨在帮助初学者快速掌握这一技术。 1. ASP.NET 2.0基础: ASP.NET 2.0引入了许多改进,包括控件模型的增强、数据绑定机制的简化、母版页(Master Pages)和...

    ASP.NET 2.0技术内幕

    第Ⅰ部分 生成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 TO ASP.NET 2.0开发系列课程(1):PHP与ASP.NET2.0之比较分析

    《PHP与ASP.NET 2.0之比较分析》是一门深度探讨两种主流Web开发技术的课程,旨在帮助开发者理解PHP和ASP.NET 2.0之间的差异、优缺点以及适用场景。这门课程通过PPT、视频和文档的形式,提供丰富的学习资源,确保学员...

    CrystalReports2.0--Asp.net2.0水晶报表(CrystalReports)实例源码大全(C#).rar

    水晶报表(Crystal Reports)是SAP公司的一款强大的报告生成工具,尤其在.NET框架下,与Asp.net2.0的结合使得它在企业级应用开发中占据了重要地位。本压缩包文件"CrystalReports2.0--Asp.net2.0水晶报表(Crystal...

    asp.net 2.0+sql server 2005 图书馆网站

    ASP.NET 2.0 和 SQL Server 2005 是微软技术栈中用于构建Web应用程序和数据库管理的经典组合。在本项目"asp.net 2.0+sql server 2005 图书馆网站"中,开发人员利用了这两项技术来创建一个图书馆管理系统的前端和后端...

    ASP.NET 2.0 管理系统开发经典案例(C#版)

    在这个"ASP.NET 2.0 管理系统开发经典案例(C#版)"的压缩包中,包含了多个实际应用场景的管理系统,如宾馆酒店、人事工资、固定资产、商品销售、图书租借和房产中介。这些案例将帮助开发者深入理解如何使用C#语言和...

    ASP.NET 2.0.rar

    文件列表中的"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快速入门(9):ASP.NET 2.0 数据绑定高级技巧

    本教程重点聚焦于ASP.NET 2.0中的数据绑定高级技巧,这对于创建数据驱动的应用程序至关重要。 在ASP.NET 2.0中,数据绑定是一个核心特性,它允许开发者将网页控件与数据源进行连接,以展示、操作和管理数据。数据...

    ASP.NET 2.0动态网站开发基础教程(C#) 第09章 ASP.NET Web服务 传送数据(共9页).ppt

    ASP.NET 2.0动态网站开发基础教程中的第09章着重讲解了ASP.NET Web服务以及如何在Web服务中传送数据。Web服务是一种基于互联网的、使用XML消息交换的、可独立于操作系统和编程语言的组件。它们通过标准的XML格式进行...

    简历管理系统ASP.NET2.0

    【简历管理系统ASP.NET2.0】是一个基于微软的ASP.NET 2.0技术构建的实用管理系统,它旨在实现对个人简历的高效管理和自动化处理。在企业招聘过程中,大量的应聘者简历需要整理、筛选和存储,这个系统能有效地解决这...

    Asp.net 2.0高级编程第二章

    - **使用Web Setup项目**:Visual Studio 2005中的Web Setup项目可以自动生成安装程序,用于部署ASP.NET应用程序。 - **配置Web.config文件**:Web.config文件是ASP.NET应用程序的主要配置文件,用于配置应用程序的...

    Asp.Net2.0下客户端脚本调用服务端函数的研究.pdf

    在Asp.Net 2.0中,可以使用Microsoft的Ajax扩展库(Microsoft AJAX Library)来实现Ajax功能。这个库包括了UpdatePanel、ScriptManager、Timer等控件,它们使得在Asp.Net页面中实现Ajax功能变得更加简单。例如,...

    深入挖掘ASP.NET 2.0系列课程(9):ASP.NET中的集合对象

    在提供的资源中,"20070607--深入挖掘ASP.NET 2.0系列课程(9):ASP.NET中的集合对象.pdf"可能包含了关于这些主题的详细讲解,包括实例代码和演示,对于深入理解和应用ASP.NET 2.0的集合对象将大有裨益。通过学习和...

    ASP.NET 2.0

    这个压缩包包含三份文档,分别是"Visual Studio 2005开发环境.pdf"、"C#2.0程序设计基础.pdf"以及"ASP.NET2.0 页面基本对象.pdf",涵盖了从开发工具到编程语言再到ASP.NET核心概念的多个方面。 首先,"Visual ...

    20070322--深入挖掘ASP.NET 2.0系列课程(4):数据库的缓存管理与网站页面的缓存管理.pdf

    在ASP.NET 2.0中,缓存机制得到了进一步的优化和增强,提供了更加灵活和高效的缓存管理方式。 #### 数据库缓存策略 数据库缓存是指在数据库层面或应用程序层面存储数据副本,以避免频繁的数据库查询。在ASP.NET ...

    ASP.NET-[其他类别]GoagoChartReportForAsp.Net2.0.zip

    GoagoChartReportForAsp.Net2.0主要目标是提供一种简单易用的方式来在ASP.NET应用中生成图表和报表。这通常涉及到数据可视化,使得开发者能够将数据库中的数据以图形化的方式展示给用户,帮助他们更好地理解和分析...

    Asp.net2.0水晶报表(CrystalReports)事例源码大全(C#)

    Asp.NET 2.0 搭配 Crystal Reports 是一种常用的报表生成解决方案,适用于开发复杂的商业智能应用。这个资源集合提供了 Crystal Reports 在 Asp.NET 2.0 环境下的实例源码,帮助开发者更好地理解和掌握如何在 C# 中...

    ASP.NET Core 2.0 简介.pdf

    在*** Core 2.0中,开发者还可以使用Entity Framework Core(EFCore)进行数据访问,这是一种轻量级、模块化和跨平台的.NET标准数据访问技术。 EFCore支持多种数据库系统,包括SQL Server、SQLite等。使用EFCore,...

Global site tag (gtag.js) - Google Analytics