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

C#'ta Sumatra PDF'den IronPDF'ye Nasıl Geçilir

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

Sorun Etki
Bir Kütüphane Değil PDF'leri programatik olarak oluşturamaz veya düzenleyemez
Dış Süreç SumatraPDF.exe doğurtulmasını gerektirir; işlem içi API yok
AGPLv3 License Güç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 CLI Belgelendirilmiş komut satırı argümanları ile sınırlı
Yalnızca Görüntüleme / Yazdırma PDF'leri oluşturamaz, düzenleyemez veya manipüle edemez
Sadece Windows LinuxveyamacOSyapılandırması yok

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

Özellik Sumatra PDF IronPDF
Tür Uygulama Kütüphane
PDF Okuma Evet Evet
PDF Oluşturma Hayır Evet
PDF Düzenleme Hayır Evet
Entegrasyon Sınırlı (standalone) Uygulamalara tam entegrasyon
Lisans AGPLv3 (bazı dosyalar BSD) Ticari
PDF Oluşturma Hayır Evet
PDF Düzenleme Hayır Evet
HTML'den PDF'ye Hayır Evet
Birleştirme/Bölme Hayır Evet
Filigranlar Hayır Evet
Dijital İmzalar Hayır Evet
Form Doldurma Hayır Evet
Metin Çıkarımı Hayır Evet
.NET Entegrasyonu None Yerel
Web Uygulamaları Hayır Evet

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
# Install IronPDF
dotnet add package IronPdf
SHELL

Lisans Yapılandırması

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

Tam API Referansı

Ad Alanı Değişiklikleri

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

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

// After: IronPDF
using IronPdf;
Imports System.Diagnostics
Imports System.IO

Imports IronPdf
$vbLabelText   $csharpLabel

Çekirdek Yetenek Haritaları

Sumatra PDFYaklaşımı IronPDF Eşdeğeri Notlar
Process.Start("SumatraPDF.exe", pdfPath) PdfDocument.FromFile() PDF yükle
Komut satırı argümanları Yerel API yöntemleri CLI gerekmez
Dış pdftotext.exe pdf.ExtractAllText() Metin çıkarma
Dış wkhtmltopdf.exe renderer.RenderHtmlAsPdf() HTML'den PDF'ye
-print-to-default argümanı pdf.Print() Yazdırma
Mümkün değil PdfDocument.Merge() PDF'leri birleştir
Mümkün değil pdf.ApplyWatermark() Filigranlar
Mümkün değil pdf.SecuritySettings Parola 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);
    }
}
//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);
    }
}
Imports System.Diagnostics
Imports System.IO

Module Program
    Sub Main()
        ' Sumatra PDF cannot directly convert HTML to PDF
        ' You'd need to use wkhtmltopdf or similar, then view in Sumatra
        Dim htmlFile As String = "input.html"
        Dim pdfFile As String = "output.pdf"

        ' Using wkhtmltopdf as intermediary
        Dim psi As New ProcessStartInfo With {
            .FileName = "wkhtmltopdf.exe",
            .Arguments = $"{htmlFile} {pdfFile}",
            .UseShellExecute = False
        }
        Process.Start(psi)?.WaitForExit()

        ' Then open with Sumatra
        Process.Start("SumatraPDF.exe", pdfFile)
    End Sub
End Module
$vbLabelText   $csharpLabel

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

Module Program
    Sub Main()
        Dim renderer As New ChromePdfRenderer()

        Dim htmlContent As String = "<h1>Hello World</h1><p>This is HTML'den PDF'ye conversion.</p>"

        Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
        pdf.SaveAs("output.pdf")

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

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}\""
    }
}
//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}\""
    }
}
Imports System.Diagnostics
Imports System.IO

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

        ' Sumatra PDF excels at viewing PDFs
        Dim startInfo As New ProcessStartInfo With {
            .FileName = "SumatraPDF.exe",
            .Arguments = $"""{pdfPath}""",
            .UseShellExecute = True
        }

        Process.Start(startInfo)

        ' Optional: Open specific page
        ' startInfo.Arguments = $"-page 5 ""{pdfPath}"""
    End Sub
End Module
$vbLabelText   $csharpLabel

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

Module Program
    Sub Main()
        Dim 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") With {.UseShellExecute = True})
    End Sub
End Module
$vbLabelText   $csharpLabel

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

Module Program
    Sub Main()
        ' Sumatra PDF is a viewer, not a text extraction library
        ' You'd need to use PDFBox, iTextSharp, or similar for extraction

        Dim pdfFile As String = "document.pdf"

        ' This would require external tools like pdftotext
        Dim psi As New ProcessStartInfo With {
            .FileName = "pdftotext.exe",
            .Arguments = $"{pdfFile} output.txt",
            .UseShellExecute = False
        }

        Process.Start(psi)?.WaitForExit()

        Dim extractedText As String = File.ReadAllText("output.txt")
        Console.WriteLine(extractedText)
    End Sub
End Module
$vbLabelText   $csharpLabel

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

Class Program
    Shared Sub Main()
        Dim pdf = PdfDocument.FromFile("document.pdf")

        ' 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:" & vbCrLf & pageText)
    End Sub
End Class
$vbLabelText   $csharpLabel

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ı

Özellik Sumatra PDF IronPDF
:Oluşturma: HTML'den PDF'ye Hayır Evet
URL'yi PDF'ye çevir Hayır Evet
Metni PDF'ye Hayır Evet
Görüntüyü PDF'ye Hayır Evet
:Manipülasyon: PDF'leri birleştir Hayır Evet
PDF Ayırma Hayır Evet
Sayfaları Döndürme Hayır Evet
Sayfaları Silme Hayır Evet
Sayfaları Yeniden Sıralama Hayır Evet
:İçerik: Filigran Ekle Hayır Evet
Başlıklar/Altbilgiler Ekleme Hayır Evet
Metin Damgası Hayır Evet
Görüntü Damgası Hayır Evet
:Güvenlik: Şifre Koruması Hayır Evet
Dijital İmzalar Hayır Evet
Şifreleme Hayır Evet
İzin Ayarları Hayır Evet
:Çıkarma: Metin Çıkarma Hayır Evet
Görüntü Çıkartma Hayır Evet
:Platform: Windows Evet Evet
Linux Hayır Evet
macOS Hayır Evet
Web Uygulamaları Hayır Evet
Azure/AWS Hayır Evet

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");
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");
Dim renderer = New ChromePdfRenderer()
Dim 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")
$vbLabelText   $csharpLabel

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");
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");
Dim pdf1 = PdfDocument.FromFile("chapter1.pdf")
Dim pdf2 = PdfDocument.FromFile("chapter2.pdf")
Dim pdf3 = PdfDocument.FromFile("chapter3.pdf")

Dim book = PdfDocument.Merge(pdf1, pdf2, pdf3)
book.SaveAs("complete_book.pdf")
$vbLabelText   $csharpLabel

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

Ş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");
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");
Dim renderer As New ChromePdfRenderer()
Dim 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")
$vbLabelText   $csharpLabel

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ınSumatra 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ı...

Daha Fazla Oku

Iron Destek Ekibi

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