Altbilgi içeriğine atla
GEçIş KıLAVUZLARı

PdfiumViewer'dan IronPDF'e C# ile Nasıl Geçilir

PdfiumViewer'dan IronPDF'e göç etmek, .NET PDF iş akışınızı yerel ikili bağımlılıkları olan bir Windows Formları görüntüleme kütüphanesinden, tüm .NET uygulama türleri arasında oluşturma, manipülasyon, metin çıkarımı ve işleme yapan kapsamlı bir PDF çözümüne taşıyor. Bu kılavuz, platform kısıtlamalarını ortadan kaldırırken, PdfiumViewer'ın sağlayamayacağı yetenekler ekleyen eksiksiz, adım adım bir göç yolunu sunmaktadır.

PdfiumViewer'dan IronPDF'e Neden Geçmeli

PdfiumViewer'ı Anlamak

PdfiumViewer, Chrome tarayıcısı içinde kullanılan Google'ın PDF render motoru olan PDFium için bir .NET sarmalayıcıdır. Windows Forms uygulamalarına doğrudan PDF görüntüleme entegrasyonu için basit ama güçlü bir çözüm sunarak, yüksek performanslı, yüksek sadakatli PDF işleme yeteneği sağlar.

Ancak, PdfiumViewer'ın yalnızca bir görüntüleyici olduğunu hatırlamak önemlidir. PDF oluşturma, düzenleme veya manipülasyonu desteklemediği için sadece görüntüleme yeteneklerinden fazlasını talep eden uygulamalar için sınırlandırıcı olabilir. Ayrıca, belirsiz bakım durumu, üretim uygulamaları için risk oluşturur - devam eden geliştirme ve bakım konusunda bazı belirsizlikler vardır, bu da uzun vadeli projeler için bir endişe olabilir.

KritikPdfiumViewerSınırlamaları

  1. Yalnızca Görüntüleme İşlevselliği: HTML'den, görüntülerden veya programatik olarak PDF oluşturamaz. PdfiumViewer'ın yetenekleri, PDF görüntüleme ile sınırlıdır -IronPDFgibi kütüphanelerin aksine, PDF oluşturma, düzenleme, birleştirme veya diğer manipülatif işlevleri desteklemez.

  2. Windows Forms'a Özgü: Kütüphane, diğer kullanıcı arayüzü çerçeveleri için destek sunmayan Windows Forms uygulamalarına odaklanmıştır.

  3. PDF Manipülasyonu Yok: PDF içeriğini birleştiremez, bölemez veya değiştiremez.

  4. Yerel İkili Bağımlılıklar: Platforma özgü PDFium ikilileri gerektirir (x86 ve x64 pdfium.dll dosyaları).

  5. Belirsiz Bakım: Sınırlı güncellemeler ve uzun vadeli destek belirsizliği.

  6. Metin Çıkartımı Yok: PdfiumViewer'da yerleşik metin çıkartma desteği yoktur - OCR veya başka bir kütüphane kullanmanız gerekir. Sadece sayfaları görüntü olarak işleyebilir.

  7. HTML'den PDF'e Yok:PdfiumVieweresas olarak bir PDF görüntüleyici/render edici, bir oluşturucu değil. HTML'yi doğrudan PDF'e dönüştüremez. Başka bir kütüphane, örneğin wkhtmltopdf veya benzerini kullanmanız gerekir.

  8. Başlıklar/Altbilgiler Yok: Sayfa numaraları veya tekrar eden içerik ekleyemez.

  9. Filigranlar Yok: Belgeleri kaplamalarla damgalayamaz.

  10. Güvenlik Özellikleri Yok: PDF'leri şifreleyemez veya parola ile koruyamaz.

PdfiumViewer veIronPDFKarşılaştırması

