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

C#에서 EO.Pdf에서 IronPDF로 마이그레이션하는 방법

EO.Pdf는 여러 아키텍처적 문제를 제시하여 개발 팀이 대안을 평가하도록 만듭니다. 이러한 문제를 이해하는 것은 마이그레이션 전략을 계획하는 데 필수적입니다.

EO.Pdf 문제들

  1. 거대한126MB패키지 크기: EO.Pdf는 자체 Chromium 엔진을 번들로 제공하므로126MB배포 발자국을 남깁니다. 이는 Docker 이미지의 크기를 증가시키고 CI/CD 파이프라인을 느려지게 하며 인프라 비용을 증가시킵니다.

  2. 레거시 아키텍처 짐: EO.Pdf는 원래 Internet Explorer의 렌더링 엔진을 기반으로 구축되었으며 Chromium으로 마이그레이션되었습니다. 이 레거시는 IE 시대의 호환성 문제를 도입하며 API 설계에서 기술적 부채를 발생시키고 버전 간 일관되지 않은 동작을 초래합니다.

  3. Windows 중심 설계: '크로스 플랫폼'으로 광고하지만 EO.Pdf의 Linux 및 macOS 지원은 제한적입니다. 많은 개발자가 비-Windows 배포에서 문제를 보고합니다.

  4. 정적 글로벌 옵션: EO.Pdf는 구성에 대해 정적 HtmlToPdf.Options를 사용하며, 이는 스레드에 안전하지 않고 다중 테넌트 웹 애플리케이션에서 문제가 됩니다.

  5. 라이선스당 $799: 개발자 라이선스당 $799의 비용으로, EO.Pdf는 유사하거나 더 나은 기능을 제공하는 대안 대비 비쌉니다.

아키텍처 비교

측면 EO.Pdf IronPDF
패키지 크기 126MB 최적화된 (~50MB)
유산 문제 IE 전환 후유증 깨끗하고 현대적인 코드베이스
플랫폼 지원 Windows 초점 진정한 크로스 플랫폼
구성 정적/글로벌 (스레드-안전하지 않음) 인스턴스 기반, 스레드 안전
API 설계 혼합(HtmlToPdf + ACM) 통일되고 일관된
문서화 제한적 포괄적인 튜토리얼
최신 .NET .NET Standard .NET 6/7/8/9+ 네이티브
비동기 지원 제한적 완전한 async/await

주요 마이그레이션 혜택

  1. 50% 작은 발자국: IronPDF의 최적화된 Chromium 패키지
  2. 진정한 크로스 플랫폼: Windows, Linux, macOS, Docker에서 동일하게 작동
  3. 스레드-안전한 구성: 인스턴스 기반 렌더러 옵션
  4. 모던 API: 일관되고 직관적인 메소드 이름
  5. 더 나은 문서화: 광범위한 튜토리얼과 예제들

이전 준비

필수 조건

환경이 다음 요구 사항을 충족하는지 확인하세요:

  • .NET Framework 4.6.2+ 또는 .NET Core 3.1 / .NET 5-9
  • Visual Studio 2019+ 또는 VS Code와 C# 확장
  • NuGet 패키지 관리자 접근 -IronPDF라이선스 키 (ironpdf.com에서 무료 체험판 제공)

EO.Pdf 사용 감사

해당 솔루션 디렉토리에서 명령어를 실행하여 모든 EO.Pdf 참조를 식별하세요:

# Find all EO.Pdf references
grep -r "EO.Pdf\|HtmlToPdf\|AcmRender\|PdfDocument" --include="*.cs" .

# Check NuGet packages
dotnet list package | grep -i "EO.Pdf"
# Find all EO.Pdf references
grep -r "EO.Pdf\|HtmlToPdf\|AcmRender\|PdfDocument" --include="*.cs" .

# Check NuGet packages
dotnet list package | grep -i "EO.Pdf"
SHELL

찾아볼 일반적인 EO.Pdf 네임스페이스:

  • EO.Pdf - 핵심 HTML to PDF
  • EO.Pdf.Acm - 고급 콘텐츠 모델 (ACM)
  • EO.Pdf.Contents - 저수준 콘텐츠 조작
  • EO.Pdf.Drawing - 그래픽 작업

