我在C#中使用itextsharp.text元素开发Web应用程序。 我非常喜欢itextsharp及其类。 请帮我解决这个错误: 无法连接到远程服务器
这是我的代码和堆栈跟踪:
public void CreatePDFDocument(string strHtml)
{
DirectoryInfo thisFolder = new DirectoryInfo(Server.MapPath("Temp"));
if (thisFolder.Exists)
{
if (File.Exists(Server.MapPath("Temp/test.pdf")))
{
File.Delete(Server.MapPath("Temp/test.pdf"));
}
thisFolder.Delete();
thisFolder.Create();
}
else
{
thisFolder.Create();
}
string strFileName =Server.MapPath("Temp/test.pdf");
// step 1: creation of a document-object
Document document = new Document();
// step 2:
// we create a writer that listens to the document
PdfWriter.GetInstance(document, new FileStream(strFileName, FileMode.Create));
StringReader se = new StringReader(strHtml);
HTMLWorker obj = new HTMLWorker(document);
document.Open();
obj.Parse(se); // this line throws error
document.Close();
ShowPdf(strFileName);
}
BOLD中的行引发错误。
这是堆栈跟踪:
发生了System.Net.WebException
的HResult = -2146233079
消息=无法连接到远程服务器
来源=系统
StackTrace:在System.Net.HttpWebRequest.GetResponse()
at iTextSharp.text.Image.GetInstance(Uri url,Boolean handleIncorrectImage)
at iTextSharp.text.Image.GetInstance(Uri url)
at iTextSharp.text.Image.GetInstance(String filename)
在 iTextSharp.text.html.simpleparser.ElementFactory.CreateImage(字符串 src,IDictionary
2 attrs, ChainedProperties chain, IDocListener document, IImageProvider img_provider, Dictionary
2 img_store,String img_baseurl)at iTextSharp.text.html.simpleparser.HTMLWorker.CreateImage(IDictionary`2 ATTRS)在 iTextSharp.text.html.simpleparser.HTMLTagProcessors.HTMLTagProcessor_IMG.StartElement(HTMLWorker worker,String tag,IDictionary`2 attrs)
at iTextSharp.text.html.simpleparser.HTMLWorker.StartElement(String tag,IDictionary`2 attrs)
在 iTextSharp.text.xml.simpleparser.SimpleXMLParser.ProcessTag(布尔 启动)
at iTextSharp.text.xml.simpleparser.SimpleXMLParser.Go(TextReader) 读取器)
在 iTextSharp.text.xml.simpleparser.SimpleXMLParser.Parse(ISimpleXMLDocHandler doc,ISimpleXMLDocHandlerComment comment,TextReader r,Boolean html)
at iTextSharp.text.html.simpleparser.HTMLWorker.Parse(TextReader) 读取器)
在F:\ New中的Payroll.PaySlip.CreatePDFDocument(String strHtml) folder \ EMS \ EMS \ Payroll \ PaySlip.aspx.cs:第88行
InnerException:System.Net.Sockets.SocketException
的HResult = -2147467259
消息=因为目标计算机无法建立连接 积极拒绝它127.0.0.1:5510
来源=系统
错误码= 10061
NativeErrorCode = 10061
StackTrace:在System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot,SocketAddress socketAddress)
在System.Net.ServicePoint.ConnectSocketInternal(布尔值 connectFailure,Socket s4,Socket s6,Socket& socket,IPAddress& 地址,ConnectSocketState状态,IAsyncResult asyncResult, 异常和放大器;例外)
的InnerException:
答案 0 :(得分:2)
不确定没有HTML内容,但这适用于您: http://forums.asp.net/t/1841173.aspx?
从该页面引用:
由于您的html字符串包含指向某些外部的图像 服务器。和iTextSharp库试图从那些图像中获取图像 服务器并没有这样做,这就是你收到这些错误的原因。
尝试在同一台计算机上从您的浏览器访问图像。