Bağlam PdfiumViewer IronPDF
Birincil Odak WinForms PDF görüntüleyicisi Tam PDF çözümü
Lisans Apache 2.0 Ticari
PDF Oluşturma ✓(HTML, URL, görüntüler)
PDF Manipulasyonu ✓(birleştirme, bölme, düzenleme)
HTML to PDF ✓(Chromium motoru)
Metin Çıkarma
Filigranlar
Başlıklar/Altbilgiler
Güvenlik
Yerleşik Görüntüleyici ✗(arka uç odaklı)
Platform Desteği Sadece Windows Forms Konsol, Web, Masaüstü
Çerçeve Desteği .NET Framework .NET Framework, Core, 5+
Bakım Belirsiz Aktif

2025 ve 2026 boyunca .NET 10 ve C# 14 benimsemesini planlayan ekipler için IronPDF, Windows Forms kısıtlamasını ve yerel ikili karmaşıklığı ortadan kaldırarak, tüm .NET uygulama türleri arasında çalışan kapsamlı, aktif olarak bakım yapılan bir temel sağlar.


Başlamadan Önce

Önkoşullar

  1. .NET Ortamı:.NET Framework4.6.2+ veya .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGet Erişimi: NuGet paketlerini yükleme yeteneği
  3. IronPDF Lisansı: Lisans anahtarınızı ironpdf.com adresinden edinin

NuGet Paket Değişiklikleri

# RemovePdfiumViewerpackages
dotnet remove package PdfiumViewer
dotnet remove package PdfiumViewer.Native.x86.v8-xfa
dotnet remove package PdfiumViewer.Native.x64.v8-xfa

# Install IronPDF
dotnet add package IronPdf
# RemovePdfiumViewerpackages
dotnet remove package PdfiumViewer
dotnet remove package PdfiumViewer.Native.x86.v8-xfa
dotnet remove package PdfiumViewer.Native.x64.v8-xfa

# Install IronPDF
dotnet add package IronPdf
SHELL

Lisans Yapılandırması

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

PdfiumViewerKullanımını Belirleme

# FindPdfiumViewerusage
grep -r "PdfiumViewer\|PdfViewer\|PdfDocument\.Load" --include="*.cs" .

# Find native binary references
grep -r "pdfium\.dll\|Native\.x86\|Native\.x64" --include="*.csproj" .

# Find viewer control usage
grep -r "PdfViewer" --include="*.cs" --include="*.Designer.cs" .
# FindPdfiumViewerusage
grep -r "PdfiumViewer\|PdfViewer\|PdfDocument\.Load" --include="*.cs" .

# Find native binary references
grep -r "pdfium\.dll\|Native\.x86\|Native\.x64" --include="*.csproj" .

# Find viewer control usage
grep -r "PdfViewer" --include="*.cs" --include="*.Designer.cs" .
SHELL

API Referansının Tamamı

Namespace Değişiklikleri

// PdfiumViewer
using PdfiumViewer;

// IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Editing;
// PdfiumViewer
using PdfiumViewer;

// IronPDF
using IronPdf;
using IronPdf.Rendering;
using IronPdf.Editing;
Imports PdfiumViewer

Imports IronPdf
Imports IronPdf.Rendering
Imports IronPdf.Editing
$vbLabelText   $csharpLabel

Temel Sınıf Eşlemeleri

PdfiumViewer IronPDF
PdfDocument PdfDocument
PdfViewer (eş değeri yok)
PdfRenderer ChromePdfRenderer
(mevcut değil) HtmlHeaderFooter

Belge Yükleme Haritaları

PdfiumViewer IronPDF
PdfDocument.Load(path) PdfDocument.FromFile(path)
PdfDocument.Load(stream) PdfDocument.FromStream(stream)
PdfDocument.Load(bytes) PdfDocument.FromBinaryData(bytes)

Belge Özellikleri Haritalamaları

PdfiumViewer IronPDF
document.PageCount document.PageCount
document.PageSizes document.Pages[i].Width/Height
document.GetPageSize(index) document.Pages[index].Width/Height

Sayfa Görüntüleme Haritalamaları

