IRONSOFTWAREHOME
.NET幫助

Azure Tables(對開發者如何理解的工作)

Curtis Chau
Curtis Chau
Updated: 2026年4月21日

PDF(可攜式文件格式)文件被廣泛用於在不同平台上以一致的格式分享和保存文件。 在本文中,我們將探討如何使用wkhtmltopdf程式庫在C++中生成PDF文件。 這是一個開源命令行工具,用於將HTML內容轉換成PDF文件。 藉由利用這個程式庫的力量,我們可以在C++應用程式中從HTML內容程式化建立PDF文件。

wkhtmltopdf程式庫

wkhtmltopdf是一個開源命令行工具和渲染引擎,將HTML網頁或HTML內容轉換為PDF文件。 它利用WebKit渲染引擎解析和渲染HTML、CSS和JavaScript,然後根據渲染的內容生成PDF文件。

"wkhtmltopdf C++ Library"(也稱為"wkhtmltopdf C API")。 這個程式庫為wkhtmltopdf命令行工具提供了C++介面,使您能夠直接在C++應用程式中從HTML內容建立PDF文件。 讓我們挖掘一下使用wkhtmltopdf程式庫在C++中將HTML轉換為PDF的逐步過程。

先決條件

要在C++中建立PDF文件,我們需要以下內容:

  1. 在系統上安裝的C++編譯器,例如GCC或Clang。 您可以使用任何支持C++編程的IDE。
  2. 已下載並安裝的wkhtmltopdf程式庫。 您可以從官方wkhtmltopdf網站下載最新版本並按照操作系統的說明進行安裝。
  3. 基本的C++編程知識。

C++在Code::Blocks中建立PDF專案

在Code::Blocks中建立一個專案,然後按照以下步驟將程式庫資料夾和文件連結起來。如果您使用其他IDE,選項可能會有所不同,但您需要在專案中引用已下載的程式庫以使其正常工作。

1. 在搜尋目錄中新增include資料夾

為了確保Code::Blocks可以找到必要的標頭文件,我們需要設置搜尋目錄。

  1. 點選選單欄中的"專案"選單,然後選擇"構建選項"。 確保選擇"除錯"。
  2. 在"構建選項"對話框中,選擇"搜尋目錄"選項卡。
  3. 在"編譯器"選項卡下,點選"新增"按鈕。
  4. 瀏覽到<wkhtmltox>標頭文件所在的目錄(例如,C:\Program Files\wkhtmltopdf\include),然後選擇它。
  5. 最後,點選"確定"以關閉對話框。

 如何在C++中建立PDF文件:圖1

2. 在連結設置中連結程式庫

要對<wkhtmltox>程式庫進行連結,請按照以下步驟操作:

  1. 再次點選選單欄中的"專案"選單,然後選擇"構建選項"。 確保選擇"除錯"。
  2. 在"構建選項"對話框中,選擇"連結器設置"選項卡。
  3. 在"連結程式庫"選項卡下,點選"新增"按鈕。
  4. 瀏覽到<wkhtmltox>程式庫文件所在的目錄(例如,C:\Program Files\wkhtmltopdf\lib),然後選擇適當的程式庫文件。
  5. 點選"開啟"將程式庫新增到專案中。
  6. 最後,點選"確定"以關閉對話框。

 如何在C++中建立PDF文件:圖2

使用wkhtmltopdf在C++中建立PDF的步驟

1. 包含必要的程式庫

開始之前,首先我們將包括必要的標頭文件以在C++程式中利用wkhtmltopdf程式庫的功能。 在您的main.cpp源程式碼文件的開頭包括以下標頭文件:

#include <iostream>
#include <fstream>
#include <string>
#include <wkhtmltox/pdf.h> // Include wkhtmltopdf library headers
Text

2. 禁用GUI組件

如果您不使用GUI,則需要禁用它以避免錯誤。 程式碼如下所示:

wkhtmltopdf_init(false); // Initialize the wkhtmltopdf library in non-GUI mode
Text

3. 初始化設置和轉換器

接下來,我們需要初始化全域和物件設置指標,然後初始化wkhtmltopdf轉換器。

