首页 > 解决方案 > 将带有 css 类和背景图像的富 html 转换为 PDF

问题描述

我需要转换包含基于 css 文件的 css 类的 html。HTML 还具有图像作为背景(具有背景图像作为属性的 css 类)。它使用 css3 属性和模型(即 flexbox)。我刚刚开始搜索,但出现的名字很少:wkhtmltopdf Pechkin itextsharp phantom.js HtmlToPDF

我对 iTextSharp 有一些经验,但没有提到丰富的 html。

我正在寻找一种可以将这种 HTML 转换为 PDF 的工具。可以使用 .net->C# -(首选)或 node.js,但不是 PHP。提前致谢

标签: wkhtmltopdfhtml-to-pdfhtml-pdf

解决方案


我进行了一些调查,最有问题的问题是 css3 属性(弹性盒模型),它没有被转换为 PDF - 请参阅下面的详细信息。不仅如此 - 当使用背景图像时 - 我将背景图像属性设置为图像的 base64 代码作为 url(有在线转换器 png <-> base64)。

以下是我研究过的一些转换器:

  1. pdfcrowd - 我发现的最好的 .net api。与 flexbox 配合得很好。问题是它不是长期免费的。
  2. HtmlRenderer.PdfSharp - C# 转换器 - 似乎无法很好地解析 flex-box。
  3. Pechkin是 wkhtmltopdf DLL(命令行工具)的 .NET Wrapper - 也不能很好地解析 flex-box。
  4. html-pdf - 使用 phantomjs 的 node.js 包 - 对我来说与 flex-box 模型配合得很好,只需稍作改动。

phantomjs 几乎没有其他包装器应该可以工作。


推荐阅读