PdfiumViewer IronPDF
document.Render(pageIndex, dpiX, dpiY, forPrinting) pdf.ToBitmap(pageIndex)
document.Render(pageIndex, width, height, dpiX, dpiY, flags) pdf.RasterizeToImageFiles(path, dpi)

Belgeleri Kaydetme Haritalamaları

PdfiumViewer IronPDF
document.Save(path) pdf.SaveAs(path)
document.Save(stream) pdf.Stream
(mevcut değil) pdf.BinaryData

PdfiumViewer'da Bulunmayan Yeni Özellikler

IronPDFÖzelliği Tanım
pdf.ExtractAllText() Tüm sayfalardan metin çıkarma
pdf.ExtractTextFromPage(index) Belirli sayfadan metin çıkar
ChromePdfRenderer.RenderHtmlAsPdf() HTML'den Oluşturma
ChromePdfRenderer.RenderUrlAsPdf() URL'den Oluşturma
PdfDocument.Merge() PDF'leri birleştir
pdf.CopyPages() Sayfa çıkar
pdf.RemovePages() Sayfa sil
pdf.ApplyWatermark() Filigran ekleme
pdf.AddHtmlHeaders() Üstbilgi ekle
pdf.AddHtmlFooters() Altbilgi ekle
pdf.SecuritySettings Parola koruması
pdf.Form Form doldurma

Kod Geçiş Örnekleri

Örnek 1: PDF'den Metin Çıkarma

Önce (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}");
    }
}
Imports PdfiumViewer
Imports System
Imports System.Text

Dim pdfPath As String = "document.pdf"

' PDFiumViewer has limited text extraction capabilities
' It's primarily designed for rendering, not text extraction
Using document = PdfDocument.Load(pdfPath)
    Dim pageCount As Integer = 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 i As Integer = 0 To pageCount - 1
        Dim pageImage = document.Render(i, 96, 96, False)
        Console.WriteLine($"Rendered page {i + 1}")
    Next
End Using
$vbLabelText   $csharpLabel

Sonra (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}");
Imports IronPdf
Imports System

Module Program
    Sub Main()
        Dim pdfPath As String = "document.pdf"

        ' Open and extract text from PDF
        Dim pdf As PdfDocument = PdfDocument.FromFile(pdfPath)

        ' Extract text from all pages
        Dim allText As String = pdf.ExtractAllText()
        Console.WriteLine("Extracted Text:")
        Console.WriteLine(allText)

        ' Extract text from specific page
        Dim pageText As String = pdf.ExtractTextFromPage(0)
        Console.WriteLine(vbCrLf & "First page text: " & pageText)

        Console.WriteLine(vbCrLf & "Total pages: " & pdf.PageCount)
    End Sub
End Module
$vbLabelText   $csharpLabel

Bu örnek temel bir yetenek açığını vurgular. PdfiumViewer, "yerleşik metin çıkarımı yok" ve "OCR veya başka bir kütüphane kullanmanız gerekir" - sadece sayfaları görüntü olarak işleyebilir olduğunu açıkça belirtir.PdfiumViewerile bir PDF'den metin almanız gerekiyorsa, bir görüntüye işlemek ve OCR yapmak zorunda kalıyorsunuz.

IronPDF, tüm belge için ExtractAllText() veya belirli sayfalar için ExtractTextFromPage(index) ile yerel metin çıkarımı sağlar. OCR yok, geçici çözümler yok - PDF içeriğinden doğrudan metin çıkarımı. metin çıkarma dökümanlarına ek seçenekler için bakın.

Örnek 2: HTML'den PDF'e Dönüşüm

Önce (PdfiumViewer):

// 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);
}
Imports PdfiumViewer
Imports System.IO
Imports 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:

Dim htmlContent As String = "<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:

Dim existingPdfPath As String = "output.pdf"
Using document = PdfDocument.Load(existingPdfPath)
    ' Can only render/display existing PDF
    Dim image = document.Render(0, 300, 300, True)
End Using
$vbLabelText   $csharpLabel

Sonra (IronPDF):

