Поиск на сайте
Главная Журнал Форум Wiki DRKB Страны мира

Создание PDF-документов в ASP.NET

В этой короткой статье приводится пример создания PDF-документа на ASP.NET странице при помощи бесплатной библиотеки: http://sourceforge.net/projects/itextsharp/.

Код

Сперва будет продемонстрировано создание простого "Hello PDF", затем Вы увидите как генерировать сложные документы с таблицами. Для начала скачайте библиотеку iTextSharp и импортируйте её в свой проект. В примере, приведённом ниже, PDF-документы создаются "на лету" скриптом "ShowPDF.aspx". В конце скрипта вызывается редирект Response.Redirect на сгенерированный файл. Итак сперва импортируем необходимые пространства имён:

Imports System
Imports System.IO
Imports iTextSharp.text
Imports iTextSharp.text.pdf

Далее, в Page_Load мы определяем какой из документов запросил пользователь:

Partial Class ShowPDF
   Inherits System.Web.UI.Page
   
   Protected Sub Page_Load(ByVal sender As Object, _
             ByVal e As System.EventArgs) Handles Me.Load
      If Request.QueryString("id") = 1 Then
         ShowHello()
       Else
         ShowTable()
       End If
   End Sub
End Class

Функция ShowHello создает простой документ с всего лишь одной строчкой: "Hello World", а затем перенаправляет пользователя на вновь созданный файл:

Sub ShowHello()
   Dim doc As Document = New Document
   PdfWriter.GetInstance(doc, New FileStream(Request.PhysicalApplicationPath + _
                         "\1.pdf", FileMode.Create))
   doc.Open()
   doc.Add(New Paragraph("Hello World"))
   doc.Close()
   Response.Redirect("~/1.pdf")
End Sub

Более сложный пример

Функция ShowTable немного сложнее. Она также создает документ PDF и перенаправляет пользователя на него:

Sub ShowTable()
   Dim doc As Document = New Document
   PdfWriter.GetInstance(doc, New FileStream(Request.PhysicalApplicationPath + _
                         "\2.pdf", FileMode.Create))
   doc.Open()
   Dim table As Table = New Table(3)
   table.BorderWidth = 1
   table.BorderColor = New Color(0, 0, 255)
   table.Padding = 3
   table.Spacing = 1
   Dim cell As Cell = New Cell("header")
   cell.Header = True
   cell.Colspan = 3
   table.AddCell(cell)
   cell = New Cell("example cell with colspan 1 and rowspan 2")
   cell.Rowspan = 2
   cell.BorderColor = New Color(255, 0, 0)
   table.AddCell(cell)
   table.AddCell("1.1")
   table.AddCell("2.1")
   table.AddCell("1.2")
   table.AddCell("2.2")
   table.AddCell("cell test1")
   cell = New Cell("big cell")
   cell.Rowspan = 2
   cell.Colspan = 2
   cell.HorizontalAlignment = Element.ALIGN_CENTER
   cell.VerticalAlignment = Element.ALIGN_MIDDLE
   cell.BackgroundColor = New Color(192, 192, 192)
   table.AddCell(cell)
   table.AddCell("cell test2")
   doc.Add(table)
   doc.Close()
   Response.Redirect("~/2.pdf")
End Sub

Скачать исходник - 1,05 Мб




Основные разделы сайта


 

Реклама Купить диплом
Узнайте как выбрать название домена на ADME.ua.