비교

PdfiumViewer vs IronPDF: 기술 비교 가이드

.NET 개발자가 Windows Forms 애플리케이션에서 PDF 기능이 필요할 때, 구글의 PDFium 렌더링 엔진에 대한 .NET 래퍼인 PdfiumViewer를 자주 마주합니다. 이 비교는 PdfiumViewer와 IronPDF를 함께 살펴보고, 그 건축적 차이점, 기능의 완전성, 그리고 현대 애플리케이션 요구 사항에 대한 적합성을 분석합니다.

PdfiumViewer란 무엇인가요?

PdfiumViewer는 Chrome 브라우저 내에서 사용되는 Google의 PDF 렌더링 엔진인 PDFium에 대한 .NET 래퍼입니다. 이 라이브러리는 Windows Forms 애플리케이션을 위해 특별히 설계된 고성능 PDF 렌더링을 제공하여 WinForms 인터페이스에 직접 내장할 수 있는 PdfViewer 컨트롤을 제공합니다.

Apache 2.0 라이센스 하에 배포되는 PdfiumViewer는 비용 효율적인 PDF 보기 기능을 제공합니다. 그러나 그 범위는 근본적으로 보기 및 렌더링에 제한되어 있으며, 라이브러리는 PDF 문서를 생성, 편집, 조작할 수 없습니다. 또한, PdfiumViewer는 불확실한 유지 관리 상태에 직면하고 있어, 장기 지원이 필요한 프로덕션 애플리케이션에는 위험이 따릅니다.

PdfiumViewer의 주요 특징은:

  • 보기 전용 초점: PDF 콘텐츠 표시를 위해 특별히 설계됨
  • Windows Forms 전용: WinForms 애플리케이션에 제한됨
  • 오픈 소스: Apache 2.0 라이센스 무상 사용
  • 네이티브 바이너리 종속성: 플랫폼별 PDFium 바이너리(x86/x64)가 필요함
  • 불확실한 유지 관리: 제한된 업데이트 및 장기 지원 불명확

IronPDF란?

IronPDF는 전체 PDF 라이프사이클 관리를 제공하는 완전한 .NET 라이브러리입니다. ChromePdfRenderer 클래스는 현대적인 Chromium 기반 엔진을 사용하여 HTML, CSS 및 JavaScript에서 PDF를 생성하며, PdfDocument 클래스는 광범위한 조작 및 추출 기능을 제공합니다.

PdfiumViewer의 보기 전용 초점과 달리, IronPDF는 PDF 생성, 텍스트 추출, 조작, 병합, 워터마크 첨가, 보안을 모두 하나의 라이브러리 안에서 처리합니다. 이 라이브러리는Console, Web, Desktop애플리케이션 전반에 걸쳐 작동하며, Windows Forms 제한을 훨씬 초과합니다.

아키텍처 비교

PdfiumViewer와 IronPDF의 근본적인 차이는 그들의 범위에 있습니다: 보기 전용 대 완전한 PDF 솔루션.

측면PdfiumViewerIronPDF
주요 초점WinForms PDF 뷰어완전한 PDF 솔루션
PDF 생성✓(HTML, URL, 이미지)
텍스트 추출
PDF 조작✓(병합, 분할, 편집)
내장 뷰어✗ (백엔드 초점)
플랫폼 지원Windows Forms 전용Console, Web, Desktop
프레임워크 지원.NET Framework.NET Framework, Core, 5+
유지보수불확실활성

Windows Forms에서 PDF 보기만 필요한 애플리케이션의 경우, PdfiumViewer로 충분할 수 있습니다. PDF 생성, 텍스트 추출, 또는 어떤 생성 기능이라도 필요한 애플리케이션의 경우, IronPDF는 완전한 솔루션을 제공합니다.

HTML을 PDF로 변환

HTML-to-PDF 변환은 이러한 라이브러리 간의 근본적인 기능 차이를 보여줍니다.

PdfiumViewer의 HTML-to-PDF 접근법:

// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System.IO;
using System.Drawing.Printing;