핵심 패턴 변경 이해하기

EO.Pdf와IronPDF간의 가장 중요한 아키텍처적 차이는 구성 범위입니다. EO.Pdf는 글로벌 옵션과 정적 메서드를 사용하여 모든 변환에 영향을 주며, 이는 웹 애플리케이션에서 스레드 안전성 문제를 야기하는 패턴입니다. IronPDF는 인스턴스 기반 렌더러를 사용하여 각 변환이 분리되도록 로컬 옵션을 제공합니다.

단계별 마이그레이션 프로세스

1단계: NuGet 패키지 업데이트

EO.Pdf 제거 후IronPDF설치:

# Remove EO.Pdf
dotnet remove package EO.Pdf

# Install IronPDF
dotnet add package IronPdf
# Remove EO.Pdf
dotnet remove package EO.Pdf

# Install IronPDF
dotnet add package IronPdf
SHELL

2단계: 네임스페이스 참조 업데이트

EO.Pdf 네임스페이스를 IronPDF로 교체:

// Remove these
using EO.Pdf;
using EO.Pdf.Acm;

// Add this
using IronPdf;
// Remove these
using EO.Pdf;
using EO.Pdf.Acm;

// Add this
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

3단계: 라이선스 구성

// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Add at application startup (Program.cs or Startup.cs)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
' Add at application startup (Program.vb or Startup.vb)
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

완전한 API 마이그레이션 참조

핵심 클래스 매핑

EO.Pdf 클래스 IronPDF 동등
HtmlToPdf ChromePdfRenderer
PdfDocument PdfDocument
HtmlToPdfOptions ChromePdfRenderOptions
AcmRender 필요 없음
AcmText HTML <span>, <p>
AcmBlock HTML <div>

메서드 매핑

EO.Pdf 메소드 IronPDF 메소드
HtmlToPdf.ConvertHtml(html, path) renderer.RenderHtmlAsPdf(html) 그런 다음 SaveAs(path)
HtmlToPdf.ConvertUrl(url, path) renderer.RenderUrlAsPdf(url) 그런 다음 SaveAs(path)
PdfDocument.Save(path) pdf.SaveAs(path)
new PdfDocument(path) PdfDocument.FromFile(path)
doc.Append(other) PdfDocument.Merge(doc1, doc2)

옵션 매핑

EO.Pdf 옵션 IronPDF RenderingOptions
Options.PageSize = PdfPageSizes.A4 PaperSize = PdfPaperSize.A4
Options.OutputArea (RectangleF) MarginTop, MarginBottom, 기타

코드 마이그레이션 예제

HTML을 PDF로 변환

기본 HTML to PDF 변환은 정적 메서드에서 인스턴스 기반 렌더링으로의 전환을 보여줍니다.

EO.Pdf 구현:

// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";

        HtmlToPdf.ConvertHtml(html, "output.pdf");

        Console.WriteLine("PDF created successfully!");
    }
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";

        HtmlToPdf.ConvertHtml(html, "output.pdf");

        Console.WriteLine("PDF created successfully!");
    }
}
Imports EO.Pdf
Imports System

Class Program
    Shared Sub Main()
        Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>"

        HtmlToPdf.ConvertHtml(html, "output.pdf")

        Console.WriteLine("PDF created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF 구현:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF created successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string html = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF created successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim html As String = "<html><body><h1>Hello World</h1><p>This is a PDF generated from HTML.</p></body></html>"

        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("output.pdf")

        Console.WriteLine("PDF created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF의 2단계 패턴(렌더링 후 저장)은 저장 전에 추가 조작을 위한 PdfDocument 객체에 대한 접근을 제공합니다. 더 많은 옵션을 보려면 HTML to PDF 문서를 참조하세요.

URL을 PDF로 변환

EO.Pdf 구현:

// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        string url = "https://www.example.com";

        HtmlToPdf.ConvertUrl(url, "webpage.pdf");

        Console.WriteLine("PDF from URL created successfully!");
    }
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        string url = "https://www.example.com";

        HtmlToPdf.ConvertUrl(url, "webpage.pdf");

        Console.WriteLine("PDF from URL created successfully!");
    }
}
Imports EO.Pdf
Imports System

