Wkhtmltopdf无法创建PDF

时间:2014-04-25 07:22:53

标签: c# iis wkhtmltopdf

我尝试使用wkhtmltopdf Codaxy C# Wrapper将动态HTML页面转换为PDF文件。
它在本地计算机上运行正常,但当我尝试发布它/将其上传到IIS server时,

它给了我:Exit with code 1 due to network error: ContentNotFoundError

请帮帮我:D

2 个答案:

答案 0 :(得分:1)

这是创建此问题的用户使用的解决方案。

  

您好我已经通过更改代码包装器解决了这个问题   我用http://github.com/tuespetre/TuesPechkin代替了codaxy。

答案 1 :(得分:0)

错误可能是您提供的网址无法由您的服务器访问?

对于其他人,我们可以在Codaxy.WkHtmlToPdf的PdfConvert.cs中编写一个小方法,例如在我们的控制器中生成html:

public static void ConvertHtmlToPdf(string htmlHeader, string htmlContent, string htmlFooter, PdfOutput output)
{
    String inputHeaderFilePath;
    String inputContentFilePath;
    String inputFooterFilePath;

    inputHeaderFilePath = Path.Combine(Environment.TempFolderPath, String.Format("{0}.html", Guid.NewGuid()));
    inputContentFilePath = Path.Combine(Environment.TempFolderPath, String.Format("{0}.html", Guid.NewGuid()));
    inputFooterFilePath = Path.Combine(Environment.TempFolderPath, String.Format("{0}.html", Guid.NewGuid()));

    // Feed Temp files
    File.WriteAllText(inputHeaderFilePath, htmlHeader);
    File.WriteAllText(inputContentFilePath, htmlContent);
    File.WriteAllText(inputFooterFilePath, htmlFooter);

    PdfDocument document = new PdfDocument() { HeaderUrl = inputHeaderFilePath, Url = inputContentFilePath, FooterUrl = inputFooterFilePath };
    ConvertHtmlToPdf(document, output);

    //Remove Temp files
    File.Delete(inputHeaderFilePath);
    File.Delete(inputContentFilePath);
    File.Delete(inputFooterFilePath);
}

你怎么看?