如何转换pdf格式的页面。 [英] how to convert page in pdf format.
本文介绍了如何转换pdf格式的页面。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想创建pdf因为它是网页...我有网页,当我点击按钮然后页面应该下载为pdf格式..plz帮助我?
解决方案
protected void ButtonCreatePdf_Click(object sender,EventArgs e)
{
//在响应流中设置内容类型
Response.ContentType =application / PDF格式;
Response.AddHeader(content-disposition,attachment; filename = FileName.pdf);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
//将PlaceHolder渲染到临时流
System.IO.StringWriter stringWrite = new StringWriter();
System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);
PlaceholderPdf.RenderControl(htmlWrite);
StringReader reader = new StringReader(stringWrite.ToString());
//创建PDF文档
文档doc = new Document(PageSize.A4);
HTMLWorker parser = new HTMLWorker(doc);
PdfWriter.GetInstance(doc,Response.OutputStream);
doc.Open();
try
{
//创建一个页脚,显示页码
HeaderFooter footer = new HeaderFooter(new Phrase(This is page:),true)
{Border = Rectangle.NO_BORDER};
doc.Footer = footer;
//解析Html
parser.Parse(读者);
}
catch(Exception ex)
{
//在PDF中显示解析器错误。
//在VS
的Debug.Output窗口中也可以看到分析器错误段落段落=新段落(错误!+ ex.Message);
paragraph.SetAlignment(center);
Chunk text = paragraph.Chunks [0] as Chunk;
if(text!= null)
{
text.Font.Color = Color.RED;
}
doc.Add(段落);
}
最后
{
doc.Close();
}
}
参考: http://hamang.net/2008/08/14/html-to-pdf-in-net/ [ ^ ]
http://stackoverflow.com / questions / 11564173 / how-do-i-convert-several -wew-pages-into-one-pdf-document [ ^ ]
this应该让你开始。但我相信这段代码将与itextsharp.dll一起使用。如果我记得正确你将不得不使用第三方功能来创建pdf'。
你可以将页面放在div或某种类型中对于渲染上的容器,我的示例使用gridview。
受保护 Sub Button1_Click(发件人作为 对象,e As EventArgs)句柄 Button1.Click
Response.ContentType = application / pdf
Response.AddHeader( < span class =code-string> content-disposition, attachment; filename = example& Year(Now)& Month(Now)& Day(Now)& Hour(Now)& Minute(Now)& Second(Now)& 。pdf)
Response.Cache.SetCacheability(HttpCacheability.NoCache)
Dim sw As 新 StringWriter()
Dim hw As 新 HtmlTextWriter(sw)
Dim frm As 新 HtmlForm()
GridView2.AllowPaging = False
GridView2.Parent.Controls.Add(frm)
frm.Attributes( runat)= server
GridView2.HeaderRow.Style.Add( color, #62A265)
GridView2.Style.Add( font-family , Arial,Helvetica,sans-serif;)
GridView2。 Style.Add( font-size, 8px)
frm.Controls.Add(GridView2)
frm.RenderControl(hw)
Dim sr As 新 StringReader(sw.ToString())
Dim pdfDoc 作为 新文件(PageSize.LETTER, 10 .0F, 10 .0F, 10 .0F, 0 .0F)
Dim htmlparse r 作为 新 HTMLWorker(pdfDoc)
PdfWriter.GetInstance(pdfDoc,Response.OutputStream)
pdfDoc.Open()
htmlparser.Parse(sr)
pdfDoc.Close()
Response.Write(pdfDoc)
响应。[结束]()
结束 Sub
i want create pdf as it is web page...mns i have web page and when i click on button then page should download as pdf format..plz help me?
解决方案
protected void ButtonCreatePdf_Click(object sender, EventArgs e) { //Set content type in response stream Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment;filename=FileName.pdf"); Response.Cache.SetCacheability(HttpCacheability.NoCache); //Render PlaceHolder to temporary stream System.IO.StringWriter stringWrite = new StringWriter(); System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite); PlaceholderPdf.RenderControl(htmlWrite); StringReader reader = new StringReader(stringWrite.ToString()); //Create PDF document Document doc = new Document(PageSize.A4); HTMLWorker parser = new HTMLWorker(doc); PdfWriter.GetInstance(doc, Response.OutputStream); doc.Open(); try { //Create a footer that will display page number HeaderFooter footer = new HeaderFooter(new Phrase("This is page: "), true) { Border = Rectangle.NO_BORDER }; doc.Footer = footer; //Parse Html parser.Parse(reader); } catch (Exception ex) { //Display parser errors in PDF. //Parser errors will also be wisible in Debug.Output window in VS Paragraph paragraph = new Paragraph("Error! " + ex.Message); paragraph.SetAlignment("center"); Chunk text = paragraph.Chunks[0] as Chunk; if (text != null) { text.Font.Color = Color.RED; } doc.Add(paragraph); } finally { doc.Close(); } }
Reference : http://hamang.net/2008/08/14/html-to-pdf-in-net/[^]
http://stackoverflow.com/questions/11564173/how-do-i-convert-several-web-pages-into-one-pdf-document[^]
this should get you started. but i do beleive this code is to be used in conjunction with itextsharp.dll. If i remeber correctly you''ll have to use a 3rd party function to create pdf''s.
you can probably put the page in a div or some sort of container on render, my example uses a gridview.
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Response.ContentType = "application/pdf" Response.AddHeader("content-disposition", "attachment;filename=example" & Year(Now) & Month(Now) & Day(Now) & Hour(Now) & Minute(Now) & Second(Now) & ".pdf") Response.Cache.SetCacheability(HttpCacheability.NoCache) Dim sw As New StringWriter() Dim hw As New HtmlTextWriter(sw) Dim frm As New HtmlForm() GridView2.AllowPaging = False GridView2.Parent.Controls.Add(frm) frm.Attributes("runat") = "server" GridView2.HeaderRow.Style.Add("color", "#62A265") GridView2.Style.Add("font-family", "Arial, Helvetica, sans-serif;") GridView2.Style.Add("font-size", "8px") frm.Controls.Add(GridView2) frm.RenderControl(hw) Dim sr As New StringReader(sw.ToString()) Dim pdfDoc As New Document(PageSize.LETTER, 10.0F, 10.0F, 10.0F, 0.0F) Dim htmlparser As New HTMLWorker(pdfDoc) PdfWriter.GetInstance(pdfDoc, Response.OutputStream) pdfDoc.Open() htmlparser.Parse(sr) pdfDoc.Close() Response.Write(pdfDoc) Response.[End]() End Sub
这篇关于如何转换pdf格式的页面。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文