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

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

PDFFilePrint에서 IronPDF로 마이그레이션하는 것은 .NET PDF 워크플로우를 기능이 제한된 인쇄 중심 유틸리티에서 생성, 조작 및 인쇄를 단일 통합 API로 처리하는 포괄적인 PDF 라이브러리로 이동시키는 것입니다. 이 가이드는 명령줄 의존성을 제거하면서 PDFFilePrint에서 제공하지 않는 PDF 생성 및 조작 기능을 추가하여 완전한 단계별 마이그레이션 경로를 제공합니다.

PDFFilePrint에서 IronPDF로 마이그레이션 하는 이유

PDFFilePrint이해하기

PDFFilePrint는 C# 응용 프로그램에서 PDF 파일을 인쇄하도록 특별히 설계된 실용적인 도구입니다. 특정 PDF 인쇄 작업에서는 잘 작동하지만, 문서 핸들링의 한 측면으로 기능이 제한됩니다. PDFFilePrint의 주요 매력은 단순함에 있으며, PDF 파일에 대한 인쇄 경험을 제공하는 것에 중점을 두고 있습니다. 그러나 이러한 좁은 초점은 포괄적인 문서 관리 시스템에 대한 상당한 제한을 초래합니다.

중요한PDFFilePrint제한 사항

  1. 인쇄 전용 초점: PDFFilePrint의 기능은 인쇄로 제한됩니다. PDF 파일을 생성하거나 수정하는 기능이 부족하여 더욱 포괄적인 문서 관리 시스템에서는 제한적입니다.

  2. 커맨드 라인 종속성: 종종 Process.Start() 호출과 함께 커맨드 라인 작업에 의존하는 PDFFilePrint는 보다 견고한 API를 필요로 하는 응용 프로그램에 원활하게 통합되기 어려울 수 있습니다.

  3. Windows 전용: Windows 인쇄 시스템에 많이 의존하므로 다른 운영 체제를 사용하는 환경에는 최선의 선택이 아닐 수 있습니다.

  4. .NET 통합 없음: 네이티브 API, NuGet 패키지, 일부 사용 패턴의 IntelliSense 지원이 없습니다.

  5. 외부 프로세스 관리: 프로세스 수명 주기, 종료 코드, stdout/stderr에서의 오류 구문 분석을 처리해야 합니다.

  6. 제한된 오류 처리: 오류를 감지하려면 네이티브 예외보다 표준 출력 및 오류 스트림 구문 분석이 필요합니다.

  7. 배포 복잡성: 명령 줄 사용 시나리오에서 PDFFilePrint.exe를 애플리케이션과 함께 번들로 제공해야 합니다.

  8. 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의 구조적 제한 사항을 해결하는 포괄적인 기반을 다중 플랫폼 지원 및 활발한 개발로 제공합니다.


시작하기 전에

필수 조건

  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 패키지 변경 사항

# 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
SHELL

라이선스 구성

// 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

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"
SHELL

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

핵심 클래스 매핑

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

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

여기에서 근본적인 차이는 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
$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://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
$vbLabelText   $csharpLabel

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

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

이 예제에서는 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)
$vbLabelText   $csharpLabel

무음 모드 플래그 변환

무음 인쇄에 대한 반대 논리를 유의하세요:

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

이동 후 새로운 기능

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

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

워터마크

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

비밀번호 보호

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

텍스트 추출

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

중요한 마이그레이션 노트

클래스 패턴 변경

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

메서드 명명 변경

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

종료 코드를 예외 처리로 변경

명령줄 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
$vbLabelText   $csharpLabel

외부 종속성 제거

명령줄 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
$vbLabelText   $csharpLabel

기능 비교 요약

기능 PDFFilePrint IronPDF
기본 인쇄
무음 인쇄
여러 복사본
페이지 범위
양면 다양한
HTML에서 생성 제한적
URL에서 생성 제한적
PDF 병합
PDF 분할
워터마크 추가
텍스트 추출
암호 보호
디지털 서명
크로스 플랫폼
네이티브 .NET API 제한적

마이그레이션 체크리스트

사전 마이그레이션

  • 코드베이스에서 모든PDFFilePrint참조 찾기
  • 현재 사용되는 메서드 문서화 (CreateFromHtml, CreateFromUrl, Print 등)
  • 환경 간에 사용되는 프린터 이름 식별
  • Process.Start 패턴을 사용하는 경우 명령줄 인수 나열
  • 새로운 기능을 위한 기회 식별 (병합, 워터마크, 보안) -IronPDF라이센스 키를 받으세요

패키지 변경 사항

  • PDFFilePrint NuGet 패키지 제거
  • 배포에서 번들 PDFFilePrint.exe 제거 (적용되는 경우)
  • IronPdf NuGet 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복사를 제거하도록 빌드 스크립트를 업데이트
  • 모든 대상 프린터에서 인쇄 테스트
  • 적용되는 경우 크로스 플랫폼 테스트
  • 필요에 따라 새로운 기능 추가 (워터마크, 보안)
  • 문서 업데이트

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

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

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

아이언 서포트 팀

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