// 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!");
Imports IronPdf
Imports System

Module Program
    Sub Main()
        Dim htmlContent As String = "<h1>Hello World</h1><p>This is a test document.</p>"

        ' Create a PDF from HTML string
        Dim renderer As New ChromePdfRenderer()
        Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)

        ' Save the PDF
        pdf.SaveAs("output.pdf")

        Console.WriteLine("PDF created successfully!")
    End Sub
End Module
$vbLabelText   $csharpLabel

Bu örnek, iki kütüphane arasındaki en önemli yetenek farkını gösterir.PdfiumVieweraçıkça belirtir "Bu işlevsellik PDFiumViewer'da YOK" ve "wkhtmltopdf veya benzer bir başka kütüphaneye ihtiyaçınız olur" -PdfiumVieweryalnızca mevcut PDF'leri açıp görüntüleyebilir.

IronPDF, HTML, CSS ve JavaScript'in doğru bir şekilde işlenmesi için dahili olarak bir Chromium motoru kullanan ChromePdfRenderer aracılığıyla yerel HTML'den PDF'e dönüştürme sağlar. RenderHtmlAsPdf() yöntemi, HTML dizelerini doğrudan PDF belgelerine dönüştürür.IronPDFayrıca URL'leri RenderUrlAsPdf() ile ve HTML dosyalarını RenderHtmlFileAsPdf() ile işleyebilir. Kapsamlı örnekler için HTML'den PDF'e döndürme belgesine bakın.

Örnek 3: PDF'ten Görüntüye Dönüşüm

Önce (PdfiumViewer):

// 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);
        }
    }
}
Imports PdfiumViewer
Imports System
Imports System.Drawing
Imports System.Drawing.Imaging

Module Module1
    Sub Main()
        Dim pdfPath As String = "document.pdf"
        Dim outputImage As String = "page1.png"

        ' PDFiumViewer excels at rendering PDFs to images
        Using document = PdfDocument.Load(pdfPath)
            ' Render first page at 300 DPI
            Dim dpi As Integer = 300
            Using image = document.Render(0, dpi, dpi, True)
                ' Save as PNG
                image.Save(outputImage, ImageFormat.Png)
                Console.WriteLine($"Page rendered to {outputImage}")
            End Using

            ' Render all pages
            For i As Integer = 0 To document.PageCount - 1
                Using pageImage = document.Render(i, 150, 150, True)
                    pageImage.Save($"page_{i + 1}.png", ImageFormat.Png)
                End Using
            Next
        End Using
    End Sub
End Module
$vbLabelText   $csharpLabel

Sonra (IronPDF):

// 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}");
Imports IronPdf
Imports System
Imports System.Linq

Module Module1
    Sub Main()
        Dim pdfPath As String = "document.pdf"
        Dim outputImage As String = "page1.png"

        ' Open PDF and convert to images
        Dim pdf As PdfDocument = PdfDocument.FromFile(pdfPath)

        ' Convert first page to image
        Dim firstPageImage = pdf.ToBitmap(0)
        firstPageImage(0).Save(outputImage)
        Console.WriteLine($"Page rendered to {outputImage}")

        ' Convert all pages to images
        Dim allPageImages = pdf.ToBitmap()
        For i As Integer = 0 To allPageImages.Length - 1
            allPageImages(i).Save($"page_{i + 1}.png")
            Console.WriteLine($"Saved page {i + 1}")
        Next

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

Bu, PdfiumViewer'ın en iyi olduğu bir alandır—PDF'lerin görüntüye işlenmesi onun başlıca gücüdür. Her iki kütüphane de bu görevi etkili bir şekilde ele alır, ancak farklı desenlerle.

PdfiumViewer, düzgün şekilde imha edilmesi için iç içe geçmiş using ifadeleriyle document.Render(pageIndex, dpiX, dpiY, forPrinting) kullanır. ImageFormat enumu için System.Drawing ve System.Drawing.Imaging'yi içe aktarmanız gerekir.

