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

C#에서 ComPDFKit에서 IronPDF로 마이그레이션하는 방법

ComPDFKit은 강력한 PDF 조작 기능을 제공하지만 몇 가지 요인 때문에 개발 팀이 더 확립된 대안을 고려하게 됩니다.

시장 성숙도 및 생태계 비교

ComPDFKit은 새로 진입한 시장 진입자에게 흔한 문서화 간극, 작은 커뮤니티, 제한된 Stack Overflow 커버리지와 같은 문제를 겪고 있습니다. IronPDF의 10년간의 정제는 대규모 프로젝트가 요구하는 안정성과 리소스를 제공합니다.

측면 ComPDFKit IronPDF
HTML-에서-PDF 수동 HTML 파싱 필요 코드 기본 Chromium 렌더링
시장 성숙도 신입 참가자 10년 이상, 배틀 테스트됨
커뮤니티 규모 작고 제한된 Stack Overflow 큰 활발한 커뮤니티
문서화 일부 갭 광범위한 튜토리얼 및 가이드
다운로드 성장 중 1,000만 이상의 NuGet 다운로드
API 스타일 C++의 영향을 받은, 장황한 현대 .NET 유창 API
메모리 관리 수동 Release() 호출 자동 GC 처리

기능 패리티

두 라이브러리 모두 포괄적인 PDF 기능을 지원합니다:

기능 ComPDFKit IronPDF
HTML to PDF 기본/수동 ✅네이티브 Chromium
URL을 PDF로 변환 수동 구현 ✅내장
처음부터 PDF 생성
PDF 편집
텍스트 추출
병합/분할
디지털 서명
양식 채우기
워터마크
크로스 플랫폼 윈도우, 리눅스, macOS 윈도우, 리눅스, macOS

주요 마이그레이션 혜택

  1. 우수한 HTML 렌더링: IronPDF의 Chromium 엔진은 최신 CSS3, JavaScript 및 반응형 레이아웃을 네이티브로 처리합니다
  2. 성숙한 생태계: 10년 이상의 개선, 폭넓은 문서화 및 검증된 안정성
  3. 더 간단한 API: 중복 코드를 줄이고 Release() 호출로 수동 메모리 관리가 필요 없습니다.
  4. 더 나은 .NET 통합: 네이티브 async/await, LINQ 지원, 플루언트 인터페이스
  5. 광범위한 리소스: 수천 개의 Stack Overflow 답변 및 커뮤니티 예제

이전 준비

필수 조건

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

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

ComPDFKit사용 감사

해결책 디렉토리에서 이러한 명령어를 실행하여 모든ComPDFKit참조를 식별하세요:

# Find allComPDFKitusages in your codebase
grep -r "using ComPDFKit" --include="*.cs" .
grep -r "CPDFDocument\|CPDFPage\|CPDFAnnotation" --include="*.cs" .

# Find NuGet package references
grep -r "ComPDFKit" --include="*.csproj" .
# Find allComPDFKitusages in your codebase
grep -r "using ComPDFKit" --include="*.cs" .
grep -r "CPDFDocument\|CPDFPage\|CPDFAnnotation" --include="*.cs" .

# Find NuGet package references
grep -r "ComPDFKit" --include="*.csproj" .
SHELL

예상해야 할 주요 변경사항

변경 ComPDFKit IronPDF 영향
문서 로딩 CPDFDocument.InitWithFilePath() PdfDocument.FromFile() 메소드명 변경
저장 document.WriteToFilePath() pdf.SaveAs() 메소드명 변경
메모리 정리 document.Release() 필요 자동 (GC) 수동 정리 제거
페이지 접근 document.PageAtIndex(i) pdf.Pages[i] 배열 스타일 접근
페이지 인덱싱 0 기반 0 기반 변경 필요 없음
HTML 렌더링 수동 구현 RenderHtmlAsPdf() 주요 단순화
텍스트 추출 textPage.GetText() pdf.ExtractAllText() 단순화된 API

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

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

ComPDFKit 패키지를 제거하고 IronPDF를 설치하세요:

# RemoveComPDFKitpackages
dotnet remove package ComPDFKit.NetCore
dotnet remove package ComPDFKit.NetFramework

# Install IronPDF
dotnet add package IronPdf
# RemoveComPDFKitpackages
dotnet remove package ComPDFKit.NetCore
dotnet remove package ComPDFKit.NetFramework

# Install IronPDF
dotnet add package IronPdf
SHELL

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

