溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C#如何實(shí)現(xiàn)pdf導(dǎo)出 .Net導(dǎo)出pdf文件

發(fā)布時(shí)間:2021-05-17 10:56:42 來源:億速云 閱讀:926 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)C#如何實(shí)現(xiàn)pdf導(dǎo)出 .Net導(dǎo)出pdf文件的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

最近碰見個(gè)需求需要實(shí)現(xiàn)導(dǎo)出pdf文件,上網(wǎng)查了下代碼資料總結(jié)了以下代碼、可以成功的實(shí)現(xiàn)導(dǎo)出pdf文件。 

在編碼前需要在網(wǎng)上下載個(gè)itextsharp.dll,此程序集是必備的。樓主下載的是5.0版本,之前下了個(gè)5.4的似乎不好用。 

下載之后直接添加引用。 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Webpdf.aspx.cs" Inherits="Web導(dǎo)出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>

//上述代碼乃前臺頁面,兩個(gè)控件即可。下面即對應(yīng)的后臺代碼
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導(dǎo)出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例,可以指明例的類型,這里用的是默認(rèn)的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] = "測試導(dǎo)出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));

        //所輸?shù)膬?nèi)容按設(shè)置的字體到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('導(dǎo)出成功!');</script>"); 
      }
      catch (Exception ex)
      {
        Response.Write(ex.ToString());
      }
    }
  }
}

注意代碼中的兩個(gè)image圖片,自己可在項(xiàng)目中隨意添加對應(yīng)的。如果上述代碼全部寫完發(fā)現(xiàn)不報(bào)錯(cuò)那么恭喜你可以成功導(dǎo)出。 

如果出現(xiàn)有的類異常失敗無法找到該類,那么你需要引用C#如何實(shí)現(xiàn)pdf導(dǎo)出 .Net導(dǎo)出pdf文件此文件即可。 

至于每個(gè)人需要導(dǎo)出不同的樣式pdf內(nèi)容就要根據(jù)需求寫相對應(yīng)的代碼了。 

C#如何實(shí)現(xiàn)pdf導(dǎo)出 .Net導(dǎo)出pdf文件 

導(dǎo)出成功PDF即存在項(xiàng)目文件夾中。

C#是什么

C#是一個(gè)簡單、通用、面向?qū)ο蟮木幊陶Z言,它由微軟Microsoft開發(fā),繼承了C和C++強(qiáng)大功能,并且去掉了一些它們的復(fù)雜特性,C#綜合了VB簡單的可視化操作和C++的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性和便捷的面向組件編程從而成為.NET開發(fā)的首選語言,但它不適用于編寫時(shí)間急迫或性能非常高的代碼,因?yàn)镃#缺乏性能極高的應(yīng)用程序所需要的關(guān)鍵功能。

感謝各位的閱讀!關(guān)于“C#如何實(shí)現(xiàn)pdf導(dǎo)出 .Net導(dǎo)出pdf文件”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

pdf
AI