如何转换pdf格式的页面。 [英] how to convert page in pdf format.

查看:86
本文介绍了如何转换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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