ComPDFKit 네임스페이스를 IronPDF로 교체하세요:

// Remove these
using ComPDFKit.PDFDocument;
using ComPDFKit.PDFPage;
using ComPDFKit.PDFAnnotation;
using ComPDFKit.Import;

// Add this
using IronPdf;
// Remove these
using ComPDFKit.PDFDocument;
using ComPDFKit.PDFPage;
using ComPDFKit.PDFAnnotation;
using ComPDFKit.Import;

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

3단계: 라이선스 구성

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

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

문서 작업

작업 ComPDFKit IronPDF
빈 문서 만들기 CPDFDocument.CreateDocument() new PdfDocument()
파일에서 로드 CPDFDocument.InitWithFilePath(path) PdfDocument.FromFile(path)
스트림에서 로드 CPDFDocument.InitWithStream(stream) PdfDocument.FromStream(stream)
파일에 저장 document.WriteToFilePath(path) pdf.SaveAs(path)
페이지 수 가져오기 document.PageCount pdf.PageCount
릴리스/처리 document.Release() 필요하지 않음

HTML을 PDF로 변환

작업 ComPDFKit IronPDF
HTML 문자열을 PDF로 변환 수동 구현 필요 renderer.RenderHtmlAsPdf(html)
HTML 파일을 PDF로 변환 수동 구현 필요 renderer.RenderHtmlFileAsPdf(path)
URL을 PDF로 변환 수동 구현 필요 renderer.RenderUrlAsPdf(url)
페이지 크기 설정 페이지 생성 매개변수를 통해 renderer.RenderingOptions.PaperSize
여백 설정 편집자 구성을 통해 renderer.RenderingOptions.MarginTop

병합 및 분할 작업

작업 ComPDFKit IronPDF
문서 병합 doc1.ImportPagesAtIndex(doc2, range, index) PdfDocument.Merge(pdf1, pdf2)
문서 분할 페이지를 새 문서로 추출 pdf.CopyPages(start, end)

코드 마이그레이션 예제

HTML을 PDF로 변환

ComPDFKit과 IronPDF의 가장 큰 차이점은 HTML 렌더링입니다. ComPDFKit은 수동 텍스트 배치를 필요로 하는 반면 IronPDF는 자사 Chromium 엔진으로 HTML을 네이티브로 렌더링합니다.

ComPDFKit 구현:

// NuGet: Install-Package ComPDFKit.NetCore
using ComPDFKit.PDFDocument;
using System;

class Program
{
    static void Main()
    {
        var document = CPDFDocument.CreateDocument();
        var page = document.InsertPage(0, 595, 842, "");

        //ComPDFKitrequires manual HTML rendering
        // NativeHTML to PDFnot directly supported
        var editor = page.GetEditor();
        editor.BeginEdit(CPDFEditType.EditText);
        editor.CreateTextWidget(new System.Drawing.RectangleF(50, 50, 500, 700), "HTML content here");
        editor.EndEdit();

        document.WriteToFilePath("output.pdf");
        document.Release();
    }
}
// NuGet: Install-Package ComPDFKit.NetCore
using ComPDFKit.PDFDocument;
using System;

class Program
{
    static void Main()
    {
        var document = CPDFDocument.CreateDocument();
        var page = document.InsertPage(0, 595, 842, "");

        //ComPDFKitrequires manual HTML rendering
        // NativeHTML to PDFnot directly supported
        var editor = page.GetEditor();
        editor.BeginEdit(CPDFEditType.EditText);
        editor.CreateTextWidget(new System.Drawing.RectangleF(50, 50, 500, 700), "HTML content here");
        editor.EndEdit();

        document.WriteToFilePath("output.pdf");
        document.Release();
    }
}
Imports ComPDFKit.PDFDocument
Imports System
Imports System.Drawing

Module Program
    Sub Main()
        Dim document = CPDFDocument.CreateDocument()
        Dim page = document.InsertPage(0, 595, 842, "")

        ' ComPDFKit requires manual HTML rendering
        ' Native HTML to PDF not directly supported
        Dim editor = page.GetEditor()
        editor.BeginEdit(CPDFEditType.EditText)
        editor.CreateTextWidget(New RectangleF(50, 50, 500, 700), "HTML content here")
        editor.EndEdit()

        document.WriteToFilePath("output.pdf")
        document.Release()
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF 구현:

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is HTML content.</p>");
        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is HTML content.</p>");
        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is HTML content.</p>")
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF의 ChromePdfRenderer는 수동 텍스트 위치 지정 및 편집기 관리를 없애줍니다. 더 많은 HTML 변환 옵션은 HTML to PDF 문서를 참조하십시오.