// PDFiumViewer is primarily a PDF viewer/renderer, not a generator
// It cannot directly convert HTML to PDF
// You would need to use another library to first create the PDF
// Then use PDFiumViewer to display it:

string htmlContent = "<h1>Hello World</h1><p>This is a test document.</p>";

// This functionality is NOT available in PDFiumViewer
// You would need a different library like wkhtmltopdf or similar
// PDFiumViewer can only open and display existing PDFs:

string existingPdfPath = "output.pdf";
using (var document = PdfDocument.Load(existingPdfPath))
{
    // Can only render/display existing PDF
    var image = document.Render(0, 300, 300, true);
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System.IO;
using System.Drawing.Printing;

// PDFiumViewer is primarily a PDF viewer/renderer, not a generator
// It cannot directly convert HTML to PDF
// You would need to use another library to first create the PDF
// Then use PDFiumViewer to display it:

string htmlContent = "<h1>Hello World</h1><p>This is a test document.</p>";

// This functionality is NOT available in PDFiumViewer
// You would need a different library like wkhtmltopdf or similar
// PDFiumViewer can only open and display existing PDFs:

string existingPdfPath = "output.pdf";
using (var document = PdfDocument.Load(existingPdfPath))
{
    // Can only render/display existing PDF
    var image = document.Render(0, 300, 300, true);
}
$vbLabelText   $csharpLabel

IronPDF의 HTML-to-PDF 접근 방식:

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

string htmlContent = "<h1>Hello World</h1><p>This is a test document.</p>";

// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Save the PDF
pdf.SaveAs("output.pdf");

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

string htmlContent = "<h1>Hello World</h1><p>This is a test document.</p>";

// Create a PDF from HTML string
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);

// Save the PDF
pdf.SaveAs("output.pdf");

Console.WriteLine("PDF created successfully!");
$vbLabelText   $csharpLabel

PdfiumViewer는 HTML에서 PDF를 생성할 수 없습니다. 이 기능을 지원하지 않습니다. 이 라이브러리는 기존 PDF 파일만 열고 표시할 수 있습니다. HTML을 PDF로 변환해야 하는 애플리케이션은 PdfiumViewer를 추가 라이브러리와 결합해야 하며, 이로 인해 복잡성 및 잠재적인 호환성 문제가 발생할 수 있습니다.

IronPDF의 ChromePdfRenderer는 최신 Chromium 엔진을 사용하여 CSS3, Flexbox, Grid 및 JavaScript 실행에 대한 완전한 지원을 통해 HTML 콘텐츠를 변환하며, 웹 콘텐츠에서 높은 충실도의 PDF 출력을 생성합니다.

텍스트 추출

텍스트 추출은 이러한 라이브러리들 간의 또 다른 중요한 기능 차이를 보여줍니다.

PdfiumViewer 텍스트 추출 접근 방식:

// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.Text;

string pdfPath = "document.pdf";

