PDFSharpを使用してC# (.NET 5)でPDFを生成する方法
このビデオは、C#コードを使用してPDFsharpライブラリでPDFファイルを生成する方法に関する説明ガイドです。 話者は、PDFsharpをPDFファイルを生成するためのトリッキーだが効果的なライブラリとして紹介することから始めます。 このライブラリには高度な機能があり、多くの競合他社とは異なり、完全に無料です。 話者は、その複雑さにもかかわらず、PDFsharpがC#を使用してPDFファイルを生成するための優れた選択肢であることを強調します。
チュートリアルを始めるために、話者は3行のテキストで構成された生成されたPDFファイルの例を提示します。 最初のテキスト行は正確には最初のものではなく、3番目のテキスト行は右下の角に表示されます。 講演者は、コードの説明を聞けば、文章の順序が理解できるだろうと述べている。 また、.NET 5を使用してPDFsharpの動作を示すことも説明しています。 C#でPDFをゼロから作成する方法についてより詳しく知りたい場合は、 IronPDFが効率的な代替手段を提供します。
.NET PDFプロジェクトに最も関連性の高い機能に関して、PDFsharpとIronPDFの違いを簡単に見ていきましょう。
| 特徴 | IronPDF | PDFSharp |
|---|---|---|
| HTMLからPDFへの変換 | Yes | いいえ |
| デジタル署名 | Yes | いいえ |
| 暗号化 | Yes | いいえ |
| HTML、CSS、 JavaScript | Yes | いいえ |
| Professionalサポート | Yes | いいえ |
| ライセンス | 商用 | MIT(オープンソース) |
これらの違いそれぞれについて、詳細な説明とコード例を以下のセクションで示します。 両ライブラリを比較するチームは30日間無料トライアルでIronPDFの機能を試すことができます。
インストールとセットアップ
コードに入る前に、話者はPDFsharpの環境を設定するのがかなり難しいことを強調します。 彼らは、PDFsharp NuGetパッケージの詳細を使用する前に、3つのNuGetパッケージをインストールする必要があると説明します。 最初のパッケージはPDFsharp自体であり、古いバージョンのため、.NETと一致しない可能性があるという警告が生成される場合があります。 他の2つのパッケージはSystem.Drawing.CommonとSystem.Text.Encoding.CodePagesです。

