C# で HTML を PDF に変換:WkHtmlToPdf、iTextSharp、Aspose.Pdf を徹底比較

2024-04-02

オープンソースライブラリの使用

C# で HTML を PDF に変換するオープンソースライブラリがいくつかあります。 最も人気のあるものには以下のようなものがあります。

これらのライブラリはすべて無料で使用できますが、それぞれに独自の機能と制限があります。 使用するライブラリを選択する前に、各ライブラリの機能を比較することをお勧めします。

これらのライブラリは、オープンソースライブラリよりも多くの機能を提供する傾向があります。 ただし、使用するにはライセンス費用がかかります。

これらの Web サービスは、コードを書く必要がなく、簡単に使用できます。 ただし、多くの場合、ファイルサイズや変換できるファイル数に制限があります。

C# で HTML を PDF に変換するには、いくつかの方法があります。 最適な方法は、要件と予算によって異なります。

どの方法を選択する場合でも、次の点に注意する必要があります。

  • 変換したい HTML の複雑さ
  • 必要とする機能
  • 予算

これらの点を考慮することで、要件に最適な方法を選択することができます。




WkHtmlToPdf を使用したサンプルコード

using System;
using System.Diagnostics;

public class Program
{
    public static void Main(string[] args)
    {
        // HTML ファイルのパス
        string htmlFilePath = "sample.html";

        // PDF ファイルのパス
        string pdfFilePath = "sample.pdf";

        // WkHtmlToPdf の実行ファイルのパス
        string wkhtmltopdfPath = "wkhtmltopdf";

        // プロセスの起動
        Process process = new Process();
        process.StartInfo.FileName = wkhtmltopdfPath;
        process.StartInfo.Arguments = string.Format("{0} {1}", htmlFilePath, pdfFilePath);
        process.Start();

        // プロセスの終了を待つ
        process.WaitForExit();

        // 成功メッセージを出力
        Console.WriteLine("HTML to PDF conversion succeeded!");
    }
}

iTextSharp を使用したサンプルコード

using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.html.simpleparser;
using iTextSharp.text.pdf;

public class Program
{
    public static void Main(string[] args)
    {
        // HTML ファイルのパス
        string htmlFilePath = "sample.html";

        // PDF ファイルのパス
        string pdfFilePath = "sample.pdf";

        // PDF ドキュメントの作成
        Document document = new Document();
        PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(pdfFilePath, FileMode.Create));

        // HTML ファイルの解析
        HTMLWorker worker = new HTMLWorker(document);
        worker.Parse(new FileStream(htmlFilePath, FileMode.Open));

        // PDF ドキュメントの閉じ
        document.Close();

        // 成功メッセージを出力
        Console.WriteLine("HTML to PDF conversion succeeded!");
    }
}

Aspose.Pdf を使用したサンプルコード

using System;
using System.IO;
using Aspose.Pdf;

public class Program
{
    public static void Main(string[] args)
    {
        // HTML ファイルのパス
        string htmlFilePath = "sample.html";

        // PDF ファイルのパス
        string pdfFilePath = "sample.pdf";

        // Aspose.Pdf ライセンスの設定
        License license = new License();
        license.SetLicense("Aspose.Pdf.lic");

        // HTML ファイルの読み込み
        Document document = new Document(htmlFilePath);

        // PDF ファイルの保存
        document.Save(pdfFilePath);

        // 成功メッセージを出力
        Console.WriteLine("HTML to PDF conversion succeeded!");
    }
}



C# で HTML を PDF に変換するその他の方法

Microsoft Word を使用して、HTML ファイルを PDF に変換することができます。

  1. Word を開き、[ファイル] > [開く] を選択します。
  2. 開くファイルの種類で [すべてのファイル] を選択します。
  3. 変換したい HTML ファイルを選択して開きます。
  4. [ファイル] > [名前を付けて保存] を選択します。
  5. ファイルの種類で [PDF (*.pdf)] を選択します。
  6. 保存場所を選択して、[保存] をクリックします。
  1. Chrome で HTML ファイルを開きます。
  2. [Ctrl] + [P] キーを押して印刷ダイアログを開きます。
  3. [宛先] で [Google Cloud Print] を選択します。
  4. [印刷] をクリックします。
  5. 印刷プレビュー画面が表示されます。
  6. [保存] をクリックして、PDF ファイルを保存します。

