製品比較 SpirePDF C# HTML to PDF チュートリアル&ライブラリ比較 Jacob Mellor 更新日:8月 6, 2025 Download IronPDF NuGet Download テキストの検索と置換 テキストと画像のスタンプ Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article HTML を PDF に変換することは、多くの .NET アプリケーションにとって重要な要件です。請求書やレポートの生成から、ドキュメントおよび電子書籍の作成に至るまでです。 HTML から PDF への変換ニーズに対して IronPDF と Spire.PDF を選択する際には、それぞれの強み、制限、実際のパフォーマンスを理解することが重要です。 この包括的な比較は、両方のライブラリの機能を検証し、PDF 生成の要件に対して情報に基づいた意思決定を行うのに役立ちます。 HTML から PDF への変換における IronPDF と Spire.PDF の主な違いは何ですか? IronPDF は、PDF ファイルの変換、PDF の編集、PDF の作成、PDF ファイルの読み取りなど、幅広い PDF 関連タスクを処理できるように設計された汎用的な .NET PDF ライブラリです。 既存の .NET アプリケーションへの統合の容易さ、高性能、HTML5、CSS3、JavaScript などの最新の Web 標準のサポートで知られています。 IronPDF の Chrome ベースのレンダリング エンジンにより、HTML コンテンツからのピクセル パーフェクトな PDF 生成が保証されます。 Spire.PDF for .NET は、PDF の作成と操作のための包括的な機能セットを提供する強力な .NET PDF ライブラリです。 テキストおよび画像の抽出、PDF フォームの入力、デジタル署名など、さまざまな PDF 機能をサポートします。 機能は包括的ですが、HTML から PDF への変換機能には、開発者が考慮すべき特定の制限があります。 class="product__comprehensive-comparison-table"> class="table-container"> class="table-number">製品比較の概要 class="table-title">.NET PDF 処理用の IronPDF と Spire.PDF の機能比較カテゴリ機能/側面IronPDFSpire.PDF主要利点コア アーキテクチャデザイン哲学シンプルファースト、直感的な APIマルチクラス アプローチ、手動設定IronPDF: 開発が高速API の複雑さRenderHtmlAsPdf() などのシンプルなメソッドマルチスレッド アプローチが必要IronPDF: コード量が 70% 減少学習曲線通常 1〜2 日通常 1〜2 週間IronPDF: 採用が迅速プラットフォーム サポートクロスプラットフォームネイティブ サポート、追加パッケージなしLinux/macOS のサポートが限定的IronPDF: 真のクロスプラットフォーム.NET バージョン.NET 8, 7, 6, 5, Core 3.1+, Framework 4.6.2+.NET Core 2.0+, Framework 2.0+両方: 幅広いフレームワーク サポートオペレーティング システムWindows, Linux, macOS, Docker ネイティブWindows に主に対応IronPDF: より広範な OS サポートHTML から PDF への変換レンダリング エンジンフル Chrome V8 エンジンカスタム HTML パーサーIronPDF: 98%+ ブラウザ忠実度CSS3/HTML5 サポート完全サポート限定的(基本 CSS のみ)IronPDF: 最新の Web 標準JavaScript 実行完全な JavaScript サポート計画済みだが実装されていないIronPDF: 動的コンテンツに対応Web フォントGoogle フォント、システム フォントフォントサポートが限定的IronPDF: タイポグラフィの柔軟性レンダリング速度通常 0.8–1.2 秒シンプルな HTML 用に 0.5–0.8 秒Spire: 基本的な HTML の方が速いセキュリティと暗号化暗号化レベルAES-256、カスタム ハンドラーAES-256 標準両方: 業界標準API のシンプルさ単一の SecuritySettings クラス複数のセキュリティ メソッドIronPDF: 統一アプローチコンテンツの操作マスキング方法真のコンテンツ削除、一行 API手動の長方形オーバーレイIronPDF: コンプライアンス準備完了ウォーターマーキングHTML/CSS ベース、完全なスタイリング回転を伴うテキストベースIronPDF: リッチなウォーターマークファイル変換DOCX から PDF組み込みの DocxToPdfRendererSpire.Doc ライブラリが必要IronPDF: 追加費用なしパフォーマンス メトリクスメモリ使用量150–200MB (Chrome エンジン)80–120MBSpire: 低メモリ フットプリントスレッディング サポートネイティブの非同期/待機に最適化STA スレッドが必要IronPDF: 最新の非同期パターン開発者の体験コード例100 以上の準備済みサンプル基本的な例IronPDF: 豊富なリソースエラーメッセージ具体的で実行可能技術的なメッセージIronPDF: より良いデバッグライセンスと価格設定エントリーレベルLite: $799 (1 開発者, 1 プロジェクト)開発者: $1,199/年 (1 開発者)IronPDF: 永久ライセンスチーム ライセンスPlus: $1,199 (3 開発者, 3 プロジェクト)サイト: 4,599 ドル (10 開発者)IronPDF: より優れたチーム価値スイート オプションIron Suite: $1,498 (9 製品)スイート オプションなしIronPDF: 優れた価値サポートサポートが含まれているはい、24/5 エンジニアリング サポートフォーラムのみ (有料サポートは別途)IronPDF: サポートが含まれていますサポート チャネルメール、チャット、電話、画面共有フォーラム、メール (有料ティア)IronPDF: 複数のチャネルベスト フォーユース ケース最新のウェブアプリ、複雑な HTML/CSS簡単なドキュメント、基本的なレイアウトコンテキストに依存 class="table-note">注. Spire.PDF は基本的な PDF 機能を低いメモリ使用量で提供し、IronPDF は HTML レンダリングと最新の Web 標準のサポートに優れています。複雑な HTML レンダリングや最小限のリソース使用が優先されるかどうかで選択してください。 IronPDF の詳細情報は IronPDF.com を訪問してください。 クロスプラットフォームの互換性はライブラリ間でどのように比較されますか? IronPDF IronPDF は、広範なクロスプラットフォーム互換性で際立っている。 .NET フレームワーク内の幅広い環境をサポートし、異なるプラットフォーム間でのシームレスな動作を保証します。 以下に IronPDF のプラットフォーム互換性の概要を示します。 .NET バージョン: 完全に C#、VB.NET、F# で書かれており、サポートしています。 .NET Core (8, 7, 6, 5, および 3.1+) .NET Standard (2.0+) .NET Framework (4.6.2+) アプリ環境: IronPDF は Windows、Linux、Mac、Docker、Azure、AWS などの様々なアプリ環境で動作します。 IDEs: Microsoft Visual Studio および JetBrains Rider & ReSharper などの IDE で動作します。 OS とプロセッサ: Windows、Mac、Linux、x64、x86、ARM などの様々な OS & プロセッサをサポートします。 IronPDF の互換性の詳細については、IronPDF フィーチャーページを訪問してください。 Spire.PDF Spire.PDF は .NET 環境内でフルサポートを提供しますが、Windows オペレーティング システム内で動作する一方で、IronPDF が持つ Linux および macOS に対するネイティブ サポートが欠けています。 macOS または Linux でのデプロイ時には、Spire.PDF は各プラットフォーム用の異なるプラグインを必要とし、デプロイメント シナリオを複雑にする可能性があります。 .NET サポート: .NET Framework 2.0+ .NET Core 2.0+ C# で記述され、VB.NET をサポートしています。 アプリ環境: Spire.PDF は Windows および ASP.NET アプリケーションなどの様々なアプリ環境で動作します。 Windows フォームもサポートできます。 どちらのライブラリがより優れた HTML の PDF 変換機能を提供しますか? IronPDF の機能 PDF 変換: IronPDF は、HTML を PDF に変換できます。 最新の Web 標準の完全なサポートにより、IronPDF は HTML コンテンツから常にピクセル パーフェクトな PDF を返すことが保証されています。 IronPDF は、他の形式からの PDF ファイルの変換も可能で、例えば DOCX、画像、RTF などがあります。 PDF 生成: IronPDF では、URL、ASPX ファイル、HTML 文字列から PDF を生成することができます。 セキュリティ機能: IronPDF を使用すると、セキュリティ機能のおかげで、他の敏感な PDF ファイルも常に安全であることを保証できます。 IronPDF を使用して PDF ファイルを暗号化し、パスワードを設定し、PDF ファイルの権限を設定してください。 PDF 編集機能: IronPDF では、既存の PDF ドキュメントを処理し、編集し、PDF ファイルを簡単に読み取ることができます。 IronPDF offers editing features such as adding headers and footers, stamping text and images onto the PDF pages, adding custom watermarks to the PDF, working with PDF forms, and splitting or merging PDF files. 統合: ASP.NET および MVC アプリケーションとシームレスに統合できます。 PDF バージョン サポート: PDF バージョン 1.2-1.7 をサポートできます。 IronPDF の包括的な機能一覧については、IronPDF の機能を訪問してください。 Spire.PDF の機能 PDF 作成: ゼロからまたは既存のファイルから PDF を作成します。 テキストと画像の抽出: Spire.PDF を使用して PDF ページとコンテンツを抽出します。 PDF フォームの処理: PDF フォームを埋めたり管理したりします。 PDF 変換: PDF を HTML、RTF、画像などの他の形式に変換します。 ページ操作: PDF 内のページを挿入、削除、および再配置します。 限定的な HTML サポート: HTML から PDF へのエンジンでは、最新の CSS と JavaScript のサポートが限定されています。 デフォルトの Qt ベースのプラグインは、CSS のページ区切りプロパティや外部 CSS ファイルの認識をサポートせず、JavaScript の実行は、まだ完全に実装されていない計画された機能です。 より良いレンダリングのためにオプションの ChromeHtmlConverter が利用可能です。 Bootstrap と最新の CSS フレームワークのレンダリング 最新の Web 開発は、迅速な UI 開発とレスポンシブデザインのために、Bootstrap のような CSS フレームワークに大きく依存しています。 PDF 生成ライブラリは、これらのフレームワークを正確に変換して、プロフェッショナルなドキュメント品質およびデザインの一貫性を維持する必要があります。 IronPDF: 完全な Bootstrap および Tailwind のサポート IronPDF の Chromium エンジンは、すべての最新の CSS フレームワークへ完全にサポートしています。 Bootstrap 5: すべてのレスポンシブ コンポーネントと完全な flexbox および CSS グリッド サポート Bootstrap 4: 完全なカードレイアウト、ナビゲーションシステム、およびユーティリティ クラス Tailwind CSS: すべてのユーティリティファーストクラスおよびレスポンシブ修飾子 Foundation: 完全なグリッドおよびコンポーネント システム 最新の CSS3: Flexbox, Grid, カスタムプロパティ, アニメーション, およびトランスフォーム Proven with real examples: Bootstrap homepage and Bootstrap templates convert with pixel-perfect accuracy. コード例: Team Member カード with Bootstrap using IronPdf; var renderer = new ChromePdfRenderer(); string bootstrapTeam = @" <!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 my-5'> <h1 class='text-center mb-5'>Our Team</h1> <div class='row row-cols-1 row-cols-md-3 g-4'> <div class='col'> <div class='card h-100 shadow-sm text-center'> <div class='card-body d-flex flex-column'> <img src='https://via.placeholder.com/150' class='rounded-circle mx-auto mb-3' alt='Team member' style='width: 150px; height: 150px; object-fit: cover;'> <h5 class='card-title'>Jennifer Martinez</h5> <p class='text-muted mb-3'>Chief Technology Officer</p> <p class='card-text flex-grow-1'>Leading our technical vision and innovation strategy with over 15 years of experience in software architecture.</p> <div class='d-flex justify-content-center gap-2 mt-auto'> <a href='#' class='btn btn-sm btn-outline-primary'>LinkedIn</a> <a href='#' class='btn btn-sm btn-outline-secondary'>Email</a> </div> </div> </div> </div> <div class='col'> <div class='card h-100 shadow-sm text-center'> <div class='card-body d-flex flex-column'> <img src='https://via.placeholder.com/150' class='rounded-circle mx-auto mb-3' alt='Team member' style='width: 150px; height: 150px; object-fit: cover;'> <h5 class='card-title'>David Chen</h5> <p class='text-muted mb-3'>Head of Engineering</p> <p class='card-text flex-grow-1'>Managing our engineering teams and ensuring product quality through rigorous testing and code review processes.</p> <div class='d-flex justify-content-center gap-2 mt-auto'> <a href='#' class='btn btn-sm btn-outline-primary'>LinkedIn</a> <a href='#' class='btn btn-sm btn-outline-secondary'>Email</a> </div> </div> </div> </div> <div class='col'> <div class='card h-100 shadow-sm text-center'> <div class='card-body d-flex flex-column'> <img src='https://via.placeholder.com/150' class='rounded-circle mx-auto mb-3' alt='Team member' style='width: 150px; height: 150px; object-fit: cover;'> <h5 class='card-title'>Sarah Johnson</h5> <p class='text-muted mb-3'>Product Manager</p> <p class='card-text flex-grow-1'>Driving product strategy and customer satisfaction through data-driven decisions and user research.</p> <div class='d-flex justify-content-center gap-2 mt-auto'> <a href='#' class='btn btn-sm btn-outline-primary'>LinkedIn</a> <a href='#' class='btn btn-sm btn-outline-secondary'>Email</a> </div> </div> </div> </div> </div> <div class='text-center mt-5'> <h3>Join Our Team</h3> <p class='text-muted mb-3'>We're always looking for talented individuals to join our growing team.</p> <a href='#' class='btn btn-primary btn-lg'>View Open Positions</a> </div> </div> </body> </html>"; var pdf = renderer.RenderHtmlAsPdf(bootstrapTeam); pdf.SaveAs("team-members.pdf"); using IronPdf; var renderer = new ChromePdfRenderer(); string bootstrapTeam = @" <!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 my-5'> <h1 class='text-center mb-5'>Our Team</h1> <div class='row row-cols-1 row-cols-md-3 g-4'> <div class='col'> <div class='card h-100 shadow-sm text-center'> <div class='card-body d-flex flex-column'> <img src='https://via.placeholder.com/150' class='rounded-circle mx-auto mb-3' alt='Team member' style='width: 150px; height: 150px; object-fit: cover;'> <h5 class='card-title'>Jennifer Martinez</h5> <p class='text-muted mb-3'>Chief Technology Officer</p> <p class='card-text flex-grow-1'>Leading our technical vision and innovation strategy with over 15 years of experience in software architecture.</p> <div class='d-flex justify-content-center gap-2 mt-auto'> <a href='#' class='btn btn-sm btn-outline-primary'>LinkedIn</a> <a href='#' class='btn btn-sm btn-outline-secondary'>Email</a> </div> </div> </div> </div> <div class='col'> <div class='card h-100 shadow-sm text-center'> <div class='card-body d-flex flex-column'> <img src='https://via.placeholder.com/150' class='rounded-circle mx-auto mb-3' alt='Team member' style='width: 150px; height: 150px; object-fit: cover;'> <h5 class='card-title'>David Chen</h5> <p class='text-muted mb-3'>Head of Engineering</p> <p class='card-text flex-grow-1'>Managing our engineering teams and ensuring product quality through rigorous testing and code review processes.</p> <div class='d-flex justify-content-center gap-2 mt-auto'> <a href='#' class='btn btn-sm btn-outline-primary'>LinkedIn</a> <a href='#' class='btn btn-sm btn-outline-secondary'>Email</a> </div> </div> </div> </div> <div class='col'> <div class='card h-100 shadow-sm text-center'> <div class='card-body d-flex flex-column'> <img src='https://via.placeholder.com/150' class='rounded-circle mx-auto mb-3' alt='Team member' style='width: 150px; height: 150px; object-fit: cover;'> <h5 class='card-title'>Sarah Johnson</h5> <p class='text-muted mb-3'>Product Manager</p> <p class='card-text flex-grow-1'>Driving product strategy and customer satisfaction through data-driven decisions and user research.</p> <div class='d-flex justify-content-center gap-2 mt-auto'> <a href='#' class='btn btn-sm btn-outline-primary'>LinkedIn</a> <a href='#' class='btn btn-sm btn-outline-secondary'>Email</a> </div> </div> </div> </div> </div> <div class='text-center mt-5'> <h3>Join Our Team</h3> <p class='text-muted mb-3'>We're always looking for talented individuals to join our growing team.</p> <a href='#' class='btn btn-primary btn-lg'>View Open Positions</a> </div> </div> </body> </html>"; var pdf = renderer.RenderHtmlAsPdf(bootstrapTeam); pdf.SaveAs("team-members.pdf"); IRON VB CONVERTER ERROR developers@ironsoftware.com $vbLabelText $csharpLabel 出力: Bootstrap のカードグリッド、flexbox アラインメント、レスポンシブ画像、ボタンコンポーネントを備えたプロフェッショナルなチームページが、PDF に正確にレンダリングされます。 Spire.PDF: 限定的な HTML および最新のフレームワークサポート Spire.PDF の HTML から PDF へのエンジンは、彼らの独自の文書に記載されているように、最新の CSS フレームワークに対する重大な制限があります。 限定的な CSS サポート: 基本的な CSS のみで、完全な CSS3 フィーチャはありません フレックスボックスなし: Bootstrap 4/5 はフレックスボックスに大きく依存していますが、未対応です。 CSS グリッドなし: 最新のレイアウトシステムである CSS グリッドは正しくレンダリングされません JavaScript 制限: 現代のブラウザに比べて、最小限の JavaScript 実行能力 Bootstrap 3 の最大: 古いテーブルベースの Bootstrap のバージョンだけが信頼できます 複雑なレイアウトの失敗: 最新のレスポンシブ デザインには広範な回避策が必要です Spire.PDF HTML 変換に関する開発者レポートの問題: Bootstrap のナビゲーションバーが、レイアウトの問題でレンダリングされる Flexbox を持つカードコンポーネントが正しくアラインされない PDF 出力におけるレスポンシブのグリッドブレークポイントが無視される 現代の CSS 機能には手動での CSS 書き換えやフォールバックが必要 開発への影響: Bootstrap 4+ または現代の CSS フレームワークを使用するアプリケーションは、Spire.PDF に大きな課題が生じます。 開発チームは次を行う必要があります: PDF 生成用に特別設計された簡略化された CSS を維持する(ダブルメンテナンス) Bootstrap 3 にダウングレードするか、フレームワークを完全に放棄する(最新の機能に制限) 各コンポーネントをテストして手動で修正を行う(時間がかかり壊れやすい) 最新の CSS フレームワークのサポートを求めるプロジェクトにとって、Spire.PDF の HTML レンダリングの限界は、追加の開発努力と継続的な保守の負担なくしては不適切です。 詳細な Bootstrap 互換性情報については、Bootstrap & Flexbox CSS ガイド を参照してください。 一般的な PDF タスクのためのコード例を比較するにはどうすればよいですか? .NET 用の IronPDF および Spire.PDF の機能を示すために、いくつかの主要な PDF 機能の実装をコード例を通じて比較し、これらの機能が PDF プロジェクトにどのように役立つかを示します。 HTML を PDF に変換 IronPDFの例: using IronPdf; // Disable local disk access or cross-origin requests Installation.EnableWebSecurity = true; // Instantiate Renderer var renderer = new ChromePdfRenderer(); // Create a PDF from an HTML string using C# var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>"); pdf.SaveAs("output.pdf"); // Advanced Example with HTML Assets // Load external HTML assets: images, CSS, and JavaScript. // An optional BasePath 'C:\site\assets\' is set as the file location to load assets from var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\"); myAdvancedPdf.SaveAs("html-with-assets.pdf"); using IronPdf; // Disable local disk access or cross-origin requests Installation.EnableWebSecurity = true; // Instantiate Renderer var renderer = new ChromePdfRenderer(); // Create a PDF from an HTML string using C# var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>"); pdf.SaveAs("output.pdf"); // Advanced Example with HTML Assets // Load external HTML assets: images, CSS, and JavaScript. // An optional BasePath 'C:\site\assets\' is set as the file location to load assets from var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\"); myAdvancedPdf.SaveAs("html-with-assets.pdf"); Imports IronPdf ' Disable local disk access or cross-origin requests Installation.EnableWebSecurity = True ' Instantiate Renderer Dim renderer = New ChromePdfRenderer() ' Create a PDF from an HTML string using C# Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>") pdf.SaveAs("output.pdf") ' Advanced Example with HTML Assets ' Load external HTML assets: images, CSS, and JavaScript. ' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\") myAdvancedPdf.SaveAs("html-with-assets.pdf") $vbLabelText $csharpLabel IronPDF の ChromePdfRenderer クラスは、完全な Chrome ブラウザ エンジンを利用して HTML コンテンツをレンダリングします。 これにより、CSS3 アニメーション、JavaScript 実行、および最新の Web フォントが Chrome で同様に正確にレンダリングされます。 RenderHtmlAsPdf() メソッドは、HTML 文字列とオプションの基底パスを受け入れて、外部アセットの読み込みを行い、簡単な HTML 文書から複雑な HTML 文書までの変換を簡単にします。 このレンダラーは、高度なレンダリングオプションをサポートしており、カスタムの用紙サイズ、マージン、JavaScript 遅延設定などを含みます。 Spire.PDF の例: using Spire.Pdf; using Spire.Pdf.HtmlConverter; using System.IO; using System.Threading; using System.Drawing; namespace ConvertHtmlStringToPdfWithoutPlugin { class Program { static void Main(string[] args) { // Create a PdfDocument object PdfDocument doc = new PdfDocument(); // Create a PdfPageSettings object PdfPageSettings setting = new PdfPageSettings(); // Set page size and margins through the object setting.Size = new SizeF(1000, 1000); setting.Margins = new Spire.Pdf.Graphics.PdfMargins(20); // Create a PdfHtmlLayoutFormat object PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat(); // Set IsWaiting property to true htmlLayoutFormat.IsWaiting = true; // Read HTML string from a .html file string htmlString = File.ReadAllText(@"C:\Users\Administrator\Desktop\Document\Html\Sample.html"); // Load HTML from HTML string using LoadFromHTML method Thread thread = new Thread(() => { doc.LoadFromHTML(htmlString, true, setting, htmlLayoutFormat); }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); thread.Join(); // Save to a PDF file doc.SaveToFile("HtmlStringToPdf.pdf"); } } } using Spire.Pdf; using Spire.Pdf.HtmlConverter; using System.IO; using System.Threading; using System.Drawing; namespace ConvertHtmlStringToPdfWithoutPlugin { class Program { static void Main(string[] args) { // Create a PdfDocument object PdfDocument doc = new PdfDocument(); // Create a PdfPageSettings object PdfPageSettings setting = new PdfPageSettings(); // Set page size and margins through the object setting.Size = new SizeF(1000, 1000); setting.Margins = new Spire.Pdf.Graphics.PdfMargins(20); // Create a PdfHtmlLayoutFormat object PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat(); // Set IsWaiting property to true htmlLayoutFormat.IsWaiting = true; // Read HTML string from a .html file string htmlString = File.ReadAllText(@"C:\Users\Administrator\Desktop\Document\Html\Sample.html"); // Load HTML from HTML string using LoadFromHTML method Thread thread = new Thread(() => { doc.LoadFromHTML(htmlString, true, setting, htmlLayoutFormat); }); thread.SetApartmentState(ApartmentState.STA); thread.Start(); thread.Join(); // Save to a PDF file doc.SaveToFile("HtmlStringToPdf.pdf"); } } } Imports Spire.Pdf Imports Spire.Pdf.HtmlConverter Imports System.IO Imports System.Threading Imports System.Drawing Namespace ConvertHtmlStringToPdfWithoutPlugin Friend Class Program Shared Sub Main(ByVal args() As String) ' Create a PdfDocument object Dim doc As New PdfDocument() ' Create a PdfPageSettings object Dim setting As New PdfPageSettings() ' Set page size and margins through the object setting.Size = New SizeF(1000, 1000) setting.Margins = New Spire.Pdf.Graphics.PdfMargins(20) ' Create a PdfHtmlLayoutFormat object Dim htmlLayoutFormat As New PdfHtmlLayoutFormat() ' Set IsWaiting property to true htmlLayoutFormat.IsWaiting = True ' Read HTML string from a .html file Dim htmlString As String = File.ReadAllText("C:\Users\Administrator\Desktop\Document\Html\Sample.html") ' Load HTML from HTML string using LoadFromHTML method Dim thread As New Thread(Sub() doc.LoadFromHTML(htmlString, True, setting, htmlLayoutFormat) End Sub) thread.SetApartmentState(ApartmentState.STA) thread.Start() thread.Join() ' Save to a PDF file doc.SaveToFile("HtmlStringToPdf.pdf") End Sub End Class End Namespace $vbLabelText $csharpLabel Spire.PDF の HTML から PDF への変換は、PdfDocument、PdfPageSettings、および PdfHtmlLayoutFormat を含む複数のオブジェクトの作成を必要とします。 この 変換はシングル スレッド アパートメント (STA) スレッドで実行する必要があり、実装が複雑になります。 ユーザーは、"Spire が生成する PDF ファイルはただの画像です。CSS の一部は正しくなく、太字フォントが無視される" など、CSS のレンダリングの忠実度に制限があることを報告しています。 IronPDF は、最新の Web 標準をサポートする Chrome のレンダリング エンジンを使用して、高忠実度の HTML から PDF への変換を行い、Web コンテンツの正確な表現を保証します。 Spire.PDF は、強固な HTML から PDF への変換も提供しますが、IronPDF のレンダリング精度に匹敵せず、より手作業が多く、複雑なアプローチをとるかもしれません。 ### PDF ドキュメントを暗号化するにはどうすればよいですか? IronPDF の SecuritySettings クラスは、PDF セキュリティを管理するための包括的な API を提供します。 IronPDFの例: using IronPdf; using System; // Open an Encrypted File, alternatively create a new PDF from HTML var pdf = PdfDocument.FromFile("encrypted.pdf", "password"); // Edit file metadata pdf.MetaData.Author = "Satoshi Nakamoto"; pdf.MetaData.Keywords = "SEO, Friendly"; pdf.MetaData.ModifiedDate = DateTime.Now; // Edit file security settings pdf.SecuritySettings.RemovePasswordsAndEncryption(); pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key"); pdf.SecuritySettings.AllowUserAnnotations = false; pdf.SecuritySettings.AllowUserCopyPasteContent = false; pdf.SecuritySettings.AllowUserFormData = false; pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights; // Change or set the document encryption password pdf.Password = "my-password"; pdf.SaveAs("secured.pdf"); using IronPdf; using System; // Open an Encrypted File, alternatively create a new PDF from HTML var pdf = PdfDocument.FromFile("encrypted.pdf", "password"); // Edit file metadata pdf.MetaData.Author = "Satoshi Nakamoto"; pdf.MetaData.Keywords = "SEO, Friendly"; pdf.MetaData.ModifiedDate = DateTime.Now; // Edit file security settings pdf.SecuritySettings.RemovePasswordsAndEncryption(); pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key"); pdf.SecuritySettings.AllowUserAnnotations = false; pdf.SecuritySettings.AllowUserCopyPasteContent = false; pdf.SecuritySettings.AllowUserFormData = false; pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights; // Change or set the document encryption password pdf.Password = "my-password"; pdf.SaveAs("secured.pdf"); Imports IronPdf Imports System ' Open an Encrypted File, alternatively create a new PDF from HTML Private pdf = PdfDocument.FromFile("encrypted.pdf", "password") ' Edit file metadata pdf.MetaData.Author = "Satoshi Nakamoto" pdf.MetaData.Keywords = "SEO, Friendly" pdf.MetaData.ModifiedDate = DateTime.Now ' Edit file security settings pdf.SecuritySettings.RemovePasswordsAndEncryption() pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key") pdf.SecuritySettings.AllowUserAnnotations = False pdf.SecuritySettings.AllowUserCopyPasteContent = False pdf.SecuritySettings.AllowUserFormData = False pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights ' Change or set the document encryption password pdf.Password = "my-password" pdf.SaveAs("secured.pdf") $vbLabelText $csharpLabel ブールのプロパティを使って個々の権限を制御したり、さまざまなレベルの印刷権限を設定したり、他のセキュリティ設定とは別にパスワードを管理することができます。 この API の設計は、.NET の規約に従っており、強く型付けされた列挙型 PdfPrintSecurity があります。 ドキュメントの PDF 許可およびパスワード についての詳細を学びましょう。 Spire.PDF の暗号化方法は、ビット単位の権限フラグを使用した Security.Encrypt() メソッドを使用します。 Spire.PDF の例: using Spire.Pdf; using Spire.Pdf.Security; // Create a PdfDocument object PdfDocument pdf = new PdfDocument(); // Load a sample PDF file pdf.LoadFromFile(@"E:\Files\sample.pdf"); // Encrypt the PDF file with a password pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit); // Save the result file pdf.SaveToFile("Encrypt.pdf", FileFormat.PDF); using Spire.Pdf; using Spire.Pdf.Security; // Create a PdfDocument object PdfDocument pdf = new PdfDocument(); // Load a sample PDF file pdf.LoadFromFile(@"E:\Files\sample.pdf"); // Encrypt the PDF file with a password pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit); // Save the result file pdf.SaveToFile("Encrypt.pdf", FileFormat.PDF); Imports Spire.Pdf Imports Spire.Pdf.Security ' Create a PdfDocument object Private pdf As New PdfDocument() ' Load a sample PDF file pdf.LoadFromFile("E:\Files\sample.pdf") ' Encrypt the PDF file with a password pdf.Security.Encrypt("open", "permission", PdfPermissionsFlags.Print Or PdfPermissionsFlags.CopyContent, PdfEncryptionKeySize.Key128Bit) ' Save the result file pdf.SaveToFile("Encrypt.pdf", FileFormat.PDF) $vbLabelText $csharpLabel よりコンパクトでありながら、ビット単位の操作の理解が必要であり、IronPDF の個々の権限プロパティに比べて少なく整理された制御を提供します。 両方のライブラリは、PDF を暗号化し、暗号化された PDF ドキュメントの読みやすさを設定するための使いやすい方法を提供します。 IronPDF はセキュリティ設定の全面的なコントロールを提供しながら、簡単な方法を提供します。 Spire.PDF は、やや短い過程をとりますが、権限設定のための追加オプションも含まれています。 ### PDF コンテンツのマスキングのためのオプションは何ですか? IronPDF は、ビジュアル マスキングではなく、真のコンテンツ削除を行う 専用のマスキング API を提供します。 IronPDFの例: using IronPdf; // Load the PDF document PdfDocument pdf = PdfDocument.FromFile("novel.pdf"); // Redact 'are' phrase from all pages pdf.RedactTextOnAllPages("are"); // Save the redacted document pdf.SaveAs("redacted.pdf"); using IronPdf; // Load the PDF document PdfDocument pdf = PdfDocument.FromFile("novel.pdf"); // Redact 'are' phrase from all pages pdf.RedactTextOnAllPages("are"); // Save the redacted document pdf.SaveAs("redacted.pdf"); Imports IronPdf ' Load the PDF document Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf") ' Redact 'are' phrase from all pages pdf.RedactTextOnAllPages("are") ' Save the redacted document pdf.SaveAs("redacted.pdf") $vbLabelText $csharpLabel RedactTextOnAllPages() メソッドは、指定されたテキストを検索して永久に削除し、データ保護規制を遵守します。 他のメソッドを使用すると、特定のページまたは領域でのマスキングが可能です。 Spire.PDF の手動長方形オーバーレイによるマスキングの例: Spire.PDF には専用のマスキング ツールはありませんが、以下に示すように、手動のプロセスを使用してコンテンツをマスキングできます。 この手動アプローチでは、各マスキング領域の正確な座標の計算が必要であり、真のコンテンツ削除よりも単なるビジュアルマスキングを提供します。元のテキストは、PDF 編集ツールを使用しても抽出可能である可能性があります。 using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; // Specify the input PDF file path string inputPdfFilePath = "path/to/your/input.pdf"; // Specify the output redacted PDF file path string outputPdfFilePath = "path/to/your/redacted_output.pdf"; // Create a new PdfDocument object PdfDocument pdfDocument = new PdfDocument(); // Load the existing PDF document pdfDocument.LoadFromFile(inputPdfFilePath); // Redact content on each page foreach (PdfPageBase page in pdfDocument.Pages) { // Define the area to redact (e.g., coordinates and size of the rectangle) RectangleF redactArea = new RectangleF(100, 100, 200, 50); // Example coordinates and size // Apply redaction page.Canvas.DrawRectangle(new PdfSolidBrush(Color.Black), redactArea); } // Save the redacted PDF document pdfDocument.SaveToFile(outputPdfFilePath); using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; // Specify the input PDF file path string inputPdfFilePath = "path/to/your/input.pdf"; // Specify the output redacted PDF file path string outputPdfFilePath = "path/to/your/redacted_output.pdf"; // Create a new PdfDocument object PdfDocument pdfDocument = new PdfDocument(); // Load the existing PDF document pdfDocument.LoadFromFile(inputPdfFilePath); // Redact content on each page foreach (PdfPageBase page in pdfDocument.Pages) { // Define the area to redact (e.g., coordinates and size of the rectangle) RectangleF redactArea = new RectangleF(100, 100, 200, 50); // Example coordinates and size // Apply redaction page.Canvas.DrawRectangle(new PdfSolidBrush(Color.Black), redactArea); } // Save the redacted PDF document pdfDocument.SaveToFile(outputPdfFilePath); Imports Spire.Pdf Imports Spire.Pdf.Graphics Imports System.Drawing ' Specify the input PDF file path Private inputPdfFilePath As String = "path/to/your/input.pdf" ' Specify the output redacted PDF file path Private outputPdfFilePath As String = "path/to/your/redacted_output.pdf" ' Create a new PdfDocument object Private pdfDocument As New PdfDocument() ' Load the existing PDF document pdfDocument.LoadFromFile(inputPdfFilePath) ' Redact content on each page For Each page As PdfPageBase In pdfDocument.Pages ' Define the area to redact (e.g., coordinates and size of the rectangle) Dim redactArea As New RectangleF(100, 100, 200, 50) ' Example coordinates and size ' Apply redaction page.Canvas.DrawRectangle(New PdfSolidBrush(Color.Black), redactArea) Next page ' Save the redacted PDF document pdfDocument.SaveToFile(outputPdfFilePath) $vbLabelText $csharpLabel IronPDF は強力でありながら簡単なマスキング ツールを提供します。 Spire.PDF は組み込みマスキング ツールがないため、マスキングにはより手作業が必要であり、効率的さを損なう可能性があります。 PDF ドキュメントに署名するにはどうすればよいですか? IronPDF の デジタル署名の実装 は、.NET の証明書ハンドリングのパターンに従います。 PdfSignature クラスは標準の X509Certificate2 オブジェクトを受け入れ、PDF 署名の複雑さを内部的に処理します。 IronPDFの例: using IronPdf; using IronPdf.Signing; using System.Security.Cryptography.X509Certificates; // Instantiate the renderer ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>"); // Create X509Certificate2 object with X509KeyStorageFlags set to Exportable X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable); // Create PdfSignature with certificate var sig = new PdfSignature(cert); // Sign PDF document pdf.Sign(sig); pdf.SaveAs("signed.pdf"); using IronPdf; using IronPdf.Signing; using System.Security.Cryptography.X509Certificates; // Instantiate the renderer ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>"); // Create X509Certificate2 object with X509KeyStorageFlags set to Exportable X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable); // Create PdfSignature with certificate var sig = new PdfSignature(cert); // Sign PDF document pdf.Sign(sig); pdf.SaveAs("signed.pdf"); Imports IronPdf Imports IronPdf.Signing Imports System.Security.Cryptography.X509Certificates ' Instantiate the renderer Private renderer As New ChromePdfRenderer() Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>") ' Create X509Certificate2 object with X509KeyStorageFlags set to Exportable Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable) ' Create PdfSignature with certificate Private sig = New PdfSignature(cert) ' Sign PDF document pdf.Sign(sig) pdf.SaveAs("signed.pdf") $vbLabelText $csharpLabel 視覚的な署名の外観を追加し、署名フィールドの構成も可能です。 Spire.PDF は署名の外観を徹底的に制御しますが、かなり多くのコードを必要とします。 各ラベルを手動でセットし、署名を正確に位置決めし、視覚的な要素を個別に構成する必要があります。 Spire.PDF の例: using Spire.Pdf; using Spire.Pdf.Security; using System.Drawing; // Create a PdfDocument object PdfDocument doc = new PdfDocument(); // Load a sample PDF file doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf"); // Load the certificate PdfCertificate cert = new PdfCertificate("C:\\Users\\Administrator\\Desktop\\MyCertificate.pfx", "e-iceblue"); // Create a PdfSignature object and specify its position and size PdfSignature signature = new PdfSignature(doc, doc.Pages[doc.Pages.Count - 1], cert, "MySignature"); RectangleF rectangleF = new RectangleF(doc.Pages[0].ActualSize.Width - 260 - 54 , 200, 260, 110); signature.Bounds = rectangleF; signature.Certificated = true; // Set the graphics mode to ImageAndSignDetail signature.GraphicsMode = GraphicMode.SignImageAndSignDetail; // Set various details about the signature signature.NameLabel = "Signer:"; signature.Name = "Gary"; signature.ContactInfoLabel = "Phone:"; signature.ContactInfo = "0123456"; signature.DateLabel = "Date:"; signature.Date = DateTime.Now; signature.LocationInfoLabel = "Location:"; signature.LocationInfo = "USA"; signature.ReasonLabel = "Reason:"; signature.Reason = "I am the author"; signature.DistinguishedNameLabel = "DN:"; signature.DistinguishedName = signature.Certificate.IssuerName.Name; // Set the signature image source signature.SignImageSource = PdfImage.FromFile("C:\\Users\\Administrator\\Desktop\\handwrittingSignature.png"); // Set the signature font signature.SignDetailsFont = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Regular)); // Set the document permission to forbid changes but allow form fill signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges | PdfCertificationFlags.AllowFormFill; // Save to file doc.SaveToFile("VisiableSignature.pdf"); using Spire.Pdf; using Spire.Pdf.Security; using System.Drawing; // Create a PdfDocument object PdfDocument doc = new PdfDocument(); // Load a sample PDF file doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\sample.pdf"); // Load the certificate PdfCertificate cert = new PdfCertificate("C:\\Users\\Administrator\\Desktop\\MyCertificate.pfx", "e-iceblue"); // Create a PdfSignature object and specify its position and size PdfSignature signature = new PdfSignature(doc, doc.Pages[doc.Pages.Count - 1], cert, "MySignature"); RectangleF rectangleF = new RectangleF(doc.Pages[0].ActualSize.Width - 260 - 54 , 200, 260, 110); signature.Bounds = rectangleF; signature.Certificated = true; // Set the graphics mode to ImageAndSignDetail signature.GraphicsMode = GraphicMode.SignImageAndSignDetail; // Set various details about the signature signature.NameLabel = "Signer:"; signature.Name = "Gary"; signature.ContactInfoLabel = "Phone:"; signature.ContactInfo = "0123456"; signature.DateLabel = "Date:"; signature.Date = DateTime.Now; signature.LocationInfoLabel = "Location:"; signature.LocationInfo = "USA"; signature.ReasonLabel = "Reason:"; signature.Reason = "I am the author"; signature.DistinguishedNameLabel = "DN:"; signature.DistinguishedName = signature.Certificate.IssuerName.Name; // Set the signature image source signature.SignImageSource = PdfImage.FromFile("C:\\Users\\Administrator\\Desktop\\handwrittingSignature.png"); // Set the signature font signature.SignDetailsFont = new PdfTrueTypeFont(new Font("Arial Unicode MS", 12f, FontStyle.Regular)); // Set the document permission to forbid changes but allow form fill signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges | PdfCertificationFlags.AllowFormFill; // Save to file doc.SaveToFile("VisiableSignature.pdf"); Imports Spire.Pdf Imports Spire.Pdf.Security Imports System.Drawing ' Create a PdfDocument object Private doc As New PdfDocument() ' Load a sample PDF file doc.LoadFromFile("C:\Users\Administrator\Desktop\sample.pdf") ' Load the certificate Dim cert As New PdfCertificate("C:\Users\Administrator\Desktop\MyCertificate.pfx", "e-iceblue") ' Create a PdfSignature object and specify its position and size Dim signature As New PdfSignature(doc, doc.Pages(doc.Pages.Count - 1), cert, "MySignature") Dim rectangleF As New RectangleF(doc.Pages(0).ActualSize.Width - 260 - 54, 200, 260, 110) signature.Bounds = rectangleF signature.Certificated = True ' Set the graphics mode to ImageAndSignDetail signature.GraphicsMode = GraphicMode.SignImageAndSignDetail ' Set various details about the signature signature.NameLabel = "Signer:" signature.Name = "Gary" signature.ContactInfoLabel = "Phone:" signature.ContactInfo = "0123456" signature.DateLabel = "Date:" signature.Date = DateTime.Now signature.LocationInfoLabel = "Location:" signature.LocationInfo = "USA" signature.ReasonLabel = "Reason:" signature.Reason = "I am the author" signature.DistinguishedNameLabel = "DN:" signature.DistinguishedName = signature.Certificate.IssuerName.Name ' Set the signature image source signature.SignImageSource = PdfImage.FromFile("C:\Users\Administrator\Desktop\handwrittingSignature.png") ' Set the signature font signature.SignDetailsFont = New PdfTrueTypeFont(New Font("Arial Unicode MS", 12F, FontStyle.Regular)) ' Set the document permission to forbid changes but allow form fill signature.DocumentPermissions = PdfCertificationFlags.ForbidChanges Or PdfCertificationFlags.AllowFormFill ' Save to file doc.SaveToFile("VisiableSignature.pdf") $vbLabelText $csharpLabel PDF にデジタル署名をすることは、PDF ドキュメントを認証するためや、新しいプロジェクトに署名するために有用です。 IronPDF はデジタル署名を追加するための簡単なアプローチを提供し、署名プロセスの自動化を簡単にします。 Spire.PDF もまた、PDF に対するデジタル署名をサポートしていますが、プロセスがより手動であり、実装するのに多くの努力が必要となる可能性があります。 ### PDF に透かしを入れるにはどのような方法がありますか? IronPDF の透かし機能は HTML コンテンツを受け入れ、CSS を使用してスタイリングできます。ApplyWatermark() メソッドは、回転角と配置に関するパラメーターを提供し、透かしを正確に位置決めすることを容易にします。 カスタム透かし や高度なスタイリング オプションについてさらに学びましょう。 Spire.PDF の透かしは、座標システム変換を使用した位置決めと回転の手動計算が必要です。 IronPDFの例: using IronPdf; // Stamps a Watermark onto a new or existing PDF var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf"); pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center); pdf.SaveAs(@"C:\Path\To\Watermarked.pdf"); using IronPdf; // Stamps a Watermark onto a new or existing PDF var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf"); pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center); pdf.SaveAs(@"C:\Path\To\Watermarked.pdf"); Imports IronPdf ' Stamps a Watermark onto a new or existing PDF Private renderer = New ChromePdfRenderer() Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf") pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center) pdf.SaveAs("C:\Path\To\Watermarked.pdf") $vbLabelText $csharpLabel これにより細かい制御が可能になりますが、グラフィックプログラミングの概念の理解が必要です。 IronPDF は、透かしの位置とデザインを完全に制御しながら、テキスト透かしを追加するための簡単な方法を提供します。 IronPDF の HTML および CSS の使用は、これらの言語に精通している場合、プロセスを容易にします。 Spire.PDF の例: using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; // Create a PdfDocument object PdfDocument pdf = new PdfDocument(); // Load a sample PDF document pdf.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf"); // Create a PdfTrueTypeFont object PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 50f), true); // Set the watermark text string text = "CONFIDENTIAL"; // Measure the text size SizeF textSize = font.MeasureString(text); // Calculate the values of two offset variables, // which will be used to calculate the translation amount of the coordinate system float offset1 = (float)(textSize.Width * System.Math.Sqrt(2) / 4); float offset2 = (float)(textSize.Height * System.Math.Sqrt(2) / 4); // Traverse all the pages in the document foreach (PdfPageBase page in pdf.Pages) { // Set the page transparency page.Canvas.SetTransparency(0.8f); // Translate the coordinate system by specified coordinates page.Canvas.TranslateTransform(page.Canvas.Size.Width / 2 - offset1 - offset2, page.Canvas.Size.Height / 2 + offset1 - offset2); // Rotate the coordinate system 45 degrees counterclockwise page.Canvas.RotateTransform(-45); // Draw watermark text on the page page.Canvas.DrawString(text, font, PdfBrushes.DarkGray, 0, 0); } // Save the changes to another file pdf.SaveToFile("TextWatermark.pdf"); using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; // Create a PdfDocument object PdfDocument pdf = new PdfDocument(); // Load a sample PDF document pdf.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.pdf"); // Create a PdfTrueTypeFont object PdfTrueTypeFont font = new PdfTrueTypeFont(new Font("Arial", 50f), true); // Set the watermark text string text = "CONFIDENTIAL"; // Measure the text size SizeF textSize = font.MeasureString(text); // Calculate the values of two offset variables, // which will be used to calculate the translation amount of the coordinate system float offset1 = (float)(textSize.Width * System.Math.Sqrt(2) / 4); float offset2 = (float)(textSize.Height * System.Math.Sqrt(2) / 4); // Traverse all the pages in the document foreach (PdfPageBase page in pdf.Pages) { // Set the page transparency page.Canvas.SetTransparency(0.8f); // Translate the coordinate system by specified coordinates page.Canvas.TranslateTransform(page.Canvas.Size.Width / 2 - offset1 - offset2, page.Canvas.Size.Height / 2 + offset1 - offset2); // Rotate the coordinate system 45 degrees counterclockwise page.Canvas.RotateTransform(-45); // Draw watermark text on the page page.Canvas.DrawString(text, font, PdfBrushes.DarkGray, 0, 0); } // Save the changes to another file pdf.SaveToFile("TextWatermark.pdf"); Imports System Imports Spire.Pdf Imports Spire.Pdf.Graphics Imports System.Drawing ' Create a PdfDocument object Private pdf As New PdfDocument() ' Load a sample PDF document pdf.LoadFromFile("C:\Users\Administrator\Desktop\sample.pdf") ' Create a PdfTrueTypeFont object Dim font As New PdfTrueTypeFont(New Font("Arial", 50F), True) ' Set the watermark text Dim text As String = "CONFIDENTIAL" ' Measure the text size Dim textSize As SizeF = font.MeasureString(text) ' Calculate the values of two offset variables, ' which will be used to calculate the translation amount of the coordinate system Dim offset1 As Single = CSng(textSize.Width * Math.Sqrt(2) / 4) Dim offset2 As Single = CSng(textSize.Height * Math.Sqrt(2) / 4) ' Traverse all the pages in the document For Each page As PdfPageBase In pdf.Pages ' Set the page transparency page.Canvas.SetTransparency(0.8F) ' Translate the coordinate system by specified coordinates page.Canvas.TranslateTransform(page.Canvas.Size.Width \ 2 - offset1 - offset2, page.Canvas.Size.Height \ 2 + offset1 - offset2) ' Rotate the coordinate system 45 degrees counterclockwise page.Canvas.RotateTransform(-45) ' Draw watermark text on the page page.Canvas.DrawString(text, font, PdfBrushes.DarkGray, 0, 0) Next page ' Save the changes to another file pdf.SaveToFile("TextWatermark.pdf") $vbLabelText $csharpLabel Spire.PDF のアプローチはより長く、より手動なプロセスながら、デザインと位置を完全に制御する強力な透かしツールを提供します。 ### PDF にイメージやテキストをスタンプするにはどうすればよいですか? IronPDF のスタンピング API は、異なるスタンプタイプに専用のクラスを使用します。TextStamper は UseGoogleFont プロパティを通じて Google フォントを直接サポートし、ImageStamper は URL からまたはローカルファイルから画像をロードできます。 両方のスタンパーは、共通の配置プロパティを共有して一貫した位置決めを可能にします。 スタンピング オプション や、HTML スタンパーやバーコード統合などをさらに探ることができます。 Spire.PDF(テキストスタンピングの例): IronPDFの例: using IronPdf; using IronPdf.Editing; // Instantiate Renderer ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>"); // Create text stamper TextStamper textStamper = new TextStamper() { Text = "Text Stamper!", FontFamily = "Bungee Spice", UseGoogleFont = true, FontSize = 30, IsBold = true, IsItalic = true, VerticalAlignment = VerticalAlignment.Top, }; // Stamp the text stamper pdf.ApplyStamp(textStamper); pdf.SaveAs("stampText.pdf"); // Create image stamper ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) { VerticalAlignment = VerticalAlignment.Top, }; // Stamp the image stamper pdf.ApplyStamp(imageStamper, 0); pdf.SaveAs("stampImage.pdf"); using IronPdf; using IronPdf.Editing; // Instantiate Renderer ChromePdfRenderer renderer = new ChromePdfRenderer(); PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>"); // Create text stamper TextStamper textStamper = new TextStamper() { Text = "Text Stamper!", FontFamily = "Bungee Spice", UseGoogleFont = true, FontSize = 30, IsBold = true, IsItalic = true, VerticalAlignment = VerticalAlignment.Top, }; // Stamp the text stamper pdf.ApplyStamp(textStamper); pdf.SaveAs("stampText.pdf"); // Create image stamper ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) { VerticalAlignment = VerticalAlignment.Top, }; // Stamp the image stamper pdf.ApplyStamp(imageStamper, 0); pdf.SaveAs("stampImage.pdf"); Imports IronPdf Imports IronPdf.Editing ' Instantiate Renderer Private renderer As New ChromePdfRenderer() Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>") ' Create text stamper Private textStamper As New TextStamper() With { .Text = "Text Stamper!", .FontFamily = "Bungee Spice", .UseGoogleFont = True, .FontSize = 30, .IsBold = True, .IsItalic = True, .VerticalAlignment = VerticalAlignment.Top } ' Stamp the text stamper pdf.ApplyStamp(textStamper) pdf.SaveAs("stampText.pdf") ' Create image stamper Dim imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top} ' Stamp the image stamper pdf.ApplyStamp(imageStamper, 0) pdf.SaveAs("stampImage.pdf") $vbLabelText $csharpLabel Spire.PDF は各効果についてグラフィックスの状態管理と座標変換を直接操作することが必要です。 複雑なスタンプを作成するには、グラフィックスの状態管理や座標変換の理解が必要です。 IronPDF のテキストおよび画像スタンピングツールはパワフルで使用しやすいスタンピングツールで、スタンプしたコンテンツを適用する際に HTML および CSS に似たアプローチをとります。 一方で Spire.PDF も基本的なテキスト スタンピング ツールを提供しますが、スタンプしたテキストを PDF ファイルに適用するのにより多くの労力が必要です。 using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; // Assumes a PdfDocument is already loaded as `doc` object PdfPageBase page = doc.Pages[0]; PdfGraphicsState state = page.Canvas.Save(); // Define font and brushes for different effects PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 18f); PdfSolidBrush brush1 = new PdfSolidBrush(Color.DeepSkyBlue); PdfSolidBrush brush2 = new PdfSolidBrush(Color.CadetBlue); // Apply transformations and draw strings with shadow and effect page.Canvas.TranslateTransform(20, 200); page.Canvas.ScaleTransform(1f, 0.6f); page.Canvas.SkewTransform(-10, 0); page.Canvas.DrawString("Go! Turn Around! Go! Go! Go!", font, brush1, 0, 0); page.Canvas.SkewTransform(10, 0); page.Canvas.DrawString("Go! Turn Around! Go! Go! Go!", font, brush2, 0, 0); page.Canvas.ScaleTransform(1f, -1f); page.Canvas.DrawString("Go! Turn Around! Go! Go! Go!", font, brush2, 0, -2 * 18); // Restore graphics to previous state page.Canvas.Restore(state); using Spire.Pdf; using Spire.Pdf.Graphics; using System.Drawing; // Assumes a PdfDocument is already loaded as `doc` object PdfPageBase page = doc.Pages[0]; PdfGraphicsState state = page.Canvas.Save(); // Define font and brushes for different effects PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 18f); PdfSolidBrush brush1 = new PdfSolidBrush(Color.DeepSkyBlue); PdfSolidBrush brush2 = new PdfSolidBrush(Color.CadetBlue); // Apply transformations and draw strings with shadow and effect page.Canvas.TranslateTransform(20, 200); page.Canvas.ScaleTransform(1f, 0.6f); page.Canvas.SkewTransform(-10, 0); page.Canvas.DrawString("Go! Turn Around! Go! Go! Go!", font, brush1, 0, 0); page.Canvas.SkewTransform(10, 0); page.Canvas.DrawString("Go! Turn Around! Go! Go! Go!", font, brush2, 0, 0); page.Canvas.ScaleTransform(1f, -1f); page.Canvas.DrawString("Go! Turn Around! Go! Go! Go!", font, brush2, 0, -2 * 18); // Restore graphics to previous state page.Canvas.Restore(state); Imports Spire.Pdf Imports Spire.Pdf.Graphics Imports System.Drawing ' Assumes a PdfDocument is already loaded as `doc` object Private page As PdfPageBase = doc.Pages(0) Private state As PdfGraphicsState = page.Canvas.Save() ' Define font and brushes for different effects Private font As New PdfFont(PdfFontFamily.Helvetica, 18F) Private brush1 As New PdfSolidBrush(Color.DeepSkyBlue) Private brush2 As New PdfSolidBrush(Color.CadetBlue) ' Apply transformations and draw strings with shadow and effect page.Canvas.TranslateTransform(20, 200) page.Canvas.ScaleTransform(1F, 0.6F) page.Canvas.SkewTransform(-10, 0) page.Canvas.DrawString("Go! Turn Around! Go! Go! Go!", font, brush1, 0, 0) page.Canvas.SkewTransform(10, 0) page.Canvas.DrawString("Go! Turn Around! Go! Go! Go!", font, brush2, 0, 0) page.Canvas.ScaleTransform(1F, -1F) page.Canvas.DrawString("Go! Turn Around! Go! Go! Go!", font, brush2, 0, -2 * 18) ' Restore graphics to previous state page.Canvas.Restore(state) $vbLabelText $csharpLabel DOCX から PDF への変換をどのライブラリがよりうまく扱いますか? IronPDF には、DOCX 変換をネイティブに処理する専用の DocxToPdfRenderer クラスが含まれています。 この API は IronPDF の他のレンダリングクラスと一貫しており、基本的な変換にたった 2 行のコードを必要とします。 レンダラーのプロパティを通じてページ設定やフォーマットのための高度なオプションが利用可能です。 DOCX から PDF への変換 機能についてもっと学びましょう。 IronPDFの例: using IronPdf; // Instantiate Renderer DocxToPdfRenderer renderer = new DocxToPdfRenderer(); // Render from DOCX file PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx"); // Save the PDF pdf.SaveAs("pdfFromDocx.pdf"); using IronPdf; // Instantiate Renderer DocxToPdfRenderer renderer = new DocxToPdfRenderer(); // Render from DOCX file PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx"); // Save the PDF pdf.SaveAs("pdfFromDocx.pdf"); Imports IronPdf ' Instantiate Renderer Private renderer As New DocxToPdfRenderer() ' Render from DOCX file Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx") ' Save the PDF pdf.SaveAs("pdfFromDocx.pdf") $vbLabelText $csharpLabel Spire.PDF と DOCX から PDF への変換のための Spire.Doc の使用: Spire.PDF 自体は DOCX を PDF に変換できませんが、Spire.Doc ライブラリを使用してこの変換を処理し、その後に Spire.PDF を使用して生成された PDF を操作することができます。 このアプローチは追加のライブラリ (Spire.Doc) の購入と管理を要求し、コストと複雑さが増します。 IronPDF は直接 DOCX から PDF への変換を行うために組み込みのサポートを提供し、他のライブラリを必要とせずにタスクを処理することができ、時間を節約します。 一方で Spire.PDF は直接 DOCX から PDF への変換を処理できないため、DOCX ファイルを PDF に変換するために Spire.Doc ライブラリが必要です。 パフォーマンス メトリクスは何を明らかにしますか? テストおよびユーザーのフィードバックに基づいて、以下に実際の使用においてライブラリがどのように比較されるかを示します。 using Spire.Doc; // Create a Document object Document doc = new Document(); // Load a Word document doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.docx"); // Save the document to PDF doc.SaveToFile("ToPDF.pdf", FileFormat.PDF); // Dispose of resources doc.Dispose(); using Spire.Doc; // Create a Document object Document doc = new Document(); // Load a Word document doc.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.docx"); // Save the document to PDF doc.SaveToFile("ToPDF.pdf", FileFormat.PDF); // Dispose of resources doc.Dispose(); Imports Spire.Doc ' Create a Document object Private doc As New Document() ' Load a Word document doc.LoadFromFile("C:\Users\Administrator\Desktop\Sample.docx") ' Save the document to PDF doc.SaveToFile("ToPDF.pdf", FileFormat.PDF) ' Dispose of resources doc.Dispose() $vbLabelText $csharpLabel レンダリング パフォーマンス 基本的なレイアウトのために、Spire.PDF は静的な表や基本的なスタイルが付与されたテキストのようなシンプルなコンテンツに最適化されているため、これらのユースケースに対して迅速かつ効率的です。 しかし、最新の CSS3 機能を含む複雑な HTML、JavaScript、またはレスポンシブレイアウトを扱う場合、IronPDF の Chrome ベースのエンジンはやや高いレンダリング時間のコストで、より正確な結果を提供します。 メモリ使用量 Spire.PDF は、その単純なレンダリング エンジンにより、IronPDF (150-200MB) に対して少ないメモリ (80-120MB) を通常使用します。しかし、これはレンダリングの忠実度と機能サポートのコストで行われます。 メモリが重要であり HTML 複雑度が最小の場合、Spire.PDF が有利かもしれません。 スレッディングと非同期サポート IronPDF は RenderHtmlAsPdfAsync() のようなメソッドとネイティブの非同期/待機サポートを提供し、最新の .NET アプリケーションに適しています。 Spire.PDF は STA スレッドを用いた手動スレッド管理を必要とし、マルチスレッドアプリケーションに複雑さを追加します。 価格設定とライセンス モデルはどのように比較されますか? IronPDF では、さまざまなレベルのライセンス購入を可能にする追加機能を提供します。 開発者は、Iron Suite を購入することもでき、これは Iron Software のすべての製品にアクセスを与えます;価格は二つの製品の価格です。 ライセンスを購入する準備ができていない場合でも、IronPDF は 30 日間持続する無料トライアルを提供しています。 価格設定(2025年現在): 永久ライセンス: チームの規模、プロジェクトの必要性、および所在地の数に応じた範囲の永久ライセンスを提供しています。 IronPDFの価格とライセンス 各ライセンスタイプには、メールサポートが付属しています。 - ライト ライセンス:このライセンスは 1 開発者、1 ロケーション、1 プロジェクトをサポートし、$799 が費用です。 - プラス ライセンス: 3 人の開発者、3 つのロケーション、および 3 つのプロジェクトをサポートし、ライト ライセンスの次のステップであり、$1,199 です。 Pricing (as of 2025): Perpetual licenses: Offers a range of perpetual licenses depending on the size of your team, your project needs, and the number of locations. Each license type comes with email support. Lite License: This license costs $799 and supports one developer, one location, and one project. Plus License: Supporting three developers, three locations, and three projects, this is the next step up from the lite license and costs $1,199. Plus ライセンスでは、基本的なメールサポートに加えて、チャットサポートと電話サポートを提供しています。 Professional ライセンス: このライセンスは、より大きなチームに適しており、10人の開発者、10か所、10プロジェクトをサポートし、料金は $2,399 です。 以前の階層と同様の連絡サポートチャンネルを提供し、画面共有サポートも提供しています。 ロイヤルティフリーの再頒布: IronPDF のライセンスにはロイヤルティフリーの再頒布も含まれており、追加で $2,399 が必要です。 中断のない製品サポート: IronPDF は、継続的な製品の更新やセキュリティ機能のアップグレード、エンジニアリングチームからのサポートへのアクセスを年間 $999 または一回限りの $1,999 で5年間のカバレッジを提供しています。 Iron Suite: $1,498 で、IronPDF、IronOCR、IronWord、IronXL、IronBarcode、IronQR、IronZIP、IronPrint、IronWebScraper を含むすべての Iron Software 製品にアクセスできます。 IronPDF は、永久ライセンスと包括的なサポートを含む柔軟なライセンスオプションを提供しています Spire.PDF の価格とライセンス Spire.PDF は、ニーズに応じた様々なライセンスを提供しています。 無料バージョン: Spire.PDF は最大10ページのPDFに制限された無料バージョンを提供しています; これを超える場合、有料ライセンスを購入する必要があります。 開発者サブスクリプション: サポートの種類に応じて、年間 $999 または $1,199 の価格で、OEM配布権を必要としないPDF関連機能を構築する開発者向けのオプションです。 開発者 OEM サブスクリプション: サポートの量に応じて、年間 $2,549 - $4,248 の費用がかかり、無料のアップグレード、プレミアムサポート、およびエンドユーザーへのアプリケーションの配布権を含みます。 サイト中小企業: サポートの内容に応じて $4,599 または $7,598 の価格で、このライセンスタイアは最大10人の開発者を10か所まで、1年の更新と無料のオンライン技術リソースをサポートしています。 サイト OEM サブスクリプション: サポートの種類に応じて年間 $13,088 - $16,687 の費用がかかり、多数の拠点にアプリケーションを展開する必要がある大企業向けです。 どちらのライブラリがより優れたドキュメントとサポートを提供しますか? IronPDF IronPDF は広範なドキュメントとサポートを提供しています: 包括的なドキュメント: すべての機能をカバーする広範でユーザーフレンドリーなドキュメント。 24/5 サポート: アクティブなエンジニアサポートが利用可能です。 ビデオチュートリアル: YouTubeでステップバイステップのビデオガイドが利用可能です。 コミュニティフォーラム: 追加のサポートのための参加型コミュニティ。 定期的な更新: 最新の機能とセキュリティパッチを保証する月次製品更新。 PDF API リファレンス: API リファレンスを提供し、ツールの最大限の活用が可能です。 詳細については、IronPDF の広範なドキュメントをチェックし、Iron Software YouTube チャンネルを訪問してください。 Spire.PDF for .NET のドキュメントとサポート フォーラム: Spire.PDF にはフォーラムがあり、ユーザー同士でヒント、使用例、および Spire.PDF に遭遇した問題を共有できます。 コードサンプル: Spire.PDF は、製品を様々な用途で使用する方法を示すコード例をウェブサイトで提供しています。 ニュースレター: Spire.PDF は、更新発表やその他の重要な情報を提供する開発者向けニュースレターを提供しています。 サポート: サポートは主にフォーラムを通じて行われており、ライセンスバージョンに応じて追加コストが発生する有料のメール/電話サポートが利用可能です。 一般的な開発者体験とフィードバックは? コミュニティのフィードバックと実際の使用に基づく: IronPDF のフィードバック IronPDF は、"より包括的で正確な元のHTMLページの表現を提供する"と開発者に一貫して称賛されています。 ライブラリの複雑なCSS3レイアウト、JavaScriptが多用されたページ、最新のWebフレームワークを処理する能力は、高品質のPDF生成を必要とするアプリケーションにとって優れた選択肢となっています。 共通のポジティブなポイントには以下の点が含まれます: 開発時間を短縮できる直感的なAPIデザイン ブラウザ出力と一致する優れたレンダリング品質 実用的な例を含む包括的なドキュメント レスポンシブな技術サポート Spire.PDF のフィードバック コミュニティのフィードバックによると、"Spire は単なる画像としてのPDFファイルを生成します。 一部のCSSは正しくさえない場合があり、太字フォントを無視することもあります"。 さらに、JavaScriptサポートは計画中の機能であり、公式のサポートによると"非常に困難であるため短期間で完了しない"とされています。 共通の懸念には以下の点が含まれます: 限られたCSS3と最新のWeb標準のサポート JavaScript実行機能の欠如 HTML変換のための複雑なスレッド要件 特定の機能に必要な追加ライブラリ どのライブラリを選ぶべきか? IronPDFを選ぶとき: HTMLにモダンなCSS3、JavaScript、またはレスポンシブデザインが含まれている場合 ピクセルパーフェクトなブラウザ出力に一致するレンダリングが必要な場合 クロスプラットフォーム展開が必要な場合(Linux、macOS、Docker) ライセンスに含まれる包括的なサポートを希望する場合 追加ライブラリを必要とせずにDOCX変換のようなビルトイン機能が必要な場合 チームが最小限のコードで迅速な開発を重視する場合 Spire.PDFを選ぶとき: PDFがシンプルなスタイリングの基本的なHTMLを含む場合 メモリ使用量が重要な制約である場合 主にWindows環境で作業している場合 HTMLがJavaScriptの実行を必要としない場合 スタックに他のSpire製品をすでに使用している場合 結論 結論として、IronPDF と Spire.PDF for .NET は.NETアプリケーションでPDFドキュメントを扱うためのどちらも有能なツールです。 IronPDF は使いやすさ、クロスプラットフォームの互換性、モダンなWeb標準のサポートに優れており、PDFドキュメントを扱う際にステップアップしたい場合は優れた選択肢となります。 Spire.PDF は包括的な機能セットを提供していますが、複雑なタスクにはより多くの努力が必要で、最新のウェブアプリケーションが要求するレンダリングの精度が欠けています。 現代のウェブ技術を扱う開発者、正確なHTMLからPDFへの変換を必要とする方、信頼性のあるクロスプラットフォームサポートを求める方には、IronPDFがより完全なソリューションを提供します。 そのChromeに基づいたレンダリングエンジン、直感的なAPI、および包括的なサポートにより、企業アプリケーションや複雑なドキュメント生成のシナリオに特に適しています。 30日間の無料トライアル をお試しください。 ご注意Spire.PDFはその所有者の登録商標です。 このサイトはSpire.PDFと関連していないか、支持されているか、または後援されていません。 すべての製品名、ロゴ、およびブランドは各所有者の所有物です。 比較は情報提供のみを目的としており、執筆時点で公開されている情報を反映しています。 よくある質問 C# で HTML を PDF に変換するにはどうすればいいですか? IronPDF の RenderHtmlAsPdf メソッドを使用して、HTML 文字列を PDF に変換できます。RenderHtmlFileAsPdf を使用して HTML ファイルを PDF に変換することもできます。 IronPDF は HTML から PDF への変換中に JavaScript の実行をサポートしていますか? はい、IronPDF は完全な JavaScript 実行をサポートしており、動的コンテンツまたは JavaScript に依存するレイアウトを PDF に変換するのに理想的です。 IronPDF は PDF 変換をサポートするプラットフォームはどれですか? IronPDF は、Windows、Linux、macOS、Docker、また Azure や AWS のようなクラウド サービスを含む複数のプラットフォームでのネイティブサポートを提供します。 IronPDF のメモリ使用量は Spire.PDF と比較してどうですか? IronPDFは、Spire.PDFの80-120MBと比較して、通常150-200MBのわずかに多くのメモリを使用しますが、より良いレンダリング品質を提供し、最新のasync/awaitパターンをサポートします。 IronPDF は DOCX ファイルを直接 PDF に変換できますか? はい、IronPDF は追加のライブラリを必要とせずに DocxToPdfRenderer クラスを通じて組み込みの DOCX から PDF への変換機能を含んでいます。 IronPDF のライセンスオプションはどのようになっていますか? IronPDFは、すべての機能とサポートを含む、シングル開発者向けに749ドルから始まる永続ライセンスを提供しています。また、9製品を含むIron Suiteバンドルを1,498ドルで提供しています。 IronPDFはどのようなサポートを提供していますか? IronPDF は、すべてのライセンスに対してメール、チャット、電話、および画面共有を通じて 24/5 のエンジニアリングサポートを提供し、包括的な支援を保証します。 IronPDF で PDF のセキュリティと暗号化を確保するにはどうすればよいですか? IronPDF は AES-256 暗号化とパスワード保護を SecuritySettings クラスを通じてサポートし、PDF の権限に対する詳細な制御を可能にします。 IronPDF は、現代の CSS を備えた複雑なウェブページのレンダリングに適していますか? はい、IronPDF は CSS3、flexbox、グリッドレイアウト、Webフォント、および JavaScript をサポートする完全な Chrome レンダリング エンジンを使用しており、複雑なウェブページに適しています。 IronPDF の無料バージョンの制限は何ですか? IronPDF は、すべての機能を試すのに十分な機会を提供するページ制限のない完全機能の30日間無料試用版を提供します。 IronPDF はどのようにして高品質な HTML レンダリングを確保しますか? IronPDF は、Chrome ブラウザの出力に一致するピクセルパーフェクトなレンダリングを提供し、元の HTML コンテンツの高忠実度および正確な表現を保証します。 Jacob Mellor 今すぐエンジニアリングチームとチャット 最高技術責任者(CTO) Jacob Mellorは、Iron Softwareの最高技術責任者であり、C# PDF技術の開拓者としてその先進的な役割を担っています。Iron Softwareのコアコードベースのオリジナルデベロッパーである彼は、創業時から製品のアーキテクチャを形作り、CEOのCameron Rimingtonと協力してNASA、Tesla、全世界の政府機関を含む50人以上の会社に成長させました。Jacobは、1998年から2001年にかけてマンチェスター大学で土木工学の第一級優等学士号(BEng)を取得しました。1999年にロンドンで最初のソフトウェアビジネスを立ち上げ、2005年には最初の.NETコンポーネントを作成し、Microsoftエコシステムにおける複雑な問題の解決を専門にしました。彼の旗艦製品であるIronPDFとIronSuite .NETライブラリは、全世界で3000万以上のNuGetインストールを達成しており、彼の基本コードが世界中で使用されている開発者ツールを支えています。商業的な経験を25年間積み、コードを書くことを41年間続けるJacobは、企業向けのC#、Java、およびPython PDF技術の革新を推進し続け、次世代の技術リーダーを指導しています。 関連する記事 公開日 11月 13, 2025 C#のHTMLからPDFへのオープンソース対IronPDFの比較 C#用のオープンソースのHTMLからPDFライブラリをIronPDFと比較します。あなたの.NETプロジェクトに最適なPDF生成能力を提供するソリューションを見つけましょう。 詳しく読む 公開日 10月 27, 2025 どのASP.NET Core PDFライブラリが最も価値がありますか? ASP.NET Core アプリケーションに最適な PDF ライブラリを発見しよう。IronPDF の Chrome エンジンを Aspose および Syncfusion の代替案と比較します。 詳しく読む 公開日 10月 27, 2025 Aspose C# VS IronPDFでPDFを作成する方法 このステップバイステップガイドで、開発者向けにデザインされた Aspose C# と IronPDF を使用して PDF を作成する方法を学びましょう。 詳しく読む ActivePDF vs IronPDF: HTMLからPDFへのチュートリアルと包括的な比較PDFSharp HTMLからPDFへの例と...
公開日 11月 13, 2025 C#のHTMLからPDFへのオープンソース対IronPDFの比較 C#用のオープンソースのHTMLからPDFライブラリをIronPDFと比較します。あなたの.NETプロジェクトに最適なPDF生成能力を提供するソリューションを見つけましょう。 詳しく読む
公開日 10月 27, 2025 どのASP.NET Core PDFライブラリが最も価値がありますか? ASP.NET Core アプリケーションに最適な PDF ライブラリを発見しよう。IronPDF の Chrome エンジンを Aspose および Syncfusion の代替案と比較します。 詳しく読む
公開日 10月 27, 2025 Aspose C# VS IronPDFでPDFを作成する方法 このステップバイステップガイドで、開発者向けにデザインされた Aspose C# と IronPDF を使用して PDF を作成する方法を学びましょう。 詳しく読む