在PDF中渲染图表
from ironpdf import *

htmlWithJs = """
<!DOCTYPE html>
<html>
    <head>
        <meta charset='utf-8' />
        <title>C3 Bar Chart</title>
    </head>
    <body>
        <div id='chart' style='width: 950px;'></div>
        <script src='https://d3js.org/d3.v4.js'></script>
        <!-- Load c3.css -->
        <link href='https://cdnjs.cloudflare.com/ajax/libs/c3/0.5.4/c3.css' rel='stylesheet'>
        <!-- Load d3.js and c3.js -->
        <script src='https://cdnjs.cloudflare.com/ajax/libs/c3/0.5.4/c3.js'></script>
        <script>
            Function.prototype.bind = Function.prototype.bind || function (thisp) {
                var fn = this;
                return function() {
                    return fn.apply(thisp, arguments);
                };
            };
            var chart = c3.generate({
            bindto: '#chart',
            data: {
                columns: [
                    ['data1', 30, 200, 100, 400, 150, 250],
                    ['data2', 50, 20, 10, 40, 15, 25]
                ]
            }
            });
        </script>
    </body>
</html>
"""

# Instantiate Renderer
renderer = ChromePdfRenderer()

# Enable JavaScript in our RenderingOptions
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(1000)
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print

pdf = renderer.RenderHtmlAsPdf(htmlWithJs)

# Export to a file or Stream
pdf.SaveAs("js-chart.pdf")
pip install ironpdf
在PDF中渲染图表

在PDF中渲染图表

IronPDF for Python可以将交互式JavaScript图表库(如D3.js和C3.js)直接渲染为PDF,无需额外的图像转换步骤即可生成高质量的图表图像。

开始

将您的图表构建为包含必要CDN脚本标签的独立HTML字符串。 设置WaitFor.RenderDelay以确保图表库在捕获PDF之前完成绘制。 可选地,将Print以应用打印专用样式。

理解代码

  • EnableJavaScript:需要执行生成图表的D3和C3脚本。
  • WaitFor.RenderDelay(1000):页面加载后等待1000毫秒。 由于图表库执行异步渲染,因此相比简单的DOM操作,需要更长的延迟。
  • @media print CSS规则,通常去除交互控件并产生在PDF中更干净的图表布局。
  • RenderHtmlAsPdf(htmlWithJs):将完整的HTML(包括已加载的图表)渲染为PDF文档。

支持的图表库

因为IronPDF使用Chrome渲染引擎,所以任何在浏览器中运行的JavaScript图表库也可以正确渲染为PDF。 这包括Chart.js、Highcharts、ApexCharts、ECharts等。

学习如何使用IronPDF for Python将HTML转换为PDF!

准备开始了吗?

版本:2026.11刚刚发布