푸터 콘텐츠로 바로가기
마이그레이션 가이드

PDFView4NET에서 IronPDF로의 마이그레이션 방법 (C#)

PDFView4NET에서 IronPDF로 마이그레이션하면 PDF 워크플로가 UI 중심의 뷰잉 컴포넌트에서 포괄적인 PDF 생성 및 조작 라이브러리로 변환됩니다. 이 가이드는 서버 측 처리, 웹 애플리케이션 지원 및 PDFView4NET이 제공할 수 없는 전체 PDF 라이프사이클 관리 기능을 사용할 수 있는 단계별 마이그레이션 경로를 제공합니다.

왜 PDFView4NET에서 IronPDF로 마이그레이션해야 하는지

PDFView4NET이해하기

PDFView4NET는 주로 C#에서 PDF 뷰잉 기능에 중점을 둔 개발자들에게 인기 있는 선택입니다. PDFView4NET는 Windows Forms (WinForms) 및 Windows Presentation Foundation (WPF) 애플리케이션을 대상으로 하는 강력한 PDF 뷰잉 제어 기능을 제공합니다. 이 라이브러리는 매끄러운 PDF 뷰잉 경험을 제공하는 데 초점을 맞추어 데스크톱 애플리케이션 개발을 위한 중요한 옵션입니다.

강점에도 불구하고 PDFView4NET는IronPDF같은 더 포괄적인 라이브러리를 탐색하도록 개발자들을 유도할 수 있는 제한이 있습니다. IronPDF는 특정 UI 컴포넌트에 구속받지 않고 생성, 보기 및 조작 기능을 포함하는 올인원 PDF 솔루션을 제공합니다.

뷰어 전용 제한

PDFView4NET는 주로WinForms및WPF애플리케이션의 UI 뷰잉 컴포넌트입니다. 다른 기능이 아니라 PDF를 표시하는 데 중점을 둡니다. 마이그레이션해야 하는 주요 이유:

  1. 뷰어 전용 제한: PDFView4NET는 보기 용도로 설계되었지, PDF 생성용이 아닙니다.

  2. UI 프레임워크 종속성:WinForms또는WPF컨텍스트가 필요합니다.WinForms또는WPF환경이 PDFView4NET가 지원하지 않는 콘솔 애플리케이션이나 웹 서비스 같은 다른 컨텍스트에서의 사용을 제한할 수 있습니다.

  3. HTML to PDF 불가: HTML 또는 URL을 PDF로 변환할 수 없습니다. 이 라이브러리는 엄격히 보기 용도로만 초점을 맞추고 있으며, PDF 파일을 생성하거나 조작하기 위한 내장 기능이 없습니다.

  4. 제한된 조작: IronPDF의 전체 기능 세트에 비해 기본 편집만 가능합니다.

  5. 서버 측 지원 없음: 웹 서비스나AzureFunctions에서 실행할 수 없습니다.

  6. 레거시 기술: 적극적인 개발과 최신 기능 업데이트가 부족합니다.

PDFView4NET대IronPDF비교

기능 PDFView4NET IronPDF
주요 초점 PDF 보기 완전한 PDF 솔루션 (생성, 보기, 편집)
필요한 UI 프레임워크 WinForms, WPF 없음
PDF 생성 아니요
PDF 조작 제한적 지원 (주석)
서버-사이드 지원되지 않음 풀 서포트
웹 애플리케이션 아니요
콘솔 앱 제한적 풀 서포트
Azure/Docker 아니요
HTML to PDF 아니요
크로스-플랫폼 컨텍스트 아니요
통합 용이성 중간 높음

IronPDF는 다재다능성과 포괄적인 기능 세트로 차별화되어 있어, C#에서 PDF 처리에 대한 전체적인 접근이 필요한 개발자들에게 특히 매력적입니다. 이 라이브러리는 PDF 생성, 보기, 편집 등을 지원하며, PDFView4NET의 보기 기능을 훨씬 뛰어넘는 사용 사례를 해결합니다.

2025년과 2026년 동안 .NET 10 및 C# 14 채택을 계획하는 팀은 컨텍스트 독립성을 제공하는 IronPDF를 통해 웹 애플리케이션, 서비스 및 콘솔 애플리케이션을 포함한 다양한 컨텍스트에서 사용할 수 있습니다. 이러한 유연성은 크로스 플랫폼 지원 및 다양한 배포 시나리오가 필요한 프로젝트에 중요합니다.


시작하기 전에

필수 조건

  1. .NET 환경: .NET Framework 4.6.2+ 또는 .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGet 접근 권한: NuGet 패키지를 설치할 수 있는 능력
  3. IronPDF 라이선스: ironpdf.com에서 라이선스 키를 획득하세요

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.*" />
XML

또는 CLI를 통해:

dotnet remove package O2S.Components.PDFView4NET
dotnet add package IronPdf
dotnet remove package O2S.Components.PDFView4NET
dotnet add package IronPdf
SHELL

라이선스 구성

// 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"
$vbLabelText   $csharpLabel

완전한 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
$vbLabelText   $csharpLabel

핵심 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
$vbLabelText   $csharpLabel

이후 (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
$vbLabelText   $csharpLabel

PDFView4NET는 HtmlToPdfConverter를 사용하며 NavigateUri 속성을 Uri 객체로 설정한 후 ConvertHtmlToPdf()을 호출하고 SavePdf()을 호출합니다. IronPDF는 이를 단일 ChromePdfRenderer로 단순화하여, 문자열 URL을 직접 받아들이고 RenderUrlAsPdf() 과 함께 PdfDocument을 반환하여 SaveAs()로 저장합니다. IronPDF의 접근법은 현대 .NET 애플리케이션과의 더 나은 통합과 더 나은 문법을 제공합니다. HTML에서 PDF로의 문서에서 포괄적인 예제를 참조하세요.

예제 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
$vbLabelText   $csharpLabel

이후 (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
$vbLabelText   $csharpLabel

PDFView4NET는 HTML 문자열을 설정하기 위해 HtmlContent 속성을 사용한 후 ConvertHtmlToPdf()SavePdf()을 호출해야 합니다. IronPDF는 RenderHtmlAsPdf()이 HTML 문자열을 직접 받아들이고 PdfDocument을 반환하는 보다 유창한 API를 제공합니다. 메서드 이름이 더 직관적입니다: RenderHtmlAsPdfConvertHtmlToPdf. 더 많은 정보를 보려면 튜토리얼을 참조하세요.

예제 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
$vbLabelText   $csharpLabel

이후 (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
$vbLabelText   $csharpLabel

이 예제는 중요한 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()
$vbLabelText   $csharpLabel

속성 기반 대 메서드 기반 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")
$vbLabelText   $csharpLabel

문서 로딩 변경

// 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")
$vbLabelText   $csharpLabel

페이지 접근 방식 변경

// 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)
$vbLabelText   $csharpLabel

저장 방법 변경

// PDFView4NET: SavePdf()
converter.SavePdf("output.pdf");

// IronPDF: SaveAs()
pdf.SaveAs("output.pdf");
// PDFView4NET: SavePdf()
converter.SavePdf("output.pdf");

// IronPDF: SaveAs()
pdf.SaveAs("output.pdf");
$vbLabelText   $csharpLabel

이동 후 새로운 기능

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")
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

비밀번호 보호

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")
$vbLabelText   $csharpLabel

양식 채우기

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")
$vbLabelText   $csharpLabel

서버 측 처리

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
$vbLabelText   $csharpLabel

기능 비교 요약

기능 PDFView4NET IronPDF
PDF 보기 예 (UI) 아니오 (뷰어 사용)
PDF 불러오기
PDF 저장 제한적
HTML to PDF 아니요
URL을 PDF로 변환 아니요
PDF 병합 아니요
PDF 분할 제한적
워터마크 아니요
헤더/푸터 아니요
비밀번호 보호 아니요
디지털 서명 아니요
텍스트 추출 제한적
양식 채우기 제한적
WinForms
WPF
콘솔 제한적
ASP.NET 아니요
Azure 아니요
Docker 아니요

마이그레이션 체크리스트

사전 마이그레이션

  • 보기 요구 사항 식별 (IronPDF의 기능으로 UI 기반 PDF 보기를 대체할 수 있는지 확인)
  • 문서 인쇄 워크플로우
  • PDF 조작 필요 목록
  • 필요한 경우 뷰어 대체 계획 (IronPDF는 생성/조작에 중점을 둠)
  • ironpdf.com에서IronPDF라이선스 키 획득

패키지 변경 사항

  • O2S.Components.PDFView4NET NuGet 패키지 제거
  • IronPdf NuGet Install-Package: dotnet add package IronPdf

코드 변경 사항

  • 네임스페이스 import 업데이트 (using O2S.Components.PDFView4NET;using IronPdf;)
  • HtmlToPdfConverterChromePdfRenderer로 교체
  • 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 코드 제거

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

아이언 서포트 팀

저희는 주 5일, 24시간 온라인으로 운영합니다.
채팅
이메일
전화해