ASP.NET 生成PDF

// 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.net生成PDF详解 asp.net生成PDF PDF详解 用C#制作PDF文件全攻略 丽水市汽车运输集团有限公司信息心 苟安廷 目 录 前 言 3 第一部分 iText的简单应用 4 第一章 创建一个Document 4 第一步 创建一个Document实例: 5 第二步 创建Writer实例 6 第三步 打开Document 6 第四步 添加内容 10 第五步,关闭 document 11 第二章 块、短句和段落 11 块 11 短句 12 段落 12 字体的延续 13 第三章 锚点、列表和注释 14 锚点 14 列表 14 注释 15 第四章 页眉页脚、章节、区域和绘图对象 16 页眉页脚 16 章节和区域 17 图形 17 第五章 表格 18 一些简单的表格 18 一些表格参数 18 大表格 20 内存管理 20 嵌套表格 21 表格偏移 21 表格的绝对位置 21 第六章 图片 21 Image对象 21 图片的位置 22 缩放和旋转图片 23 原始图片数据 23 System.Drawing.Bitmap 23 TIFF和CCITT 24 图片和其他对象 24 第二部分 其他文档格式 25 第七章 XML和 (X)HTML 25 第八章 RTF文件 25 RTF包 25 创建一个RTF文档 25 不支持的特性 26 RTF扩展的页眉和页脚 26 第三部分 iText的高级应用 27 第九章 字体 27 TrueType字体应用 27 TruType字体集合的应用 28 第十章 图象和文本的绝对位置 28 pdfContentByte 28 简单图形 29 文本 29 模板(Form xObjects) 30 分栏 31 PdfTable 32 颜色(SpotColors)和图案(Patterns) 33 第十一章 本地和异地转向、目标和概要 33 本地转向 33 异地转向 33 第十二章 页面和表格事件 34
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值