Module Program
    Sub Main()
        Dim url As String = "https://www.example.com"

        HtmlToPdf.ConvertUrl(url, "webpage.pdf")

        Console.WriteLine("PDF from URL created successfully!")
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF 구현:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string url = "https://www.example.com";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf(url);
        pdf.SaveAs("webpage.pdf");

        Console.WriteLine("PDF from URL created successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string url = "https://www.example.com";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderUrlAsPdf(url);
        pdf.SaveAs("webpage.pdf");

        Console.WriteLine("PDF from URL created successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim url As String = "https://www.example.com"

        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderUrlAsPdf(url)
        pdf.SaveAs("webpage.pdf")

        Console.WriteLine("PDF from URL created successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF의 RenderUrlAsPdf은 전체 JavaScript 실행과 현대적 CSS 지원을 제공합니다. 더 많은 옵션을 보려면 URL to PDF 문서를 참조하세요.

사용자 정의 설정을 사용한 HTML 파일

이 예는 구성 패턴에서의 중요한 차이를 보여줍니다—EO.Pdf의 OutputArea 인치와 IronPDF의 밀리미터 개별 여백 속성.

EO.Pdf 구현:

// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdfOptions options = new HtmlToPdfOptions();
        options.PageSize = PdfPageSizes.A4;
        options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);

        HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options);
        Console.WriteLine("PDF with custom settings created.");
    }
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        HtmlToPdfOptions options = new HtmlToPdfOptions();
        options.PageSize = PdfPageSizes.A4;
        options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);

        HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options);
        Console.WriteLine("PDF with custom settings created.");
    }
}
Imports EO.Pdf
Imports System

Class Program
    Shared Sub Main()
        Dim options As New HtmlToPdfOptions()
        options.PageSize = PdfPageSizes.A4
        options.OutputArea = New RectangleF(0.5F, 0.5F, 7.5F, 10.5F)

        HtmlToPdf.ConvertUrl("file:///C:/input.html", "output.pdf", options)
        Console.WriteLine("PDF with custom settings created.")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF 구현:

// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;

        var pdf = renderer.RenderHtmlFileAsPdf("C:/input.html");
        pdf.SaveAs("output.pdf");
        Console.WriteLine("PDF with custom settings created.");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
        renderer.RenderingOptions.MarginTop = 20;
        renderer.RenderingOptions.MarginBottom = 20;
        renderer.RenderingOptions.MarginLeft = 20;
        renderer.RenderingOptions.MarginRight = 20;

        var pdf = renderer.RenderHtmlFileAsPdf("C:/input.html");
        pdf.SaveAs("output.pdf");
        Console.WriteLine("PDF with custom settings created.");
    }
}
Imports IronPdf
Imports IronPdf.Rendering
Imports System

Class Program
    Shared Sub Main()
        Dim renderer As New ChromePdfRenderer()
        renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
        renderer.RenderingOptions.MarginTop = 20
        renderer.RenderingOptions.MarginBottom = 20
        renderer.RenderingOptions.MarginLeft = 20
        renderer.RenderingOptions.MarginRight = 20

        Dim pdf = renderer.RenderHtmlFileAsPdf("C:/input.html")
        pdf.SaveAs("output.pdf")
        Console.WriteLine("PDF with custom settings created.")
    End Sub
End Class
$vbLabelText   $csharpLabel

단위 변환에 주목: EO.Pdf는 OutputArea에서 인치를 사용하고, IronPDF는 밀리미터를 사용합니다. 변환에 사용: inches × 25.4 = mm. 더 많은 옵션은 렌더링 옵션 문서를 참조하세요.

여러 PDF 병합

PDF 병합은 EO.Pdf의 Append 루프 패턴과 IronPDF의 정적 Merge 메서드의 차이를 보여줍니다.

EO.Pdf 구현:

// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        PdfDocument doc1 = new PdfDocument("file1.pdf");
        PdfDocument doc2 = new PdfDocument("file2.pdf");

        PdfDocument mergedDoc = new PdfDocument();
        mergedDoc.Append(doc1);
        mergedDoc.Append(doc2);

        mergedDoc.Save("merged.pdf");

        Console.WriteLine("PDFs merged successfully!");
    }
}
// NuGet: Install-Package EO.Pdf
using EO.Pdf;
using System;

class Program
{
    static void Main()
    {
        PdfDocument doc1 = new PdfDocument("file1.pdf");
        PdfDocument doc2 = new PdfDocument("file2.pdf");

        PdfDocument mergedDoc = new PdfDocument();
        mergedDoc.Append(doc1);
        mergedDoc.Append(doc2);

        mergedDoc.Save("merged.pdf");

        Console.WriteLine("PDFs merged successfully!");
    }
}
Imports EO.Pdf
Imports System

Class Program
    Shared Sub Main()
        Dim doc1 As New PdfDocument("file1.pdf")
        Dim doc2 As New PdfDocument("file2.pdf")

        Dim mergedDoc As New PdfDocument()
        mergedDoc.Append(doc1)
        mergedDoc.Append(doc2)

        mergedDoc.Save("merged.pdf")

        Console.WriteLine("PDFs merged successfully!")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF 구현:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdf1 = PdfDocument.FromFile("file1.pdf");
        var pdf2 = PdfDocument.FromFile("file2.pdf");

        var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
        merged.SaveAs("merged.pdf");

        Console.WriteLine("PDFs merged successfully!");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdf1 = PdfDocument.FromFile("file1.pdf");
        var pdf2 = PdfDocument.FromFile("file2.pdf");

        var merged = PdfDocument.Merge(new List<PdfDocument> { pdf1, pdf2 });
        merged.SaveAs("merged.pdf");

        Console.WriteLine("PDFs merged successfully!");
    }
}
Imports IronPdf
Imports System
Imports System.Collections.Generic

Module Program
    Sub Main()
        Dim pdf1 = PdfDocument.FromFile("file1.pdf")
        Dim pdf2 = PdfDocument.FromFile("file2.pdf")

        Dim merged = PdfDocument.Merge(New List(Of PdfDocument) From {pdf1, pdf2})
        merged.SaveAs("merged.pdf")

        Console.WriteLine("PDFs merged successfully!")
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF의 정적 Merge 메서드는 문서 모음을 수용하여 다중 문서 병합을 단순화합니다. 생성자(new PdfDocument(path))에서 정적 팩토리(PdfDocument.FromFile(path))로의 변경에 주목하십시오. 더 많은 옵션은 PDF 병합 문서를 참조하십시오.

중요한 마이그레이션 노트

마진 단위 변환

EO.Pdf는 OutputArea에서 인치를 사용합니다. IronPDF는 밀리미터를 사용합니다. 변환에 사용: inches × 25.4 = mm

// EO.Pdf - 0.5 inch margins
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);

//IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7;
renderer.RenderingOptions.MarginBottom = 12.7;
renderer.RenderingOptions.MarginLeft = 12.7;
renderer.RenderingOptions.MarginRight = 12.7;
// EO.Pdf - 0.5 inch margins
options.OutputArea = new RectangleF(0.5f, 0.5f, 7.5f, 10.5f);

//IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7;
renderer.RenderingOptions.MarginBottom = 12.7;
renderer.RenderingOptions.MarginLeft = 12.7;
renderer.RenderingOptions.MarginRight = 12.7;
' EO.Pdf - 0.5 inch margins
options.OutputArea = New RectangleF(0.5F, 0.5F, 7.5F, 10.5F)

' IronPDF- equivalent in millimeters (0.5" = 12.7mm)
renderer.RenderingOptions.MarginTop = 12.7
renderer.RenderingOptions.MarginBottom = 12.7
renderer.RenderingOptions.MarginLeft = 12.7
renderer.RenderingOptions.MarginRight = 12.7
$vbLabelText   $csharpLabel

정적에서 인스턴스 기반 구성으로