IronPDF, bir bitmap dizisi döndüren pdf.ToBitmap(pageIndex) kullanır. Desen, iç içe atma gereklilikleri olmadan daha basittir. Toplu işlemler için, parametresiz ToBitmap() tüm sayfaları döndürür. Doğrudan dosya çıktısı için RasterizeToImageFiles()'yi de kullanabilirsiniz. Ek işleme seçenekleri için PDF'ten görüntüye döndürme belgesine bakın.


Yerel Bağımlılıkların Kaldırılması

PdfiumViewer'dan IronPDF'e göç etmenin önemli avantajlarından biri, yerel ikili yönetiminin ortadan kaldırılmasıdır.

Önce (PdfiumViewer) - Karmaşık Dağıtım

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

Sonra (IronPDF) - Temiz Dağıtım

MyApp/
├── bin/
│   ├── MyApp.dll
│   └── IronPdf.dll  # Her şey dahil

Yerel İkili Başvuruların Kaldırılması

# Delete native PDFium binaries
rm -rf x86/ x64/ runtimes/

# Remove from .csproj native package references
# <PackageReference Include="PdfiumViewer.Native.x86.v8-xfa" />
# <PackageReference Include="PdfiumViewer.Native.x64.v8-xfa" />
# Delete native PDFium binaries
rm -rf x86/ x64/ runtimes/

# Remove from .csproj native package references
# <PackageReference Include="PdfiumViewer.Native.x86.v8-xfa" />
# <PackageReference Include="PdfiumViewer.Native.x64.v8-xfa" />
SHELL

Kritik Geçiş Notları

Yerleşik Görüntüleyici Kontrolü Yok

IronPDF arka uç odaklıdır ve görsel bir PDF görüntüleyici kontrolü içermez:

// PdfiumViewer: Built-in viewer control
pdfViewer.Document = document;

// IronPDF: Use external viewer or web-based approach
pdf.SaveAs(tempPath);
Process.Start(new ProcessStartInfo(tempPath) { UseShellExecute = true });
// PdfiumViewer: Built-in viewer control
pdfViewer.Document = document;

// IronPDF: Use external viewer or web-based approach
pdf.SaveAs(tempPath);
Process.Start(new ProcessStartInfo(tempPath) { UseShellExecute = true });
' PdfiumViewer: Built-in viewer control
pdfViewer.Document = document

' IronPDF: Use external viewer or web-based approach
pdf.SaveAs(tempPath)
Process.Start(New ProcessStartInfo(tempPath) With {.UseShellExecute = True})
$vbLabelText   $csharpLabel

Görüntüleme ihtiyaçlarınız için, varsayılan PDF görüntüleyiciyi açmak üzere Process.Start(), PDF yolu ile bir WebBrowser denetimi veya Syncfusion, DevExpress veya Telerik gibi üçüncü taraf görüntüleyici denetimlerini kullanmayı düşünün.

Belge Yükleme Yöntemi Değişikliği

// PdfiumViewer
PdfDocument.Load(path)

// IronPDF
PdfDocument.FromFile(path)
// PdfiumViewer
PdfDocument.Load(path)

// IronPDF
PdfDocument.FromFile(path)
' PdfiumViewer
PdfDocument.Load(path)

' IronPDF
PdfDocument.FromFile(path)
$vbLabelText   $csharpLabel

Kaydetme Yöntemi Değişikliği

// PdfiumViewer
document.Save(path)

// IronPDF
pdf.SaveAs(path)
// PdfiumViewer
document.Save(path)

// IronPDF
pdf.SaveAs(path)
$vbLabelText   $csharpLabel

İşleme Yöntemi Değişikliği

// PdfiumViewer: Returns image with nested using
using (var image = document.Render(0, 150, 150, true))
{
    image.Save("page.png", ImageFormat.Png);
}

// IronPDF: Returns bitmap array
var images = pdf.ToBitmap(0);
images[0].Save("page.png");
// PdfiumViewer: Returns image with nested using
using (var image = document.Render(0, 150, 150, true))
{
    image.Save("page.png", ImageFormat.Png);
}

