当前位置: 首页 > 编程笔记 >

C#实现pdf导出 .Net导出pdf文件

凌博实
2023-03-14
本文向大家介绍C#实现pdf导出 .Net导出pdf文件,包括了C#实现pdf导出 .Net导出pdf文件的使用技巧和注意事项,需要的朋友参考一下

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

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

下载之后直接添加引用。 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Webpdf.aspx.cs" Inherits="Web导出pdf.Webpdf" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title></title>
</head>
<body>
  <form id="form1" runat="server">
    <div>
      <br />
      输入文字测试:<input type="text" name="name" value="" runat="server" id="txtpdf"/>
      
      <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
    </div>
  </form>
</body>
</html>

//上述代码乃前台页面,两个控件即可。下面即对应的后台代码
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using iTextSharp;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;


namespace Web导出pdf
{
  public partial class Webpdf : System.Web.UI.Page
  {
    static DataTable datatable = new DataTable("testpdf");
    protected void Page_Load(object sender, EventArgs e)
    {
      if (!IsPostBack)
      {
        DataRow dr=null;
        //建立Column例,可以指明例的类型,这里用的是默认的string 
        datatable.Columns.Add(new DataColumn("编号"));
        datatable.Columns.Add(new DataColumn("文件名"));
        for (int i = 0; i < 5; i++)
        {
          dr = datatable.NewRow();
          dr[0] = System.Convert.ToString(i);
          dr[1] = "测试导出pdf文件" + 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("Test.pdf"), FileMode.Create));
        document.Open();
        BaseFont bfChinese = BaseFont.CreateFont("C:\\WINDOWS\\Fonts\\simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
        iTextSharp.text.Font fontChinese = new iTextSharp.text.Font(bfChinese, 12, iTextSharp.text.Font.NORMAL,new BaseColor(0,0,0));

        //所输的内容按设置的字体到PDF文件
        document.Add(new Paragraph(this.txtpdf.Value.ToString(), fontChinese));
        //输出图片到PDF文件 
        iTextSharp.text.Image jpeg01 = iTextSharp.text.Image.GetInstance(Server.MapPath("Image/001.png"));
        document.Add(jpeg01);
    
        iTextSharp.text.Image jpeg02 = iTextSharp.text.Image.GetInstance(Server.MapPath("Image/userIcon-1.png"));
        document.Add(jpeg02); 
        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();
        Response.Write("<script>alert('导出成功!');</script>"); 
      }
      catch (Exception ex)
      {
        Response.Write(ex.ToString());
      }
    }
  }
}

注意代码中的两个image图片,自己可在项目中随意添加对应的。如果上述代码全部写完发现不报错那么恭喜你可以成功导出。 

如果出现有的类异常失败无法找到该类,那么你需要引用此文件即可。 

至于每个人需要导出不同的样式pdf内容就要根据需求写相对应的代码了。 

 

导出成功PDF即存在项目文件夹中。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • dw2pdf插件用于导出一个wiki页面为一个pdf文件。官网https://www.dokuwiki.org/plugin:dw2pdf 安装 下载并安装插件 下载mPdf库最新版,替换掉插件自带的 修改mpdf/config.php,大致44行,将useAdobeCJK改为true: 此时导出中文正常 修改Dokuwiki主题模版,添加导出按钮 // Dokuwiki template //

  • 本文向大家介绍Java使用itext5实现PDF表格文档导出,包括了Java使用itext5实现PDF表格文档导出的使用技巧和注意事项,需要的朋友参考一下 最近拿到一个需求,需要导出PDF文档,市面上可以实现的方法有很多,经过测试和调研决定使用itext5来实现,话不多说,说干就干。 1.依赖导入 这里说明下:上面的依赖就是主要实现PDF生成的,下面的依赖是中文字体相关依赖; 2.PDF表格导出实

  • 我试图在jrxml中创建表格。表格中的列数可能会很大,当我试图以PDF格式导出报告时,由于列数很大,数据变得不可读。有什么方法可以让我们以更大的页面尺寸(如A3)导出报告,或者在A4尺寸上增加滚动功能。注意:报告只需要导出为pdf格式,而不是CSV或任何其他格式。 谢谢,任何帮助感谢。

  • 本文向大家介绍Spring 实现excel及pdf导出表格示例,包括了Spring 实现excel及pdf导出表格示例的使用技巧和注意事项,需要的朋友参考一下 整理文档,搜刮出一个Spring 实现excel及pdf导出表格的代码,稍微整理精简一下做下分享。 excel 导出: pdf导出: 重写spring调用itext pdf 公共类 生成pdf 调用 以上就是本文的全部内容,希望对大家的学习

  • 问题内容: 我正在编写一个非常简单的示例项目,以使自己熟悉Jasper Reports。我想将已配置的报告导出为PDF ,但是没有工厂方法: 如何在中获取PDF ? 问题答案: 好的,这就是它的工作原理。实际上返回一个对象,因此: 请享用。

  • 如何禁用kartik gridview中的pdf导出属性? 我已经安装了kartik gridview,它给了我以下错误。 找不到类“\kartik\mpdf\Pdf”,它是Pdf导出功能所必需的。要包含PDF导出,请按照以下安装步骤操作。如果不需要PDF导出功能,请不要将“PDF”作为格式包含在“导出”属性中。您可以将“导出”设置为false以禁用所有导出功能。 请确保您已安装yii2-mpdf