In previous article we checked how to convert gridview to pdf.
https://blogabhijeet.blogspot.com/2012/06/gridview-to-pdf-using-itextsharp.html
First of all you need to convert contents of html to Pdf. There is an third party dll:- iTextSharp dll which will help us to convert html contents to pdf.
Just Download iTextsharp lib. from http://sourceforge.net/projects/itextsharp/
Add 1 form in your project named as "pdf" then copy following design & Code behind code & replace it in your code.
Currently we have taken form and we are showing contents of current page in pdf.
Design Page
Happy Coding !!
https://blogabhijeet.blogspot.com/2012/06/gridview-to-pdf-using-itextsharp.html
First of all you need to convert contents of html to Pdf. There is an third party dll:- iTextSharp dll which will help us to convert html contents to pdf.
Just Download iTextsharp lib. from http://sourceforge.net/projects/itextsharp/
Add 1 form in your project named as "pdf" then copy following design & Code behind code & replace it in your code.
Currently we have taken form and we are showing contents of current page in pdf.
Design Page
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ShowCurrentContentPageinPdf.aspx.cs" Inherits="Default2" %>Code Behind Page
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:PlaceHolder ID="PlaceholderPdf" runat="server"></asp:PlaceHolder>
<div>
<table border="1">
<tr>
<td colspan="2">
aspdotnetcodebook
</td>
</tr>
<tr>
<td>
cell1
</td>
<td>
cell2
</td>
</tr>
<tr>
<td colspan="2">
<asp:Label ID="lblLabel" runat="server" Text="Label Test"></asp:Label>
</td>
</tr>
</table>
</div>
<p>
</p>
<p>
xzcv</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
sdvasd</p>
<p>
</p>
<p>
</p>
<p>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</p>
</form>
</body>
</html>
using System;We have created 1 more class file
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using System.Text.RegularExpressions;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.text.html;
using iTextSharp.text.xml;
using System.Xml;
using iTextSharp.text.html.simpleparser;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected override void Render(HtmlTextWriter writer)
{
MemoryStream mem = new MemoryStream();
StreamWriter twr = new StreamWriter(mem);
HtmlTextWriter myWriter = new HtmlTextWriter(twr);
base.Render(myWriter);
myWriter.Flush();
myWriter.Dispose();
StreamReader strmRdr = new StreamReader(mem);
strmRdr.BaseStream.Position = 0;
string pageContent = strmRdr.ReadToEnd();
strmRdr.Dispose();
mem.Dispose();
writer.Write(pageContent);
CreatePDFDocument(pageContent);
}
public void CreatePDFDocument(string strHtml)
{
string strFileName = HttpContext.Current.Server.MapPath("test.pdf");
// step 1: creation of a document-object
Document document = new Document();
// step 2:
// we create a writer that listens to the document
PdfWriter.GetInstance(document, new FileStream(strFileName, FileMode.Create));
StringReader se = new StringReader(strHtml);
HTMLWorker obj = new HTMLWorker(document);
document.Open();
obj.Parse(se);
document.Close();
ShowPdf(strFileName);
}
public void ShowPdf(string strFileName)
{
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "attachment; filename=" + strFileName);
//Response.WriteFile(strFileName);
Response.TransmitFile(strFileName);
Response.End();
Response.Flush();
Response.Clear();
}
}
using System;Above code snippet will help us to convert HTML page to pdf.
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// Summary description for MyPage
/// </summary>
public class MyPage : Page
{
public override void VerifyRenderingInServerForm(Control control)
{
GridView grid = control as GridView;
if (grid != null && grid.ID == "GridView1")
return;
else
base.VerifyRenderingInServerForm(control);
}
}
Happy Coding !!
No comments:
Post a Comment