IRONSOFTWAREHOME
VIDEOLAR

C# İçinde Bir PDF Nasıl Dışa Aktarılır | IronPDF

Curtis Chau
Curtis Chau
Updated: 19 Temmuz 2026

Sumatra PDF'den IronPDF'e geçmek, PDF iş akışınızı bir masaüstü görüntüleyici uygulaması ile harici süreç yönetiminden, tam PDF oluşturma, manipülasyon ve çıkarma yeteneklerine sahip yerel bir .NET kütüphane entegrasyonuna dönüştürür. Bu kılavuz, dış bağımlılıkları, AGPLv3 copyleft yükümlülüklerini ve Sumatra PDF'in bir geliştirici kütüphanesi değil, bir görüntüleyici/yazdırıcı olduğu temel sınırlamayı ortadan kaldıran tam adım adım bir geçiş yolu sağlar.

Sumatra PDF'den IronPDF'e Neden Geçilmeli

Sumatra PDF'yi Anlamak

Sumatra PDF, sadeliği ve hızı ile tanınan hafif, açık kaynaklı birWindowsPDF okuyucu/yazdırıcısıdır. Ayrıca EPUB, MOBI, CBZ/CBR, FB2, CHM, XPS ve DjVu dosyalarını da görüntüler. Ancak, Sumatra PDF, PDF dosyalarını görüntüleme ve yazdırmanın ötesinde oluşturma veya değiştirme yeteneklerini sağlamaz ve resmi bir .NET SDK veya NuGet paketi yoktur — topluluk kaplamaları basitçe SumatraPDF.exe'e dış komut gönderir.

Sumatra PDF bir geliştirme kütüphanesi değil, bağımsız birWindowsmasaüstü görüntüleyici/yazdırıcı uygulamasıdır. .NET uygulamanızdaSumatra PDFkullanıyorsanız, muhtemelen:

  1. PDF'leri görüntülemek için bir dış süreç olarak SumatraPDF.exe başlatma
  2. Komut satırı ile PDF yazdırma (-print-to-default, -print-to "<printer>")
  3. Kullanıcılarınızın yüklemesi gereken bir bağımlılık olarak ona güveniyorsunuz

###Sumatra PDFEntegrasyonu ile İlgili Temel Sorunlar

SorunEtki
Bir Kütüphane DeğilPDF'leri programatik olarak oluşturamaz veya düzenleyemez
Dış SüreçSumatraPDF.exe doğurtulmasını gerektirir; işlem içi API yok
AGPLv3 LicenseGüçlü copyleft (bazı dosyalar BSD lisanlı); bundling into closed-source products imposes obligations most commercial vendors avoid
Kullanıcı BağımlılığıKullanıcılar (veya yükleyiciniz) SumatraPDF.exe'yi diske yerleştirmelidir
Sadece CLIBelgelendirilmiş komut satırı argümanları ile sınırlı
Yalnızca Görüntüleme / YazdırmaPDF'leri oluşturamaz, düzenleyemez veya manipüle edemez
Sadece WindowsLinuxveyamacOSyapılandırması yok

###Sumatra PDFvs IronPDF Karşılaştırması

ÖzellikSumatra PDFIronPDF
TürUygulamaKütüphane
PDF OkumaEvetEvet
PDF OluşturmaHayırEvet
PDF DüzenlemeHayırEvet
EntegrasyonSınırlı (standalone)Uygulamalara tam entegrasyon
LisansAGPLv3 (bazı dosyalar BSD)Ticari
PDF OluşturmaHayırEvet
PDF DüzenlemeHayırEvet
HTML'den PDF'yeHayırEvet
Birleştirme/BölmeHayırEvet
FiligranlarHayırEvet
Dijital İmzalarHayırEvet
Form DoldurmaHayırEvet
Metin ÇıkarımıHayırEvet
.NET EntegrasyonuNoneYerel
Web UygulamalarıHayırEvet

Sumatra PDF'nin aksine,IronPDF herhangi bir belirli masaüstü uygulamasına veya harici sürece bağlanmamıştır. Geliştiricilere doğrudan C# içinde PDF belgelerini dinamik olarak oluşturma, düzenleme ve manipüle etme esnekliğini sağlar. Bu harici süreçlerden ayrılmak belirgin bir avantaj sunar—basit ve uyarlanabilir, sadece görüntülemenin ötesinde geniş bir uygulama yelpazesi için uygundur.

