PDF ツール C++でPDFファイルを作成する方法 Curtis Chau 更新日:6月 22, 2025 Download IronPDF NuGet Download テキストの検索と置換 テキストと画像のスタンプ Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 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ファイルを作成するには、以下が必要です: システムにインストールされたGCCまたはClangといったC++コンパイラ。 C++プログラミングをサポートする任意のIDEを使用できます。 wkhtmltopdfライブラリをダウンロードしてインストールします。 最新バージョンは公式のwkhtmltopdfウェブサイトからダウンロードし、オペレーティングシステムの指示に従ってインストールします。 C++プログラミングの基本知識。 Code::BlocksでC++のPDFプロジェクトを作成する Code::Blocksでプロジェクトを作成し、以下の手順に従ってライブラリフォルダとファイルをリンクします。別のIDEを使っている場合、オプションが異なるかもしれませんが、ダウンロードしたライブラリをプロジェクトに参照する必要があります。 1. 検索ディレクトリにインクルードフォルダを追加する Code::Blocksが必要なヘッダーファイルを見つけられるようにするため、検索ディレクトリを設定します。 メニューバーの「プロジェクト」メニューをクリックし、「ビルドオプション」を選択します。 「デバッグ」を選択していることを確認してください。 「ビルドオプション」ダイアログボックスで「検索ディレクトリ」タブを選択します。 「コンパイラ」タブの下で「追加」ボタンをクリックします。 wkhtmltoxヘッダーファイルが位置するディレクトリ(例:C:\Program Files\wkhtmltopdf\include)に移動して選択します。 最後に、ダイアログボックスを閉じるために「OK」をクリックします。 !C++でPDFファイルを作成する方法:図1 2. リンカー設定でライブラリをリンクする wkhtmltoxライブラリに対してリンクするには、以下の手順に従います: 再びメニューバーの「プロジェクト」メニューをクリックし、「ビルドオプション」を選択します。 「デバッグ」を選択していることを確認してください。 「ビルドオプション」ダイアログボックスで「リンカー設定」タブを選択します。 「リンクライブラリ」タブの下で「追加」ボタンをクリックします。 wkhtmltoxライブラリファイルが位置するディレクトリ(例:C:\Program Files\wkhtmltopdf\lib)に移動して適切なライブラリファイルを選択します。 「開く」をクリックしてプロジェクトにライブラリを追加します。 最後に、ダイアログボックスを閉じるために「OK」をクリックします。 !C++でPDFファイルを作成する方法:図2 Wkhtmltopdfを使用してC++でPDFを作成する手順 1. 必要なライブラリを含める まず、wkhtmltopdfライブラリの機能をC++プログラムで利用するために必要なヘッダーファイルを含めます。 以下のヘッダーファイルをmain.cppソースコードファイルの冒頭に含めます: #include <iostream> #include <fstream> #include <string> #include <wkhtmltox/pdf.h> // Include wkhtmltopdf library headers #include <iostream> #include <fstream> #include <string> #include <wkhtmltox/pdf.h> // Include wkhtmltopdf library headers C++ 2. GUIコンポーネントを無効にする GUIを使用していない場合は、エラーを避けるために無効にする必要があります。 コードは次の通りです: wkhtmltopdf_init(false); // Initialize the wkhtmltopdf library in non-GUI mode wkhtmltopdf_init(false); // Initialize the wkhtmltopdf library in non-GUI mode C++ 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); wkhtmltopdf_global_settings* gs = wkhtmltopdf_create_global_settings(); wkhtmltopdf_object_settings* os = wkhtmltopdf_create_object_settings(); wkhtmltopdf_converter* converter = wkhtmltopdf_create_converter(gs); C++ 4. PDFコンテンツの追加 新しく作成したPDF文書にコンテンツを埋めるためにHTML文字列を作成します。 コードは次の通りです: 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()); 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()); C++ 5. HTML文字列をPDFファイルに変換する WkhtmltopdfはHTMLコンテンツをPDFに変換するコンバーターメソッドを提供します。 以下はそのコードスニペットです: wkhtmltopdf_convert(converter); // Converts HTML content to PDF wkhtmltopdf_convert(converter); // Converts HTML content to PDF C++ 6. メモリバッファとして出力を取得する wkhtmltopdf_get_output関数を使用して、PDFデータをメモリバッファストリームとして取得できます。 これによりPDFの長さも返されます。 次の例はこのタスクを実行します: const unsigned char* pdfData; int pdfLength = wkhtmltopdf_get_output(converter, &pdfData); // Get PDF data and length const unsigned char* pdfData; int pdfLength = wkhtmltopdf_get_output(converter, &pdfData); // Get PDF data and length C++ 7. PDFファイルを保存する pdfDataポインターは、wkhtmltopdf_converterからの文字のストリームを持つようになります。 PDFファイルに保存するには、まずPDFを保存したいファイルパスを指定します。 その後、出力ファイルストリームを使用してファイルをバイナリモードで開き、pdfDataをreinterpret_cast関数を使用してタイプキャストしながら書き込みます。 最後にファイルを閉じます。 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 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 C++ 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 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 C++ 9. コードを実行しPDFファイルを生成する 次に、プロジェクトをビルドし、F9を使用してコードを実行します。出力が生成され、プロジェクトフォルダに保存されます。 生成されたPDFは次の通りです: !C++でPDFファイルを作成する方法:図3 C#でPDFファイルを作成する IronPDF IronPDFは、HTMLからPDF文書を簡単に作成できる.NET C# PDFライブラリです。 これは、HTMLからPDFファイルを作成するプロセスを簡略化する直感的なAPIを提供します。 IronPDFは、PDFを操作する際に強力で多用途です。 単純なHTML文書からだけでなく、CSSスタイリング、JavaScriptの相互作用、および動的なコンテンツを持つ複雑なウェブページからもPDFを作成します。 さらに、その変換メソッドに迅速にアクセスして異なるPDFコンバーターを開発できます。 Here's an example code to create PDF with IronPDF using HTML string to PDF conversion: 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"); 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"); Imports IronPdf ' Instantiate Renderer Private renderer = New ChromePdfRenderer() ' Create a PDF from an HTML string using C# Private pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>") ' Export to a file or Stream pdf.SaveAs("output.pdf") $vbLabelText $csharpLabel ChromePdfRendererのインスタンスを作成し、HTMLコンテンツをPDFとしてレンダリングします。 HTML文字列をrendererオブジェクトに渡してRenderHtmlAsPdfメソッドを呼び出します。 これによりPDF文書が生成され、その後SaveAsメソッドを使用してPDF文書を保存します。 !C++でPDFファイルを作成する方法:図4 For more details on how to create a PDF from various resources with IronPDF, please visit this IronPDF code examples page. 結論 この記事では、wkhtmltopdf C++ライブラリを使用してC++でPDFを生成する方法を探り、C#でPDF文書を生成するためにIronPDFを使用する方法も学びました。 IronPDFを使用すると、HTMLコンテンツからPDFファイルを生成することが.NET Framework言語で簡単になります。 その広範な機能セットは、C#プロジェクトでHTMLをPDFに変換する必要がある開発者にとって貴重なツールです。 レポートの生成、請求書、または正確なHTMLtoPDF変換を必要とするその他のドキュメントの生成であっても、IronPDFは信頼性が高く効率的なソリューションです。 IronPDFは開発目的には無料ですが、商業利用にはライセンスが必要です。 商業利用のためのその完全な機能をテストするための無料トライアルも提供しています。 IronPDFをダウンロードして自分で試してみてください。 Curtis Chau 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 更新日 6月 22, 2025 2025年の最高のPDF訂正ソフトウェアを発見する 2025年のトップPDF訂正ソリューションを探る。Adobe Acrobat Pro DC、Nitro PDF Pro、Foxit PDF Editor、およびPDF-XChange Editorを含みます。.NETでの自動訂正によるセキュリティとコンプライアンスの強化について学びます。 詳しく読む 更新日 6月 22, 2025 iPhone向けのベストPDFリーダー(無料&有料ツールの比較) この記事では、iPhoneの最高のPDFリーダーを調査し、IronPDFが最良の選択肢である理由を結論付けます。 詳しく読む 更新日 6月 26, 2025 Windows用のベスト無料PDFエディタ(無料&有料ツールの比較) この記事は、2025年に利用可能な最高の無料PDF編集ソフトを探り、最も強力で柔軟な選択肢であるIronPDFで締めくくります。 詳しく読む C++でPDFファイルを表示する方法C++でPDFファイルを読む方法
更新日 6月 22, 2025 2025年の最高のPDF訂正ソフトウェアを発見する 2025年のトップPDF訂正ソリューションを探る。Adobe Acrobat Pro DC、Nitro PDF Pro、Foxit PDF Editor、およびPDF-XChange Editorを含みます。.NETでの自動訂正によるセキュリティとコンプライアンスの強化について学びます。 詳しく読む
更新日 6月 22, 2025 iPhone向けのベストPDFリーダー(無料&有料ツールの比較) この記事では、iPhoneの最高のPDFリーダーを調査し、IronPDFが最良の選択肢である理由を結論付けます。 詳しく読む
更新日 6月 26, 2025 Windows用のベスト無料PDFエディタ(無料&有料ツールの比較) この記事は、2025年に利用可能な最高の無料PDF編集ソフトを探り、最も強力で柔軟な選択肢であるIronPDFで締めくくります。 詳しく読む