0

这是我为 hiqpdf 下载的 C#,但我不确定如何修改它以便它可以与我的 html 一起使用?我的 asp.net c# sheet for textBoxUrl 出现错误,但我不确定我应该使用什么命名空间来获取这个或者我是否需要替换这个文本?

C#代码:

using HiQPdf;

protected void Print_Button_Click(object sender, EventArgs e)
{

    // create the HTML to PDF converter
    HtmlToPdf htmlToPdfConverter = new HtmlToPdf();

    // select the HTML element to be converted to PDF
    htmlToPdfConverter.ConvertedHtmlElementSelector =
                                    textBoxConvertedHtmlElementSelector.Text;

    // convert URL to a PDF memory buffer
    string url = textBoxUrl.Text;

    byte[] pdfBuffer = htmlToPdfConverter.ConvertUrlToMemory(url);

    // inform the browser about the binary data format
    HttpContext.Current.Response.AddHeader("Content-Type",application/pdf");

    // let the browser know how to open the PDF document
    HttpContext.Current.Response.AddHeader("Content-Disposition",
                String.Format("attachment; filename=ConvertHtmlPart.pdf;

                        size ={ 0}
    ",
        pdfBuffer.Length.ToString()));

    // write the PDF buffer to HTTP response
    HttpContext.Current.Response.BinaryWrite(pdfBuffer);

    // call End() method of HTTP response 
    // to stop ASP.NET page processing
     HttpContext.Current.Response.End();

}
4

1 回答 1

0

textBoxUrl 是一个 TextBox 控件。您应该将其替换为您的源 URL。

例如,对于带有“#page”选择器的 bbc 网站。

using HiQPdf;

protected void Print_Button_Click(object sender, EventArgs e)
{

// create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();

// select the HTML element to be converted to PDF
htmlToPdfConverter.ConvertedHtmlElementSelector = "#page"                               

// convert URL to a PDF memory buffer
string url = "http://www.bbc.com/";

byte[] pdfBuffer = htmlToPdfConverter.ConvertUrlToMemory(url);

// inform the browser about the binary data format
HttpContext.Current.Response.AddHeader("Content-Type",application/pdf");

// let the browser know how to open the PDF document
HttpContext.Current.Response.AddHeader("Content-Disposition",
            String.Format("attachment; filename=ConvertHtmlPart.pdf;

                    size ={ 0}
",
    pdfBuffer.Length.ToString()));

// write the PDF buffer to HTTP response
HttpContext.Current.Response.BinaryWrite(pdfBuffer);

// call End() method of HTTP response 
// to stop ASP.NET page processing
 HttpContext.Current.Response.End();

}
于 2017-03-07T13:38:51.650 回答