Modern .NET'i hedefleyen ekipler için, IronPDF, Sumatra PDF'in dış işlem yükünü ve AGPLv3 copyleft yükümlülüklerini ortadan kaldıran yerel kütüphane entegrasyonu sağlar.


Başlamadan Önce

Ön Koşullar

  1. .NET Ortamı: .NET Framework 4.6.2+ veya .NET Core 3.1+ / .NET 5/6/7/8/9+
  2. NuGet Erişimi: NuGet paketlerini yükleyebilme
  3. IronPDF Lisansı: Lisans anahtarınızı ironpdf.com adresinden edinin

Kurulum

# Install IronPDF
dotnet add package IronPdf
SHELL

Lisans Yapılandırması

// Add at application startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

Tam API Referansı

Ad Alanı Değişiklikleri

// Before:Sumatra PDF(external process)
using System.Diagnostics;
using System.IO;

// After: IronPDF
using IronPdf;

Çekirdek Yetenek Haritaları

Sumatra PDFYaklaşımıIronPDF EşdeğeriNotlar
Process.Start("SumatraPDF.exe", pdfPath)PdfDocument.FromFile()PDF yükle
Komut satırı argümanlarıYerel API yöntemleriCLI gerekmez
Dış pdftotext.exepdf.ExtractAllText()Metin çıkarma
Dış wkhtmltopdf.exerenderer.RenderHtmlAsPdf()HTML'den PDF'ye
-print-to-default argümanıpdf.Print()Yazdırma
Mümkün değilPdfDocument.Merge()PDF'leri birleştir
Mümkün değilpdf.ApplyWatermark()Filigranlar
Mümkün değilpdf.SecuritySettingsParola koruması

Kod Göç Örnekleri

Örnek 1: HTML'den PDF'ye Dönüştürme

Önceki (Sumatra PDF):

//Sumatra PDFis a standaloneWindowsapp (AGPLv3) — there is NO official NuGet package.
// Download SumatraPDF.exe from https://www.sumatrapdfreader.org/and shell out to it.
// Sumatra is a viewer/printer only; it cannot convert HTML to PDF, so you must use a
// separate HTML-to-PDF tool (e.g. wkhtmltopdf) and then view/print with Sumatra.
using System.Diagnostics;
using System.IO;

class Program
{
    static void Main()
    {
        //Sumatra PDFcannot directly convert HTML to PDF
        // You'd need to use wkhtmltopdf or similar, then view in Sumatra
        string htmlFile = "input.html";
        string pdfFile = "output.pdf";
        
        // Using wkhtmltopdf as intermediary
        ProcessStartInfo psi = new ProcessStartInfo
        {
            FileName = "wkhtmltopdf.exe",
            Arguments = $"{htmlFile} {pdfFile}",
            UseShellExecute = false
        };
        Process.Start(psi)?.WaitForExit();
        
        // Then open with Sumatra
        Process.Start("SumatraPDF.exe", pdfFile);
    }
}
C#

Sonrası (IronPDF):

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        
        string htmlContent = "<h1>Hello World</h1><p>This is HTML'den PDF'ye conversion.</p>";
        
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("output.pdf");
        
        Console.WriteLine("PDF created successfully!");
    }
}
C#

Bu örnek, temel yapısal farkı gösterir.Sumatra PDFdoğrudan HTML'yi PDF'ye dönüştüremez—bir aracı olarak wkhtmltopdf gibi bir harici araç kullanmanız ve ardından sonucu görüntülemek için Sumatra'yı ayrı bir süreç olarak başlatmanız gerekir. Bu, iki harici çalıştırılabilir dosya ve birden fazla süreç başlatımı gerektirir.

IronPDF, sadece üç satır kodla ChromePdfRenderer ve RenderHtmlAsPdf() kullanır. Harici araçlar yok, süreç yönetimi yok, aracı dosyalar yok. PDF doğrudan bellekte oluşturulur ve SaveAs() ile kaydedilir. Kapsamlı örnekler için HTML'den PDF'e dönüşüm belgelerine bakın.