모든 HtmlToPdf.Options.Xrenderer.RenderingOptions.X로 교체하십시오:

// EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4;

//IronPDF- instance options (thread-safe)
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
// EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4;

//IronPDF- instance options (thread-safe)
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
' EO.Pdf - static options (NOT thread-safe!)
HtmlToPdf.Options.PageSize = PdfPageSizes.A4

' IronPDF- instance options (thread-safe)
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
$vbLabelText   $csharpLabel

ACM에서 HTML로의 마이그레이션

EO.Pdf의 고급 콘텐츠 모델(AcmRender, AcmText, AcmBlock)을 사용하는 경우 표준 HTML/CSS로 마이그레이션하십시오:

// EO.Pdf ACM approach
var acmContent = new AcmContent();
acmContent.Add(new AcmText("Sample Text"));

//IronPDFHTML approach
var html = "<div>Sample Text</div>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
// EO.Pdf ACM approach
var acmContent = new AcmContent();
acmContent.Add(new AcmText("Sample Text"));

//IronPDFHTML approach
var html = "<div>Sample Text</div>";
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
' EO.Pdf ACM approach
Dim acmContent As New AcmContent()
acmContent.Add(New AcmText("Sample Text"))

' IronPDFHTML approach
Dim html As String = "<div>Sample Text</div>"
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(html)
$vbLabelText   $csharpLabel

두 단계 저장 패턴

EO.Pdf는 ConvertHtml()에 직접 저장합니다. IronPDF는 PdfDocument 객체를 반환한 후 SaveAs()를 호출합니다:

// EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf");

//IronPDF- two steps (enables manipulation before save)
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf");

//IronPDF- two steps (enables manipulation before save)
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
' EO.Pdf - one step
HtmlToPdf.ConvertHtml(html, "output.pdf")

' IronPDF- two steps (enables manipulation before save)
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

생성자에서 정적 팩토리로

new PdfDocument(path)PdfDocument.FromFile(path)로 교체하십시오:

// EO.Pdf
var doc = new PdfDocument("file.pdf");

// IronPDF
var doc = PdfDocument.FromFile("file.pdf");
// EO.Pdf
var doc = new PdfDocument("file.pdf");

// IronPDF
var doc = PdfDocument.FromFile("file.pdf");
' EO.Pdf
Dim doc = New PdfDocument("file.pdf")

' IronPDF
Dim doc = PdfDocument.FromFile("file.pdf")
$vbLabelText   $csharpLabel

마이그레이션 후 점검 목록

코드 마이그레이션을 완료한 후, 다음을 확인하십시오:

  • 생성된 PDF의 시각적 비교
  • 헤더/풋터가 올바르게 렌더링되는지 확인
  • 보안/암호화 설정 테스트
  • 병합 작업 확인
  • 성능 벤치마킹
  • 크로스 플랫폼 테스트 (Windows, Linux, macOS)
  • EO.Pdf 라이선스 파일 제거
  • 문서 업데이트

PDF 인프라의 미래 대비

.NET 10이 다가오고 C# 14가 새로운 언어 기능을 소개하면서, 최신 .NET 네이티브 지원을 갖춘 PDF 라이브러리를 선택하면 장기 호환성을 보장할 수 있습니다. IronPDF의 인스턴스 기반, 스레드 안전 아키텍처는 현대 웹 애플리케이션 패턴에 맞춰져 있으며, EO.Pdf의 정적 글로벌 옵션이 동시성 문제를 유발하는 멀티 테넌트 SaaS 애플리케이션에서는 특히 중요합니다.

추가 리소스


EO.Pdf에서 IronPDF로의 마이그레이션은126MB패키지 팽창, 구식 IE 시대의 잔재 및 정적 글로벌 옵션의 스레드 안전성 문제를 제거합니다. 인스턴스 기반 구성으로의 전환은 PDF 생성 코드가 멀티 스레드 웹 애플리케이션에서 안정적으로 작동하도록 하며 진정한 크로스 플랫폼 배포 지원을 제공합니다.

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

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

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

아이언 서포트 팀

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