話者は、PDFsharpを使用する前に3つのパッケージすべてをインストールする必要があると強調します。そうしないと、コードはエラーをスローします。 彼らは、System.Text.Encoding.CodePagesパッケージは、PDFファイルを生成するために必要なエンコーディングサポートを提供するため、特に重要であると説明しています。 話者はまた、パッケージを正しくインストールしないと、トラブルシューティングが困難になる可能性があると指摘しています。 複数のパッケージを使用する構成を完全に回避したいチームは、PDFsharpからIronPDFへの移行ガイドに従って、段階的な移行を行うことができます。
関連ライブラリのインストール
PDFSharpを正しく動作させるには、プロバイダをSystem.Text.Encoding@に登録する必要があることを説明します。 プロバイダはSystem.Text.Encoding.CodePagesパッケージから来ており、講演者は、PDFsharpが正しく機能することを保証するためにパッケージを登録することの重要性を強調します。 彼らは、プロバイダーを登録しないとエラーが発生し、それをトラブルシューティングするのが難しいことを説明します。
PDFファイルの作成
次に、PDFsharpを使ってPDFファイルを生成する簡単なコンソールアプリケーションを紹介します。ライブラリを使用する前に、PDFsharp DrawingとPDFsharp PDFのusing@ステートメントを宣言しなければならないことを説明します。 その後、話者はPDFファイルを生成するコードを提示します。これには、新しいドキュメントの作成、新しいページの追加、ページにテキストを描画する作業が含まれます。
using PdfSharp.Drawing;
using PdfSharp.Pdf;
namespace PdfSharpExample
{
class Program
{
static void Main(string[] args)
{
// Create a new PDF document
PdfDocument document = new PdfDocument();
// Add a new page
PdfPage page = document.AddPage();
// Prepare to draw on the page
XGraphics gfx = XGraphics.FromPdfPage(page);
// Define a font
XFont font = new XFont("Verdana", 20, XFontStyle.Bold);
// Draw a string to the page
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
new XRect(0, 0, page.Width, page.Height),
XStringFormats.Center);
// Save the document
const string filename = "HelloWorld.pdf";
document.Save(filename);
}
}
}
using PdfSharp.Drawing;
using PdfSharp.Pdf;
namespace PdfSharpExample
{
class Program
{
static void Main(string[] args)
{
// Create a new PDF document
PdfDocument document = new PdfDocument();
// Add a new page
PdfPage page = document.AddPage();
// Prepare to draw on the page
XGraphics gfx = XGraphics.FromPdfPage(page);
// Define a font
XFont font = new XFont("Verdana", 20, XFontStyle.Bold);
// Draw a string to the page
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
new XRect(0, 0, page.Width, page.Height),
XStringFormats.Center);
// Save the document
const string filename = "HelloWorld.pdf";
document.Save(filename);
}
}
}
Imports PdfSharp.Drawing
Imports PdfSharp.Pdf
Namespace PdfSharpExample
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Create a new PDF document
Dim document As New PdfDocument()
' Add a new page
Dim page As PdfPage = document.AddPage()
' Prepare to draw on the page
Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
' Define a font
Dim font As New XFont("Verdana", 20, XFontStyle.Bold)
' Draw a string to the page
gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, New XRect(0, 0, page.Width, page.Height), XStringFormats.Center)
' Save the document
Const filename As String = "HelloWorld.pdf"
document.Save(filename)
End Sub
End Class
End Namespace
講演者は、PDFファイルを生成するためのコードは、画像( IronPDFを使用して画像をPDFに変換する方法を参照)、表、グラフなどを追加するなど、より複雑な機能を含めるように調整できると述べています。 また、PDFsharpはフォントの埋め込みを含む、フォントを操作するためのさまざまな機能を提供していることも説明しています。

必要なNuGetパッケージをインストールし、System.Text.Encoding@用のプロバイダを登録することによって、環境を正しくセットアップすることの重要性を説明します。 また、PDFsharpを使用してPDFファイルを生成するシンプルなコンソールアプリケーションを提示し、コードを調整してより複雑な機能を含める方法を示します。 ビデオは、C#とPDFsharpを使用してPDFファイルを生成することに興味がある人のための優れたリソースです。
リストとより複雑な項目の作成
ビデオの第2部では、話者がより複雑なPDFドキュメントの作成例を紹介します。 彼は空のPDFドキュメントを持つことは無意味だと強調し、PDFSharpライブラリを使用して新しいページを作成する方法を説明します。 彼は、そのプロセスがExcelまたはPowerPointアドインで何かを作成するのと似ていることを指摘し、ページが作成されると、別のメソッドの呼び出しを必要としない参照で動作することを説明します。

この変数はテキスト、線、画像を描画するメソッドを提供し、IronPDFはテキストと画像のスタンプAPIを通じて、手動での座標計算を必要とせずにこの機能を処理します。 PDF文書で使用するフォントを設定する手段として、XFont変数も紹介されています。 話者は、フォントは別の場所で生成できるが、複雑な配置がある場合には、グローバルに設定することが有用であると指摘しています。
次に、PDFファイルにテキストを書き込むDrawString@メソッドについて説明する。彼は、このメソッドの複雑な部分は、テキストが描画される場所を決定することであると指摘し、フォント、色、テキストが配置される可能性のある場所の境界線など、関係するさまざまなパラメータについて説明します。 また、テキストの色を設定するためのXBrushes@変数の使用についても説明しています。
DrawStringとその他のメソッドの説明
次に、テキストを中央に揃える、左下に揃える、テキストを配置する正確な座標を指定するなど、さまざまなパラメータを指定してDrawString@メソッドを使用する例をいくつか紹介します。 最後のオプションが最もカスタマイズ可能であり、大きな柔軟性を提供することを指摘しています。

