製品比較 IronPDFとPDFNetの比較 カーティス・チャウ 更新日:7月 28, 2025 IronPDF をダウンロード NuGet ダウンロード DLL ダウンロード Windows 版 無料トライアル LLM向けのコピー LLM向けのコピー LLM 用の Markdown としてページをコピーする ChatGPTで開く このページについてChatGPTに質問する ジェミニで開く このページについてGeminiに問い合わせる ジェミニで開く このページについてGeminiに問い合わせる 困惑の中で開く このページについてPerplexityに問い合わせる 共有する Facebook で共有 Xでシェア(Twitter) LinkedIn で共有 URLをコピー 記事をメールで送る 1. はじめに 完全なPDFツールを.NETフレームワーク用にお探しですか? この記事では、C#(最も人気のあるプログラミング言語のひとつ)でPDFファイルを操作する方法を見ていきます。 パフォーマンスと機能に基づいてコードサンプルを使用して、C#の.NETフレームワーク用の業界トップクラスの2つのPDFツールについて議論します。 最終的には、そのライセンスの詳細を確認し、ライセンスキーの取得方法を学びます。 2つのPDFライブラリは以下の通りです: PDFNet IronWebScraper 2. IronPDF IronPDFは、C# .NET開発者向けにIron Softwareが開発した、すべてのPDF問題を解決するための単一ライブラリです。 IronPDFはChromiumエンジンを搭載し、HTML5、JavaScript、CSS、画像ファイルのPDF変換、カスタムヘッダーとフッターの作成、ブラウザで表示されるままのPDF表示など、便利で強力な機能を備えています。 IronPDFを使用すると、PDFファイルからデータを読み取り、それを.NETアプリケーションおよびデータストレージシステムに自動的に挿入できます。 古いPDFドキュメントストレージから管理するドキュメント管理システムおよびビジネスアプリケーションにコンテンツをインポート、移動、インデックス付けすることができます。 2.1. IronPDFの機能 2.1.1. PDF変換 この機能により、HTML、MVCビュー、Webフォーム、HTML文字列、URLなどのさまざまな形式からPDFファイルを生成できます。 2.1.2. PDFコンテンツの抽出 多くの場合、PDFから埋め込まれたテキストを簡単に抽出できます。 しかし、それが失敗した場合、テキストはおそらく画像に埋め込まれています。 通常のテキストではなく視覚的なテキストをスキャンするには、IronOCRライブラリを使用します。 2.1.3 ヘッダーとフッター PDFを作成する際や既存のPDFにヘッダーとフッターを追加できます。 各文書ページにヘッダーとフッターを作成するには、印刷オプションプロパティを使用します。 これらのパラメーターは、ChromePdfRendererオブジェクトで利用可能です。 この例は、.NET Coreコンソールアプリ内で実行されます。 2.1.4. PDF画像処理 ユーザーは、PDFから画像を生成したり、写真からPDFを生成したりすることができます。画像の抽出、さまざまな画像拡張機能、PDF印刷をサポートしています。 2.1.5. PDF Documents IO IronPDFは、128ビットPDF暗号化、パスワード保護されたPDFロック、およびPDFのデジタル署名を含めます。 2.1.6. PDFの編集 IronPDFツールを使用すると、ウォーターマークの追加、ページの追加、削除、背景、前景、その他多くの機能をPDFに取り入れることができます。 2.1.7. 互換性 IronPDFはC#と互換性のあるほぼすべてのオペレーティングシステムとフレームワークをサポートします。例えば: Windows .NET Core 2.1, 3.0, 3.1, .NET 6 & 5 ユニバーサル互換性のための.NET Standard 2.0準拠 Azure AWS Docker Linux 3. PDFNet PDFTronのPDFNet .NET SDKは、精密なPDF処理、注釈、編集、作成をウェブ、モバイル、デスクトップ、サーバーの任意のフレームワークまたはアプリケーションに提供します。 インフラストラクチャ全体のドキュメントおよび情報管理プロセスを管理し、サードパーティのサーバー依存性を排除します。 PDFTronのウェブプラットフォームには、サポートされるプラットフォームとすべてのPDF SDKのデモライセンスキーを備えたJSバージョンが付属しています。 PDFNetの最大のメリットの1つは、完全なクロスプラットフォームであり、さまざまなモバイルおよびデスクトップ環境にわたって、単純にワークフローやアプリにPDFの互換性と関連ビジネス機能を追加できることです。 3.1. PDFNet SDKの機能 3.1.1. 互換性 PDFNet SDKは多くのプラットフォームとフレームワークに対応しています。 プラットフォームの一貫性を確保するために、JavaScript APIはPDFNet APIと同じように使用されます。 SDKのNode.jsおよびElectronバージョンも利用可能です。 このパッケージはアンマネージドのアドオンバイナリを必要とします。 3.1.2. 編集と表示 オンライン、モバイル、デスクトッププラットフォームのユーザーにPDFの安全で拡張可能な高忠実度の読み取りおよび編集を提供します。 3.1.3. 署名 カスタマイズされた署名プロセスを作成します。 デジタル署名された書類は認証、検証、および封印できます。 3.1.4. 真の削除処理 個人情報や個人の健康情報などの敏感なデータを削除しますが、ドキュメントの検索性は維持されます。 3.1.5. ページ操作 ページを追加、削除、再配置できます。 文書は組み立て、統合、または部分に分割できます。 同じリーダーまたは横に並べて複数のドキュメントを同時に表示します。 4. Visual Studioで新しいプロジェクトを作成する この記事では、コンソールアプリケーションを使用してPDFドキュメントを生成します。 Visual Studioソフトウェアを開き、ファイルメニューに移動します。 "新しいプロジェクト"を選択し、コンソールアプリケーションを選択します。 プロジェクト名を入力し、パスを適切なテキストボックスに選択します。 次に、作成ボタンをクリックします。 以下のスクリーンショットのように必要な.NETフレームワークを選択します: Visual Studioプロジェクトは、コンソールアプリケーションの構造を生成します。 終了すると、Program.csファイルが開かれ、ソースコードを書くことができます。 ライブラリを追加してプログラムをテストすることができます。 5. IronPDFライブラリをインストールする IronPDFライブラリは4つの異なる方法でダウンロードおよびインストールできます。 以下のような方法です: Visual Studio NuGet パッケージ マネージャーの使用 Visual Studioのコマンドラインを使用する。 NuGetギャラリーIronPDFパッケージから直接ダウンロード。 IronPDFダウンロードページからダウンロード。 5.1 Visual Studio NuGetパッケージマネージャーを使用する Visual Studioソフトウェアは、ソリューションにパッケージを直接インストールするためのNuGetパッケージマネージャーオプションを提供します。 以下のスクリーンショットは、NuGetパッケージマネージャーを開く方法を示しています。 パッケージマネージャーGUIを開いた状態で、[参照]タブをクリックし、"IronPDF"を検索します。 上の画像では、検索結果から関連パッケージのリストを確認できます。 IronPDFオプションを選択し、パッケージを私たちのソリューションにインストールします。 5.2 Visual Studioコマンドラインを使用する Visual Studioメニューで、ツール > NuGetパッケージマネージャ > パッケージマネージャコンソールに移動します。 パッケージマネージャコンソールタブに以下の行を入力します: Install-Package IronPdf IronPDFパッケージがプロジェクトにインストールされます。 5.3 NuGetウェブページからの直接ダウンロード 第三の方法は、NuGetギャラリーIronPDFパッケージからNuGetパッケージを直接ダウンロードすることです。 NuGetリンクに移動します ダウンロードされたパッケージをダブルクリックします; それは自動的にインストールされます。 5.4 IronPDFのWebページから直接ダウンロード 5.4 IronPDFウェブページからの直接ダウンロード 最新のパッケージをIronPDFダウンロードページから直接ダウンロードします。 ダウンロード後、以下の手順に従ってパッケージをプロジェクトに追加します。 ソリューションウィンドウからプロジェクトを右クリックします。 次に、選択オプションの参照とダウンロードした参照の場所を参照します。 次に、参照を追加するにはOKをクリックします。 PDFNet SDKは4つの異なる方法でダウンロードおよびインストールできます。 PDFNet SDKは4つの異なる方法でダウンロードしてインストールできます。 NuGetギャラリーPDFNetパッケージから直接ダウンロード。 Visual Studioのコマンドラインを使用する。 NuGet Gallery PDFNetパッケージから直接ダウンロード。 PDFNetLoader.dllを使用する 6.1. Visual Studio NuGet パッケージ マネージャーの使用 上記で説明したように、Visual Studioのツールに移動し、NuGetパッケージマネージャーを開きます。 リストが表示されます — ソリューションのためにNuGetパッケージを管理をクリックします。 PDFNetを検索してプロジェクトにインストールします。 ### 6.2. Visual Studioコマンドラインの使用 6.2. Visual Studioコマンドラインの使用 Visual Studioメニューで、ツール > NuGetパッケージマネージャ > パッケージマネージャコンソールに移動します。 パッケージマネージャコンソールタブに以下の行を入力します: Install-Package PDFNet -Version 9.2.0 3番目の方法は、NuGetギャラリーPDFNetパッケージから直接NuGetパッケージをダウンロードすることです。 3つ目の方法は、NuGet Gallery PDFNetパッケージから直接NuGetパッケージをダウンロードすることです。 右側のメニューからダウンロードパッケージの選択を選ぶ。 ダウンロードしたパッケージをダブルクリックして、インストールプロセスを開始します。 6.4. PDFNetLoader.dllの使用 PDFNetLoader.dllファイルを使用してPDFNet APIをインストールすることもできます。GitHub Releases for PDFNetLoader.dllからダウンロードしてください。 パッケージをダウンロードし、プロジェクトのbinファイルに配置して実行します。 Visual StudioプロジェクトにPDFNetLoader.dllを参照として追加します。 BootstrapとCSSフレームワークのレンダリング モダンなウェブアプリケーションは、一貫性のあるレスポンシブデザインのためにBootstrapとCSSフレームワークに大きく依存しています。 ウェブコンテンツからPDFを生成する際、これらのフレームワークを変更なしに正確にレンダリングする能力は、デザインの一貫性を維持し、開発の労力を減らすために不可欠です。 IronPDF: 完全なBootstrapフレームワークサポート ブートストラップ4: 完全なカードコンポーネント、ナビゲーション、フレックスユーティリティ、およびレスポンシブデザイン Tailwind CSS: すべてのユーティリティファーストクラスがブラウザの精度でレンダリング コード例:学習管理システムダッシュボード Foundation:完全なグリッドシステムとコンポーネントサポート 現代のCSS3: フレックスボックス、CSSグリッド、カスタムプロパティ、アニメーション、トランジション、トランスフォーム 実際の検証:IronPDFはBootstrapのホームページと全公式の例をピクセルパーフェクトな忠実度でレンダリングします。 コード例: 学習管理システムダッシュボード using IronPdf; // Set your IronPDF license key IronPdf.License.LicenseKey = "License-Key goes here"; var renderer = new ChromePdfRenderer(); string bootstrapLMS = @" <!DOCTYPE html> <html> <head> <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'> </head> <body> <div class='container-fluid py-4'> <div class='d-flex justify-content-between align-items-center mb-4'> <div> <h1 class='display-6 mb-1'>Student Learning Dashboard</h1> <p class='text-muted mb-0'>Spring Semester 2025</p> </div> <span class='badge bg-success fs-5'>92% Overall Progress</span> </div> <div class='row g-4 mb-4'> <div class='col-md-3'> <div class='card text-center shadow-sm border-primary'> <div class='card-body'> <div class='text-primary mb-2' style='font-size: 2rem;'>📚</div> <h3 class='mb-1'>6/8</h3> <p class='text-muted mb-0'>Courses Completed</p> </div> </div> </div> <div class='col-md-3'> <div class='card text-center shadow-sm border-success'> <div class='card-body'> <div class='text-success mb-2' style='font-size: 2rem;'>🎯</div> <h3 class='mb-1'>24/28</h3> <p class='text-muted mb-0'>Assignments Submitted</p> </div> </div> </div> <div class='col-md-3'> <div class='card text-center shadow-sm border-warning'> <div class='card-body'> <div class='text-warning mb-2' style='font-size: 2rem;'>⏱️</div> <h3 class='mb-1'>48hrs</h3> <p class='text-muted mb-0'>Study Time This Week</p> </div> </div> </div> <div class='col-md-3'> <div class='card text-center shadow-sm border-info'> <div class='card-body'> <div class='text-info mb-2' style='font-size: 2rem;'>⭐</div> <h3 class='mb-1'>A- Average</h3> <p class='text-muted mb-0'>Current GPA: 3.7</p> </div> </div> </div> </div> <div class='row g-4'> <div class='col-md-8'> <div class='card shadow-sm'> <div class='card-header bg-primary text-white'> <h5 class='mb-0'>Current Courses</h5> </div> <div class='card-body p-0'> <div class='list-group list-group-flush'> <div class='list-group-item'> <div class='d-flex justify-content-between align-items-center mb-2'> <div> <h6 class='mb-1'>Advanced Web Development</h6> <small class='text-muted'>Prof. Johnson | Mondays & Wednesdays, 2:00 PM</small> </div> <span class='badge bg-success'>Grade: A</span> </div> <div class='progress' style='height: 6px;'> <div class='progress-bar bg-success' style='width: 95%'></div> </div> <small class='text-muted'>95% Complete | Final Project Due: May 15</small> </div> <div class='list-group-item'> <div class='d-flex justify-content-between align-items-center mb-2'> <div> <h6 class='mb-1'>Database Systems</h6> <small class='text-muted'>Prof. Chen | Tuesdays & Thursdays, 10:00 AM</small> </div> <span class='badge bg-primary'>Grade: A-</span> </div> <div class='progress' style='height: 6px;'> <div class='progress-bar bg-primary' style='width: 88%'></div> </div> <small class='text-muted'>88% Complete | Midterm: April 28</small> </div> <div class='list-group-item'> <div class='d-flex justify-content-between align-items-center mb-2'> <div> <h6 class='mb-1'>Artificial Intelligence Fundamentals</h6> <small class='text-muted'>Prof. Martinez | Fridays, 1:00 PM</small> </div> <span class='badge bg-warning text-dark'>Grade: B+</span> </div> <div class='progress' style='height: 6px;'> <div class='progress-bar bg-warning' style='width: 75%'></div> </div> <small class='text-muted'>75% Complete | Research Paper Due: May 5</small> </div> <div class='list-group-item'> <div class='d-flex justify-content-between align-items-center mb-2'> <div> <h6 class='mb-1'>Computer Networks</h6> <small class='text-muted'>Prof. Davis | Mondays & Wednesdays, 4:00 PM</small> </div> <span class='badge bg-success'>Grade: A</span> </div> <div class='progress' style='height: 6px;'> <div class='progress-bar bg-success' style='width: 92%'></div> </div> <small class='text-muted'>92% Complete | Lab Exam: April 30</small> </div> </div> </div> </div> </div> <div class='col-md-4'> <div class='card shadow-sm mb-3'> <div class='card-header bg-warning text-dark'> <h5 class='mb-0'>Upcoming Deadlines</h5> </div> <div class='card-body p-0'> <ul class='list-group list-group-flush'> <li class='list-group-item'> <div class='d-flex align-items-start'> <span class='badge bg-danger me-2'>Today</span> <div class='flex-grow-1'> <small><strong>AI Assignment 4</strong></small> <br><small class='text-muted'>Neural Networks Lab</small> </div> </div> </li> <li class='list-group-item'> <div class='d-flex align-items-start'> <span class='badge bg-warning text-dark me-2'>Apr 28</span> <div class='flex-grow-1'> <small><strong>Database Midterm</strong></small> <br><small class='text-muted'>Chapters 1-8</small> </div> </div> </li> <li class='list-group-item'> <div class='d-flex align-items-start'> <span class='badge bg-info me-2'>Apr 30</span> <div class='flex-grow-1'> <small><strong>Networks Lab Exam</strong></small> <br><small class='text-muted'>Practical Assessment</small> </div> </div> </li> <li class='list-group-item'> <div class='d-flex align-items-start'> <span class='badge bg-primary me-2'>May 5</span> <div class='flex-grow-1'> <small><strong>AI Research Paper</strong></small> <br><small class='text-muted'>15-20 pages</small> </div> </div> </li> </ul> </div> </div> <div class='card shadow-sm'> <div class='card-header bg-info text-white'> <h5 class='mb-0'>Study Resources</h5> </div> <div class='card-body'> <div class='d-grid gap-2'> <button class='btn btn-outline-primary btn-sm'>📖 Course Materials</button> <button class='btn btn-outline-primary btn-sm'>💬 Discussion Forums</button> <button class='btn btn-outline-primary btn-sm'>🎥 Recorded Lectures</button> <button class='btn btn-outline-primary btn-sm'>📝 Practice Quizzes</button> </div> </div> </div> </div> </div> </div> </body> </html>"; var pdf = renderer.RenderHtmlAsPdf(bootstrapLMS); pdf.SaveAs("lms-dashboard.pdf"); using IronPdf; // Set your IronPDF license key IronPdf.License.LicenseKey = "License-Key goes here"; var renderer = new ChromePdfRenderer(); string bootstrapLMS = @" <!DOCTYPE html> <html> <head> <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'> </head> <body> <div class='container-fluid py-4'> <div class='d-flex justify-content-between align-items-center mb-4'> <div> <h1 class='display-6 mb-1'>Student Learning Dashboard</h1> <p class='text-muted mb-0'>Spring Semester 2025</p> </div> <span class='badge bg-success fs-5'>92% Overall Progress</span> </div> <div class='row g-4 mb-4'> <div class='col-md-3'> <div class='card text-center shadow-sm border-primary'> <div class='card-body'> <div class='text-primary mb-2' style='font-size: 2rem;'>📚</div> <h3 class='mb-1'>6/8</h3> <p class='text-muted mb-0'>Courses Completed</p> </div> </div> </div> <div class='col-md-3'> <div class='card text-center shadow-sm border-success'> <div class='card-body'> <div class='text-success mb-2' style='font-size: 2rem;'>🎯</div> <h3 class='mb-1'>24/28</h3> <p class='text-muted mb-0'>Assignments Submitted</p> </div> </div> </div> <div class='col-md-3'> <div class='card text-center shadow-sm border-warning'> <div class='card-body'> <div class='text-warning mb-2' style='font-size: 2rem;'>⏱️</div> <h3 class='mb-1'>48hrs</h3> <p class='text-muted mb-0'>Study Time This Week</p> </div> </div> </div> <div class='col-md-3'> <div class='card text-center shadow-sm border-info'> <div class='card-body'> <div class='text-info mb-2' style='font-size: 2rem;'>⭐</div> <h3 class='mb-1'>A- Average</h3> <p class='text-muted mb-0'>Current GPA: 3.7</p> </div> </div> </div> </div> <div class='row g-4'> <div class='col-md-8'> <div class='card shadow-sm'> <div class='card-header bg-primary text-white'> <h5 class='mb-0'>Current Courses</h5> </div> <div class='card-body p-0'> <div class='list-group list-group-flush'> <div class='list-group-item'> <div class='d-flex justify-content-between align-items-center mb-2'> <div> <h6 class='mb-1'>Advanced Web Development</h6> <small class='text-muted'>Prof. Johnson | Mondays & Wednesdays, 2:00 PM</small> </div> <span class='badge bg-success'>Grade: A</span> </div> <div class='progress' style='height: 6px;'> <div class='progress-bar bg-success' style='width: 95%'></div> </div> <small class='text-muted'>95% Complete | Final Project Due: May 15</small> </div> <div class='list-group-item'> <div class='d-flex justify-content-between align-items-center mb-2'> <div> <h6 class='mb-1'>Database Systems</h6> <small class='text-muted'>Prof. Chen | Tuesdays & Thursdays, 10:00 AM</small> </div> <span class='badge bg-primary'>Grade: A-</span> </div> <div class='progress' style='height: 6px;'> <div class='progress-bar bg-primary' style='width: 88%'></div> </div> <small class='text-muted'>88% Complete | Midterm: April 28</small> </div> <div class='list-group-item'> <div class='d-flex justify-content-between align-items-center mb-2'> <div> <h6 class='mb-1'>Artificial Intelligence Fundamentals</h6> <small class='text-muted'>Prof. Martinez | Fridays, 1:00 PM</small> </div> <span class='badge bg-warning text-dark'>Grade: B+</span> </div> <div class='progress' style='height: 6px;'> <div class='progress-bar bg-warning' style='width: 75%'></div> </div> <small class='text-muted'>75% Complete | Research Paper Due: May 5</small> </div> <div class='list-group-item'> <div class='d-flex justify-content-between align-items-center mb-2'> <div> <h6 class='mb-1'>Computer Networks</h6> <small class='text-muted'>Prof. Davis | Mondays & Wednesdays, 4:00 PM</small> </div> <span class='badge bg-success'>Grade: A</span> </div> <div class='progress' style='height: 6px;'> <div class='progress-bar bg-success' style='width: 92%'></div> </div> <small class='text-muted'>92% Complete | Lab Exam: April 30</small> </div> </div> </div> </div> </div> <div class='col-md-4'> <div class='card shadow-sm mb-3'> <div class='card-header bg-warning text-dark'> <h5 class='mb-0'>Upcoming Deadlines</h5> </div> <div class='card-body p-0'> <ul class='list-group list-group-flush'> <li class='list-group-item'> <div class='d-flex align-items-start'> <span class='badge bg-danger me-2'>Today</span> <div class='flex-grow-1'> <small><strong>AI Assignment 4</strong></small> <br><small class='text-muted'>Neural Networks Lab</small> </div> </div> </li> <li class='list-group-item'> <div class='d-flex align-items-start'> <span class='badge bg-warning text-dark me-2'>Apr 28</span> <div class='flex-grow-1'> <small><strong>Database Midterm</strong></small> <br><small class='text-muted'>Chapters 1-8</small> </div> </div> </li> <li class='list-group-item'> <div class='d-flex align-items-start'> <span class='badge bg-info me-2'>Apr 30</span> <div class='flex-grow-1'> <small><strong>Networks Lab Exam</strong></small> <br><small class='text-muted'>Practical Assessment</small> </div> </div> </li> <li class='list-group-item'> <div class='d-flex align-items-start'> <span class='badge bg-primary me-2'>May 5</span> <div class='flex-grow-1'> <small><strong>AI Research Paper</strong></small> <br><small class='text-muted'>15-20 pages</small> </div> </div> </li> </ul> </div> </div> <div class='card shadow-sm'> <div class='card-header bg-info text-white'> <h5 class='mb-0'>Study Resources</h5> </div> <div class='card-body'> <div class='d-grid gap-2'> <button class='btn btn-outline-primary btn-sm'>📖 Course Materials</button> <button class='btn btn-outline-primary btn-sm'>💬 Discussion Forums</button> <button class='btn btn-outline-primary btn-sm'>🎥 Recorded Lectures</button> <button class='btn btn-outline-primary btn-sm'>📝 Practice Quizzes</button> </div> </div> </div> </div> </div> </div> </body> </html>"; var pdf = renderer.RenderHtmlAsPdf(bootstrapLMS); pdf.SaveAs("lms-dashboard.pdf"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 出力: Bootstrap 5のグリッドシステム、カードコンポーネント、プログレスバー、バッジ、フレックスボックスレイアウト、リストグループを持つプロフェッショナルな学習管理システムPDF - 完璧な間隔、タイポグラフィ、色の正確さでレンダリングされます。 PDFNet(Apryse):部分的なモダンCSSサポート 限定されたフレックスボックス実装: ブートストラップ4/5のフレックスベースのレイアウトは一貫してレンダリングされない場合があります 制限されたフレックスボックスの実装: Bootstrap 4/5のフレックスベースのレイアウトは、一貫してレンダリングされない可能性があります JavaScript制約: フルブラウザ環境と比較して最小限の実行 フレームワークテストが必要: ブートストラップコンポーネントは実運用で使用する前に検証が必要です フレームワークのテストが必要: Bootstrapコンポーネントは本番使用前に検証が必要です 開発への影響: チームは各Bootstrapコンポーネントを個別にテストし、PDFNet用の簡易レイアウトや代替CSSを作成することが多く、複雑性を増し、デザインの一貫性を損なう可能性があります。 包括的なBootstrapフレームワークガイダンスおよびモダンCSSレンダリング機能については、Bootstrap & Flexbox CSSガイドをご覧ください。 7. PDFファイルの印刷 (コードサンプル) ここでは、両方のツールを使用してPDFファイルを印刷する方法について説明します。 ここでは、両方のツールを使用してPDFファイルを印刷する方法について説明します。 IronPDFは、コンピュータのデフォルトプリンタにPDFを送信することで印刷します。 Windowsの印刷インターフェイスで、プリントをクリックするだけでできます。 ### 7.2. PDFNetを使用してPDFファイルを印刷する using IronPdf; class PrintPDF { static void Main(string[] args) { // Create a new PDF and print it var Renderer = new IronPdf.ChromePdfRenderer(); PdfDocument Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf"); // Send the PDF to the default printer to print Pdf.Print(300, false); } } using IronPdf; class PrintPDF { static void Main(string[] args) { // Create a new PDF and print it var Renderer = new IronPdf.ChromePdfRenderer(); PdfDocument Pdf = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf"); // Send the PDF to the default printer to print Pdf.Print(300, false); } } Imports IronPdf Friend Class PrintPDF Shared Sub Main(ByVal args() As String) ' Create a new PDF and print it Dim Renderer = New IronPdf.ChromePdfRenderer() Dim Pdf As PdfDocument = Renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf") ' Send the PDF to the default printer to print Pdf.Print(300, False) End Sub End Class $vbLabelText $csharpLabel 7.2. PDFNetを使用したPDFファイルの印刷 以下に、PDFNetでのPDFファイル印刷のソースコードスニペットを示します。 以下は、PDFNetでPDFファイルを印刷するためのソースコードスニペットです。 using System; using pdftron; using pdftron.PDF; using pdftron.Common; using pdftron.Filters; namespace PDFPrintTestCS { class Program { static void Main(string[] args) { Console.WriteLine("Opening the input file..."); using (PDFDoc pdfdoc = new PDFDoc("tiger.pdf")) { pdfdoc.InitSecurityHandler(); Console.WriteLine("Printing the input file using PDF.Print.StartPrintJob..."); PrinterMode printerMode = new PrinterMode(); printerMode.SetAutoCenter(true); printerMode.SetAutoRotate(true); printerMode.SetCollation(true); printerMode.SetCopyCount(1); printerMode.SetDPI(300); // Set print quality to 300 DPI printerMode.SetDuplexing(PrinterMode.DuplexMode.e_Duplex_Auto); printerMode.SetNUp(PrinterMode.NUp.e_NUp_1_1, PrinterMode.NUpPageOrder.e_PageOrder_LeftToRightThenTopToBottom); printerMode.SetOrientation(PrinterMode.Orientation.e_Orientation_Portrait); printerMode.SetOutputAnnot(PrinterMode.PrintContentTypes.e_PrintContent_DocumentAndAnnotations); printerMode.SetOutputColor(PrinterMode.OutputColor.e_OutputColor_Grayscale); printerMode.SetOutputPageBorder(false); printerMode.SetOutputQuality(PrinterMode.OutputQuality.e_OutputQuality_Medium); printerMode.SetPaperSize(new Rect(0, 0, 612, 792)); PageSet pagesToPrint = new PageSet(1, pdfdoc.GetPageCount(), PageSet.Filter.e_all); Print.StartPrintJob(pdfdoc, "", pdfdoc.GetFileName(), "", pagesToPrint, printerMode, null); } } } } using System; using pdftron; using pdftron.PDF; using pdftron.Common; using pdftron.Filters; namespace PDFPrintTestCS { class Program { static void Main(string[] args) { Console.WriteLine("Opening the input file..."); using (PDFDoc pdfdoc = new PDFDoc("tiger.pdf")) { pdfdoc.InitSecurityHandler(); Console.WriteLine("Printing the input file using PDF.Print.StartPrintJob..."); PrinterMode printerMode = new PrinterMode(); printerMode.SetAutoCenter(true); printerMode.SetAutoRotate(true); printerMode.SetCollation(true); printerMode.SetCopyCount(1); printerMode.SetDPI(300); // Set print quality to 300 DPI printerMode.SetDuplexing(PrinterMode.DuplexMode.e_Duplex_Auto); printerMode.SetNUp(PrinterMode.NUp.e_NUp_1_1, PrinterMode.NUpPageOrder.e_PageOrder_LeftToRightThenTopToBottom); printerMode.SetOrientation(PrinterMode.Orientation.e_Orientation_Portrait); printerMode.SetOutputAnnot(PrinterMode.PrintContentTypes.e_PrintContent_DocumentAndAnnotations); printerMode.SetOutputColor(PrinterMode.OutputColor.e_OutputColor_Grayscale); printerMode.SetOutputPageBorder(false); printerMode.SetOutputQuality(PrinterMode.OutputQuality.e_OutputQuality_Medium); printerMode.SetPaperSize(new Rect(0, 0, 612, 792)); PageSet pagesToPrint = new PageSet(1, pdfdoc.GetPageCount(), PageSet.Filter.e_all); Print.StartPrintJob(pdfdoc, "", pdfdoc.GetFileName(), "", pagesToPrint, printerMode, null); } } } } Imports System Imports pdftron Imports pdftron.PDF Imports pdftron.Common Imports pdftron.Filters Namespace PDFPrintTestCS Friend Class Program Shared Sub Main(ByVal args() As String) Console.WriteLine("Opening the input file...") Using pdfdoc As New PDFDoc("tiger.pdf") pdfdoc.InitSecurityHandler() Console.WriteLine("Printing the input file using PDF.Print.StartPrintJob...") Dim printerMode As New PrinterMode() printerMode.SetAutoCenter(True) printerMode.SetAutoRotate(True) printerMode.SetCollation(True) printerMode.SetCopyCount(1) printerMode.SetDPI(300) ' Set print quality to 300 DPI printerMode.SetDuplexing(PrinterMode.DuplexMode.e_Duplex_Auto) printerMode.SetNUp(PrinterMode.NUp.e_NUp_1_1, PrinterMode.NUpPageOrder.e_PageOrder_LeftToRightThenTopToBottom) printerMode.SetOrientation(PrinterMode.Orientation.e_Orientation_Portrait) printerMode.SetOutputAnnot(PrinterMode.PrintContentTypes.e_PrintContent_DocumentAndAnnotations) printerMode.SetOutputColor(PrinterMode.OutputColor.e_OutputColor_Grayscale) printerMode.SetOutputPageBorder(False) printerMode.SetOutputQuality(PrinterMode.OutputQuality.e_OutputQuality_Medium) printerMode.SetPaperSize(New Rect(0, 0, 612, 792)) Dim pagesToPrint As New PageSet(1, pdfdoc.GetPageCount(), PageSet.Filter.e_all) Print.StartPrintJob(pdfdoc, "", pdfdoc.GetFileName(), "", pagesToPrint, printerMode, Nothing) End Using End Sub End Class End Namespace $vbLabelText $csharpLabel 両方のライブラリはHTMLからPDFへの変換機能を備えていますが、その方法は若干異なります。 8.1. IronPDFを使用してHTMLからPDFを作成する IronPDFは、JSONや暗号化メカニズムを使用する必要はありません。 IronPDFはさまざまな方法をサポートしています。 #### HTMLファイルをPDFに 例えば: HTMLファイルをPDFに using IronPdf; class HtmlToPdf { static void Main(string[] args) { var Renderer = new IronPdf.ChromePdfRenderer(); Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf"); } } using IronPdf; class HtmlToPdf { static void Main(string[] args) { var Renderer = new IronPdf.ChromePdfRenderer(); Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf"); } } Imports IronPdf Friend Class HtmlToPdf Shared Sub Main(ByVal args() As String) Dim Renderer = New IronPdf.ChromePdfRenderer() Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>").SaveAs("pixel-perfect.pdf") End Sub End Class $vbLabelText $csharpLabel URLからPDFへ using IronPdf; class UrlToPdf { static void Main(string[] args) { IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer(); var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/"); Pdf.SaveAs("url.pdf"); } } using IronPdf; class UrlToPdf { static void Main(string[] args) { IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer(); var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/"); Pdf.SaveAs("url.pdf"); } } Imports IronPdf Friend Class UrlToPdf Shared Sub Main(ByVal args() As String) Dim Renderer As New IronPdf.ChromePdfRenderer() Dim Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/") Pdf.SaveAs("url.pdf") End Sub End Class $vbLabelText $csharpLabel PDFNetもページ変換とURL変換の両方を使用したHTML-to-PDF変換機能を提供します。 コーディングが長いため、ここでは1つの例のみを示します。 コードが長いため、ここでは1つの例のみを示します。 class HTML2PDFSample { private static pdftron.PDFNetLoader pdfNetLoader = pdftron.PDFNetLoader.Instance(); static HTML2PDFSample() {} static void Main(string[] args) { string output_path = "../../../../TestFiles/Output/html2pdf_example"; string host = "https://www.pdftron.com"; HTML2PDF.SetModulePath("../../../../../Lib"); if (!HTML2PDF.IsModuleAvailable()) { Console.WriteLine(); Console.WriteLine("Unable to run HTML2PDFTest: PDFTron SDK HTML2PDF module not available."); return; } try { using (PDFDoc doc = new PDFDoc()) { if (HTML2PDF.Convert(doc, host + "/")) doc.Save(output_path + "_01.pdf", SDFDoc.SaveOptions.e_linearized); else Console.WriteLine("Conversion failed."); } } catch (PDFNetException e) { Console.WriteLine(e.Message); } } } class HTML2PDFSample { private static pdftron.PDFNetLoader pdfNetLoader = pdftron.PDFNetLoader.Instance(); static HTML2PDFSample() {} static void Main(string[] args) { string output_path = "../../../../TestFiles/Output/html2pdf_example"; string host = "https://www.pdftron.com"; HTML2PDF.SetModulePath("../../../../../Lib"); if (!HTML2PDF.IsModuleAvailable()) { Console.WriteLine(); Console.WriteLine("Unable to run HTML2PDFTest: PDFTron SDK HTML2PDF module not available."); return; } try { using (PDFDoc doc = new PDFDoc()) { if (HTML2PDF.Convert(doc, host + "/")) doc.Save(output_path + "_01.pdf", SDFDoc.SaveOptions.e_linearized); else Console.WriteLine("Conversion failed."); } } catch (PDFNetException e) { Console.WriteLine(e.Message); } } } Friend Class HTML2PDFSample Private Shared pdfNetLoader As pdftron.PDFNetLoader = pdftron.PDFNetLoader.Instance() Shared Sub New() End Sub Shared Sub Main(ByVal args() As String) Dim output_path As String = "../../../../TestFiles/Output/html2pdf_example" Dim host As String = "https://www.pdftron.com" HTML2PDF.SetModulePath("../../../../../Lib") If Not HTML2PDF.IsModuleAvailable() Then Console.WriteLine() Console.WriteLine("Unable to run HTML2PDFTest: PDFTron SDK HTML2PDF module not available.") Return End If Try Using doc As New PDFDoc() If HTML2PDF.Convert(doc, host & "/") Then doc.Save(output_path & "_01.pdf", SDFDoc.SaveOptions.e_linearized) Else Console.WriteLine("Conversion failed.") End If End Using Catch e As PDFNetException Console.WriteLine(e.Message) End Try End Sub End Class $vbLabelText $csharpLabel 9. ライセンス IronPDFは、無料の開発者ライセンスを提供するライブラリです。 IronPDFは特別な価格構造も提供しています:ライトパッケージは隠れたコストなしで$799から始まります。 SaaSおよびOEM製品を再配布することも可能です。 すべてのライセンスには30日間の返金保証、1年間のソフトウェアサポートとアップグレード、開発/テスト/ステージング/本番での有効性、および永続ライセンス(1回購入)が含まれます。 IronPDFのライセンスは、ユーザーのニーズに最大限のパフォーマンスを提供します。 このIronPDF ライセンスページにアクセスして、IronPDF の価格構造とライセンスを確認してください。 PDFTron PDFNet SDKには、ビジネスニーズに合わせたさまざまなライセンス選択肢があります。 3種類のライセンスがエンタープライズおよびOEM再配布に含まれています。 エンタープライズライセンスは組織の使用のみのものであり、アプリの配布には使用できません。 すべてのライセンスにはライセンスキーが付属しています。 3種類のライセンスは次のとおりです: ライセンスの種類は3つです: ビューア&注釈 コアSDK ライセンス構造に関する詳細については、このPDFTronライセンス情報ページをご覧ください。 ライセンス構造に関する詳細は、こちらのPDFTronライセンス情報ページをご覧ください。 正確な価格に関しては、Microsoft の公式ウェブサイトを参照するか、Microsoft の営業担当者にお問い合わせください。 IronPDFはPDFファイルを処理し、さまざまな形式に変換するための多くの機能と機能性を提供しています。 その結果、クリアで高品質のPDFを受け取ることができます。 ライセンスおよび価格情報はウェブサイトで確認できます。 IronPDFと同様に、PDFNetはPDFファイルの移行、注釈、署名、記入、変換、編集を支援します。 Windows、iOS、Android、WEB、Linuxなど複数のプラットフォームをサポートしています。 プロダクションで使用するには、PDFNet SDKにはプロダクトキーが必要です。 IronPDFのライセンスは開発者中心であり、製品を使用する開発者の数に基づいてライセンスを取得する必要があります。 一方、PDFNetのライセンスは同じ方法では機能しません。代わりに機能ベースのライセンスで動作します。 これは、必要な機能をサポートするライセンスを取得する必要があることを意味します。 これは、必要な機能をサポートするライセンスを取得する必要があることを意味します。 PDFNetでは、一部の機能(例:ドキュメント変換)をアドオンとして購入する必要があります。 IronPDFライブラリは、組織化された機能を提供しており、数行のコードで大規模なタスクを実行するコードを書くのが容易です。 Iron Softwareは現在、2つの価格で5つのツールパッケージを提供しています。 Iron Softwareは現在、わずか2つの価格で5つのツールパッケージを提供しています。 - IronXL IronBarcode IronXL IronOCR IronPDF IronWebScraper このIron Suite情報ページを訪れてIron Suiteを探ることをお勧めします。 BRACKET-i-OPEN--PDFTronは各所有者の登録商標です。 このサイトは PDFTron と提携、承認、または後援されていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。 よくある質問 記事で比較されている主なPDFライブラリは何ですか? 記事では、Iron Softwareによって開発されたIronPDFとPDFTronのPDFNetを比較し、.NET Framework内でのC#開発者向けの機能に焦点を当てています。 C# で HTML を PDF に変換するにはどうすればいいですか? IronPDFのRenderHtmlAsPdfメソッドを使用して、HTML文字列をPDFに変換できます。さらに、IronPDFの強力なChromiumエンジンを使用して、HTMLファイルやURLをPDFに変換できます。 IronPDFはどのオペレーティングシステムをサポートしていますか? IronPDFは、Windows、Azure、Dockerを含む複数のオペレーティングシステムをサポートし、多様な開発環境にシームレスに統合できます。 IronPDFはPDFデータ抽出をどのように処理しますか? IronPDFは効率的なPDFデータ抽出を可能にし、開発者がPDFドキュメントからテキストや画像を容易に取得してさらなる処理を行えます。 IronPDFのインストールオプションにはどのようなものがありますか? IronPDFは、Visual Studio NuGetパッケージマネージャー、Visual Studioのコマンドライン、またはNuGet Galleryから直接インストールでき、開発者による容易なセットアップを保証します。 IronPDFとPDFNetのライセンシングの違いは何ですか? IronPDFはすべての機能を含む開発者向けライセンスを提供し、PDFNetライセンスは機能ベースで、特定の機能に追加購入が必要になる場合があります。 IronPDFは大型のPDFタスクに適していますか? はい、IronPDFは使い勝手の良さと最小限のコード要件で評価されており、大型のPDFタスクを効率的に処理するのに適しています。 Iron Softwareスイートにはどのような追加ツールが含まれていますか? Iron Softwareスイートには、IronBarcode、IronXL、IronOCR、IronPDF、およびIronWebscraperが含まれており、パッケージ取引として提供されているため、開発者にとっての魅力が高まります。 カーティス・チャウ 今すぐエンジニアリングチームとチャット テクニカルライター Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。 関連する記事 公開日 12月 18, 2025 .NET Core開発で最大の価値を提供するASP PDFライブラリは? ASP.NET Core アプリケーションに最適な PDF ライブラリを発見しよう。IronPDF の Chrome エンジンを Aspose および Syncfusion の代替案と比較します。 詳しく読む 公開日 12月 3, 2025 IronPDF vs iTextSharp PDFドキュメントのヘッダーとフッター付きHTML to PDF PDFにヘッダーとフッターを追加するためのiTextSharpとIronPDFを比較します。コード例、ページ番号、HTMLヘッダーの実装。 詳しく読む 公開日 12月 3, 2025 iTextSharp HTML to PDFの "Document Has No Pages "エラーをIronPDFで解決 iTextSharp HTML to PDFでは、解析に失敗したときにページエラーが発生しません。XMLWorkerが同じ問題を抱えている理由を知り、HTML変換のためのIronPDFの信頼できるソリューションを発見してください。 詳しく読む IronPDFとGroupDocsの比較IronPDFとPSPDFKitの比較
公開日 12月 18, 2025 .NET Core開発で最大の価値を提供するASP PDFライブラリは? ASP.NET Core アプリケーションに最適な PDF ライブラリを発見しよう。IronPDF の Chrome エンジンを Aspose および Syncfusion の代替案と比較します。 詳しく読む
公開日 12月 3, 2025 IronPDF vs iTextSharp PDFドキュメントのヘッダーとフッター付きHTML to PDF PDFにヘッダーとフッターを追加するためのiTextSharpとIronPDFを比較します。コード例、ページ番号、HTMLヘッダーの実装。 詳しく読む
公開日 12月 3, 2025 iTextSharp HTML to PDFの "Document Has No Pages "エラーをIronPDFで解決 iTextSharp HTML to PDFでは、解析に失敗したときにページエラーが発生しません。XMLWorkerが同じ問題を抱えている理由を知り、HTML変換のためのIronPDFの信頼できるソリューションを発見してください。 詳しく読む