0

我正在使用以下代码使用 itextsharp dll 从网页生成 pdf。

但我收到以下错误。远程服务器返回错误:(407) 需要代理身份验证。

我的代码:

        Response.ContentType = "application/pdf";
        Response.AddHeader("content-disposition", "attachment;filename=TestPage.pdf");
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        StringWriter sw = new StringWriter();
        HtmlTextWriter hw = new HtmlTextWriter(sw);
        this.Page.RenderControl(hw);
        StringReader sr = new StringReader(sw.ToString());
        Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
        HTMLWorker htmlparser = new HTMLWorker(pdfDoc);

        PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
        pdfDoc.Open();

        htmlparser.Parse(sr);
        pdfDoc.Close();
        Response.Write(pdfDoc);
        Response.End();
4

1 回答 1

0

我遇到了同样的问题,我通过从我的 html 文件中的!DOCTYPE html标记中删除 url 解决了这个问题。

即,我更换了:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<!DOCTYPE html>

进行此更改后,HtmlParser.Parse 命令正常运行并生成了 .pdf,而没有给我 (407) 代理身份验证错误。

于 2015-03-31T17:08:51.707 回答