C#에서 PDFFilePrint에서 IronPDF로 마이그레이션하는 방법
PDFFilePrint에서 IronPDF로 마이그레이션하는 것은 .NET PDF 워크플로우를 기능이 제한된 인쇄 중심 유틸리티에서 생성, 조작 및 인쇄를 단일 통합 API로 처리하는 포괄적인 PDF 라이브러리로 이동시키는 것입니다. 이 가이드는 명령줄 의존성을 제거하면서 PDFFilePrint에서 제공하지 않는 PDF 생성 및 조작 기능을 추가하여 완전한 단계별 마이그레이션 경로를 제공합니다.
PDFFilePrint에서 IronPDF로 마이그레이션 하는 이유
PDFFilePrint이해하기
PDFFilePrint는 C# 응용 프로그램에서 PDF 파일을 인쇄하도록 특별히 설계된 실용적인 도구입니다. 특정 PDF 인쇄 작업에서는 잘 작동하지만, 문서 핸들링의 한 측면으로 기능이 제한됩니다. PDFFilePrint의 주요 매력은 단순함에 있으며, PDF 파일에 대한 인쇄 경험을 제공하는 것에 중점을 두고 있습니다. 그러나 이러한 좁은 초점은 포괄적인 문서 관리 시스템에 대한 상당한 제한을 초래합니다.
중요한PDFFilePrint제한 사항
-
인쇄 전용 초점: PDFFilePrint의 기능은 인쇄로 제한됩니다. PDF 파일을 생성하거나 수정하는 기능이 부족하여 더욱 포괄적인 문서 관리 시스템에서는 제한적입니다.
-
커맨드 라인 종속성: 종종
Process.Start()호출과 함께 커맨드 라인 작업에 의존하는 PDFFilePrint는 보다 견고한 API를 필요로 하는 응용 프로그램에 원활하게 통합되기 어려울 수 있습니다. -
Windows 전용: Windows 인쇄 시스템에 많이 의존하므로 다른 운영 체제를 사용하는 환경에는 최선의 선택이 아닐 수 있습니다.
-
.NET 통합 없음: 네이티브 API, NuGet 패키지, 일부 사용 패턴의 IntelliSense 지원이 없습니다.
-
외부 프로세스 관리: 프로세스 수명 주기, 종료 코드, stdout/stderr에서의 오류 구문 분석을 처리해야 합니다.
-
제한된 오류 처리: 오류를 감지하려면 네이티브 예외보다 표준 출력 및 오류 스트림 구문 분석이 필요합니다.
-
배포 복잡성: 명령 줄 사용 시나리오에서 PDFFilePrint.exe를 애플리케이션과 함께 번들로 제공해야 합니다.
- PDF 생성 없음: 명령 줄 모드에서는 기존 PDF만 인쇄할 수 있으며 직접 PDF를 생성할 수 없습니다.
PDFFilePrintvsIronPDF비교
| 측면 | PDFFilePrint | IronPDF |
|---|---|---|
| 주요 초점 | PDF 인쇄 | 포괄적인 PDF API |
| 유형 | 명령줄 유틸리티 / 기본 라이브러리 | 네이티브 .NET 라이브러리 |
| 통합 | Process.Start() / 기본 API | 직접 API 호출 |
| PDF 인쇄 | ✓ | ✓ |
| PDF 생성 | 제한적 | ✓(HTML, URL, 이미지) |
| PDF 조작 | ✗ | ✓(병합, 분할, 편집) |
| 크로스 플랫폼 | Windows 전용 | 윈도우, 리눅스, macOS |
| 오류 처리 | stdout/stderr 구문 분석 | 네이티브 예외 |
| IntelliSense | 제한적 | 지원됨 |
| NuGet 패키지 | 제한적 | ✓ |
| 문서화 | 기초적인 | 광범위함 |
.NET 10 및 C# 14 도입을 2025년과 2026년을 통해 계획하고 있는 팀을 위해, IronPDF는 PDFFilePrint의 구조적 제한 사항을 해결하는 포괄적인 기반을 다중 플랫폼 지원 및 활발한 개발로 제공합니다.
시작하기 전에
필수 조건
- .NET 환경: .NET Framework 4.6.2+ 또는 .NET Core 3.1+ / .NET 5/6/7/8/9+
- NuGet 접근 권한: NuGet 패키지를 설치할 수 있는 능력
- IronPDF 라이선스: ironpdf.com에서 라이선스 키를 획득하세요
NuGet 패키지 변경 사항
# RemovePDFFilePrintpackage (if installed via NuGet)
dotnet remove package PDFFilePrint
# If using command-line PDFFilePrint.exe, remove from deployment
# Delete bundled PDFFilePrint.exe from your project
# Install IronPDF
dotnet add package IronPdf
# RemovePDFFilePrintpackage (if installed via NuGet)
dotnet remove package PDFFilePrint
# If using command-line PDFFilePrint.exe, remove from deployment
# Delete bundled PDFFilePrint.exe from your project
# Install IronPDF
dotnet add package 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"
PDFFilePrint사용 식별
# FindPDFFilePrintreferences
grep -r "PDFFilePrint\|PDFFile\|CreateFromHtml\|CreateFromUrl" --include="*.cs" .
# Find command-line execution patterns
grep -r "ProcessStartInfo.*pdf\|Process.Start.*print" --include="*.cs" .
# Find batch scripts
find . -name "*.bat" -o -name "*.cmd" | xargs grep -l "PDFFilePrint"
# FindPDFFilePrintreferences
grep -r "PDFFilePrint\|PDFFile\|CreateFromHtml\|CreateFromUrl" --include="*.cs" .
# Find command-line execution patterns
grep -r "ProcessStartInfo.*pdf\|Process.Start.*print" --include="*.cs" .
# Find batch scripts
find . -name "*.bat" -o -name "*.cmd" | xargs grep -l "PDFFilePrint"
완전한 API 참조
네임스페이스 변경
// PDFFilePrint
using PDFFilePrint;
using System.Diagnostics; // For command-line usage
// IronPDF
using IronPdf;
using IronPdf.Printing;
// PDFFilePrint
using PDFFilePrint;
using System.Diagnostics; // For command-line usage
// IronPDF
using IronPdf;
using IronPdf.Printing;
Imports PDFFilePrint
Imports System.Diagnostics ' For command-line usage
' IronPDF
Imports IronPdf
Imports IronPdf.Printing
핵심 클래스 매핑
| PDFFilePrint | IronPDF |
|---|---|
new PDFFile() |
new ChromePdfRenderer() |
new PDFFile() |
PdfDocument.FromFile() |
PDFFile |
PdfDocument |
PDF 생성 메서드 매핑
| PDFFilePrint | IronPDF |
|---|---|
pdf.CreateFromHtml(html) |
renderer.RenderHtmlAsPdf(html) |
pdf.CreateFromUrl(url) |
renderer.RenderUrlAsPdf(url) |
pdf.SaveToFile(path) |
pdf.SaveAs(path) |
PDF 로딩 및 인쇄 매핑
| PDFFilePrint | IronPDF |
|---|---|
pdf.LoadFromFile(path) |
PdfDocument.FromFile(path) |
pdf.Print(printerName) |
pdf.Print(printerName) |
pdf.Print("Default Printer") |
pdf.Print() |
인쇄 설정 매핑 (명령줄에서 API로)
| PDFFilePrint플래그 | IronPDFPrintSettings 속성 |
|---|---|
-printer "Name" |
PrinterName |
-copies N |
NumberOfCopies |
-silent |
ShowPrintDialog = false |
-pages "1-5" |
FromPage, ToPage |
-orientation landscape |
PaperOrientation |
-duplex |
Duplex |
-collate |
Collate |
PDFFilePrint에 없는 새로운 기능
| IronPDF기능 | 설명 |
|---|---|
PdfDocument.Merge() |
여러 개의 PDF 결합 |
pdf.CopyPages() |
특정 페이지 추출 |
pdf.ApplyWatermark() |
워터마크 추가 |
pdf.SecuritySettings |
암호 보호 |
pdf.ExtractAllText() |
텍스트 내용 추출 |
pdf.RasterizeToImageFiles() |
이미지로 변환 |
pdf.SignWithDigitalSignature() |
디지털 서명 |
코드 마이그레이션 예제
예제 1: HTML에서 PDF로 변환
이전 (PDFFilePrint):
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
pdf.CreateFromHtml(htmlContent);
pdf.SaveToFile("output.pdf");
}
}
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
pdf.CreateFromHtml(htmlContent);
pdf.SaveToFile("output.pdf");
}
}
Imports System
Imports PDFFilePrint
Module Program
Sub Main()
Dim pdf As New PDFFile()
Dim htmlContent As String = "<html><body><h1>Hello World</h1></body></html>"
pdf.CreateFromHtml(htmlContent)
pdf.SaveToFile("output.pdf")
End Sub
End Module
이후 (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
string htmlContent = "<html><body><h1>Hello World</h1></body></html>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("output.pdf");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim htmlContent As String = "<html><body><h1>Hello World</h1></body></html>"
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("output.pdf")
End Sub
End Class
여기에서 근본적인 차이는 API 패턴입니다. PDFFilePrint는 PDFFile 클래스 하나를 CreateFromHtml() 및 SaveToFile() 메소드와 함께 사용합니다. IronPDF는 렌더링을 문서 객체와 분리합니다—ChromePdfRenderer가 HTML-을 PDF로 변환하고 PdfDocument 객체를 반환하여, 이는 SaveAs()으로 저장됩니다.
이런 분리는 상당한 이점이 있습니다: 변환 전에 렌더링 옵션을 렌더러에 구성할 수 있으며, 반환된 PdfDocument는 저장 전에 조작(워터마크 추가, 다른 PDF와 병합, 보안 추가)할 수 있습니다. HTML to PDF 문서에서 추가 렌더링 옵션을 참조하십시오.
예제 2: URL에서 PDF로 변환
이전 (PDFFilePrint):
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
pdf.CreateFromUrl("https://www.example.com");
pdf.SaveToFile("webpage.pdf");
}
}
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
pdf.CreateFromUrl("https://www.example.com");
pdf.SaveToFile("webpage.pdf");
}
}
Imports System
Imports PDFFilePrint
Class Program
Shared Sub Main()
Dim pdf As New PDFFile()
pdf.CreateFromUrl("https://www.example.com")
pdf.SaveToFile("webpage.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://www.example.com");
pdf.SaveAs("webpage.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.example.com");
pdf.SaveAs("webpage.pdf");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")
pdf.SaveAs("webpage.pdf")
End Sub
End Class
PDFFilePrint는 같은 PDFFile 클래스에 CreateFromUrl()를 사용합니다. IronPDF는 현대적인 Chromium 엔진을 활용하여 복잡한 CSS3, JavaScript, 최신 웹 기능의 정확한 렌더링을 위해 ChromePdfRenderer에 전용 RenderUrlAsPdf() 메소드를 사용합니다. 렌더링 품질은 예측 가능하며 Chrome 브라우저에서 보는 것과 일치합니다. URL에서 PDF로 변환에 대해 더 알아보세요.
예제 3: PDF 인쇄
이전 (PDFFilePrint):
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
pdf.LoadFromFile("document.pdf");
pdf.Print("Default Printer");
Console.WriteLine("PDF sent to printer");
}
}
// NuGet: Install-Package PDFFilePrint
using System;
using PDFFilePrint;
class Program
{
static void Main()
{
var pdf = new PDFFile();
pdf.LoadFromFile("document.pdf");
pdf.Print("Default Printer");
Console.WriteLine("PDF sent to printer");
}
}
Imports System
Imports PDFFilePrint
Module Program
Sub Main()
Dim pdf As New PDFFile()
pdf.LoadFromFile("document.pdf")
pdf.Print("Default Printer")
Console.WriteLine("PDF sent to printer")
End Sub
End Module
이후 (IronPDF):
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("document.pdf");
pdf.Print();
Console.WriteLine("PDF sent to printer");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Program
{
static void Main()
{
var pdf = PdfDocument.FromFile("document.pdf");
pdf.Print();
Console.WriteLine("PDF sent to printer");
}
}
Imports IronPdf
Imports System
Class Program
Shared Sub Main()
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.Print()
Console.WriteLine("PDF sent to printer")
End Sub
End Class
이 예제에서는 PDF 로딩 및 인쇄에서의 근본적인 구조적 차이를 보여줍니다. PDFFilePrint는 new PDFFile()을 사용한 후 LoadFromFile(), 그리고 Print(printerName)를 사용합니다. IronPDF는 정적 팩토리 메소드 PdfDocument.FromFile()를 사용하여 직접 로드하고, 기본 프린터(또는 프린터 이름을 전달할 수도 있음)를 사용하는 Print()를 사용합니다.
주요 마이그레이션 변경 사항:
new PDFFile()+LoadFromFile(path)→PdfDocument.FromFile(path)Print("Default Printer")→Print()(기본 프린터는 자동으로 설정됩니다)
고급 인쇄 설정을 위해 IronPDF는 PrintSettings 클래스를 제공합니다. 고급 옵션에 대한 내용은 인쇄 문서를 참조하세요.
고급 인쇄 설정 마이그레이션
PDFFilePrint의 커맨드 라인 플래그를 사용하는 응용 프로그램의 경우, IronPDF의 PrintSettings로 마이그레이션하는 방법은 다음과 같습니다:
//PDFFilePrintcommand-line approach:
// PDFFilePrint.exe -silent -copies 3 -printer "HP LaserJet" -pages "1-5" "document.pdf"
//IronPDFequivalent:
using IronPdf;
var pdf = PdfDocument.FromFile("document.pdf");
var settings = new PrintSettings
{
ShowPrintDialog = false, // -silent
NumberOfCopies = 3, // -copies 3
PrinterName = "HP LaserJet", // -printer "HP LaserJet"
FromPage = 1, // -pages "1-5"
ToPage = 5
};
pdf.Print(settings);
//PDFFilePrintcommand-line approach:
// PDFFilePrint.exe -silent -copies 3 -printer "HP LaserJet" -pages "1-5" "document.pdf"
//IronPDFequivalent:
using IronPdf;
var pdf = PdfDocument.FromFile("document.pdf");
var settings = new PrintSettings
{
ShowPrintDialog = false, // -silent
NumberOfCopies = 3, // -copies 3
PrinterName = "HP LaserJet", // -printer "HP LaserJet"
FromPage = 1, // -pages "1-5"
ToPage = 5
};
pdf.Print(settings);
Imports IronPdf
Dim pdf = PdfDocument.FromFile("document.pdf")
Dim settings As New PrintSettings With {
.ShowPrintDialog = False, ' -silent
.NumberOfCopies = 3, ' -copies 3
.PrinterName = "HP LaserJet", ' -printer "HP LaserJet"
.FromPage = 1, ' -pages "1-5"
.ToPage = 5
}
pdf.Print(settings)
무음 모드 플래그 변환
무음 인쇄에 대한 반대 논리를 유의하세요:
// PDFFilePrint: -silent flag enables silent mode
// IronPDF: ShowPrintDialog = false (false = silent)
var settings = new PrintSettings { ShowPrintDialog = false };
// PDFFilePrint: -silent flag enables silent mode
// IronPDF: ShowPrintDialog = false (false = silent)
var settings = new PrintSettings { ShowPrintDialog = false };
' PDFFilePrint: -silent flag enables silent mode
' IronPDF: ShowPrintDialog = false (false = silent)
Dim settings As New PrintSettings With {.ShowPrintDialog = False}
이동 후 새로운 기능
IronPDF로 마이그레이션한 후, PDFFilePrint가 제공할 수 없는 기능을 획득합니다:
한 단계로 생성 및 인쇄
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Thank you for your order.</p>");
pdf.Print("Office Printer");
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Thank you for your order.</p>");
pdf.Print("Office Printer");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Thank you for your order.</p>")
pdf.Print("Office Printer")
PDF 병합
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
Dim pdf1 = PdfDocument.FromFile("document1.pdf")
Dim pdf2 = PdfDocument.FromFile("document2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("merged.pdf")
워터마크
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>");
pdf.SaveAs("watermarked.pdf");
var pdf = PdfDocument.FromFile("document.pdf");
pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>");
pdf.SaveAs("watermarked.pdf");
Dim pdf = PdfDocument.FromFile("document.pdf")
pdf.ApplyWatermark("<h1 style='color:red; opacity:0.3;'>CONFIDENTIAL</h1>")
pdf.SaveAs("watermarked.pdf")
비밀번호 보호
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SaveAs("secured.pdf");
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SaveAs("secured.pdf");
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SecuritySettings.UserPassword = "userpassword"
pdf.SecuritySettings.OwnerPassword = "ownerpassword"
pdf.SaveAs("secured.pdf")
텍스트 추출
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
var pdf = PdfDocument.FromFile("document.pdf");
string text = pdf.ExtractAllText();
Dim pdf = PdfDocument.FromFile("document.pdf")
Dim text As String = pdf.ExtractAllText()
중요한 마이그레이션 노트
클래스 패턴 변경
PDFFilePrint는 모든 작업에 단일 PDFFile 클래스를 사용합니다; IronPDF는 우려사항을 분리합니다:
// PDFFilePrint: Single class
var pdf = new PDFFile();
pdf.CreateFromHtml(html);
pdf.SaveToFile(path);
// IronPDF: Renderer for creation, Document for manipulation
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(path);
// PDFFilePrint: Single class
var pdf = new PDFFile();
pdf.CreateFromHtml(html);
pdf.SaveToFile(path);
// IronPDF: Renderer for creation, Document for manipulation
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs(path);
' PDFFilePrint: Single class
Dim pdf1 = New PDFFile()
pdf1.CreateFromHtml(html)
pdf1.SaveToFile(path)
' IronPDF: Renderer for creation, Document for manipulation
Dim renderer = New ChromePdfRenderer()
Dim pdf2 = renderer.RenderHtmlAsPdf(html)
pdf2.SaveAs(path)
메서드 명명 변경
//PDFFilePrint→ IronPDF
CreateFromHtml() → RenderHtmlAsPdf()
CreateFromUrl() → RenderUrlAsPdf()
LoadFromFile() → PdfDocument.FromFile()
SaveToFile() → SaveAs()
Print(printerName) → Print(printerName) or Print()
//PDFFilePrint→ IronPDF
CreateFromHtml() → RenderHtmlAsPdf()
CreateFromUrl() → RenderUrlAsPdf()
LoadFromFile() → PdfDocument.FromFile()
SaveToFile() → SaveAs()
Print(printerName) → Print(printerName) or Print()
'PDFFilePrint→ IronPDF
RenderHtmlAsPdf() → RenderHtmlAsPdf()
RenderUrlAsPdf() → RenderUrlAsPdf()
PdfDocument.FromFile() → PdfDocument.FromFile()
SaveAs() → SaveAs()
Print(printerName) → Print(printerName) or Print()
종료 코드를 예외 처리로 변경
명령줄 PDFFilePrint를 사용하는 경우:
// PDFFilePrint: Check process exit code
if (process.ExitCode != 0) {
var error = process.StandardError.ReadToEnd();
throw new Exception($"Print failed: {error}");
}
// IronPDF: Use try-catch
try {
pdf.Print();
}
catch (Exception ex) {
// Handle error with full exception details
}
// PDFFilePrint: Check process exit code
if (process.ExitCode != 0) {
var error = process.StandardError.ReadToEnd();
throw new Exception($"Print failed: {error}");
}
// IronPDF: Use try-catch
try {
pdf.Print();
}
catch (Exception ex) {
// Handle error with full exception details
}
' PDFFilePrint: Check process exit code
If process.ExitCode <> 0 Then
Dim error = process.StandardError.ReadToEnd()
Throw New Exception($"Print failed: {error}")
End If
' IronPDF: Use try-catch
Try
pdf.Print()
Catch ex As Exception
' Handle error with full exception details
End Try
외부 종속성 제거
명령줄 PDFFilePrint를 사용하는 경우, 번들 실행 파일 제거:
// Before: Required external executable
private readonly string _pdfFilePrintPath = @"C:\tools\PDFFilePrint.exe";
// After: No external dependencies
//IronPDFis fully self-contained via NuGet
// Before: Required external executable
private readonly string _pdfFilePrintPath = @"C:\tools\PDFFilePrint.exe";
// After: No external dependencies
//IronPDFis fully self-contained via NuGet
' Before: Required external executable
Private ReadOnly _pdfFilePrintPath As String = "C:\tools\PDFFilePrint.exe"
' After: No external dependencies
'IronPDF is fully self-contained via NuGet
기능 비교 요약
| 기능 | PDFFilePrint | IronPDF |
|---|---|---|
| 기본 인쇄 | ✓ | ✓ |
| 무음 인쇄 | ✓ | ✓ |
| 여러 복사본 | ✓ | ✓ |
| 페이지 범위 | ✓ | ✓ |
| 양면 | 다양한 | ✓ |
| HTML에서 생성 | 제한적 | ✓ |
| URL에서 생성 | 제한적 | ✓ |
| PDF 병합 | ✗ | ✓ |
| PDF 분할 | ✗ | ✓ |
| 워터마크 추가 | ✗ | ✓ |
| 텍스트 추출 | ✗ | ✓ |
| 암호 보호 | ✗ | ✓ |
| 디지털 서명 | ✗ | ✓ |
| 크로스 플랫폼 | ✗ | ✓ |
| 네이티브 .NET API | 제한적 | ✓ |
마이그레이션 체크리스트
사전 마이그레이션
- 코드베이스에서 모든PDFFilePrint참조 찾기
- 현재 사용되는 메서드 문서화 (CreateFromHtml, CreateFromUrl, Print 등)
- 환경 간에 사용되는 프린터 이름 식별
- Process.Start 패턴을 사용하는 경우 명령줄 인수 나열
- 새로운 기능을 위한 기회 식별 (병합, 워터마크, 보안) -IronPDF라이센스 키를 받으세요
패키지 변경 사항
PDFFilePrintNuGet 패키지 제거- 배포에서 번들 PDFFilePrint.exe 제거 (적용되는 경우)
IronPdfNuGet Install-Package:dotnet add package IronPdf- 네임스페이스 가져오기 업데이트
코드 변경 사항
- 시작 시 라이선스 키 구성 추가
new PDFFile()+CreateFromHtml()을ChromePdfRenderer.RenderHtmlAsPdf()로 교체new PDFFile()+CreateFromUrl()을ChromePdfRenderer.RenderUrlAsPdf()로 교체LoadFromFile()을PdfDocument.FromFile()로 교체SaveToFile()을SaveAs()로 교체- 필요한 경우
Print()호출 업데이트 - 종료 코드 검사를 예외 처리로 대체 (적용되는 경우)
마이그레이션 이후
- 소스 제어에서 PDFFilePrint.exe 제거 -PDFFilePrint복사를 제거하도록 빌드 스크립트를 업데이트
- 모든 대상 프린터에서 인쇄 테스트
- 적용되는 경우 크로스 플랫폼 테스트
- 필요에 따라 새로운 기능 추가 (워터마크, 보안)
- 문서 업데이트