Örnek 2: PDF'leri Açma ve Görüntüleme

Önceki (Sumatra PDF):

//Sumatra PDFis a standaloneWindowsapp (AGPLv3) — no official NuGet package.
// Download SumatraPDF.exe from https://www.sumatrapdfreader.org/and call it via Process.Start.
// Useful CLI flags: -page <n>, -print-to-default, -print-to "<printer>", -print-settings, -silent.
using System.Diagnostics;
using System.IO;

class Program
{
    static void Main()
    {
        string pdfPath = "document.pdf";
        
        //Sumatra PDFexcels at viewing PDFs
        ProcessStartInfo startInfo = new ProcessStartInfo
        {
            FileName = "SumatraPDF.exe",
            Arguments = $"\"{pdfPath}\"",
            UseShellExecute = true
        };
        
        Process.Start(startInfo);
        
        // Optional: Open specific page
        // Arguments = $"-page 5 \"{pdfPath}\""
    }
}
C#

Sonrası (IronPDF):

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

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("document.pdf");
        
        // Extract information
        Console.WriteLine($"Page Count: {pdf.PageCount}");
        
        //IronPDF can manipulate and save, then open with default viewer
        pdf.SaveAs("modified.pdf");
        
        // Open with default PDF viewer
        Process.Start(new ProcessStartInfo("modified.pdf") { UseShellExecute = true });
    }
}
C#

Sumatra PDF, PDF'lerin görüntülenmesinde başarılıdır, ancak komut satırı argümanları ile harici bir süreç başlatmakla sınırlıdır. PDF içeriğine programatik olarak erişemezsiniz, sadece görüntüleyebilirsiniz.

IronPDF, PDF'yi PdfDocument.FromFile() ile yükleyerek size tam programatik erişim sağlar. Özellikleri PageCount gibi okuyabilir, belgeyi değiştirebilir, değişiklikleri kaydedebilir ve ardından sistemin varsayılan PDF görüntüleyicisi ile açabilirsiniz. Anahtar fark, IronPDF'in sadece bir süreç argümanı değil, gerçek bir API sağlamasıdır. Daha fazla bilgiyi kılavuzlarımızda öğrenin.

Örnek 3: PDF'lerden Metin Çıkarma

Önceki (Sumatra PDF):

//Sumatra PDFis a standaloneWindowsviewer (AGPLv3) — no official NuGet package
// and no programmatic text-extraction API. To extract text you must shell out to a
// separate tool such as pdftotext (Xpdf / Poppler).
using System;
using System.Diagnostics;
using System.IO;

class Program
{
    static void Main()
    {
        //Sumatra PDFis a viewer, not a text extraction library
        // You'd need to use PDFBox, iTextSharp, or similar for extraction
        
        string pdfFile = "document.pdf";
        
        // This would require external tools like pdftotext
        ProcessStartInfo psi = new ProcessStartInfo
        {
            FileName = "pdftotext.exe",
            Arguments = $"{pdfFile} output.txt",
            UseShellExecute = false
        };
        
        Process.Start(psi)?.WaitForExit();
        
        string extractedText = File.ReadAllText("output.txt");
        Console.WriteLine(extractedText);
    }
}
C#

Sonrası (IronPDF):

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

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("document.pdf");
        
        // 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:\n{pageText}");
    }
}

Sumatra PDF bir görüntüleyicidir, bir metin çıkarma kütüphanesi değildir. Metin çıkarmak için, pdftotext.exe gibi dış komut satırı araçlarını kullanmalı, bir süreç başlatmalı, tamamlanmasını beklemeli, çıkış dosyasını okumalı ve tüm ilgili dosya G/Ç ve temizliği ile ilgilenmelisiniz.

IronPDF, tüm belge için ExtractAllText() veya belirli sayfalar için ExtractTextFromPage(0) ile yerel metin çıkarma sağlar. Harici süreçler yok, geçici dosyalar yok, temizlik gerekmez.


Özellik Karşılaştırması

