【问题标题】:Convert HTML with Charts to PDF using IronPdf使用 IronPdf 将带有图表的 HTML 转换为 PDF
【发布时间】:2020-05-07 10:56:14
【问题描述】:

在尝试 IronPdf 库将 HTML 与图表转换时,我没有将图表转换为 PDF 文件。 PDF 在没有条形图的情况下生成。这是我试图转换为 PDF 的示例链接 - https://www.chartjs.org/samples/latest/charts/bar/horizontal.html

使用的代码:

var Renderer = new IronPdf.HtmlToPdf();
Renderer.PrintOptions.EnableJavaScript = true;
Renderer.PrintOptions.RenderDelay = 500;
Renderer.PrintOptions.CssMediaType = PdfPrintOptions.PdfCssMediaType.Print;
var PDF = Renderer.RenderUrlAsPdf("https://www.chartjs.org/samples/latest/charts/bar/horizontal.html");
var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "horizontal.pdf");
PDF.SaveAs(path);

【问题讨论】:

  • 我在使用不同的 HTML 到 PDF 包时遇到了类似的问题,问题是在加载 HTML 后图形正在异步呈现。我使用的包有一种方法可以“等待”直到进行转换。
  • 我就同样的问题联系了 IronPdf。得到答复,chartjs 不兼容,我应该使用 c3 d3 库,特别是 d3 版本 3 和 c3 0.5.4 版本(不适用于最新版本)或 highcharts。你有没有设法让 chartjs 为你工作?
  • 高图表支持于 2019 年 9 月添加到 ironPDF。它以前不受支持,大多数其他 HTML 到 PDF 库仍然不支持,包括 Wkhtmltopdf / itext

标签: c# ironpdf


【解决方案1】:

我在使用 HighCharts 时遇到了类似的问题。我添加了解决我的问题的 c3 和 d3 脚本文件(JS 和 CSS)。

请将以下代码添加到您的代码中:

<link href="https://cdnjs.cloudflare.com/ajax/libs/c3/0.5.4/c3.css" rel="stylesheet">
<script src="https://d3js.org/d3.v4.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.5.4/c3.js"></script>

让我知道它是否适合你。

【讨论】:

  • 请不要将您的代码添加为评论。相反,请edit 你的答案包括你的代码为formatted text
【解决方案2】:

我发现,自 2021.9.3737 以来,IronPDf 主包可以很好地为我和我的团队呈现 JS 图表。我用的是最新的nugethttps://www.nuget.org/packages/IronPdf/

using IronPdf; 
 
var Renderer = new IronPdf.ChromePdfRenderer();
 
Renderer.RenderingOptions.EnableJavaScript = true;
Renderer.RenderingOptions.RenderDelay = 500;

var PDF = Renderer.RenderUrlAsPdf("https://www.chartjs.org/samples/latest/charts/bar/horizontal.html");

var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "horizontal.pdf");

PDF.SaveAs(path);
 

【讨论】:

  • 理解。 IronPDF 过去对 javascript 的支持有限——就像大多数 html 到 pdf 渲染器一样。从 2021.9 版本开始,他们使用嵌入在其软件中的最新版 Chrome 浏览器进行 HTML 到 PDF 的渲染。最后,JS 和 CSS 支持与桌面浏览器相同。我发现他们最近发布的这个教程非常有助于让我的 HTML、CSS 和 JS 像素完美。 ironpdf.com/tutorials/pixel-perfect-html-to-pdf 与他们的支持频道交谈,WebGL 支持也将于 2021 年 10 月推出,这将允许 3d 图表呈现。
猜你喜欢
  • 2015-05-05
  • 1970-01-01
  • 2018-05-06
  • 1970-01-01
  • 1970-01-01
  • 2018-08-13
  • 2011-02-26
  • 2013-11-08
  • 2019-12-08
相关资源
最近更新 更多