0

こんにちは、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」です。これを修正するにはどうすればよいですか?! 助けてください よろしくお願いします

4

0 に答える 0