オンラインサービスを使用

HTML to PDF 変換を提供しているオンラインサービスもいくつかあります。 これらのサービスは、ソフトウェアをインストールする必要がないため、簡単に使用できます。 ただし、多くの場合、ファイルサイズや変換できるファイル数に制限があります。

以下に、いくつかの例を紹介します。


c# html pdf


アンカータグのタイトル属性をレベルアップ!HTMLとCSSで創造的なツールチップデザイン

HTMLのアンカータグ (<a>) には、リンク先のURLだけでなく、title 属性を使って補足情報を指定することができます。この属性は、マウスカーソルをリンク上に置いたときに表示されるツールチップなどで利用されます。しかし、デフォルトのツールチップデザインはシンプルで、視覚的に訴求力に欠ける場合があります。そこで、CSSを使ってタイトル属性のスタイルを自由にカスタマイズすることが可能になります。...


【超初心者向け】たった3行でできる!JavaScriptで現在年を表示する方法

HTMLJavaScript解説HTML:JavaScript:const currentYearElement = document. getElementById('currentYear'); で、HTMLで作成した要素を取得します。const currentDate = new Date(); で、現在の日付を取得します。const year = currentDate...


<span>要素とCSSで表現豊かなテキスト装飾:クリエイティブなWebデザインのヒント

<span>要素は、インライン要素と呼ばれるHTML要素の一種です。これは、テキストの流れを崩さずに、特定のテキストにスタイルや属性を適用するために使用されます。<span>要素自体は特別な意味を持たないため、入れ子にして他の<span>要素で囲むことも問題ありません。...


CSS Background Opacity の使い方

透過させたい要素は、大きく分けて2つあります。背景画像のみを透過させる場合背景全体 (背景画像と背景色) を透過させる場合背景画像のみを透過させるには、以下の2つの方法があります。opacity プロパティは、要素全体の透明度を制御します。値は 0 から 1 の範囲で指定し、0 に近づくほど透明度が高くなります。...


SQL SQL SQL SQL Amazon で見る



HTML id属性を使いこなして、Webページをもっと便利に

有効なid属性値id属性値は、以下の規則に従う必要があります。**英数字、ハイフン (-)、下線 (_)、ピリオド (.)、コロン (:)**のみを使用できます。数字から始まることはできません。空白文字を含めることはできません。予約語は使用できません。予約語とは、HTMLやCSSで使用されている特殊な単語です。


HTML、CSS、および HTML テーブルを使用して画面の残りのスペースの高さを埋める div を作成する方法

このチュートリアルを完了するには、次のものが必要です。HTML と CSS の基本的な知識テキストエディタWeb ブラウザHTML ファイルを作成し、次のコードを追加します。次の CSS コードをスタイルシートファイルに追加します。Web ブラウザで HTML ファイルを開きます。画面の残りのスペースを埋める div が表示されます。


JavaScriptを使ってPDFファイルを埋め込む

<iframe>タグを使うメリット:実装が簡単幅広いブラウザに対応スクロールバーが表示されないダウンロードボタンが表示されるデザインが制限されるアクセシビリティが低い<object>タグを使うデザインのカスタマイズが可能embedタグが非推奨である


【全ブラウザ対応】CSSでHTML入力プレースホルダーの色を簡単に変更する方法

::-webkit-input-placeholder 疑似クラスを使用するこれは、Webkitブラウザ(Chrome、Safariなど)でプレースホルダーの色を変更するために使用されます。これは、Firefoxブラウザでプレースホルダーの色を変更するために使用されます。


遊び心満載!HTMLで「chucknorris」を背景色に設定する方法

これは、ブラウザの開発者コミュニティにおけるちょっとしたジョークです。ブラウザの開発者たちは、HTMLの仕様に遊び心を取り入れることで、開発をより楽しくしようと考えました。その結果、「chucknorris」という文字列を「background-color」プロパティに指定すると、ブラウザはそれを特別な色として認識し、背景色を黒に変更します。


【初心者向け】スクロールバーを非表示にする方法!HTML、CSS、Google Chrome対応

この方法は、Chrome 以外のブラウザでも有効ですが、Chrome ではより洗練された方法があります。スクロールバーを非表示にする要素に overflow: scroll; プロパティを設定します。::-webkit-scrollbar 疑似要素を使用して、スクロールバーのスタイルをカスタマイズします。