PDF ツール C++でPDFファイルを作成する方法 カーティス・チャウ 更新日:6月 22, 2025 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる ジェミニで開く このページについてGeminiに問い合わせる 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る 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"をクリックします。 2. リンカー設定でライブラリをリンクする wkhtmltoxライブラリにリンクするには、以下のステップに従ってください。 再びメニューバーの"プロジェクト"メニューをクリックし、"ビルドオプション"を選択します。 "デバッグ"を選択していることを確認してください。 "ビルドオプション"ダイアログボックスで"リンカー設定"タブを選択します。 "リンクライブラリ"タブの下、"追加"ボタンをクリックします。 wkhtmltoxライブラリファイルが格納されているディレクトリ(例:C:\Program Files\wkhtmltopdf\lib)を参照し、適切なライブラリファイルを選択します。 "開く"をクリックしてライブラリをプロジェクトに追加します。 最後に、ダイアログボックスを閉じるために"OK"をクリックします。 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ファイルを作成する IronPDF IronPDFは、HTMLからPDF文書を簡単に作成できる.NET C# PDFライブラリです。 これは、HTMLからPDFファイルを作成するプロセスを簡略化する直感的なAPIを提供します。 IronPDFは、PDFを操作する際に強力で多用途です。 単純なHTML文書からだけでなく、CSSスタイリング、JavaScriptの相互作用、および動的なコンテンツを持つ複雑なウェブページからもPDFを作成します。 さらに、変換メソッドへ迅速にアクセスして異なる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"); 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文書を保存します。 IronPDFを使ってさまざまなリソースからPDFを作成する方法についての詳細は、このIronPDFのコード例ページをご覧ください。 結論 この記事では、wkhtmltopdf C++ライブラリを使用してC++でPDFを生成する方法を探り、C#でPDF文書を生成するためにIronPDFを使用する方法も学びました。 IronPDFを使用すると、.NET Framework 言語でHTMLコンテンツからのPDFファイル生成が簡単な作業になります。 その広範な機能セットは、C#プロジェクトでHTMLをPDFに変換する必要がある開発者にとって貴重なツールです。 レポートや請求書など、正確なHTMLからPDFへの変換を必要とする他のドキュメントを生成する場合でも、IronPDFは信頼性が高く効率的なソリューションです。 IronPDFは開発目的には無料ですが、商業利用にはライセンスが必要です。 商業利用のためのその完全な機能をテストするための無料トライアルも提供しています。 IronPDFをダウンロードして自分で試してみてください。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター 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で締めくくります。 詳しく読む