使用 TheArtOfDev.HtmlRenderer.PdfSharp 从 HTML 创建 PDF

Create PDF from HTML using TheArtOfDev.HtmlRenderer.PdfSharp

我需要将格式良好的 HTML 字符串转换为 PDF 文档。

我发现 this DLL 应该可以满足我的需要,但它在格式化时工作不正常。

That's 我正在尝试转换的 HTML 代码,并且在浏览器上查看它工作正常(我已经使用 Bootstrap CSS,这是正确的引用为 cdn).

但一旦转换为 PDF,结果如下:

这就是我用来转换它的代码:

        string html = "";

        if (File.Exists(pathIN))
        {
            html = File.ReadAllText(pathIN);
        }

        PdfDocument pdfDocument = new PdfDocument();
        PdfDocument pdf = PdfGenerator.GeneratePdf(html, PageSize.A4, 60);
        pdf.Save(pathOUT);

有人有什么建议吗?

我在使用 HtmlRenderer/PdfSharp 和 Bootstrap 控制布局时也遇到了这个问题。

尽管这有悖常理,但我还是使用表格进行布局。鉴于目标 (pdf) 显然是一个固定宽度,响应不是必需的。

尝试使用 https://wkhtmltopdf.org,适用于 bootstrap 个页面。

我知道有点晚了,但这可以帮助别人 bootstrap 的问题是要对齐列使用 float: left 和 pdfsharp 无法读取此 属性 而是使用 display: inline-block 并以像素为单位定义宽度。

为了避免对其他人造成无用的努力,即使使用 display: inline-block 来定义宽度,它也不会像 Table 那样对 Bootstrap 起作用。 table 的右侧总是被修剪,尺寸不适合我的字母尺寸。