как я могу сохранить свою страницу aspx в pdf на событии нажатия кнопки
я хочу сохранить свою страницу в pdf файле как я могу это сделать
Единственный способ сделать это-для пользователя иметь стороннее приложение, которое позволяет ему печатать в PDF-файл.
Большинство версий Adobe установят такой "принтер", и есть ряд других продуктов, таких как PDF Complete, которые хорошо работают.
Посмотрите на подобный ответ: Преобразование страницы aspx в PDF[^]
..и еще больше подобных нитей на КП[^]
.Net не имеет встроенной поддержки PDF. Для этого вам нужно использовать сторонний компонент. Проверять Гугл[^], есть много бесплатных / платных компонентов.
хорошо спасибо
хии,
читайте эту статью надеюсь вам поможет
[Конвертер Pdf^]
Программно конвертируйте документы в PDF-файлы простым способом[^]
http://www.developerfusion.com/code/4266/how-to-create-pdf-files-from-aspnet-pages/[^]
Попробуйте url-адрес
http://csharp-source.net/open-source/pdf-libraries[^]
Более того, чтобы сэкономить ваше время, в codeproject уже есть статья с исходным кодом,
Учебники по созданию PDF-файлов с помощью C# 2.0[^]
chhers
Вам нужно использовать iTextSharp.dll который легко преобразует вашу страницу в pdf.
Смотрите какой-нибудь код здесь..
http://www.velocityreviews.com/forums/t63572-convert-an-aspx-page-to-a-pdf-file-with-asp-net-c.html[^]
и тоже смотри..
Создание PDF-документов в ASP.NET[^]
Эй хии,
Используйте приведенный ниже код
protected void lbtn_PDF_Click(object sender, EventArgs e) { Uri strurl = Request.Url; string url = strurl.ToString(); string text = GetPageText(url); string filepath = Server.MapPath("test.html"); StreamWriter writer = new StreamWriter(filepath); writer.Write(text); writer.Close(); htmltopdf(text); } public string GetPageText(string url) { string htmlText = string.Empty; string FILE_NAME = Server.MapPath("test.xml"); try { HttpWebRequest requestIP = (HttpWebRequest)WebRequest.Create(url); CookieContainer cc = new CookieContainer(); requestIP.CookieContainer = cc; requestIP.Timeout = 100000; 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(); } } } } return htmlText; } public void htmltopdf(string strHtml) { Document doc = new Document(); StringWriter sw = new StringWriter(); StringReader sr = new StringReader(sw.ToString()); HTMLWorker HTMLParser = new HTMLWorker(doc); PdfWriter.GetInstance(doc, new FileStream(Server.MapPath("test.pdf"), System.IO.FileMode.Create)); HTMLParser.Parse(sr); if (File.Exists(Server.MapPath("test.htm"))) File.Delete(Server.MapPath("test.htm")); if (File.Exists(Server.MapPath("test.xml"))) File.Delete(Server.MapPath("test.xml")); }
А PdfWriter-это что именно?
Инструкции
1
Откройте редактор C#.
2
Создайте файл C# и добавьте следующий код.
3
Используйте пространство имен для вызова библиотеки iTextSharp:
using iTextSharp.text; using iTextSharp.text.pdf;
Document document = new Document(PageSize.A4, 80, 50, 30, 65); StringBuilder strData = new StringBuilder(string.Empty);
string strASPXpath = Server.MapPath("MyASPX.aspx");
string strPDFpath = Server.MapPath("MyPDF.pdf");
StringWriter sw = new StringWriter(); sw.WriteLine(Environment.NewLine); sw.WriteLine(Environment.NewLine); sw.WriteLine(Environment.NewLine); sw.WriteLine(Environment.NewLine); HtmlTextWriter htw = new HtmlTextWriter(sw); gvSerchResult.AllowPaging = false; gvSerchResult.AllowSorting = false; BindGridView(); gvSerchResult.RenderControl(htw); StreamWriter strWriter = new StreamWriter(strASPXpath, false, Encoding.UTF8); strWriter.Write("<html><head></head><body>" + htw.InnerWriter.ToString() + "</body></html>"); strWriter.Close(); strWriter.Dispose();
StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet(); styles.LoadTagStyle("ol", "leading", "16,0"); PdfWriter.GetInstance(document, new FileStream(strPDFpath, FileMode.Create)); document.Open();
ArrayList objects; styles.LoadTagStyle("li", "face", "garamond"); styles.LoadTagStyle("span", "size", "8px"); styles.LoadTagStyle("body", "font-family", "times new roman"); styles.LoadTagStyle("body", "font-size", "12px"); document.NewPage(); objects = iTextSharp.text.html.simpleparser. HTMLWorker.ParseToList(new StreamReader(strASPXpath, Encoding.Default), styles); for (int k = 0; k < objects.Count; k++) { document.Add((IElement)objects[k]); }
{ document.Close(); Response.Write(Server.MapPath("~/" + strPDFpath)); Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("Content-Disposition", "attachment; filename=" + strPDFpath); Response.ContentType = "application/octet-stream"; Response.WriteFile(Server.MapPath("~/" + strPDFpath)); Response.Flush(); Response.Close(); if (File.Exists(Server.MapPath("~/" + strPDFpath))) { File.Delete(Server.MapPath("~/" + strPDFpath)); } }
Шаг 0: Загрузите и установите iTextSharp оттуда, откуда вы его получаете....