마이그레이션 가이드 C#에서 ExpertPdf에서 IronPDF로 마이그레이션하는 방법 커티스 차우 업데이트됨:2월 1, 2026 다운로드 IronPDF NuGet 다운로드 DLL 다운로드 윈도우 설치 프로그램 무료 체험 시작하기 LLM용 사본 LLM용 사본 LLM용 마크다운 형식으로 페이지를 복사하세요 ChatGPT에서 열기 ChatGPT에 이 페이지에 대해 문의하세요 제미니에서 열기 제미니에게 이 페이지에 대해 문의하세요 Grok에서 열기 Grok에게 이 페이지에 대해 문의하세요 혼란 속에서 열기 Perplexity에게 이 페이지에 대해 문의하세요 공유하다 페이스북에 공유하기 트위터에 공유하기 LinkedIn에 공유하기 URL 복사 이메일로 기사 보내기 ExpertPdf는 수년간 개발자를 위해 서비스해온 상업용 HTML-to-PDF 변환기입니다. 그러나 ExpertPdf는 오늘날 빠르게 변화하는 개발 환경에서 상당한 도전에 직면하고 있습니다: 2018년 이후 업데이트되지 않은 문서, 최신 CSS3 기능이 없는 이전 Chrome 버전에 의존, 구식 기술에 대해 $550-$1,200의 프리미엄 요금, 병합, 보안, 분할에 대한 별도의 라이선스가 필요한 분절된 제품 Suite. 이 포괄적인 가이드는 최신 Chromium 렌더링, 월별 업데이트 및 올인원 패키지 아키텍처를 갖춘 현대 .NET PDF 라이브러리인 IronPDF로의 단계별 마이그레이션 경로를 제공합니다. 왜 ExpertPdf에서 IronPDF로 마이그레이션해야 하는가? ExpertPdf는 개발 팀이 현대적인 대안을 평가하도록 동기를 부여하는 여러 도전을 제시합니다. 이러한 문제를 이해하는 것은 마이그레이션 전략을 계획하는 데 필수적입니다. ExpertPdf문제들 2018년 이후 업데이트되지 않은 문서: ExpertPdf의 문서는 6년 이상 동안 업데이트되지 않았습니다. .NET 생태계가 진화함에 따라 현재 정보, 예제 및 모범 사례를 찾는 것이 점점 어려워지고 있습니다. 이전 Chrome 버전: ExpertPdf는 렌더링에 이전 버전의 Chrome을 사용합니다. 최신 CSS3 기능 (Flexbox, Grid, CSS Variables)이 올바르게 렌더링되지 않을 수 있으며, 보안 패치는 적용되지 않습니다. 유산 기술에 대한 프리미엄 요금: $550-$1,200의 라이선스 비용에도 불구하고 ExpertPdf는 구식 랜더링 기술을 제공합니다. 분절된 제품 Suite: ExpertPdf는 HtmlToPdf 변환기, PDF 병합기, PDF 보안, PDF 분할기, PDF to Image와 같은 기능을 위한 별도 패키지를 판매하며 각각 별도의 라이센스가 필요합니다. 제한된 현대 .NET 지원: ExpertPdf는 .NET Core 패키지를 가지고 있지만, 현대 .NET 버전 및 관행에 뒤떨어진다. 아키텍처 비교 측면 ExpertPdf IronPDF 문서화 2018년 이후로 동결 지속적으로 업데이트됨 렌더링 엔진 레거시 Chrome 최신 Chromium CSS 지원 제한된 CSS3 전체 CSS3 (Flexbox, Grid) 가격 $550-$1,200 경쟁력 있는 가격 업데이트 빈도 드문드문함 월별 릴리스 제품 모델 조각화된 (5+ DLLs) 모든 기능 통합된 라이브러리 최신 .NET 제한적 .NET 6/7/8/9+ 네이티브 비동기 지원 제한적 완전한 async/await 주요 마이그레이션 혜택 현대적 렌더링: 최신 Chromium 엔진을 사용한 픽셀-퍼펙트 출력 올인원 패키지: PDF 생성, 병합, 보안, 추출이 하나의 NuGet에 포함됨 활발한 개발: 매달 새로운 기능과 보안 패치가 포함된 업데이트 더 나은 문서화: 포괄적인 튜토리얼 및 예제 진정한 크로스 플랫폼: Windows, Linux, macOS, Docker 지원 이전 준비 필수 조건 환경이 다음 요구 사항을 충족하는지 확인하세요: .NET Framework 4.6.2+ 또는 .NET Core 3.1 / .NET 5-9 Visual Studio 2019+ 또는 VS Code와 C# 확장 NuGet 패키지 관리자 접근 -IronPDF라이선스 키 (ironpdf.com에서 무료 체험판 제공) ExpertPdf사용 감사 해당 명령어를 솔루션 디렉토리에서 실행하여 모든ExpertPdf참조를 식별하세요: # Find allExpertPdfreferences grep -r "ExpertPdf\|PdfConverter\|PDFMerge\|PdfSecurityManager" --include="*.cs" . # Check NuGet packages dotnet list package | grep -i "ExpertPdf" # Find allExpertPdfreferences grep -r "ExpertPdf\|PdfConverter\|PDFMerge\|PdfSecurityManager" --include="*.cs" . # Check NuGet packages dotnet list package | grep -i "ExpertPdf" SHELL 일반적인ExpertPdf패키지를 찾으세요: ExpertPdf.HtmlToPdf - HTML에서 PDF로 변환 ExpertPdf.PDFMerge - PDF 병합 ExpertPdf.PDFSecurity - 암호화 및 비밀번호 ExpertPdf.PDFSplit - PDF 분할 ExpertPdf.PdfToImage - PDF에서 이미지로 변환 핵심 패턴 변경 이해하기 ExpertPdf는 직접 바이트 배열 반환 메서드를 사용하는 PdfConverter을 사용합니다. IronPDF는 ChromePdfRenderer을 사용하여 저장 전에 추가 조작 기능을 제공하는 PdfDocument 객체를 반환합니다. 단계별 마이그레이션 프로세스 1단계: NuGet 패키지 업데이트 모든ExpertPdf패키지를 제거하고 IronPDF를 설치하세요: # Remove allExpertPdfpackages dotnet remove package ExpertPdf.HtmlToPdf dotnet remove package ExpertPdf.PDFMerge dotnet remove package ExpertPdf.PDFSecurity dotnet remove package ExpertPdf.PDFSplit dotnet remove package ExpertPdf.PdfToImage # InstallIronPDF(includes all features) dotnet add package IronPdf # Remove allExpertPdfpackages dotnet remove package ExpertPdf.HtmlToPdf dotnet remove package ExpertPdf.PDFMerge dotnet remove package ExpertPdf.PDFSecurity dotnet remove package ExpertPdf.PDFSplit dotnet remove package ExpertPdf.PdfToImage # InstallIronPDF(includes all features) dotnet add package IronPdf SHELL 2단계: 네임스페이스 참조 업데이트 ExpertPdf 네임스페이스를 IronPDF로 교체하세요: // Remove these using ExpertPdf.HtmlToPdf; // Add this using IronPdf; // Remove these using ExpertPdf.HtmlToPdf; // Add this using IronPdf; Imports IronPdf $vbLabelText $csharpLabel 3단계: 라이선스 구성 ExpertPdf는 변환기별 라이센싱을 사용합니다. IronPDF는 하나의 글로벌 라이센스를 사용합니다: // 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 마이그레이션 참조 핵심 클래스 매핑 ExpertPdf 클래스 IronPDF 동등 PdfConverter ChromePdfRenderer PdfDocumentOptions ChromePdfRenderOptions PdfHeaderOptions TextHeaderFooter 또는 HtmlHeaderFooter PdfFooterOptions TextHeaderFooter 또는 HtmlHeaderFooter PDFMerge PdfDocument.Merge() 메서드 매핑 ExpertPdf 메서드 IronPDF 메소드 pdfConverter.GetPdfBytesFromHtmlString(html) renderer.RenderHtmlAsPdf(html).BinaryData pdfConverter.GetPdfBytesFromUrl(url) renderer.RenderUrlAsPdf(url).BinaryData pdfConverter.GetPdfBytesFromHtmlFile(path) renderer.RenderHtmlFileAsPdf(path).BinaryData pdfConverter.SavePdfFromUrlToFile(url, path) renderer.RenderUrlAsPdf(url).SaveAs(path) 옵션 매핑 ExpertPdf 옵션 IronPDF RenderingOptions PdfDocumentOptions.PdfPageSize = PdfPageSize.A4 PaperSize = PdfPaperSize.A4 PdfDocumentOptions.PdfPageOrientation = Portrait PaperOrientation = PdfPaperOrientation.Portrait PdfDocumentOptions.MarginTop MarginTop PdfHeaderOptions.HeaderText TextHeader.CenterText PdfFooterOptions.FooterText TextFooter.RightText 페이지 번호 토큰 변환 ExpertPdf와 IronPDF는 페이지 번호에 대해 다른 플레이스홀더 구문을 사용합니다: ExpertPdf IronPDF &p; {page} &P; {total-pages} 코드 마이그레이션 예제 HTML을 PDF로 변환 기본 HTML에서 PDF로 변환은 ExpertPdf의 바이트 배열 패턴에서 IronPDF의 문서 객체 접근으로의 변경을 보여줍니다. ExpertPdf 구현: // NuGet: Install-Package ExpertPdf.HtmlToPdf using ExpertPdf.HtmlToPdf; using System; class Program { static void Main() { // Create the PDF converter PdfConverter pdfConverter = new PdfConverter(); // Convert HTML string to PDF byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>"); // Save to file System.IO.File.WriteAllBytes("output.pdf", pdfBytes); Console.WriteLine("PDF created successfully!"); } } // NuGet: Install-Package ExpertPdf.HtmlToPdf using ExpertPdf.HtmlToPdf; using System; class Program { static void Main() { // Create the PDF converter PdfConverter pdfConverter = new PdfConverter(); // Convert HTML string to PDF byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>"); // Save to file System.IO.File.WriteAllBytes("output.pdf", pdfBytes); Console.WriteLine("PDF created successfully!"); } } Imports ExpertPdf.HtmlToPdf Imports System Module Program Sub Main() ' Create the PDF converter Dim pdfConverter As New PdfConverter() ' Convert HTML string to PDF Dim pdfBytes As Byte() = pdfConverter.GetPdfBytesFromHtmlString("<h1>Hello World</h1><p>This is a PDF document.</p>") ' Save to file System.IO.File.WriteAllBytes("output.pdf", pdfBytes) Console.WriteLine("PDF created successfully!") End Sub End Module $vbLabelText $csharpLabel IronPDF 구현: // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { // Create a PDF from HTML string var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>"); // Save to file pdf.SaveAs("output.pdf"); Console.WriteLine("PDF created successfully!"); } } // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { // Create a PDF from HTML string var renderer = new ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>"); // Save to file pdf.SaveAs("output.pdf"); Console.WriteLine("PDF created successfully!"); } } Imports IronPdf Imports System Class Program Shared Sub Main() ' Create a PDF from HTML string Dim renderer = New ChromePdfRenderer() Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1><p>This is a PDF document.</p>") ' Save to file pdf.SaveAs("output.pdf") Console.WriteLine("PDF created successfully!") End Sub End Class $vbLabelText $csharpLabel IronPDF의 접근 방식은 추가 조작(병합, 워터마킹, 보안)을 가능하게 하여 저장하기 전에 PdfDocument 객체를 반환합니다. 더 많은 옵션을 보려면 HTML to PDF 문서를 참조하세요. 페이지 설정이 있는 URL을 PDF로 ExpertPdf 구현: // NuGet: Install-Package ExpertPdf.HtmlToPdf using ExpertPdf.HtmlToPdf; using System; class Program { static void Main() { // Create the PDF converter PdfConverter pdfConverter = new PdfConverter(); // Set page size and orientation pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4; pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait; // Convert URL to PDF byte[] pdfBytes = pdfConverter.GetPdfBytesFromUrl("https://www.example.com"); // Save to file System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes); Console.WriteLine("PDF from URL created successfully!"); } } // NuGet: Install-Package ExpertPdf.HtmlToPdf using ExpertPdf.HtmlToPdf; using System; class Program { static void Main() { // Create the PDF converter PdfConverter pdfConverter = new PdfConverter(); // Set page size and orientation pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4; pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait; // Convert URL to PDF byte[] pdfBytes = pdfConverter.GetPdfBytesFromUrl("https://www.example.com"); // Save to file System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes); Console.WriteLine("PDF from URL created successfully!"); } } Imports ExpertPdf.HtmlToPdf Imports System Module Program Sub Main() ' Create the PDF converter Dim pdfConverter As New PdfConverter() ' Set page size and orientation pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4 pdfConverter.PdfDocumentOptions.PdfPageOrientation = PdfPageOrientation.Portrait ' Convert URL to PDF Dim pdfBytes As Byte() = pdfConverter.GetPdfBytesFromUrl("https://www.example.com") ' Save to file System.IO.File.WriteAllBytes("webpage.pdf", pdfBytes) 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() { // Create a PDF renderer var renderer = new ChromePdfRenderer(); // Set page size and orientation renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait; // Convert URL to PDF var pdf = renderer.RenderUrlAsPdf("https://www.example.com"); // Save to file pdf.SaveAs("webpage.pdf"); Console.WriteLine("PDF from URL created successfully!"); } } // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { // Create a PDF renderer var renderer = new ChromePdfRenderer(); // Set page size and orientation renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait; // Convert URL to PDF var pdf = renderer.RenderUrlAsPdf("https://www.example.com"); // Save to file pdf.SaveAs("webpage.pdf"); Console.WriteLine("PDF from URL created successfully!"); } } Imports IronPdf Imports System Class Program Shared Sub Main() ' Create a PDF renderer Dim renderer = New ChromePdfRenderer() ' Set page size and orientation renderer.RenderingOptions.PaperSize = PdfPaperSize.A4 renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait ' Convert URL to PDF Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com") ' Save to file pdf.SaveAs("webpage.pdf") Console.WriteLine("PDF from URL created successfully!") End Sub End Class $vbLabelText $csharpLabel IronPDF의 RenderingOptions은 페이지 설정을 위한 직접적인 속성 접근을 제공합니다. 더 많은 옵션을 보려면 URL to PDF 문서를 참조하세요. 페이지 번호가 있는 헤더 및 푸터 이 예에서는 헤더/풋터 설정의 중요한 차이를 보여줍니다. ExpertPdf는 &P; 토큰이 있는 별도의 PdfHeaderOptions 및 PdfFooterOptions 클래스를 사용하는 반면, IronPDF는 TextHeaderFooter을 {total-pages} 플레이스홀더와 함께 사용합니다. ExpertPdf 구현: // NuGet: Install-Package ExpertPdf.HtmlToPdf using ExpertPdf.HtmlToPdf; using System; class Program { static void Main() { // Create the PDF converter PdfConverter pdfConverter = new PdfConverter(); // Enable header pdfConverter.PdfHeaderOptions.ShowHeader = true; pdfConverter.PdfHeaderOptions.HeaderText = "Document Header"; pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center; // Enable footer with page numbers pdfConverter.PdfFooterOptions.ShowFooter = true; pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;"; pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right; // Convert HTML file to PDF byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlFile("input.html"); // Save to file System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes); Console.WriteLine("PDF with headers and footers created successfully!"); } } // NuGet: Install-Package ExpertPdf.HtmlToPdf using ExpertPdf.HtmlToPdf; using System; class Program { static void Main() { // Create the PDF converter PdfConverter pdfConverter = new PdfConverter(); // Enable header pdfConverter.PdfHeaderOptions.ShowHeader = true; pdfConverter.PdfHeaderOptions.HeaderText = "Document Header"; pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center; // Enable footer with page numbers pdfConverter.PdfFooterOptions.ShowFooter = true; pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;"; pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right; // Convert HTML file to PDF byte[] pdfBytes = pdfConverter.GetPdfBytesFromHtmlFile("input.html"); // Save to file System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes); Console.WriteLine("PDF with headers and footers created successfully!"); } } Imports ExpertPdf.HtmlToPdf Imports System Class Program Shared Sub Main() ' Create the PDF converter Dim pdfConverter As New PdfConverter() ' Enable header pdfConverter.PdfHeaderOptions.ShowHeader = True pdfConverter.PdfHeaderOptions.HeaderText = "Document Header" pdfConverter.PdfHeaderOptions.HeaderTextAlignment = HorizontalTextAlign.Center ' Enable footer with page numbers pdfConverter.PdfFooterOptions.ShowFooter = True pdfConverter.PdfFooterOptions.FooterText = "Page &p; of &P;" pdfConverter.PdfFooterOptions.FooterTextAlignment = HorizontalTextAlign.Right ' Convert HTML file to PDF Dim pdfBytes As Byte() = pdfConverter.GetPdfBytesFromHtmlFile("input.html") ' Save to file System.IO.File.WriteAllBytes("output-with-header-footer.pdf", pdfBytes) Console.WriteLine("PDF with headers and footers created successfully!") End Sub End Class $vbLabelText $csharpLabel IronPDF 구현: // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { // Create a PDF renderer var renderer = new ChromePdfRenderer(); // Configure header renderer.RenderingOptions.TextHeader = new TextHeaderFooter() { CenterText = "Document Header", DrawDividerLine = true }; // Configure footer with page numbers renderer.RenderingOptions.TextFooter = new TextHeaderFooter() { RightText = "Page {page} of {total-pages}", DrawDividerLine = true }; // Convert HTML file to PDF var pdf = renderer.RenderHtmlFileAsPdf("input.html"); // Save to file pdf.SaveAs("output-with-header-footer.pdf"); Console.WriteLine("PDF with headers and footers created successfully!"); } } // NuGet: Install-Package IronPdf using IronPdf; using System; class Program { static void Main() { // Create a PDF renderer var renderer = new ChromePdfRenderer(); // Configure header renderer.RenderingOptions.TextHeader = new TextHeaderFooter() { CenterText = "Document Header", DrawDividerLine = true }; // Configure footer with page numbers renderer.RenderingOptions.TextFooter = new TextHeaderFooter() { RightText = "Page {page} of {total-pages}", DrawDividerLine = true }; // Convert HTML file to PDF var pdf = renderer.RenderHtmlFileAsPdf("input.html"); // Save to file pdf.SaveAs("output-with-header-footer.pdf"); Console.WriteLine("PDF with headers and footers created successfully!"); } } Imports IronPdf Imports System Class Program Shared Sub Main() ' Create a PDF renderer Dim renderer = New ChromePdfRenderer() ' Configure header renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With { .CenterText = "Document Header", .DrawDividerLine = True } ' Configure footer with page numbers renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With { .RightText = "Page {page} of {total-pages}", .DrawDividerLine = True } ' Convert HTML file to PDF Dim pdf = renderer.RenderHtmlFileAsPdf("input.html") ' Save to file pdf.SaveAs("output-with-header-footer.pdf") Console.WriteLine("PDF with headers and footers created successfully!") End Sub End Class $vbLabelText $csharpLabel IronPDF의 TextHeaderFooter은 선택적 분할선이 있는 LeftText, CenterText 및 RightText 속성을 제공합니다. HTML 기반 헤더의 경우 HtmlHeaderFooter을 사용하십시오. 더 많은 옵션은 헤더 및 푸터 문서를 참조하세요. 중요한 마이그레이션 노트 라이센스 키 위치 ExpertPdf는 변환기별 라이센싱을 사용합니다. IronPDF는 시작 시 한 번 설정되는 하나의 글로벌 라이센스를 사용합니다: //ExpertPdf- per converter pdfConverter.LicenseKey = "EXPERTPDF-LICENSE"; //IronPDF- global, set once IronPdf.License.LicenseKey = "IRONPDF-LICENSE"; //ExpertPdf- per converter pdfConverter.LicenseKey = "EXPERTPDF-LICENSE"; //IronPDF- global, set once IronPdf.License.LicenseKey = "IRONPDF-LICENSE"; 'ExpertPdf- per converter pdfConverter.LicenseKey = "EXPERTPDF-LICENSE" 'IronPDF- global, set once IronPdf.License.LicenseKey = "IRONPDF-LICENSE" $vbLabelText $csharpLabel 페이지 번호 토큰 변환 ExpertPdf 토큰을IronPDF플레이스홀더로 교체하세요: // ExpertPdf "Page &p; of &P;" // IronPDF "Page {page} of {total-pages}" // ExpertPdf "Page &p; of &P;" // IronPDF "Page {page} of {total-pages}" $vbLabelText $csharpLabel 분산된 패키지 통합 ExpertPdf의 개별 패키지(PDFMerge, PDFSecurity, PDFSplit, PdfToImage)는 IronPDF의 하나의 패키지에 모두 포함됩니다: //ExpertPdf- requires separate PDFMerge package var merger = new PdfMerge(); merger.AppendPDFFile("file1.pdf"); merger.AppendPDFFile("file2.pdf"); merger.SaveMergedPDFToFile("merged.pdf"); //IronPDF- included in main package var pdf1 = PdfDocument.FromFile("file1.pdf"); var pdf2 = PdfDocument.FromFile("file2.pdf"); var merged = PdfDocument.Merge(pdf1, pdf2); merged.SaveAs("merged.pdf"); //ExpertPdf- requires separate PDFMerge package var merger = new PdfMerge(); merger.AppendPDFFile("file1.pdf"); merger.AppendPDFFile("file2.pdf"); merger.SaveMergedPDFToFile("merged.pdf"); //IronPDF- included in main package var pdf1 = PdfDocument.FromFile("file1.pdf"); var pdf2 = PdfDocument.FromFile("file2.pdf"); var merged = PdfDocument.Merge(pdf1, pdf2); merged.SaveAs("merged.pdf"); 'ExpertPdf- requires separate PDFMerge package Dim merger As New PdfMerge() merger.AppendPDFFile("file1.pdf") merger.AppendPDFFile("file2.pdf") merger.SaveMergedPDFToFile("merged.pdf") 'IronPDF- included in main package Dim pdf1 As PdfDocument = PdfDocument.FromFile("file1.pdf") Dim pdf2 As PdfDocument = PdfDocument.FromFile("file2.pdf") Dim merged As PdfDocument = PdfDocument.Merge(pdf1, pdf2) merged.SaveAs("merged.pdf") $vbLabelText $csharpLabel 더 많은 병합 옵션을 보려면 PDF 병합 문서를 참조하세요. 맞춤 페이지 크기 ExpertPdf는 포인트를 사용합니다. IronPDF는 밀리미터를 사용합니다. 변환: points / 72 * 25.4 = mm 마이그레이션 후 점검 목록 코드 마이그레이션을 완료한 후, 다음을 확인하십시오: 생성된 PDF의 시각적 비교 헤더/푸터 및 페이지 번호 확인 보안/암호화 설정 테스트 병합 작업 확인 사용자 정의 페이지 크기 확인 성능 벤치마킹 크로스 플랫폼 테스트 -ExpertPdf라이센스 파일 제거 문서 업데이트 PDF 인프라의 미래 대비 .NET 10이 다가오고 C# 14가 새로운 언어 기능을 도입함에 따라 활성 개발과 현대적 렌더링을 지원하는 PDF 라이브러리를 선택하는 것은 장기적인 호환성을 보장합니다. IronPDF의 매월 업데이트와 최신 Chromium 엔진은 프로젝트가 2025년과 2026년으로 확장됨에 따라 CSS3 레이아웃(Flexbox, Grid)과 함께 계속 올바르게 작동할 PDF 생성의 기초를 제공합니다. ExpertPdf의 구식 Chrome 버전과는 다릅니다. 추가 리소스 IronPDF 설명서 HTML to PDF 튜토리얼 API 참조 NuGet 패키지 라이선스 옵션 ExpertPdf에서 IronPDF로의 전환은 고정된 문서, 구식 Chrome 렌더링, 조각화된 제품 라이선싱, 제한된 현대적 .NET 지원의 문제를 없앱니다. 최신 Chromium 엔진을 사용하는 활발히 유지 보수되는 라이브러리로의 전환은 PDF 생성을 진화하는 웹 표준과 .NET Framework와 동기화되게 합니다. 커티스 차우 지금 바로 엔지니어링 팀과 채팅하세요 기술 문서 작성자 커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다. 커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다. 관련 기사 업데이트됨 2월 1, 2026 C#에서 ZetPDF에서 IronPDF로 마이그레이션하는 방법 이 완전한 C# 가이드로 ZetPDF에서 IronPDF로의 마이그레이션을 마스터하세요. 좌표 기반 라이브러리에서 현대적인 HTML-to-PDF 솔루션으로 전환하십시오. HTML 변환, PDF 병합 및 PDFSharp 종속성 제거에 대한 코드 예제가 포함되어 있습니다. 더 읽어보기 업데이트됨 2월 1, 2026 Scryber.Core에서 IronPDF로의 마이그레이션 방법 (C#) 이 완벽한 C# 가이드를 통해 Scryber.Core에서 IronPDF로의 마이그레이션을 완전히 이해하십시오. 사용자 지정 XML/HTML 파싱에서 현대적인 Chromium 렌더러로 전환하십시오. HTML 변환, URL 렌더링 및 독점 바인딩 교체를 위한 코드 예제가 포함됩니다. 더 읽어보기 업데이트됨 2월 1, 2026 C#에서 XFINIUM.PDF에서 IronPDF로 마이그레이션하는 방법 이 완전한 C# 가이드로 XFINIUM.PDF에서 IronPDF로의 마이그레이션을 마스터하세요. 수동적인 좌표 기반 위치에서 선언적인 HTML/CSS 렌더링으로 전환하십시오. 그래픽 프리미티브 교체 및 자동 레이아웃에 대한 코드 예제가 포함되어 있습니다. 더 읽어보기 C#에서 FastReport에서 IronPDF로 마이그레이션하는 방법C#에서 EO.Pdf에서 IronPDF로 ...
업데이트됨 2월 1, 2026 C#에서 ZetPDF에서 IronPDF로 마이그레이션하는 방법 이 완전한 C# 가이드로 ZetPDF에서 IronPDF로의 마이그레이션을 마스터하세요. 좌표 기반 라이브러리에서 현대적인 HTML-to-PDF 솔루션으로 전환하십시오. HTML 변환, PDF 병합 및 PDFSharp 종속성 제거에 대한 코드 예제가 포함되어 있습니다. 더 읽어보기
업데이트됨 2월 1, 2026 Scryber.Core에서 IronPDF로의 마이그레이션 방법 (C#) 이 완벽한 C# 가이드를 통해 Scryber.Core에서 IronPDF로의 마이그레이션을 완전히 이해하십시오. 사용자 지정 XML/HTML 파싱에서 현대적인 Chromium 렌더러로 전환하십시오. HTML 변환, URL 렌더링 및 독점 바인딩 교체를 위한 코드 예제가 포함됩니다. 더 읽어보기
업데이트됨 2월 1, 2026 C#에서 XFINIUM.PDF에서 IronPDF로 마이그레이션하는 방법 이 완전한 C# 가이드로 XFINIUM.PDF에서 IronPDF로의 마이그레이션을 마스터하세요. 수동적인 좌표 기반 위치에서 선언적인 HTML/CSS 렌더링으로 전환하십시오. 그래픽 프리미티브 교체 및 자동 레이아웃에 대한 코드 예제가 포함되어 있습니다. 더 읽어보기