0

我尝试使用DinkToPDF将 html 转换为 pdf 。

不幸的是,pdf 结果与源 HTML 不同。

这是我的 DinkToPdf 设置:

var globalSettings = new GlobalSettings
{
    ColorMode = ColorMode.Color,
    Orientation = Orientation.Portrait,
    PaperSize = PaperKind.A4,
    DocumentTitle = title,
    Out = string.Empty,
};

var objectSettings = new ObjectSettings
{
    PagesCount = true,
    HtmlContent = htmlBody,
    WebSettings = { DefaultEncoding = "utf-8" }
};

示例源 HTML

示例源 html

示例 PDF 结果

dinktopdf 结果

它是一个错误吗?还是我的代码有问题?

4

2 回答 2

1

DinkToPdf 基于 wkhtmltopdf 并且不支持很多现代 CSS。

请参阅DinkToPdf 上StackOverflow 帖子。

于 2020-12-22T12:23:01.110 回答
0

它不是一个错误。正如@zvons 所解释的,它不支持像 Flexbox 这样的现代 CSS。此外,还有许多全局设置可以改变字符之间的字体深度、间距等。

例如:DPI 是 PDF 的重要设置。这不能从 CSS 完成。更改全局设置以实现结果。

于 2021-12-03T16:10:21.370 回答