2012-09-06 59 views
0

我正在使用以下代碼從使用itextsharp dll的網頁生成pdf。遠程服務器返回錯誤:(407)需要代理身份驗證

但我得到foloowing錯誤。 遠程服務器返回錯誤:(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(); 
+0

你使用代理服務器進入互聯網,那東西需要某種認證? –

+0

你的sw.ToString()是否包含不在本地服務器上託管的圖像(例如)?過時的HTMLWorker在幕後做了很多工作。 – VahidN

+0

請刪除itextsharp作爲標記。這不是一個itextsharp問題。這是關於從您的機器上獲取HTML和所有從該HTML引用的資源。 –

回答

0

我有同樣的問題,我從DOCTYPE HTML標記在我的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)代理身份驗證錯誤。

相關問題