\n \n \n \n \n \n \n \";\n\n// Instantiate Renderer\nvar renderer = new ChromePdfRenderer();\n\n// Enable JavaScript in our RenderingOptions\nrenderer.RenderingOptions.EnableJavaScript = true;\nrenderer.RenderingOptions.WaitFor.JavaScript();\nrenderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;\n\nvar pdf = renderer.RenderHtmlAsPdf(htmlWithJs);\n\n// Export to a file or Stream\npdf.SaveAs(\"js-chart.pdf\");\n","about":{"@id":"https://ironpdf.com/zh-hant/examples/js-charts-to-pdf/#product"},"targetProduct":{"@id":"https://ironpdf.com/zh-hant/examples/js-charts-to-pdf/#product"},"keywords":"JavaScript圖表轉PDF,IronPDF圖表渲染,轉換JS圖表到PDF,使用IronPDF在PDF中渲染圖表,建立包含JavaScript圖表的PDF,在PDF中嵌入互動式圖表","datePublished":"2023-06-06","dateModified":"2026-04-22"}]}
IRONSOFTWAREHOME
在 PDF 中呈現圖表
using IronPdf;

const string 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]
                    ]
                }
                });
            // Set delay
            setTimeout(function() {
                window.ironpdf.notifyRender();
            }, 1000);
            </script>
        </body>
    </html>";

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Enable JavaScript in our RenderingOptions
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.JavaScript();
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

var pdf = renderer.RenderHtmlAsPdf(htmlWithJs);

// Export to a file or Stream
pdf.SaveAs("js-chart.pdf");
Imports IronPdf

Const htmlWithJs As String = "<!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]
                    ]
                }
                });
            // Set delay
            setTimeout(function() {
                window.ironpdf.notifyRender();
            }, 1000);
            </script>
        </body>
    </html>"

' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()

' Enable JavaScript in our RenderingOptions
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.JavaScript()
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print

Dim pdf = renderer.RenderHtmlAsPdf(htmlWithJs)

' Export to a file or Stream
pdf.SaveAs("js-chart.pdf")
NuGet Download
PM > Install-Package IronPdf
在 PDF 中呈現圖表

在 PDF 中呈現圖表

IronPDF除了強大的HTML到PDF轉換功能外,還提供JavaScript渲染的完整支援,包括支援canvas和圖表的渲染。 此JavaScript的完整支援使開發者能夠建立高品質的PDF,其中包含完全渲染的圖表,包括3D圖表和多邊形。

支援的一些圖表包括:

  • C3.js
  • D3.js
  • Highcharts

首先,我們需要建立用於生成我們PDF文件的HTML內容。 此HTML包括內嵌JavaScript,以使用C3程式庫生成條形圖。 setTimeout函式確保在1秒後呼叫window.ironpdf.notifyRender(),在JavaScript完成執行後通知IronPDF繼續渲染頁面。

現在,我們可以看看這如何轉化為易於閱讀的PDF文件。 首先,我們建立了一個新的ChromePdfRenderer實例,這個實例用於存取IronPDF使用的強大渲染引擎,並允許在HTML頁面中渲染高級JavaScript。

接下來,我們有三個不同的選項,這些選項是使用RenderingOptions類設置的。 第一個EnableJavaScript = true確保我們範例HTML文件中的JavaScript在渲染HTML頁面時執行。 WaitFor.JavaScript()用於暫停渲染過程,直到所有JavaScript運行完畢,以確保圖表正確渲染。 第三個選項CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print將CSS媒體型別設置為列印,以優化PDF渲染風格。

下一步是將我們之前建立的HTML文件最終渲染成PDF文件。這是通過RenderHtmlAsPdf方法完成的,該方法接收htmlWithJs變數並將HTML和JavaScript轉換為新的PDF文件。

最後,PDF文件可以使用SaveAs方法保存。 現在,您將擁有一個新PDF文件,其中包含使用HTML和JavaScript建立的完全渲染的圖表。

發現如何使用IronPDF將JavaScript轉換為PDF。
在 GitHub 上查看

準備開始了嗎?

Nuget Downloads 21,105,021版本:2026.9剛剛發布

Key in blue circle

立即免費取得 30 天試用金鑰。

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
預訂您的免費現場演示
Booking Badge

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密。
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰。
無需信用卡或帳戶建立
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起