Question Locked

How to convert .aspx page to .pdf at runtime

0 helpful
10 replies
Closed to new repliesThis discussion is closed. It stays readable, but it takes no new replies.

hi,

i am using an .aspx page where i will generate some result with gridview, tables and images. i want to send this page as .pdf attachment with email to some user.

is there any FREE/OPENSOURCE tool in ASP.NET, C# to convert .aspx page to .pdf format?

Please help, it is very urgent....

Thanks

10 replies

by pn2online

hello,
Have you get any idea on a same post, i too have to implement same in my project.

Let me know if you have any idea.

by ankit

using iTextSharp
dll
here is code------------
protected void btn_PDF_Click(object sender, EventArgs e)
{
Uri strurl = Request.Url;
string url = strurl.ToString();
string text = GetPageText(url);
string filepath = Server.MapPath("image\\test.htm"); //"c:\\test.htm";
StreamWriter writer = new StreamWriter(filepath);
writer.Write(text);
writer.Close();

htmltopdf();
}

public string GetPageText(string url)
{
string htmlText = string.Empty;
string FILE_NAME = Server.MapPath("image\\test.xml"); //"c:\\test.xml";

try
{

HttpWebRequest requestIP = (HttpWebRequest)WebRequest.Create(url);
requestIP.Timeout = 10000;
using (HttpWebResponse responseIP = (HttpWebResponse)requestIP.GetResponse())
{
using (Stream streamIP = responseIP.GetResponseStream())
{
using (StreamReader readerText = new StreamReader(streamIP))
{
htmlText = readerText.ReadToEnd();
string text = htmlText;

StreamWriter writer = new StreamWriter( FILE_NAME);
writer.Write(text);
writer.Close();
}
}
}
}
finally
{
}
return htmlText;
}

public void htmltopdf()
{
Document doc = new Document();
PdfWriter.GetInstance(doc, new FileStream(Server.MapPath("image\\test.pdf"), System.IO.FileMode.Create));

HtmlParser.Parse(doc, Server.MapPath("image\\test.htm"));
//XmlParser.Parse(doc, Server.MapPath("image\\test.xml"));
//ITextHandler h = new ITextHandler(doc, new TagMap("c:\\test.xml"));
//h.Parse("c:\\test.xml");

if (File.Exists(Server.MapPath("image\\test.htm")))
File.Delete(Server.MapPath("image\\test.htm"));
if (File.Exists(Server.MapPath("image\\test.xml")))
File.Delete(Server.MapPath("image\\test.xml"));
}

regards,
ANKIT CHAMPANERIYA
(M.SC(IT),MCP,MCTS)
Software Developer
Raj s/w ltd.

by ruma.asm

Hi

i have used this code for converting aspx page to pdf file and pdf was created also but i am not able to open the pdf file.its giving me the error saying:Adobe reader can not open the file because it is either not supported type or the file is damaged.please let me know if you could help me with this.its really urgent.Thanks in advance.

by sonamanu

Hi All....
Im also facing the same issue as ruma said. If anybody gets a solution please be kind enough to inform us.

by ankit

protected void btn_PDF_Click(object sender, EventArgs e)
{
Uri strurl = Request.Url;
string url = strurl.ToString();
string text = GetPageText(url);
string filepath = Server.MapPath("image\\test.htm"); //"c:\\test.htm";
StreamWriter writer = new StreamWriter(filepath);
writer.Write(text);
writer.Close();

htmltopdf();
}

public string GetPageText(string url)
{
string htmlText = string.Empty;
string FILE_NAME = Server.MapPath("image\\test.xml"); //"c:\\test.xml";

try
{

HttpWebRequest requestIP = (HttpWebRequest)WebRequest.Create(url);
requestIP.Timeout = 10000;
using (HttpWebResponse responseIP = (HttpWebResponse)requestIP.GetResponse())
{
using (Stream streamIP = responseIP.GetResponseStream())
{
using (StreamReader readerText = new StreamReader(streamIP))
{
htmlText = readerText.ReadToEnd();
string text = htmlText;

StreamWriter writer = new StreamWriter( FILE_NAME);
writer.Write(text);
writer.Close();
}
}
}
}
finally
{
}
return htmlText;
}

public void htmltopdf()
{
Document doc = new Document();
PdfWriter.GetInstance(doc, new FileStream(Server.MapPath("image\\test.pdf"), System.IO.FileMode.Create));

HtmlParser.Parse(doc, Server.MapPath("image\\test.htm"));
//XmlParser.Parse(doc, Server.MapPath("image\\test.xml"));
//ITextHandler h = new ITextHandler(doc, new TagMap("c:\\test.xml"));
//h.Parse("c:\\test.xml");

if (File.Exists(Server.MapPath("image\\test.htm")))
File.Delete(Server.MapPath("image\\test.htm"));
if (File.Exists(Server.MapPath("image\\test.xml")))
File.Delete(Server.MapPath("image\\test.xml"));
}

regards,
ANKIT CHAMPANERIYA
(M.SC(IT),MCP,MCTS)
Raj s/w ltd
Mumbai

by bhatiaashu

I have used this code to convert xml to pdf. It gives error document has no pages

This discussion is closed to new replies.