0

我想使用可以将 Html 转换为 PDF 的组件将 aspx 页面转换为 PDF。是否可以在回发期间重定向 aspx 页面的输出并将其作为流或字符串发送到 HtmlToPdf 方法?

4

4 回答 4

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);
}
于 2009-02-11T14:19:59.140 回答
0

您是否尝试发送从“HttpContext.Current.Response.OutputStream;”返回的值?在回发?

于 2009-02-11T13:24:24.703 回答
0

嗨,我认为这样做的方法是使用 Reponse.Filter 属性来拦截和更改发送到页面的 HTML。

在 ASP.net 网站的这个页面上有一个 VB.net 和 C# 的教程视频和示例代码:

http://www.asp.net/learn/videos/video-450.aspx

于 2009-02-11T13:40:05.867 回答
0

您将编写一个附加到请求的 HttpFilter。这是在 ASP.NET 页面的渲染步骤编写后可以更改输出的代码。

本文展示了如何做到这一点(他们将输出从 HTML 更改为有效的 XHTML,但想法是相同的)。

于 2009-02-11T14:02:03.850 回答