話者は、C#プログラミング言語でグラフィックを使用してテーブルを作成する方法を説明します。 これらのマニュアルでは、画像、文字列、線を挿入する方法、グラフィック機能を使用して円弧やバーコードを描画する方法などを解説しています。IronPDFは、余白、ヘッダー、DPIなどのレンダリングオプションによって、これらの作業を簡素化します。 また、座標の作成における試行錯誤の重要性と、行を描画して行を分離する方法も説明します。
話者はまた、表のヘッダーと値や行の開始点の必要性についても議論します。Y位置を調整し、レコードの行を追加し、表が特定数のレコードを超えると次のページに移動する方法を説明します。 最後に、彼らは各ページの値をリセットする重要性に言及しています。
どちらのライブラリを選ぶべきか?
結論として、話者はPDFSharpを使用する際にMicrosoft Officeアドインに慣れることの重要性を強調し、このトピックに関する自身のコースを提供します。 また、このライブラリは非常に多用途であり、シンプルなテキストドキュメントから画像やグラフィック、カスタムレイアウトを含むより複雑なPDFドキュメントまでさまざまなものを作成できることにも言及しています。
IronPDFとは何ですか?
IronPDFは、PDFドキュメントの作成、編集、操作を行うためのC# PDFライブラリです。 NuGetパッケージとして出荷され、依存関係の追加設定なしで.NETアプリケーションと統合されます。
PDFsharpは、堅牢な低レベルの描画制御機能を提供し、寛容なMITライセンスの下で配布されています。これら2つの真の強みにより、多くの.NETプロジェクトで欠かせないツールとなっています。 チームが摩擦に直面することが多いのは、要件が座標ベースのレンダリングを超えて、HTMLからPDFへの変換、デジタル署名、文書暗号化といった領域にまで拡大する場合である。 IronPDFは、商用サポート付きのライブラリであり、これらのシナリオを第一級の操作として扱い、Professionalサポートと、HTML、CSS、 JavaScriptレンダリングを含む一般的なドキュメント生成ワークフローを中心に設計されたAPIインターフェースを提供します。
特徴
| 特徴 | IronPDF | PDFSharp |
|---|---|---|
| HTMLからPDFへの変換 | はい | いいえ |
| プロフェッショナルサポート | はい | いいえ |
| HTML、CSS、およびJavaScriptのサポート | はい | いいえ |
| デジタル署名 | はい | いいえ |
| 暗号化 | はい | いいえ |
IronPDFの重要な機能の一つは、 HTMLをIronPDFを使ってPDFに変換できることであり、これによりWebページから簡単にPDF文書を作成できます。 HTMLからPDFへの変換は、現在のPDFsharpの機能範囲外です。PDFsharpは座標描画レベルで動作するため、この機能が必要なチームは通常、別途レンダリングライブラリを追加するか、IronPDFに組み込まれているChromiumエンジンを評価します。
IronPDFは、電子署名とパスワード保護付きPDF暗号化にも対応しており、機密性の高い文書を安全に取り扱う上で非常に重要です。 PDFsharpはこれらのセキュリティシナリオに対応するように設計されていないため、コンプライアンスや文書保護の要件を持つチームは、 IronPDFを評価する自然な転換点となることが多い。
IronPDFは、PDFsharpと比較してより幅広い機能セットと包括的なサポートを提供しており、HTMLレンダリング、暗号化、デジタル署名を単一のNuGetパッケージで網羅しています。 ただし、これは商用製品であるため、要件がPDFsharpの座標描画モデルに適合し、HTML変換や組み込みのセキュリティ機能を必要としないチームは、PDFsharpのMITライセンスのオープンソースアプローチを好むかもしれません。
ライセンス費用以外にも、プロジェクトの総費用には、個別のレンダリングライブラリの構築、複雑なドキュメントの座標ベースのページレイアウトの管理、PDFsharpが必要とする複数パッケージの設定に関するトラブルシューティングに費やされた開発者の時間が含まれます。 複数年にわたるプロジェクトライフサイクル全体でコストを評価するチームにとって、これらの統合および保守コストは、オープンソースライセンスと商用ライセンスの差額をしばしば上回る。
IronPDFがあなたのワークフローにどのように適合するか、確認してみませんか? [30日間無料トライアルをダウンロード](この比較でカバーされているすべての機能をテストするためのトライアル-ライセンス.
よくある質問
C#でPDFsharpを使用してPDFファイルを生成する方法は?
PDFsharpを使用してPDFを生成するには、新しいPDFドキュメントを作成し、それにページを追加し、XGraphicsオブジェクトを使用してテキストやグラフィックを描画します。PdfSharp.DrawingおよびPdfSharp.Pdf名前空間のusingステートメントを必ず含めてください。
PDFsharpに必要な基本的なNuGetパッケージは何ですか?
PDFsharpを効率的に使用するには、次のNuGetパッケージをインストールする必要があります:PDFsharp、System.Drawing.Common、およびSystem.Text.Encoding.CodePages。これらのパッケージはエンコーディングサポートと適切なPDF生成に不可欠です。
C#でのPDF生成においてIronPDFとPDFsharpはどのように比較されますか?
IronPDFは商用ライブラリであり、HTMLからPDFへの変換、デジタル署名、暗号化などの高度な機能を提供し、PDFsharpにはないこれらの機能があります。またより良いドキュメントとプロフェッショナルなサポートを提供しており、複雑なタスクに対してより使いやすいです。
PDFsharpをPDF生成に使用する際の制限事項は何ですか?
PDFsharpはHTML、CSS、JavaScriptをサポートしておらず、そのため使用範囲が制限されます。エンコーディングの設定とMicrosoft Officeアドインの十分な理解が必要で、IronPDFと比較して直感的ではありません。
なぜSystem.Text.Encoding.CodePagesパッケージがPDFsharpにとって重要なのですか?
System.Text.Encoding.CodePagesパッケージは、PDFsharpでPDFファイルを生成する際に必要なエンコーディングサポートを提供します。正しくインストールおよび登録しなければ、エンコーディングに関連するエラーが発生する可能性があります。
無料のC#ライブラリを使用してHTMLをPDFに変換できますか?
いいえ、PDFsharpはHTMLからPDFへの変換をサポートしていません。その機能が必要な場合は、IronPDFのような商用ライブラリが必要です。IronPDFはこの機能を含む他の高度な機能を提供しています。
PDFsharpでの一般的なエラーをどのようにトラブルシューティングしますか?
PDFsharpでの一般的なエラーは、NuGetパッケージの不正な設定やエンコーディングの問題から生じることが多いです。System.Text.Encoding.CodePagesを含むすべての必要なパッケージを正しくインストールおよび登録することで、そのような問題を解決してください。
C#開発者にとってIronPDFで利用できる高度な機能は何ですか?
IronPDFは、HTMLからPDFへの変換、デジタル署名、暗号化、CSSやJavaScriptの処理などの高度な機能を提供します。また、.NETアプリケーションとの統合とプロフェッショナルサポートを提供しており、開発者にとって強力なツールです。
PDFsharpを使用してPDF内のテキストレイアウトをカスタマイズする方法は?
PDFsharpを使用して、XGraphicsクラスのDrawStringメソッドを使用してPDF内のテキストレイアウトをカスタマイズできます。これにより、フォント、色、指定された境界内でのテキストの配置を設定できます。
PDFsharpはC#で複雑なPDFドキュメントを作成するのに適していますか?
PDFsharpは複雑なPDFドキュメントを作成できますが、エンコーディングやMicrosoft Officeアドインの理解が必要です。IronPDFはより直感的なAPIと追加機能を備えているため、複雑なタスクに対してはより良いオプションかもしれません。