여러 PDF 병합

ComPDFKit 구현:

// NuGet: Install-Package ComPDFKit.NetCore
using ComPDFKit.PDFDocument;
using ComPDFKit.Import;
using System;

class Program
{
    static void Main()
    {
        var document1 = CPDFDocument.InitWithFilePath("file1.pdf");
        var document2 = CPDFDocument.InitWithFilePath("file2.pdf");

        // Import pages from document2 into document1
        document1.ImportPagesAtIndex(document2, "0-" + (document2.PageCount - 1), document1.PageCount);

        document1.WriteToFilePath("merged.pdf");
        document1.Release();
        document2.Release();
    }
}
// NuGet: Install-Package ComPDFKit.NetCore
using ComPDFKit.PDFDocument;
using ComPDFKit.Import;
using System;

class Program
{
    static void Main()
    {
        var document1 = CPDFDocument.InitWithFilePath("file1.pdf");
        var document2 = CPDFDocument.InitWithFilePath("file2.pdf");

        // Import pages from document2 into document1
        document1.ImportPagesAtIndex(document2, "0-" + (document2.PageCount - 1), document1.PageCount);

        document1.WriteToFilePath("merged.pdf");
        document1.Release();
        document2.Release();
    }
}
Imports ComPDFKit.PDFDocument
Imports ComPDFKit.Import
Imports System

Module Program
    Sub Main()
        Dim document1 = CPDFDocument.InitWithFilePath("file1.pdf")
        Dim document2 = CPDFDocument.InitWithFilePath("file2.pdf")

        ' Import pages from document2 into document1
        document1.ImportPagesAtIndex(document2, "0-" & (document2.PageCount - 1), document1.PageCount)

        document1.WriteToFilePath("merged.pdf")
        document1.Release()
        document2.Release()
    End Sub
End Module
$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");
    }
}
// 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");
    }
}
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")
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF의 정적 Merge 메서드는 페이지 범위 문자열과 함께 자세한 ImportPagesAtIndex 패턴을 제거합니다. 더 많은 옵션은 PDF 병합 문서를 참조하십시오.

워터마크 추가

워터마킹은 ComPDFKit의 편집자 기반 접근에서 IronPDF의 HTML 기반 스타일링으로 패러다임 전환을 보여줍니다.

ComPDFKit 구현:

// NuGet: Install-Package ComPDFKit.NetCore
using ComPDFKit.PDFDocument;
using ComPDFKit.PDFPage;
using System;
using System.Drawing;

class Program
{
    static void Main()
    {
        var document = CPDFDocument.InitWithFilePath("input.pdf");

        for (int i = 0; i < document.PageCount; i++)
        {
            var page = document.PageAtIndex(i);
            var editor = page.GetEditor();
            editor.BeginEdit(CPDFEditType.EditText);

            var textArea = editor.CreateTextArea();
            textArea.SetText("CONFIDENTIAL");
            textArea.SetFontSize(48);
            textArea.SetTransparency(128);

            editor.EndEdit();
            page.Release();
        }

        document.WriteToFilePath("watermarked.pdf");
        document.Release();
    }
}
// NuGet: Install-Package ComPDFKit.NetCore
using ComPDFKit.PDFDocument;
using ComPDFKit.PDFPage;
using System;
using System.Drawing;

class Program
{
    static void Main()
    {
        var document = CPDFDocument.InitWithFilePath("input.pdf");

        for (int i = 0; i < document.PageCount; i++)
        {
            var page = document.PageAtIndex(i);
            var editor = page.GetEditor();
            editor.BeginEdit(CPDFEditType.EditText);

            var textArea = editor.CreateTextArea();
            textArea.SetText("CONFIDENTIAL");
            textArea.SetFontSize(48);
            textArea.SetTransparency(128);

            editor.EndEdit();
            page.Release();
        }

        document.WriteToFilePath("watermarked.pdf");
        document.Release();
    }
}
Imports ComPDFKit.PDFDocument
Imports ComPDFKit.PDFPage
Imports System
Imports System.Drawing

