透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
HTMLファイルまたはコンテンツをPDFページ形式に変換する機能は、多くのアプリケーションにおいて貴重な機能です。 C#では、HTMLからPDF形式のファイルを生成するアプリケーションをゼロから構築するのは非常に面倒な作業です。 この記事では、wkhtmltopdfライブラリを使用してC++でHTMLをPDFに変換する方法を探ります。
wkhtmltopdf は、HTMLプレーンテキストのページを高品質なPDFドキュメントにシームレスに変換するオープンソースのコマンドラインツールです。 C++プログラムにおける機能を活用することで、HTML文字列コンテンツを簡単にPDF形式に変換できます。 C++でwkhtmltopdfライブラリを使用してHTMLページをPDFに変換するステップバイステップのプロセスを掘り下げましょう。
C++でHTMLからPDFファイルへのコンバーターを作成するには、次の点を確認する必要があります:
システムにインストールされたGCCまたはClangなどのC++コンパイラ。
wkhtmltopdfライブラリがインストールされています。 最新バージョンは公式のwkhtmltopdfウェブサイトからダウンロードし、使用しているオペレーティングシステムの指示に従ってインストールできます。
Code::BlocksでC++ PDF変換プロジェクトを作成するには、次の手順に従ってください:
Code::Blocks IDEを開いてください。
「ファイル」メニューに移動して「新規」を選び、「プロジェクト」を選択して新しいプロジェクトウィザードを開きます。
新しいプロジェクトウィザードで「コンソールアプリケーション」を選択します。
C++ 言語を選択します。
プロジェクトのタイトルと保存したい場所を設定します。 「次へ」をクリックして進みます。
Code::Blocks が必要なヘッダファイルを見つけられるようにするためには、検索ディレクトリを設定する必要があります。
メニューバーの "Project "メニューをクリックし、"Build options "を選択してください。 「デバッグ」を選択してください。
Build options "ダイアログボックスで、"Search directories "タブを選択します。
「コンパイラ」タブの下にある「追加」ボタンをクリックしてください。
wkhtmltox のヘッダーファイルがあるディレクトリ(例:C:\Program Files\wkhtmltopdf\include)に移動し、それを選択します。
最後に、「OK」をクリックしてダイアログボックスを閉じます。
wkhtmltoxライブラリにリンクするには、次の手順に従ってください:
もう一度メニューバーの "Project "メニューをクリックし、"Build options "を選択してください。 「デバッグ」を選択してください。
ビルド・オプション」ダイアログ・ボックスで、「リンカ設定」タブを選択します。
「リンクライブラリ」タブの下にある「追加」ボタンをクリックします。
wkhtmltox ライブラリファイルがあるディレクトリに移動し(例: C:\Program Files\wkhtmltopdf\lib)、適切なライブラリファイルを選択してください。
「開く」をクリックして、ライブラリをプロジェクトに追加します。
最後に、「OK」をクリックしてダイアログボックスを閉じます。
始めるには、C++プログラムでwkhtmltopdfライブラリの機能を利用するために必要なヘッダーファイルをインクルードしてください。 以下の例に示すように、main.cpp ソースコードファイルの先頭に以下のヘッダーファイルをインクルードしてください:
#include <iostream>
#include <fstream>
#include <string>
#include <wkhtmltox/pdf.h>
#include <iostream>
#include <fstream>
#include <string>
#include <wkhtmltox/pdf.h>
#include <iostream>
#include <fstream>
#include <string>
#include <wkhtmltox/pdf.h>
HTML を PDF に変換するには、wkhtmltopdf コンバーターを初期化する必要があります。 コードは次のようになります:
wkhtmltopdf_init(false);
wkhtmltopdf_global_settings* gs = wkhtmltopdf_create_global_settings();
wkhtmltopdf_object_settings* os = wkhtmltopdf_create_object_settings();
wkhtmltopdf_converter* converter = wkhtmltopdf_create_converter(gs);
wkhtmltopdf_init(false);
wkhtmltopdf_global_settings* gs = wkhtmltopdf_create_global_settings();
wkhtmltopdf_object_settings* os = wkhtmltopdf_create_object_settings();
wkhtmltopdf_converter* converter = wkhtmltopdf_create_converter(gs);
wkhtmltopdf_init(False)
wkhtmltopdf_global_settings* gs = wkhtmltopdf_create_global_settings()
wkhtmltopdf_object_settings* os = wkhtmltopdf_create_object_settings()
wkhtmltopdf_converter* converter = wkhtmltopdf_create_converter(gs)
さて、PDFに変換する必要があるHTMLコンテンツを提供しましょう。 HTMLファイルを読み込むか、文字列を直接提供することができます。
string htmlString = "<html><body><h1>Hello, World!</h1></body></html>"; wkhtmltopdf_add_object(converter, os, htmlString.c_str());
string htmlString = "<html><body><h1>Hello, World!</h1></body></html>"; wkhtmltopdf_add_object(converter, os, htmlString.c_str());
Dim htmlString As String = "<html><body><h1>Hello, World!</h1></body></html>"
wkhtmltopdf_add_object(converter, os, htmlString.c_str())
コンバーターとHTMLコンテンツの準備が整ったら、HTMLをPDFファイルに変換することができます。次のコードスニペットを使用してください:
wkhtmltopdf_convert(converter);
wkhtmltopdf_convert(converter);
wkhtmltopdf_convert(converter)
wkhtmltopdf_get_output 関数を使用すると、既存のPDFデータをメモリバッファストリームとして取得することができます。 それはまたPDFの長さも返します。 次の例は、このタスクを実行します:
const unsigned char* pdfData;
const int pdfLength = wkhtmltopdf_get_output(converter, &pdfData);
const unsigned char* pdfData;
const int pdfLength = wkhtmltopdf_get_output(converter, &pdfData);
const unsigned Char* pdfData
Const pdfLength As Integer = wkhtmltopdf_get_output(converter, &pdfData)
変換が完了したら、生成されたPDFファイルをディスクに保存する必要があります。 PDFを保存するファイルパスを指定してください。 次に、出力ファイルストリームを使用して、ファイルをバイナリモードで開き、pdfDataをそれに書き込みます。 最後に、ファイルを閉じます。以下にコード例を示します:
const char* outputPath = "file.pdf";
ofstream outputFile(outputPath, ios::binary);
outputFile.write(reinterpret_cast<const char*>(pdfData), pdfLength);
outputFile.close();
const char* outputPath = "file.pdf";
ofstream outputFile(outputPath, ios::binary);
outputFile.write(reinterpret_cast<const char*>(pdfData), pdfLength);
outputFile.close();
const Char* outputPath = "file.pdf"
ofstream outputFile(outputPath, ios:=:=binary)
outputFile.write(reinterpret_cast<const Char*>(pdfData), pdfLength)
outputFile.close()
HTMLをPDFに変換した後、wkhtmltopdfによって割り当てられたリソースをクリーンアップすることが重要です。 以下のコードスニペットを使用してください:
wkhtmltopdf_destroy_converter(converter);
wkhtmltopdf_destroy_object_settings(os);
wkhtmltopdf_destroy_global_settings(gs);
wkhtmltopdf_deinit();
cout << "PDF saved successfully." << endl;
wkhtmltopdf_destroy_converter(converter);
wkhtmltopdf_destroy_object_settings(os);
wkhtmltopdf_destroy_global_settings(gs);
wkhtmltopdf_deinit();
cout << "PDF saved successfully." << endl;
wkhtmltopdf_destroy_converter(converter)
wkhtmltopdf_destroy_object_settings(os)
wkhtmltopdf_destroy_global_settings(gs)
wkhtmltopdf_deinit()
cout << "PDF saved successfully." << endl
では、プロジェクトをビルドし、F9を使用してコードを実行してください。出力はプロジェクトフォルダーに生成および保存されます。 結果として得られたPDFは以下の通りです:
IronPDF HTML-to-PDF Conversion Library は、開発者がHTMLコンテンツからPDFドキュメントを簡単に生成できる強力な.NETおよび.NET Core C# ライブラリです。 HTMLウェブページをPDFに変換するプロセスを簡素化する、わかりやすく直感的なAPIを提供し、さまざまなアプリケーションやユースケースで人気のある選択肢となっています。
IronPDF の主な利点の一つは、その汎用性です。 それはシンプルなHTMLドキュメントの変換だけでなく、CSSスタイリング、JavaScriptインタラクション、さらには動的コンテンツを含む複雑なウェブページの変換もサポートしています。 さらに、変換メソッドへの迅速なアクセスにより、さまざまなPDF変換器を開発することができます。
以下は、C#でIronPDFを使用してHTML文字列をPDFに変換するコード例です:HTML String to PDF using IronPDF
using IronPdf;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create PDF content 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 PDF content 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 PDF content from an HTML string using C#
Private pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
PDF出力:
HTMLをPDFに変換する方法 C++: 図4 - IronPDF出力
異なるHTMLファイル、WebページのURL、画像をPDFに変換する方法の詳細については、こちらのHTML to PDFコード例をご覧ください。
IronPDFを使用すると、.NET Framework言語でHTMLコンテンツからPDFファイルを生成することが簡単になります。 その直感的なAPIと豊富な機能セットにより、C#プロジェクトでHTMLをPDFに変換する必要がある開発者にとって貴重なツールです。 レポート、請求書、または正確なHTMLからPDFへの変換を必要とする他のドキュメントの生成であれ、IronPDFは信頼性が高く効率的なソリューションです。
IronPDFは開発目的であれば無料ですが、商用利用にはライセンスが必要です。 また、商業目的でその完全な機能を試すために、IronPDFの完全な機能を無料で試用することができます。 IronPDFをダウンロードからソフトウェアをダウンロードできます。