こんにちは、itextsharp を使用して PDF を生成する作業を開始しました。そうしようとすると、エラーが発生し続けます。しかし、レンダーメソッドのオーバーライドでpdfを生成すると、うまくいくようです..
これはボタンクリック時のコードです:
protected void btnExport_Click(object sender, EventArgs e)
{
string htmlMarkup = createPdf.GetHtmlPage(HttpContext.Current.Request.Url.AbsoluteUri);
try
{
createPdf.GeneratePDF(htmlMarkup);
}
catch (Exception ex)
{
lblmessage.Text = ex.Message;
throw;
}
}
そして生成クラスのコード:
public void GeneratePDF(string pdfBody)
{
var document = new Document();
// TODO : Write to Memory Stream
var writer = PdfWriter.GetInstance(document, memStream);
document.Open();
iTextSharp.text.html.simpleparser.StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet();
iTextSharp.text.html.simpleparser.HTMLWorker hw = new iTextSharp.text.html.simpleparser.HTMLWorker(document);
//Why is this line not working??
hw.Parse(new StringReader(pdfBody));
document.Close();
ShowPdf();
}
public string GetHtmlPage(string strURL)
{
String strResult;
WebResponse objResponse;
WebRequest objRequest = HttpWebRequest.Create(strURL);
objRequest.UseDefaultCredentials = true;
objRequest.PreAuthenticate = true;
objRequest.Credentials = CredentialCache.DefaultCredentials;
objResponse = objRequest.GetResponse();
using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
{
strResult = sr.ReadToEnd();
sr.Close();
}
return strResult;
}
エラーはコメント行で生成されます。エラーは「ネットワーク パスが見つかりませんでした。\r\n」です。これを修正するにはどうすればよいですか?! 助けてください よろしくお願いします