Module Program
    Sub Main()
        Dim document = CPDFDocument.InitWithFilePath("input.pdf")

        For i As Integer = 0 To document.PageCount - 1
            Dim page = document.PageAtIndex(i)
            Dim editor = page.GetEditor()
            editor.BeginEdit(CPDFEditType.EditText)

            Dim textArea = editor.CreateTextArea()
            textArea.SetText("CONFIDENTIAL")
            textArea.SetFontSize(48)
            textArea.SetTransparency(128)

            editor.EndEdit()
            page.Release()
        Next

        document.WriteToFilePath("watermarked.pdf")
        document.Release()
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF 구현:

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

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");

        pdf.ApplyWatermark("<h1 style='color:rgba(255,0,0,0.3);'>CONFIDENTIAL</h1>",
            rotation: 45,
            verticalAlignment: VerticalAlignment.Middle,
            horizontalAlignment: HorizontalAlignment.Center);

        pdf.SaveAs("watermarked.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Editing;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");

        pdf.ApplyWatermark("<h1 style='color:rgba(255,0,0,0.3);'>CONFIDENTIAL</h1>",
            rotation: 45,
            verticalAlignment: VerticalAlignment.Middle,
            horizontalAlignment: HorizontalAlignment.Center);

        pdf.SaveAs("watermarked.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Editing
Imports System

Module Program
    Sub Main()
        Dim pdf = PdfDocument.FromFile("input.pdf")

        pdf.ApplyWatermark("<h1 style='color:rgba(255,0,0,0.3);'>CONFIDENTIAL</h1>", 
                           rotation:=45, 
                           verticalAlignment:=VerticalAlignment.Middle, 
                           horizontalAlignment:=HorizontalAlignment.Center)

        pdf.SaveAs("watermarked.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

IronPDF는 20줄 이상의 워터마크 구현을 HTML/CSS 스타일로 단일 메소드 호출로 줄입니다. 더 많은 옵션은 워터마크 문서를 참조하세요.

텍스트 추출

ComPDFKit 구현:

using ComPDFKit.PDFDocument;
using System.Text;

var document = CPDFDocument.InitWithFilePath("document.pdf");

// Extract text (verbose)
var allText = new StringBuilder();
for (int i = 0; i < document.PageCount; i++)
{
    var page = document.PageAtIndex(i);
    var textPage = page.GetTextPage();
    allText.AppendLine(textPage.GetText(0, textPage.CountChars()));
    textPage.Release();
    page.Release();
}

document.WriteToFilePath("output.pdf");
document.Release(); // Must remember to release!
using ComPDFKit.PDFDocument;
using System.Text;

var document = CPDFDocument.InitWithFilePath("document.pdf");

// Extract text (verbose)
var allText = new StringBuilder();
for (int i = 0; i < document.PageCount; i++)
{
    var page = document.PageAtIndex(i);
    var textPage = page.GetTextPage();
    allText.AppendLine(textPage.GetText(0, textPage.CountChars()));
    textPage.Release();
    page.Release();
}

document.WriteToFilePath("output.pdf");
document.Release(); // Must remember to release!
Imports ComPDFKit.PDFDocument
Imports System.Text

Dim document = CPDFDocument.InitWithFilePath("document.pdf")

' Extract text (verbose)
Dim allText As New StringBuilder()
For i As Integer = 0 To document.PageCount - 1
    Dim page = document.PageAtIndex(i)
    Dim textPage = page.GetTextPage()
    allText.AppendLine(textPage.GetText(0, textPage.CountChars()))
    textPage.Release()
    page.Release()
Next

document.WriteToFilePath("output.pdf")
document.Release() ' Must remember to release!
$vbLabelText   $csharpLabel

IronPDF 구현:

using IronPdf;

var pdf = PdfDocument.FromFile("document.pdf");

// Extract text (one-liner)
string allText = pdf.ExtractAllText();

pdf.SaveAs("output.pdf");
// No Release() needed - GC handles cleanup
using IronPdf;

var pdf = PdfDocument.FromFile("document.pdf");

// Extract text (one-liner)
string allText = pdf.ExtractAllText();

pdf.SaveAs("output.pdf");
// No Release() needed - GC handles cleanup
Imports IronPdf

Dim pdf = PdfDocument.FromFile("document.pdf")

' Extract text (one-liner)
Dim allText As String = pdf.ExtractAllText()

pdf.SaveAs("output.pdf")
' No Release() needed - GC handles cleanup
$vbLabelText   $csharpLabel

IronPDF는 수동 Release() 호출과 함께 여러 줄 텍스트 추출을 단일 메서드로 줄입니다. 추출 옵션에 대한 자세한 내용은 텍스트 추출 문서를 참조하십시오.

비밀번호 보호

IronPDF 구현:

using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Document</h1>");

// Set security
pdf.SecuritySettings.UserPassword = "userPassword";
pdf.SecuritySettings.OwnerPassword = "ownerPassword";
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

pdf.SaveAs("protected.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Document</h1>");

// Set security
pdf.SecuritySettings.UserPassword = "userPassword";
pdf.SecuritySettings.OwnerPassword = "ownerPassword";
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

pdf.SaveAs("protected.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Confidential Document</h1>")

' Set security
pdf.SecuritySettings.UserPassword = "userPassword"
pdf.SecuritySettings.OwnerPassword = "ownerPassword"
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.FullPrintRights
pdf.SecuritySettings.AllowUserCopyPasteContent = False

pdf.SaveAs("protected.pdf")
$vbLabelText   $csharpLabel

포괄적인 보안 옵션은 암호화 문서를 참조하십시오.

중요한 마이그레이션 노트

모든 Release() 호출 제거

가장 영향을 미치는 변경은 수동 메모리 관리 제거입니다. ComPDFKit는 문서, 페이지 및 텍스트 페이지에 대한 명시적인 Release() 호출이 필요합니다. IronPDF는 .NET 가비지 콜렉션을 통해 자동으로 이를 처리합니다:

//ComPDFKit- manual cleanup required
document.Release();
page.Release();
textPage.Release();

//IronPDF- no equivalent needed
// GC handles cleanup automatically
//ComPDFKit- manual cleanup required
document.Release();
page.Release();
textPage.Release();

//IronPDF- no equivalent needed
// GC handles cleanup automatically
'ComPDFKit- manual cleanup required
document.Release()
page.Release()
textPage.Release()

'IronPDF- no equivalent needed
' GC handles cleanup automatically
$vbLabelText   $csharpLabel

네이티브 HTML 렌더링

ComPDFKit은 편집자 API로 수동 텍스트 배치를 필요로 합니다. IronPDF는 최신 CSS3, JavaScript 및 반응형 레이아웃을 지원하는 자사 Chromium 엔진으로 HTML/CSS를 네이티브로 렌더링합니다.

동일한 페이지 인덱싱

두 라이브러리는 0 기반 인덱싱을 사용합니다(Pages[0]는 첫 번째 페이지임)—페이지 접근 코드에 대한 변경이 필요 없습니다.

단순화된 텍스트 추출

여러 줄의 GetTextPage() + GetText() + Release() 패턴을 단일 ExtractAllText() 호출로 대체하세요.

플루언트 머지 API

ImportPagesAtIndex(doc2, "0-9", pageCount)를 간단한 Merge(pdf1, pdf2)로 대체하세요.

마이그레이션 후 점검 목록

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

  • PDF 생성이 올바르게 작동하는지 확인하기 위해 모든 단위 테스트를 수행합니다
  • PDF 출력 품질을 비교하세요 (IronPDF의 Chromium 엔진은 보통 더 나은 렌더링을 제공합니다)
  • 복잡한 CSS와 JavaScript로 HTML 렌더링 테스트
  • 텍스트 추출 정확성을 확인합니다
  • 양식 기능 테스트
  • 묶음 작업에 대한 성능 테스트
  • 모든 대상 환경에서 테스트합니다
  • CI/CD 파이프라인을 업데이트하세요 -ComPDFKit라이선스 파일 제거

PDF 인프라의 미래 대비

.NET 10이 다가오고 C# 14가 새로운 언어 기능을 도입함에 따라, 성숙하고 적극적으로 유지 관리되는 PDF 라이브러리를 선택하면 장기적인 호환성이 보장됩니다. IronPDF의 10년 이상의 트랙 기록, 광범위한 커뮤니티 지원, 최신 API 설계는 프로젝트가 2025년, 2026년까지 확장되면서 마이그레이션 투자에 수익을 제공합니다.

추가 리소스


ComPDFKit에서 IronPDF로의 전환은 Release() 호출로 수동 메모리 관리를 제거하면서 ComPDFKit에 없는 네이티브 HTML-to-PDF 렌더링을 제공합니다. IronPDF의 성숙한 생태계로의 전환은 문서의 깊이, 커뮤니티 지원 및 기업 프로젝트가 요구하는 검증된 안정성을 제공합니다.

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

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

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

아이언 서포트 팀

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