我想使用可以将Html转换为PDF的组件将aspx页面转换为PDF。在回发期间,是否有可能重定向aspx页面的输出并将其作为流或字符串发送到HtmlToPdf方法?
答案 0 :(得分:2)
protected override void Render(HtmlTextWriter writer)
{
// setup a TextWriter to capture the page markup
TextWriter tw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(tw);
// render the page into our surrogate TextWriter
base.Render(htw);
// convert the TextWriter markup to a string
string pageSource = tw.ToString();
if (convertToPDF)
{
// convert the page markup to a pdf
// eg, byte[] pdfBytes = HtmlToPdf(pageSource);
}
// write the page markup into the output stream
writer.Write(pageSource);
}
答案 1 :(得分:0)
您是否尝试过发送从“HttpContext.Current.Response.OutputStream;”返回的值在回发?
答案 2 :(得分:0)
您好我认为这样做的方法是使用Reponse.Filter属性来拦截和更改发送到页面的HTML。
在ASP.net网站的这个页面上有VB.net和C#的教程视频和示例代码:
答案 3 :(得分:0)
您可以编写附加到请求的HttpFilter。这是可以在ASP.NET页面的渲染步骤写入后更改输出的代码。
This article显示了如何执行此操作(他们将输出从HTML更改为有效的XHTML,但想法是相同的)。