// IronPDF: Returns bitmap array
var images = pdf.ToBitmap(0);
images[0].Save("page.png");
Imports System.Drawing.Imaging

' PdfiumViewer: Returns image with nested using
Using image = document.Render(0, 150, 150, True)
    image.Save("page.png", ImageFormat.Png)
End Using

' IronPDF: Returns bitmap array
Dim images = pdf.ToBitmap(0)
images(0).Save("page.png")
$vbLabelText   $csharpLabel

Sayfa Boyutu Erişim Değişikliği

// PdfiumViewer
var size = document.PageSizes[index];
Console.WriteLine($"{size.Width} x {size.Height}");

// IronPDF
var page = pdf.Pages[index];
Console.WriteLine($"{page.Width} x {page.Height}");
// PdfiumViewer
var size = document.PageSizes[index];
Console.WriteLine($"{size.Width} x {size.Height}");

// IronPDF
var page = pdf.Pages[index];
Console.WriteLine($"{page.Width} x {page.Height}");
' PdfiumViewer
Dim size = document.PageSizes(index)
Console.WriteLine($"{size.Width} x {size.Height}")

' IronPDF
Dim page = pdf.Pages(index)
Console.WriteLine($"{page.Width} x {page.Height}")
$vbLabelText   $csharpLabel

Özellik Karsilastirma Ozeti

Özellik PdfiumViewer IronPDF
PDF Yükle
Resim Olarak Çizim
Yerleşik Görüntüleyici
PDF'yi yazdır
Metin Çıkarma
HTML'den Oluşturma
URL'den Oluşturma
PDF'leri birleştir
PDF'leri Böl
Filigran Ekleme
Üstbilgi/Altbilgi
Form Doldurma
Şifre Koruması
WinForms Desteği
ASP.NET Desteği
.NET Core Desteği Sınırlı
Aktif Bakım Belirsiz

Goc Kontrol Listesi

Geçiş Öncesi

  • Kod tabanında tümPdfiumViewerkullanımını tespit edin
  • PdfViewer kontrolünü kullanarak WinForms'u listeleyin
  • Mevcut işleme DPI ayarlarını belgelendirin
  • Yerel ikili başvuruları kontrol edin
  • Yazdırma işlevselliği kullanımını tespit edin
  • Plan görüntüleyici kontrol degisim stratejisi -IronPDFlisans anahtarını edinin

Paket Değişiklikleri

  • PdfiumViewer NuGet paketini kaldırın
  • PdfiumViewer.Native.x86.v8-xfa paketini kaldırın
  • PdfiumViewer.Native.x64.v8-xfa paketini kaldırın
  • x86/ ve x64/ klasorlerinden yerel pdfium.dll ikili dosyalarini silin
  • IronPdf NuGet paketini yükleyin: dotnet add package IronPdf

Kod Değişiklikleri

  • Başlangıçta lisans anahtarı yapılandırması ekleyin
  • PdfDocument.Load() yerine PdfDocument.FromFile() kullanın
  • document.Save() yerine pdf.SaveAs() kullanın
  • document.Render() yerine pdf.ToBitmap() veya RasterizeToImageFiles() kullanın
  • document.PageSizes[i] yerine pdf.Pages[i].Width/Height kullanın
  • PdfViewer kontrolunu dis görüntüleyici veya Process.Start() ile değiştirin
  • Yeni yetenekler ekleyin (metin cikarma, HTML'den PDF'ye, vb.)

Geçişten Sonra

  • İşleme çıktı kalitesini test edin
  • Yazdirma fonksiyonunu test edin
  • Hedef platformlarda test edin
  • Yeni özellikler ekleyin (HTML'den PDF'ye, birlestirme, filigranlar, guvenlik)
  • Belgeleri güncelleyin

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku

Iron Destek Ekibi

Haftanın 5 günü, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara