下面的代码自己本人没有尝试过,只是用来做记录,用到时候再说!

最近碰见个需求需要实现导出pdf文件,上网查了下代码资料总结了以下代码、可以成功的实现导出pdf文件。

在编码前需要在网上下载个itextsharp.dll,此程序集是必备的。楼主下载的是5.0版本,之前下了个5.4的似乎不好用。

下载之后直接添加引用。

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Webpdf.aspx.cs" Inherits="Web导出pdf.Webpdf" %>
  2.  
  3. <!DOCTYPE html>
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head runat="server">
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8. <title></title>
  9. </head>
  10. <body>
  11. <form id="form1" runat="server">
  12. <div>
  13. <br />
  14. 输入文字测试:<input type="text" name="name" value="" runat="server" id="txtpdf"/>
  15.  
  16. <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
  17. </div>
  18. </form>
  19. </body>
  20. </html>
  21.  
  22. //上述代码乃前台页面,两个控件即可。下面即对应的后台代码
  23. using System;
  24. using System.Collections.Generic;
  25. using System.Data;
  26. using System.Linq;
  27. using System.Web;
  28. using System.Web.UI;
  29. using System.Web.UI.WebControls;
  30. using iTextSharp;
  31. using iTextSharp.text;
  32. using iTextSharp.text.pdf;
  33. using System.IO;
  34.  
  35. namespace Web导出pdf
  36. {
  37. public partial class Webpdf : System.Web.UI.Page
  38. {
  39. static DataTable datatable = new DataTable("testpdf");
  40. protected void Page_Load(object sender, EventArgs e)
  41. {
  42. if (!IsPostBack)
  43. {
  44. DataRow dr=null;
  45. //建立Column例,可以指明例的类型,这里用的是默认的string
  46. datatable.Columns.Add(new DataColumn("编号"));
  47. datatable.Columns.Add(new DataColumn("文件名"));
  48. for (int i = ; i < ; i++)
  49. {
  50. dr = datatable.NewRow();
  51. dr[] = System.Convert.ToString(i);
  52. dr[] = "测试导出pdf文件" + System.Convert.ToString(i);
  53. datatable.Rows.Add(dr);
  54.  
  55. }
  56.  
  57. }
  58. }
  59.  
  60. protected void Button1_Click(object sender, EventArgs e)
  61. {
  62. try
  63. {
  64. Document document = new Document();
  65. PdfWriter.GetInstance(document, new FileStream(Server.MapPath("Test.pdf"), FileMode.Create));
  66. document.Open();
  67. BaseFont bfChinese = BaseFont.CreateFont("C:\\WINDOWS\\Fonts\\simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
  68. iTextSharp.text.Font fontChinese = new iTextSharp.text.Font(bfChinese, , iTextSharp.text.Font.NORMAL,new BaseColor(,,));
  69.  
  70. //所输的内容按设置的字体到PDF文件
  71. document.Add(new Paragraph(this.txtpdf.Value.ToString(), fontChinese));
  72. //输出图片到PDF文件
  73. iTextSharp.text.Image jpeg01 = iTextSharp.text.Image.GetInstance(Server.MapPath("Image/001.png"));
  74. document.Add(jpeg01);
  75.  
  76. iTextSharp.text.Image jpeg02 = iTextSharp.text.Image.GetInstance(Server.MapPath("Image/userIcon-1.png"));
  77. document.Add(jpeg02);
  78. PdfPTable table = new PdfPTable(datatable.Columns.Count);
  79. for (int i = ; i < datatable.Rows.Count; i++)
  80. {
  81. for (int j = ; j < datatable.Columns.Count; j++)
  82. {
  83. table.AddCell(new Phrase(datatable.Rows[i][j].ToString(), fontChinese));
  84. }
  85. }
  86. document.Add(table);
  87. document.Close();
  88. Response.Write("<script>alert('导出成功!');</script>");
  89. }
  90. catch (Exception ex)
  91. {
  92. Response.Write(ex.ToString());
  93. }
  94. }
  95. }
  96. }
  97. 复制代码
  98.  
  99. 注意代码中的两个image图片,自己可在项目中随意添加对应的。如果上述代码全部写完发现不报错那么恭喜你可以成功导出。
  100.  
  101. 如果出现有的类异常失败无法找到该类,那么你需要引用此文件即可。至于每个人需要导出不同的样式pdf内容就要根据需求写相对应的代码了。
  102.  
  103. 导出成功PDF即存在项目文件夹中。
  104.  
  105. FROM:http://www.cnblogs.com/hmYao/p/5842958.html

pdf文件的导入导出的更多相关文章

  1. java实现文件批量导入导出实例(兼容xls,xlsx)

    1.介绍 java实现文件的导入导出数据库,目前在大部分系统中是比较常见的功能了,今天写个小demo来理解其原理,没接触过的同学也可以看看参考下. 目前我所接触过的导入导出技术主要有POI和iRepo ...

  2. SSM excel文件的导入导出

    对于excel文件的导入导出,后台接收读取和建表封存都是固定死的,所以对于excel导入时,excel文件内容必须匹配后台相关对象,不然报错. excel文件导出,用<a><a/&g ...

  3. [Docker核心之容器、数据库文件的导入导出、容器镜像的导入导出]

    [Docker核心之容器.数据库文件的导入导出] 使用 Docker 容器 在 Docker 中,真正对外提供服务的还是容器,容器是对外提供服务的实例,容器的本质是进程. 运行一个容器 docker ...

  4. DB2中ixf文件的导入导出

    1. 导出数据 语法:EXPORT TO <文件路径>/文件名.IXF OF IXF SELECT * FROM 表名   2. 导入数据 语法:db2 IMPORT FROM <路 ...

  5. dmp文件的导入导出

    一.dmp文件的导入 方法一(需安装PLSQL) 1.运行PLSQL,在oracle登陆窗口输入用户名和密码登陆到数据库 2.运行工具>导入表,弹出导入对话框 3.单击下方选择文件按钮,在弹出对 ...

  6. java项目中Excel文件的导入导出

    package poi.excel; import java.io.IOException; import java.io.InputStream; import java.io.OutputStre ...

  7. oracle dmp文件的导入导出

    一.命令行方式 exp 用户名/密码@库名 file=文件位置.dmp owner=用户名 imp 用户名/密码@库名 file=文件位置.dmp 注意 : 导入过程若有的表已经存在可能会报错,可以全 ...

  8. java操作office和pdf文件页面列表导出cvs,excel、pdf报表.

    在平常的开发中我们常常遇到不仅仅只是导出excel报表的情况.有时候也需要导出pdf或者CSV报 表.其实原理都差不多.刚开始本来不打算也这篇博客介绍这个的.感觉这篇博客和前面的博客有点雷同.原理基本 ...

  9. NPOI对excel文件的导入导出

    现理解:将一个Excel文件(工作簿-IWorkBook)看做是一个你要操作的对象,每个工作簿包含多个工作表(ISheet)对象,每个工作表中又包含多个行对象(IRow),每行又包含多个单元格(ICe ...

随机推荐

  1. .NET深入实战系列--EF到底怎么写过滤条件

    本文唯一访问地址:http://www.cnblogs.com/yubaolee/p/DynamicLinq.html 对于系统开发来说,按不同字段进行过滤查询是一种常见的需求.在EF中通常的做法是: ...

  2. .Net 4.5可执行程序OutOfMemory

    原创文章转载请注明出处:@协思, http://zeeman.cnblogs.com   产线上新部署的服务,发生几次无故停止的情况,通过系统事件看到是这样:   这个服务缓存了大量的数据,内存占用比 ...

  3. salesforce 零基础学习(五十八)通过sObject的field返回其对应的基础类型

    项目中有时候会要求通过sObject的Field的type类型返回其对应的基本类型,然后对其进行相关的处理,创建sObject的field可以选择的type类型是固定多的. 上述类型可以转换成几种基本 ...

  4. 微信JSAPI支付

    最近在微信H5页面内集成微信JSAPI支付,遇到不少问题,现将集成步骤及遇到的问题记录如下: 1.官方下载SDK,下载地址:https://pay.weixin.qq.com/wiki/doc/api ...

  5. C#,.Net 学习资源

    原文:http://blog.csdn.net/chinacsharper/article/details/17514923一.网站1.http://msdn.microsoft.com/zh-CN/ ...

  6. python property理解

    一般情况下我这样使用property: @property def foo(self): return self._foo # 下面的两个decrator由@property创建 @foo.sette ...

  7. .NET 程序集单元测试工具 SmokeTest 应用指南

    Smoke Test(冒烟测试),也称Regression Test(回归测试),是对软件的安装和基本功能的测试.一般地我们使用脚本来实现Smoke Test的自动化,可借用虚拟机的snapshot机 ...

  8. Dapper:The member of type SeoTKD cannot be used as a parameter Value

    异常汇总:http://www.cnblogs.com/dunitian/p/4523006.html#dapper 上次说了一下Dapper的扩展Dapper.Contrib http://www. ...

  9. 计算机网络学习笔记--网络层之IP地址与子网

    IPv4地址: 我们知道在网络层(TCP/IP体系结构的网际互联层),最重要的一个协议就是IP协议,现在正处于IPv4和IPv6的过渡时期,但目前来说,IPv4仍为主流,所以主要讲Ipv4. IP地址 ...

  10. php数据库访问及增删改

    利用PHP访问由MySQL构建的数据库 连接到数据库 //1.造连接对象 $db = new MySQLi("localhost","root","1 ...