// PDFiumViewer has limited text extraction capabilities
// It's primarily designed for rendering, not text extraction
using (var document = PdfDocument.Load(pdfPath))
{
    int pageCount = document.PageCount;
    Console.WriteLine($"Total pages: {pageCount}");

    // PDFiumViewer does not have built-in text extraction
    // You would need to use OCR or another library
    // It can only render pages as images
    for (int i = 0; i < pageCount; i++)
    {
        var pageImage = document.Render(i, 96, 96, false);
        Console.WriteLine($"Rendered page {i + 1}");
    }
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.Text;

string pdfPath = "document.pdf";

// PDFiumViewer has limited text extraction capabilities
// It's primarily designed for rendering, not text extraction
using (var document = PdfDocument.Load(pdfPath))
{
    int pageCount = document.PageCount;
    Console.WriteLine($"Total pages: {pageCount}");

    // PDFiumViewer does not have built-in text extraction
    // You would need to use OCR or another library
    // It can only render pages as images
    for (int i = 0; i < pageCount; i++)
    {
        var pageImage = document.Render(i, 96, 96, false);
        Console.WriteLine($"Rendered page {i + 1}");
    }
}
$vbLabelText   $csharpLabel

IronPDF 텍스트 추출 접근 방법:

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

string pdfPath = "document.pdf";

// Open and extract text from PDF
PdfDocument pdf = PdfDocument.FromFile(pdfPath);

// Extract text from all pages
string allText = pdf.ExtractAllText();
Console.WriteLine("Extracted Text:");
Console.WriteLine(allText);

// Extract text from specific page
string pageText = pdf.ExtractTextFromPage(0);
Console.WriteLine($"\nFirst page text: {pageText}");

Console.WriteLine($"\nTotal pages: {pdf.PageCount}");
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

string pdfPath = "document.pdf";

// Open and extract text from PDF
PdfDocument pdf = PdfDocument.FromFile(pdfPath);

// Extract text from all pages
string allText = pdf.ExtractAllText();
Console.WriteLine("Extracted Text:");
Console.WriteLine(allText);

// Extract text from specific page
string pageText = pdf.ExtractTextFromPage(0);
Console.WriteLine($"\nFirst page text: {pageText}");

Console.WriteLine($"\nTotal pages: {pdf.PageCount}");
$vbLabelText   $csharpLabel

PdfiumViewer는 주로 렌더링을 위해 설계되었으며, 텍스트 추출을 위한 것이 아닙니다. 문서는 "내장된 텍스트 추출 기능이 없다"고 명시적으로 언급하며, OCR 또는 다른 라이브러리를 사용해야 한다고 합니다. 라이브러리는 페이지를 이미지로만 렌더링할 수 있습니다.

IronPDF의 ExtractAllText() 메서드는 단일 호출로 모든 페이지의 모든 텍스트를 추출합니다. 더 세밀한 제어를 위해, ExtractTextFromPage()는 특정 페이지의 텍스트를 제공합니다. 이 네이티브 텍스트 추출 기능은 OCR이나 추가 라이브러리의 필요성을 제거합니다.

PDF를 이미지로 변환

PDF-이미지 렌더링은 PdfiumViewer가 뛰어난 분야 중 하나이며, 렌더링 엔진으로서의 주요 강점입니다.

PdfiumViewer PDF-이미지 변환 접근 방식:

// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.Drawing;
using System.Drawing.Imaging;

string pdfPath = "document.pdf";
string outputImage = "page1.png";

// PDFiumViewer excels at rendering PDFs to images
using (var document = PdfDocument.Load(pdfPath))
{
    // Render first page at 300 DPI
    int dpi = 300;
    using (var image = document.Render(0, dpi, dpi, true))
    {
        // Save as PNG
        image.Save(outputImage, ImageFormat.Png);
        Console.WriteLine($"Page rendered to {outputImage}");
    }

    // Render all pages
    for (int i = 0; i < document.PageCount; i++)
    {
        using (var pageImage = document.Render(i, 150, 150, true))
        {
            pageImage.Save($"page_{i + 1}.png", ImageFormat.Png);
        }
    }
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.Drawing;
using System.Drawing.Imaging;

string pdfPath = "document.pdf";
string outputImage = "page1.png";

// PDFiumViewer excels at rendering PDFs to images
using (var document = PdfDocument.Load(pdfPath))
{
    // Render first page at 300 DPI
    int dpi = 300;
    using (var image = document.Render(0, dpi, dpi, true))
    {
        // Save as PNG
        image.Save(outputImage, ImageFormat.Png);
        Console.WriteLine($"Page rendered to {outputImage}");
    }

    // Render all pages
    for (int i = 0; i < document.PageCount; i++)
    {
        using (var pageImage = document.Render(i, 150, 150, true))
        {
            pageImage.Save($"page_{i + 1}.png", ImageFormat.Png);
        }
    }
}
$vbLabelText   $csharpLabel

IronPDF PDF-이미지 변환 방식:

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

string pdfPath = "document.pdf";
string outputImage = "page1.png";

// Open PDF and convert to images
PdfDocument pdf = PdfDocument.FromFile(pdfPath);

// Convert first page to image
var firstPageImage = pdf.ToBitmap(0);
firstPageImage[0].Save(outputImage);
Console.WriteLine($"Page rendered to {outputImage}");

// Convert all pages to images
var allPageImages = pdf.ToBitmap();
for (int i = 0; i < allPageImages.Length; i++)
{
    allPageImages[i].Save($"page_{i + 1}.png");
    Console.WriteLine($"Saved page {i + 1}");
}

Console.WriteLine($"Total pages converted: {pdf.PageCount}");
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Linq;

string pdfPath = "document.pdf";
string outputImage = "page1.png";

// Open PDF and convert to images
PdfDocument pdf = PdfDocument.FromFile(pdfPath);

// Convert first page to image
var firstPageImage = pdf.ToBitmap(0);
firstPageImage[0].Save(outputImage);
Console.WriteLine($"Page rendered to {outputImage}");

// Convert all pages to images
var allPageImages = pdf.ToBitmap();
for (int i = 0; i < allPageImages.Length; i++)
{
    allPageImages[i].Save($"page_{i + 1}.png");
    Console.WriteLine($"Saved page {i + 1}");
}

Console.WriteLine($"Total pages converted: {pdf.PageCount}");
$vbLabelText   $csharpLabel

PdfiumViewer의 Render() 메서드는 출력 품질에 대한 세밀한 제어가 가능한 DPI 기반 렌더링을 제공합니다. 이 메서드는 중첩된 using 문장으로 수동 폐기 패턴이 필요합니다.

IronPDF의 ToBitmap() 메서드는 더 간단한 API를 제공하여 저장 또는 처리할 수 있는 비트맵 배열을 반환합니다. 두 라이브러리 모두 이 작업을 효과적으로 처리하지만, API 패턴이 다릅니다.

API 매핑 참조

팀이 PdfiumViewer를 IronPDF로 전환하려고 고려할 때, API 매핑을 이해하는 것이 작업량을 추정하는 데 도움이 됩니다.

문서 로딩

PdfiumViewerIronPDF
PdfDocument.Load(path)PdfDocument.FromFile(path)
PdfDocument.Load(stream)PdfDocument.FromStream(stream)
document.PageCountdocument.PageCount
document.PageSizes[index]document.Pages[index].Width/Height

렌더링

PdfiumViewerIronPDF
document.Render(index, dpiX, dpiY, flag)pdf.ToBitmap(index)
document.Render(index, width, height, dpiX, dpiY, flags)pdf.RasterizeToImageFiles(path, dpi)

PdfiumViewer에서 사용할 수 없는 기능

IronPDF기능설명
ChromePdfRenderer.RenderHtmlAsPdf()HTML로부터 PDF 생성
ChromePdfRenderer.RenderUrlAsPdf()URL로부터 PDF 생성
pdf.ExtractAllText()모든 텍스트 추출
pdf.ExtractTextFromPage(index)특정 페이지에서 텍스트 추출
PdfDocument.Merge()여러 개의 PDF 결합
pdf.ApplyWatermark()워터마크 추가
pdf.SecuritySettings암호 보호

네이티브 바이너리 종속성

중요한 아키텍처 차이는 종속성 관리에 있습니다.

PdfiumViewer 배포 구조:

MyApp/
├── bin/
│   ├── MyApp.dll
│   ├── PdfiumViewer.dll
│   ├── x86/
│   │   └── pdfium.dll
│   └── x64/
│       └── pdfium.dll

IronPDF 배포 구조:

MyApp/
├── bin/
│   ├── MyApp.dll
│   └── IronPdf.dll  # 모든 것이 포함됨

PdfiumViewer는 플랫폼별 네이티브 바이너리를 번들링하고 관리해야 합니다. 이는 특히 여러 플랫폼을 대상으로 하는 애플리케이션의 경우 배포 복잡성을 초래합니다. 각 대상 환경에는 올바른 네이티브 DLL이 필요하며, 응용 프로그램은 실행 시간에 적절한 버전을 올바르게 로드해야 합니다.

IronPDF의 완전히 관리된 아키텍처는 이러한 문제를 제거합니다. 라이브러리는 종속성을 내부적으로 처리하여 배포를 간소화합니다.

기능 비교 요약

PdfiumViewer와IronPDF간의 범위 차이는 기본 보기 이상의 거의 모든 PDF 작업에 걸쳐 있습니다.

기능PdfiumViewerIronPDF
PDF 로드
이미지로 렌더링
내장 뷰어
PDF 인쇄
텍스트 추출
HTML에서 생성
URL에서 생성
PDF 병합
PDF 분할
워터마크 추가
헤더/푸터
비밀번호 보호
WinForms 지원
ASP.NET 지원
.NET Core 지원제한적
활성 유지관리불확실

텍스트 추출, PDF 합치기 또는 워터마킹을 필요로 하는 애플리케이션은 PdfiumViewer만으로는 이를 달성할 수 없습니다.

내장 뷰어 고려사항

PdfiumViewer가 우위를 점하는 한 가지 영역은 Windows Forms 애플리케이션을 위한 내장 PdfViewer 컨트롤입니다. IronPDF는 백엔드 중심이며 뷰어 컨트롤을 포함하지 않습니다.

PdfiumViewer에서 마이그레이션하여 PDF 뷰잉이 필요한 응용 프로그램의 경우 대안으로는 다음이 포함됩니다:

  • 기본 시스템 뷰어: 사용자의 기본 PDF 애플리케이션에서 PDF를 열려면 Process.Start()을(를) 사용합니다. WebBrowser 컨트롤: WinForms WebBrowser 컨트롤에서 PDF를 표시합니다 (PDF 플러그인 필요)
  • 서드 파티 뷰어: Syncfusion, DevExpress, 또는 Telerik과 같은 벤더의 전문 뷰어 컨트롤 웹 기반 보기: 웹 애플리케이션의 경우, PDF를 제공하고 브라우저가 이를 표시하도록 하세요
// Open in default PDF viewer
Process.Start(new ProcessStartInfo(pdfPath) { UseShellExecute = true });
// Open in default PDF viewer
Process.Start(new ProcessStartInfo(pdfPath) { UseShellExecute = true });
$vbLabelText   $csharpLabel

팀이 PdfiumViewer에서 IronPDF로 이동할 것을 고려할 때

여러 요소들이 팀이 PdfiumViewer의 대안으로 IronPDF를 평가하도록 유도합니다:

PDF 생성 요구 사항: PdfiumViewer는 PDF를 생성할 수 없습니다. HTML 템플릿, 보고서 및 웹 콘텐츠에서 PDF를 생성해야 하는 응용 프로그램은 추가 라이브러리가 필요합니다. IronPDF는 현대적인 Chromium 엔진을 사용하여 완전한 PDF 생성을 제공합니다.

텍스트 추출 필요: PdfiumViewer는 PDF에서 텍스트를 추출할 수 없으며, 페이지를 이미지로만 렌더링할 수 있습니다. 텍스트 검색, 인덱싱 또는 콘텐츠 분석이 필요한 애플리케이션은 IronPDF의 기본 텍스트 추출 기능이 필요합니다.

플랫폼 확장: PdfiumViewer는 Windows Forms 애플리케이션에만 제한됩니다. ASP.NET 웹 애플리케이션, 콘솔 유틸리티 또는 크로스 플랫폼 솔루션을 구축하는 조직은 IronPDF의 광범위한 플랫폼 지원이 필요합니다.

유지 관리 문제: PdfiumViewer의 불확실한 유지 관리 상태는 장기적인 지원이 필요한 생산 애플리케이션에 위험을 초래합니다. IronPDF는 적극적인 개발과 전문적인 지원을 제공합니다.

기능 확장: 애플리케이션이 성숙해짐에 따라 요구 사항은 종종 뷰잉을 넘어 문서 병합, 워터마킹 또는 보안 설정을 포함하도록 확장됩니다. IronPDF는 이러한 기능을 기본적으로 제공합니다.

설치 비교

PdfiumViewer 설치:

Install-Package PdfiumViewer
Install-Package PdfiumViewer.Native.x86.v8-xfa
Install-Package PdfiumViewer.Native.x64.v8-xfa
Install-Package PdfiumViewer
Install-Package PdfiumViewer.Native.x86.v8-xfa
Install-Package PdfiumViewer.Native.x64.v8-xfa
SHELL

또한 기본 이진 파일 관리.

IronPDF 설치:

Install-Package IronPdf
Install-Package IronPdf
SHELL

IronPDF는 어플리케이션 시작 시 라이센스 키 구성이 필요합니다.

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
$vbLabelText   $csharpLabel

두 라이브러리 모두 .NET Framework를 지원하며, IronPDF는 또한 .NET Core, .NET 5+ 및 앞으로 나아가 .NET 10 및 C# 14를 지원합니다.

결정하기

PdfiumViewer와IronPDF간의 선택은 애플리케이션 요구 사항에 따라 달라집니다:

PdfiumViewer를 고려하십시오: Windows Forms에서 PDF 뷰잉만 필요하고, PDF 생성 또는 텍스트 추출이 필요하지 않으며, 무료 오픈 소스 솔루션을 원하며, 불확실한 장기 유지 관리를 수용할 수 있는 경우.

IronPDF를 고려하십시오: HTML 또는 URL에서 PDF 생성이 필요하고, 텍스트 추출 기능이 필요하며, Windows Forms 이외의 지원이 필요하고, PDF 조작(병합, 분할, 워터마크)이 필요하며, 적극적인 유지 보수 및 지원이 필요하거나, 확장되는 PDF 요구 사항의 애플리케이션을 구축하는 경우.

대부분의 최신 애플리케이션에서 PDF 생성, 추출 및 조작 기능은 필수적입니다. PdfiumViewer의 뷰잉 전용 초점은 추가 라이브러리 없이는 종합적인 PDF 워크플로우에 충분하지 않습니다. IronPDF의 완전한 솔루션은 라이브러리 조합의 필요성을 제거하며, 모든 PDF 작업에 대해 통합된 API를 제공합니다.

IronPDF시작하기

PDF 요구 사항을 확인하기 위해 IronPDF를 평가하려면:

  1. IronPDF NuGet 패키지를 설치합니다: Install-Package IronPdf
  2. 생성 패턴에 대한 HTML to PDF 튜토리얼을 검토하세요.
  3. 콘텐츠 처리용 텍스트 추출 기능 탐색
  4. 포괄적인 예제를 위한 튜토리얼 섹션을 확인하세요.

IronPDF 문서는 일반적인 시나리오에 대한 자세한 가이드를 제공하며, API 참조에는 사용 가능한 모든 클래스와 메서드가 문서화되어 있습니다.

결론

PdfiumViewer와 IronPDF는 .NET PDF 생태계에서 근본적으로 다른 목적을 제공합니다. PdfiumViewer는 Windows Forms 애플리케이션에서 PDF 뷰잉에 뛰어나며, Google's PDFium 엔진을 사용하여 문서를 높은 충실도로 표시합니다. IronPDF는 생성, 텍스트 추출, 조작 및 렌더링을 단일 라이브러리에서 제공하는 완전한 PDF 솔루션을 제공합니다.

Windows Forms에서 PDF 뷰잉만 필요한 애플리케이션의 경우, PdfiumViewer의 초점된 접근법이 적절할 수 있습니다. PDF 생성, 텍스트 추출, 문서 병합 또는 생성 기능이 필요한 애플리케이션의 경우 IronPDF는 추가 라이브러리 없이 이러한 기능을 기본적으로 제공합니다.

결정은 현재 요구 사항을 넘어 예상되는 요구 사항과 유지 관리 고려 사항으로 확장됩니다. PdfiumViewer의 불확실한 유지 관리 상태는 프로젝트 위험을 초래하며, 애플리케이션은 종종 뷰잉으로 시작하지만 생성 및 조작을 필요로하는 경우로 확장됩니다. 처음부터 IronPDF를 선택하면 확장된 요구 사항에 대한 기반을 제공하면서 장기적인 지원과 적극적인 개발을 보장합니다.

이 라이브러리들 간 선택할 때 현재 및 예상되는 PDF 요구 사항을 평가하십시오. PdfiumViewer의 뷰잉 전용 특성은 애플리케이션이 성숙해지고 요구 사항이 확장됨에 따라 명백해지는 구조적 제한을 만듭니다.