C#でPDFView4NETからIronPDFへ移行する方法
PDFView4NETからIronPDFに移行することで、PDFワークフローはUIに特化した閲覧コンポーネントから包括的なPDF生成・操作ライブラリへと変わります。 このガイドは、PDFView4NETが提供できないサーバーサイド処理、Webアプリケーションサポート、完全なPDFライフサイクル管理機能を可能にする、完全でステップバイステップの移行パスを提供します。
なぜPDFView4NETからIronPDFへ移行するのか
PDFView4NETを理解する
PDFView4NETは、主にC#でのPDF表示機能に重点を置く開発者に人気のある選択肢です。 PDFView4NETは、Windowsフォーム(WinForms)とWindows Presentation Foundation(WPF)アプリケーション用に調整された堅牢なPDF表示コントロールを提供します。 このライブラリは、シームレスなPDF表示体験を提供することに重点を置いているため、デスクトップアプリケーション開発に最適です。
PDFView4NETはその長所にもかかわらず、制限があるため、開発者は特定のUIコンポーネントに制約されることなく、作成、表示、操作機能を含むオールインワンのPDFソリューションを提供するIronPDFのような、より包括的なライブラリを検討するよう促されるかもしれません。
表示のみの制限
PDFView4NETは、主にWinFormsとWPFアプリケーション用のUI表示コンポーネントです。 PDFを作成したり操作したりすることよりも、PDFを表示することに重点を置いています。 移行する主な理由
1.表示のみの制限:PDFView4NETは PDF の作成用ではなく、表示用に設計されています。
-
UI フレームワークの依存関係:WinFormsまたはWPFコンテキストが必要です。 WinFormsまたはWPF環境が必要なため、コンソールアプリケーションやWebサービスなど、PDFView4NETがサポートしていない他のコンテキストでの使用が制限される可能性があります。
- HTML から PDF への変換不可: HTML または URL を PDF に変換できません。 このライブラリは閲覧に特化しており、PDFファイルを作成したり操作したりする機能は組み込まれていません。
4.操作の制限:IronPDFの完全な機能セットと比較すると、基本的な編集機能です。
5.サーバー側のサポートなし: Web サービスまたはアジュールFunctions では実行できません。
6.レガシー テクノロジー:開発と最新機能の更新があまり活発ではありません。
PDFView4NETとIronPDFの比較
| フィーチャー | PDFView4NET | IronPDF |
|---|---|---|
| 主な焦点 | PDF閲覧 | 完全なPDFソリューション(作成、表示、編集) |
| UIフレームワークが必要です。 | WinForms、WPF | なし |
| PDFの作成。 | なし | はい |
| PDF操作 | 限定(注釈) | はい |
| サーバーサイド | サポート対象外 | フルサポート |
| ウェブアプリケーション。 | なし | はい |
| コンソールアプリ | 制限的 | フルサポート |
| Azure/Docker(アジュール/Docker)。 | なし | はい |
| HTMLからPDFへ | なし | はい |
| クロスプラットフォームのコンテキスト | なし | はい |
| 統合のしやすさ | 中規模 | 高い |
IronPDFはその汎用性と包括的な機能セットで他とは一線を画しており、C#でPDFを扱うための総合的なアプローチを必要とする開発者にとって特に魅力的です。 ライブラリはPDFの作成、表示、編集などをサポートし、PDFView4NETの表示機能をはるかに超えるユースケースに対応します。
2025年、2026年まで.NET 10とC# 14の採用を計画しているチームにとって、IronPDFは文脈に依存しないため、Webアプリケーション、サービス、コンソールアプリケーションなどさまざまな文脈で使用できます。 この柔軟性は、クロスプラットフォームのサポートや多様なデプロイシナリオを必要とするプロジェクトにとって非常に重要です。
始める前に
前提条件
- .NET環境: .NET Framework 4.6.2+ または.NET Core 3.1+ / .NET 5/6/7/8/9+
- NuGetアクセス: NuGetパッケージをインストールする機能
- IronPDFライセンス: IronPDFからライセンスキーを取得します。
NuGetパッケージの変更
<PackageReference Include="O2S.Components.PDFView4NET" Version="*" Remove />
<PackageReference Include="IronPdf" Version="2024.*" />
<PackageReference Include="O2S.Components.PDFView4NET" Version="*" Remove />
<PackageReference Include="IronPdf" Version="2024.*" />
CLI経由でも可:
dotnet remove package O2S.Components.PDFView4NET
dotnet add package IronPdf
dotnet remove package O2S.Components.PDFView4NET
dotnet add package IronPdf
ライセンス構成
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
完全な API リファレンス
名前空間の変更
// Before: PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using O2S.Components.PDFView4NET.Printing;
// After: IronPDF
using IronPdf;
// Before: PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using O2S.Components.PDFView4NET.Printing;
// After: IronPDF
using IronPdf;
Imports IronPdf
コア API マッピング
| PDFView4NET | IronPDF |
|---|---|
PDFFile.Open(path) |
PdfDocument.FromFile(path) |
PDFFile.Open(stream) |
PdfDocument.FromStream(stream) |
pdfFile.GetPage(index) |
pdf.Pages[index] |
pdfFile.PageCount |
pdf.PageCount |
PDFPrintDocument |
pdf.Print() |
pdfFile.Close() |
pdf.Dispose() |
HtmlToPdfConverter |
ChromePdfRenderer |
| 該当なし | PdfDocument.Merge() |
| 該当なし | pdf.ApplyWatermark() |
| 該当なし | pdf.SecuritySettings |
コード移行の例
例1: URLからPDFへの変換
翻訳前 (PDFView4NET):
// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using System;
class Program
{
static void Main()
{
HtmlToPdfConverter converter = new HtmlToPdfConverter();
converter.NavigateUri = new Uri("https://example.com");
converter.ConvertHtmlToPdf();
converter.SavePdf("output.pdf");
}
}
// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using System;
class Program
{
static void Main()
{
HtmlToPdfConverter converter = new HtmlToPdfConverter();
converter.NavigateUri = new Uri("https://example.com");
converter.ConvertHtmlToPdf();
converter.SavePdf("output.pdf");
}
}
Imports O2S.Components.PDFView4NET
Imports O2S.Components.PDFView4NET.HtmlToPdf
Imports System
Class Program
Shared Sub Main()
Dim converter As New HtmlToPdfConverter()
converter.NavigateUri = New Uri("https://example.com")
converter.ConvertHtmlToPdf()
converter.SavePdf("output.pdf")
End Sub
End Class
翻訳後(IronPDF):。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("output.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("output.pdf");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://example.com")
pdf.SaveAs("output.pdf")
End Sub
End Class
PDFView4NET は、HtmlToPdfConverter を使用し、NavigateUri プロパティを Uri オブジェクトに設定し、続いて ConvertHtmlToPdf() を呼び出し、最後に SavePdf() を呼び出します。IronPDFはこれを単一の ChromePdfRenderer と RenderUrlAsPdf() に簡素化し、文字列 URL を直接受け入れて、SaveAs() で保存する PdfDocument を返します。 IronPDFのアプローチは、よりきれいな構文と最新 for .NETアプリケーションとのより良い統合を提供します。 包括的な例については、HTML to PDF documentationを参照してください。
例2: HTML文字列からPDFへの変換
翻訳前 (PDFView4NET):
// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using System;
class Program
{
static void Main()
{
string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
HtmlToPdfConverter converter = new HtmlToPdfConverter();
converter.HtmlContent = htmlContent;
converter.ConvertHtmlToPdf();
converter.SavePdf("document.pdf");
}
}
// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using O2S.Components.PDFView4NET.HtmlToPdf;
using System;
class Program
{
static void Main()
{
string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
HtmlToPdfConverter converter = new HtmlToPdfConverter();
converter.HtmlContent = htmlContent;
converter.ConvertHtmlToPdf();
converter.SavePdf("document.pdf");
}
}
Imports O2S.Components.PDFView4NET
Imports O2S.Components.PDFView4NET.HtmlToPdf
Imports System
Class Program
Shared Sub Main()
Dim htmlContent As String = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"
Dim converter As New HtmlToPdfConverter()
converter.HtmlContent = htmlContent
converter.ConvertHtmlToPdf()
converter.SavePdf("document.pdf")
End Sub
End Class
翻訳後(IronPDF):。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("document.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
string htmlContent = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("document.pdf");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim htmlContent As String = "<html><body><h1>Hello World</h1><p>This is a PDF document.</p></body></html>"
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("document.pdf")
End Sub
End Class
PDFView4NET は、HTML 文字列を設定するために HtmlContent プロパティを使用し、次に ConvertHtmlToPdf() を呼び出して、さらに SavePdf() を呼び出す必要があります。IronPDFはより流動的な API を提供し、RenderHtmlAsPdf() は HTML 文字列を直接受け入れ、PdfDocument を返します。 メソッド名はより直感的です: RenderHtmlAsPdf と ConvertHtmlToPdf。 詳しくは、チュートリアルをご覧ください。
例3: PDFからのテキスト抽出
翻訳前 (PDFView4NET):
// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using System;
using System.IO;
class Program
{
static void Main()
{
using (FileStream fs = File.OpenRead("document.pdf"))
{
PDFDocument document = new PDFDocument(fs);
string text = "";
for (int i = 0; i < document.Pages.Count; i++)
{
text += document.Pages[i].ExtractText();
}
Console.WriteLine(text);
}
}
}
// NuGet: Install-Package O2S.Components.PDFView4NET
using O2S.Components.PDFView4NET;
using System;
using System.IO;
class Program
{
static void Main()
{
using (FileStream fs = File.OpenRead("document.pdf"))
{
PDFDocument document = new PDFDocument(fs);
string text = "";
for (int i = 0; i < document.Pages.Count; i++)
{
text += document.Pages[i].ExtractText();
}
Console.WriteLine(text);
}
}
}
Imports O2S.Components.PDFView4NET
Imports System
Imports System.IO
Class Program
Shared Sub Main()
Using fs As FileStream = File.OpenRead("document.pdf")
Dim document As New PDFDocument(fs)
Dim text As String = ""
For i As Integer = 0 To document.Pages.Count - 1
text &= document.Pages(i).ExtractText()
Next
Console.WriteLine(text)
End Using
End Sub
End Class
翻訳後(IronPDF):。
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
Console.WriteLine(text);
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
Console.WriteLine(text);
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim pdf = PdfDocument.FromFile("document.pdf")
Dim text As String = pdf.ExtractAllText()
Console.WriteLine(text)
End Sub
End Class
この例では、重要なAPIの違いを強調しています。PDFView4NETでは、FileStream を手動で作成し、ストリームを使用して PDFDocument をインスタンス化し、次に document.Pages.Count をループして、各ページに対して Pages[i].ExtractText() を連結する必要があります。
IronPDF はこれを大幅に簡素化します: PdfDocument.FromFile() は PDF をパスから直接読み込み、ExtractAllText() は単一のメソッド呼び出しですべてのページからテキストを抽出します。 手動のストリーム管理も、ループも、文字列の連結もありません。
重要な移行に関する注意事項
コンバータ クラスの変更
PDFView4NET は HtmlToPdfConverter を使用します。IronPDFはChromePdfRenderer を使用します:
// PDFView4NET
HtmlToPdfConverter converter = new HtmlToPdfConverter();
// IronPDF
var renderer = new ChromePdfRenderer();
// PDFView4NET
HtmlToPdfConverter converter = new HtmlToPdfConverter();
// IronPDF
var renderer = new ChromePdfRenderer();
' PDFView4NET
Dim converter As New HtmlToPdfConverter()
' IronPDF
Dim renderer = New ChromePdfRenderer()
プロパティベースの API とメソッドベースの API
PDFView4NETは変換前にプロパティを設定します:
// PDFView4NET: Set properties, then convert
converter.HtmlContent = htmlContent;
converter.NavigateUri = new Uri(url);
converter.ConvertHtmlToPdf();
converter.SavePdf("output.pdf");
// IronPDF: Method parameters with fluent API
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("output.pdf");
// PDFView4NET: Set properties, then convert
converter.HtmlContent = htmlContent;
converter.NavigateUri = new Uri(url);
converter.ConvertHtmlToPdf();
converter.SavePdf("output.pdf");
// IronPDF: Method parameters with fluent API
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
var pdf = renderer.RenderUrlAsPdf(url);
pdf.SaveAs("output.pdf");
' PDFView4NET: Set properties, then convert
converter.HtmlContent = htmlContent
converter.NavigateUri = New Uri(url)
converter.ConvertHtmlToPdf()
converter.SavePdf("output.pdf")
' IronPDF: Method parameters with fluent API
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf = renderer.RenderUrlAsPdf(url)
pdf.SaveAs("output.pdf")
ドキュメントの読み込みの変更
// PDFView4NET: Requires FileStream
using (FileStream fs = File.OpenRead("document.pdf"))
{
PDFDocument document = new PDFDocument(fs);
}
// IronPDF: Direct file path
var pdf = PdfDocument.FromFile("document.pdf");
// PDFView4NET: Requires FileStream
using (FileStream fs = File.OpenRead("document.pdf"))
{
PDFDocument document = new PDFDocument(fs);
}
// IronPDF: Direct file path
var pdf = PdfDocument.FromFile("document.pdf");
Imports System.IO
Imports PDFView4NET
Imports IronPDF
' PDFView4NET: Requires FileStream
Using fs As FileStream = File.OpenRead("document.pdf")
Dim document As New PDFDocument(fs)
End Using
' IronPDF: Direct file path
Dim pdf = PdfDocument.FromFile("document.pdf")
ページのアクセス変更
// PDFView4NET: document.Pages.Count and Pages[i]
for (int i = 0; i < document.Pages.Count; i++)
{
document.Pages[i].ExtractText();
}
// IronPDF: pdf.PageCount and Pages[i] or ExtractAllText()
string text = pdf.ExtractAllText();
// Or per-page: pdf.ExtractTextFromPage(0);
// PDFView4NET: document.Pages.Count and Pages[i]
for (int i = 0; i < document.Pages.Count; i++)
{
document.Pages[i].ExtractText();
}
// IronPDF: pdf.PageCount and Pages[i] or ExtractAllText()
string text = pdf.ExtractAllText();
// Or per-page: pdf.ExtractTextFromPage(0);
' PDFView4NET: document.Pages.Count and Pages(i)
For i As Integer = 0 To document.Pages.Count - 1
document.Pages(i).ExtractText()
Next
' IronPDF: pdf.PageCount and Pages(i) or ExtractAllText()
Dim text As String = pdf.ExtractAllText()
' Or per-page: pdf.ExtractTextFromPage(0)
保存メソッドの変更
// PDFView4NET: SavePdf()
converter.SavePdf("output.pdf");
// IronPDF: SaveAs()
pdf.SaveAs("output.pdf");
// PDFView4NET: SavePdf()
converter.SavePdf("output.pdf");
// IronPDF: SaveAs()
pdf.SaveAs("output.pdf");
移行後の新機能
IronPDFに移行すると、PDFView4NETでは提供できない機能が得られます:
PDFマージ
var pdf1 = PdfDocument.FromFile("chapter1.pdf");
var pdf2 = PdfDocument.FromFile("chapter2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("complete_book.pdf");
var pdf1 = PdfDocument.FromFile("chapter1.pdf");
var pdf2 = PdfDocument.FromFile("chapter2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("complete_book.pdf");
Dim pdf1 = PdfDocument.FromFile("chapter1.pdf")
Dim pdf2 = PdfDocument.FromFile("chapter2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("complete_book.pdf")
HTMLによるウォーターマーク
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark(@"
<div style='
font-size: 72pt;
color: rgba(255, 0, 0, 0.2);
transform: rotate(-45deg);
'>
CONFIDENTIAL
</div>");
pdf.SaveAs("watermarked.pdf");
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark(@"
<div style='
font-size: 72pt;
color: rgba(255, 0, 0, 0.2);
transform: rotate(-45deg);
'>
CONFIDENTIAL
</div>");
pdf.SaveAs("watermarked.pdf");
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.ApplyWatermark("
<div style='
font-size: 72pt;
color: rgba(255, 0, 0, 0.2);
transform: rotate(-45deg);
'>
CONFIDENTIAL
</div>")
pdf.SaveAs("watermarked.pdf")
パスワード保護
var pdf = PdfDocument.FromFile("document.pdf");
pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user456";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SaveAs("protected.pdf");
var pdf = PdfDocument.FromFile("document.pdf");
pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user456";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SaveAs("protected.pdf");
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.SecuritySettings.OwnerPassword = "owner123"
pdf.SecuritySettings.UserPassword = "user456"
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SaveAs("protected.pdf")
フォーム入力
var pdf = PdfDocument.FromFile("form.pdf");
pdf.Form.GetFieldByName("FirstName").Value = "John";
pdf.Form.GetFieldByName("LastName").Value = "Doe";
pdf.SaveAs("filled_form.pdf");
var pdf = PdfDocument.FromFile("form.pdf");
pdf.Form.GetFieldByName("FirstName").Value = "John";
pdf.Form.GetFieldByName("LastName").Value = "Doe";
pdf.SaveAs("filled_form.pdf");
Dim pdf = PdfDocument.FromFile("form.pdf")
pdf.Form.GetFieldByName("FirstName").Value = "John"
pdf.Form.GetFieldByName("LastName").Value = "Doe"
pdf.SaveAs("filled_form.pdf")
サーバーサイド処理
PDFView4NETはサーバー環境では動作しません。 IronPDFはこの点で優れています:
// ASP.NET Core
[HttpGet]
public IActionResult GeneratePdf()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(GetReportHtml());
return File(pdf.BinaryData, "application/pdf", "report.pdf");
}
// ASP.NET Core
[HttpGet]
public IActionResult GeneratePdf()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(GetReportHtml());
return File(pdf.BinaryData, "application/pdf", "report.pdf");
}
<HttpGet>
Public Function GeneratePdf() As IActionResult
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(GetReportHtml())
Return File(pdf.BinaryData, "application/pdf", "report.pdf")
End Function
機能比較の概要
| フィーチャー | PDFView4NET | IronPDF |
|---|---|---|
| PDFを見る | はい(UI) | いいえ(ビューアを使用) |
| PDFを読み込む | はい | はい |
| PDF保存 | 制限的 | はい |
| HTMLからPDFへ | なし | はい |
| URLからPDFへ | なし | はい |
| PDFのマージ | なし | はい |
| PDFの分割 | 制限的 | はい |
| 透かし | なし | はい |
| ヘッダー/フッター | なし | はい |
| パスワード保護 | なし | はい |
| デジタル署名 | なし | はい |
| テキスト抽出 | 制限的 | はい |
| フォームの入力 | 制限的 | はい |
| WinForms | はい | はい |
| WPF | はい | はい |
| コンソール | 制限的 | はい |
| ASP.NET | なし | はい |
| アジュール | なし | はい |
| Docker | なし | はい |
移行チェックリスト
移行前
- 表示要件を特定する(IronPDF の機能が UI ベースの PDF 表示を置き換えることができるかどうかを判断する)
- ドキュメント印刷ワークフロー
- PDF操作のニーズをリストする
- 必要に応じてビューアの置き換えを計画する(IronPDF は生成/操作に重点を置いています)
- IronPDFからIronPDFライセンスキーを取得します
パッケージの変更
O2S.Components.PDFView4NETNuGetパッケージを削除しますIronPdfNuGetパッケージをインストールします:dotnet add package IronPdf
コードの変更
- 名前空間のインポートを更新します (
using O2S.Components.PDFView4NET;→using IronPdf;) HtmlToPdfConverterをChromePdfRendererに置き換えますconverter.HtmlContent+ConvertHtmlToPdf()をrenderer.RenderHtmlAsPdf(html)に置き換えますconverter.NavigateUri+ConvertHtmlToPdf()をrenderer.RenderUrlAsPdf(url)に置き換えますconverter.SavePdf()をpdf.SaveAs()に置き換えますPDFDocument(stream)をPdfDocument.FromFile(path)に置き換えます- 手動ページ ループ抽出を
pdf.ExtractAllText()に置き換えます - アプリケーションの起動時にライセンスの初期化を追加
移行後
- PDFの読み込みと保存をテストする
- テキスト抽出機能の検証
- HTMLからPDFへの変換テスト
- サーバーの展開が機能していることを確認する(新機能)
- 必要に応じてクロスプラットフォームをテストする(新機能)
- サーバーのみの場合はUI固有のPDFコードを削除します

