在 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剛剛發布