ÖzellikSumatra PDFIronPDF
:Oluşturma:
URL'yi PDF'ye çevirHayırEvet
Metni PDF'yeHayırEvet
Görüntüyü PDF'yeHayırEvet
:Manipülasyon:
PDF AyırmaHayırEvet
Sayfaları DöndürmeHayırEvet
Sayfaları SilmeHayırEvet
Sayfaları Yeniden SıralamaHayırEvet
:İçerik:
Başlıklar/Altbilgiler EklemeHayırEvet
Metin DamgasıHayırEvet
Görüntü DamgasıHayırEvet
:Güvenlik:
Dijital İmzalarHayırEvet
ŞifrelemeHayırEvet
İzin AyarlarıHayırEvet
:Çıkarma:
Görüntü ÇıkartmaHayırEvet
:Platform:
LinuxHayırEvet
macOSHayırEvet
Web UygulamalarıHayırEvet
Azure/AWSHayırEvet

Geçiş Sonrası Yeni Özellikler

IronPDF'e geçtikten sonra, Sumatra PDF'nin sağlayamayacağı yetenekleri kazanırsınız:

HTML'den PDF Oluşturma

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(@"
    <html>
    <head><style>body { font-family: Arial; }</style></head>
    <body>
        <h1>Invoice #12345</h1>
        <p>Thank you for your purchase.</p>
    </body>
    </html>");

pdf.SaveAs("invoice.pdf");

PDF Birleştirme

var pdf1 = PdfDocument.FromFile("chapter1.pdf");
var pdf2 = PdfDocument.FromFile("chapter2.pdf");
var pdf3 = PdfDocument.FromFile("chapter3.pdf");

var book = PdfDocument.Merge(pdf1, pdf2, pdf3);
book.SaveAs("complete_book.pdf");

Filigranlar

var pdf = PdfDocument.FromFile("document.pdf");

pdf.ApplyWatermark(@"
    <div style='
        font-size: 60pt;
        color: rgba(255, 0, 0, 0.3);
        transform: rotate(-45deg);
    '>
        CONFIDENTIAL
    </div>");

pdf.SaveAs("watermarked.pdf");

Şifre Koruma

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Sensitive Data</h1>");

pdf.SecuritySettings.OwnerPassword = "owner123";
pdf.SecuritySettings.UserPassword = "user456";
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;

pdf.SaveAs("protected.pdf");

Geçiş Kontrol Listesi

Öncesi-Geçiş

  • Tüm Sumatra süreç başlatmalarını belirleyin (Process.Start("SumatraPDF.exe", ...))
  • Belge yazdırma iş akışlarını (-print-to-default argümanları)
  • Kullanılan herhangi bir Sumatra komut satırı argümanını not edin
  • ironpdf.com adresinden IronPDF lisans anahtarını edinin

Kod Güncellemeleri

  • IronPdf NuGet paketini yükle
  • Sumatra süreç kodunu kaldır
  • Process.Start("SumatraPDF.exe", pdfPath) ile PdfDocument.FromFile(pdfPath) ile değiştir
  • Dış wkhtmltopdf.exe çağrılarını ChromePdfRenderer.RenderHtmlAsPdf() ile değiştir
  • Dış pdftotext.exe çağrılarını pdf.ExtractAllText() ile değiştir
  • -print-to-default süreç çağrılarını pdf.Print() ile değiştir
  • Uygulama başlangıcında lisans başlatma ekle

Test Etme

  • PDF oluşturma kalitesini test et
  • Yazdırma işlevselliğini doğrula
  • Tüm hedef platformlarda test et
  • Herhangi bir Sumatra bağımlılığının kalmadığını doğrula

Temizlik

  • Yükleyicilerden Sumatra'yı kaldırın
  • Belgeleri güncelleyin
  • Sistem gereksinimlerinden Sumatra'yı kaldırın

Lütfen dikkate alın: Sumatra PDF ve wkhtmltopdf, ilgili sahiplerinin kayıtlı ticari markalarıdır. Bu site,Sumatra PDFprojesi veya wkhtmltopdf projesi ile bağlantılı, onaylanmış veya desteklenen bir site değildir. Tüm ürün adları, logolar ve markalar kendi sahiplerine aittir. Karşılaştırmalar, yalnızca bilgilendirme amaçlıdır ve yazı sırasında halka açık bilgilerle alakalı olarak yansıtılmaktadır.
Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez