Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用itestsharp生成PDF_C#_Visual Studio 2010_Pdf_Sharepoint 2010 - Fatal编程技术网

C# 使用itestsharp生成PDF

C# 使用itestsharp生成PDF,c#,visual-studio-2010,pdf,sharepoint-2010,C#,Visual Studio 2010,Pdf,Sharepoint 2010,我正在尝试使用itextsharp生成pdf文件 以下是生成PDF的方法: private void Page_onPreRenderComplete(object sender, EventArgs e) { // createPdf.GeneratePDF(htmlMarkup); MemoryStream memoryStream = new MemoryStream(); StringBuilder sBuilder = new StringBuilder();

我正在尝试使用itextsharp生成pdf文件

以下是生成PDF的方法:

private void Page_onPreRenderComplete(object sender, EventArgs e)
{
    // createPdf.GeneratePDF(htmlMarkup);
    MemoryStream memoryStream = new MemoryStream();

    StringBuilder sBuilder = new StringBuilder();
    StringWriter sw = new StringWriter(sBuilder);
    HtmlTextWriter htmlText = new HtmlTextWriter(sw);

    Page.RenderControl(htmlText);
    string pdfBody = sBuilder.ToString();

    Document document = new Document();
    PdfWriter.GetInstance(document, memoryStream);

    document.Open();
    StyleSheet styles = new StyleSheet();
    HTMLWorker hw = new HTMLWorker(document);

    try
    {
        hw.Parse(new StringReader(pdfBody));
    }
    catch (Exception ex)
    {
       string msg = ex.Message;
    }
    finally
    {
        document.Close();
    }

    HttpContext.Current.Response.ClearContent();
    HttpContext.Current.Response.ClearHeaders();
    HttpContext.Current.Response.AddHeader("Content-Disposition", "inline;filename=outfile.pdf");
    HttpContext.Current.Response.ContentType = "application/pdf";
    HttpContext.Current.Response.Write(memoryStream);
    HttpContext.Current.Response.End();
}

在try块内的行上生成错误。如何修复此问题?

可能是图像标记等在呈现的HTML中位于相对路径而不是绝对路径中

出现了什么错误?“未找到网络路径。\r\n“
HTMLWorker
很久以前被
XmlWorker
替换,建议您切换到该路径。同时,请参见此图,其中显示了如何设置相对图像路径: