wkhtmltopdf - 直接在C#中将HTML代码转换为pdf

rle*_*923 7 c# asp.net wkhtmltopdf

我知道这个工具在URL上查找并将repsponse转换为pdf.我如何转换

<html> content.. </html> 
Run Code Online (Sandbox Code Playgroud)

成为PDF格式?

我正在查看wkhtml2pdf上的帮助文件,看起来它提供了stdin的选项,但我无法弄清楚如何模拟stdin.

此外,如果你知道一个更好的工具,请建议我一些.

非常感谢!

小智 14

我刚开始一个新项目,在wkhtmltopdf周围提供一个C#P/Invoke包装器.

您可以在以下网址查看我的代码:https://github.com/pruiz/WkHtmlToXSharp

映入眼帘.


Răz*_*nda 8

看看Pechkin

.NET Wrapper for WkHtmlToPdf DLL,使用Webkit引擎将HTML页面转换为PDF的库.

Nuget包:

Pechkin.Synchronized

Pechkin

示例代码:

private void ConvertToPdf()
{
    var loadPath = Server.MapPath("~/HtmlTemplates");
    var loadFile = Path.Combine(loadPath, "Test.html");
    var savePath = Server.MapPath("~/Pdf");
    var saveFile = Path.Combine(savePath, DateTime.Now.ToString("HH-mm-ss.fff") + ".pdf");

    var globalConfig = new GlobalConfig()
        .SetMargins(0, 0, 0, 0)
        .SetPaperSize(PaperKind.A4);

    var pdfWriter = new SynchronizedPechkin(globalConfig);

    pdfWriter.Error += OnError;
    pdfWriter.Warning += OnWarning;

    var objectConfig = new ObjectConfig()
        .SetPrintBackground(true)
        .SetIntelligentShrinking(false);

    var pdfBuffer = pdfWriter.Convert(objectConfig, File.ReadAllText(loadFile));

    File.WriteAllBytes(saveFile, pdfBuffer);
}

private void OnWarning(SimplePechkin converter, string warningtext)
{
    throw new NotImplementedException();
}

private void OnError(SimplePechkin converter, string errortext)
{
    throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)


小智 5

wkhtmltopdf是一个免费的工具,但它不是用.NET编写的,它可能很难集成到你的asp.net应用程序中.

你可以看看iTextSharp,这是免费的,但不能处理任何类型的HTML,或者你可以看看商业工具将html转换为pdf,如ExpertPDFABCpdf,可以处理任何html/css.

  • `iTextSharp` 拥有 AGPL Copyleft 许可证,如果不打开项目的完整源代码或付费,则不能用于商业应用程序 (3认同)