wkhtmltopdf_global_settings* gs = wkhtmltopdf_create_global_settings();
wkhtmltopdf_object_settings* os = wkhtmltopdf_create_object_settings();
wkhtmltopdf_converter* converter = wkhtmltopdf_create_converter(gs);
Text

4. 新增PDF內容

現在,讓我們建立一個HTML字串以填充一些內容到我們新建立的PDF文件中。 程式碼如下所示:

std::string htmlString = "<html><body><h1>Create a PDF in C++ using WKHTMLTOPDF Library</h1></body></html>";
wkhtmltopdf_add_object(converter, os, htmlString.c_str());
Text

5. 將HTML字串轉換為PDF文件

wkhtmltopdf提供了一個轉換器方法來將HTML內容轉換為PDF。 這是程式碼片段:

wkhtmltopdf_convert(converter); // Converts HTML content to PDF
Text

6. 以記憶體緩衝讀取輸出

使用wkhtmltopdf_get_output函式,我們可以獲得PDF資料作為記憶體緩衝流。 它還會返回PDF的長度。 以下範例將執行此操作:

const unsigned char* pdfData;
int pdfLength = wkhtmltopdf_get_output(converter, &pdfData); // Get PDF data and length
Text

7. 保存PDF文件

現在wkhtmltopdf_converter的字元流。 要保存為PDF文件,首先,我們將指定我們希望保存PDF的文件路徑。 然後,使用輸出文件流,我們用二進制模式打開該文件,並通過使用pdfData寫入其中。 最後,我們關閉該文件。

const char* outputPath = "file.pdf";
std::ofstream outputFile(outputPath, std::ios::binary); // Open file in binary mode
outputFile.write(reinterpret_cast<const char*>(pdfData), pdfLength); // Write PDF data
outputFile.close(); // Close the file
Text

8. 釋放記憶體

在成功建立PDF文件後,清理wkhtmltopdf分配的資源非常重要,否則會導致記憶體洩漏。

wkhtmltopdf_destroy_converter(converter); // Destroy the converter
wkhtmltopdf_destroy_object_settings(os);  // Destroy object settings
wkhtmltopdf_destroy_global_settings(gs);  // Destroy global settings
wkhtmltopdf_deinit();                     // Deinitialize the library

std::cout << "PDF created successfully." << std::endl; // Inform the user
Text

9. 執行程式碼並生成PDF文件

現在,構建該專案並使用F9執行該程式碼。輸出被生成並保存在專案資料夾中。 生成的PDF如下:

 如何在C++中建立PDF文件:圖3

Create PDF File in C#

IronPDF

IronPDF是一個.NET C# PDF程式庫,允許開發者輕鬆地從HTML建立PDF文件。 它提供了直觀的API,簡化了從HTML生成PDF文件的過程。

IronPDF在處理PDF方面顯得非常強大和多功能。 它不僅能從簡單的HTML文件建立PDF,還能處理包含CSS樣式、JavaScript交互,甚至動態內容的複雜網頁。 此外,您可以快速存取其轉換方法來開發不同的PDF轉換器。

這是一段使用IronPDF建立PDF的範例程式碼,利用HTML字串到PDF轉換:

using IronPdf;

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

// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

// Export to a file or Stream
pdf.SaveAs("output.pdf");

我們建立一個ChromePdfRenderer實例來將HTML內容渲染為PDF。 我們在RenderHtmlAsPdf方法並傳入HTML字串。 這會生成PDF文件,然後我們使用SaveAs方法保存PDF文件。

 如何在C++中建立PDF文件:圖4

有關如何使用IronPDF從各種資源建立PDF的更多詳細資訊,請存取這個IronPDF程式碼範例頁面。

結論

在本文中,我們探討了使用wkhtmltopdf C++ Library在C++中生成PDF,並學習了如何使用IronPDF在C#中生成PDF文件。

有了IronPDF,從HTML內容生成PDF文件變成了一個在.NET Framework語言中的簡單任務。 其豐富的功能集使其成為開發者在C#專案中需要HTML到PDF轉換的有價值工具。 無論是生成報告、發票,或任何其他需要準確HTML到PDF轉換的文件,IronPDF都是一個可靠且有效的解決方案。

IronPDF在開發用途中是免費的,但若用於商業用途則需要授權。 它還提供了一個免費試用來測試其完整功能。 下載IronPDF並親自試用。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

相關文章

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起