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

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

Sumatra PDF'den IronPDF'ye geçiş yapmak, PDF iş akışınızı bir masaüstü izleyici uygulaması ile dış işlem yönetiminden, tam PDF oluşturma, manipülasyon ve çıkarma yeteneklerine sahip yerel .NET kütüphanesi entegrasyonuna dönüştürür. Bu kılavuz, dış bağımlılıkları,GPLlisans kısıtlamalarını ve Sumatra PDF'nin bir görüntüleyici, bir geliştirme kütüphanesi değil, temel sınırlaması olan eksikliği ortadan kaldıran eksiksiz, adım adım bir geçiş yolu sağlar.

Neden Sumatra PDF'den IronPDF'ye Geçmeli

Sumatra PDF'yi Anlamak

Sumatra PDF, sadeliği ve hızıyla tanınan hafif, açık kaynaklı bir PDF okuyucudur. Ancak Sumatra PDF, PDF dosyalarını görüntülemenin ötesinde oluşturmak veya manipüle etmek için gereken yetenekleri sağlamaz. PDF'leri okumak için ücretsiz ve çok yönlü bir seçenek olarak, sadelik arayan birçok kullanıcı tarafından sevilmektedir. Ancak, uygulama içinde oluşturma ve kütüphane entegrasyonu gibi daha kapsamlı PDF işlevleri gerektiren geliştiriciler için Sumatra PDF, tasarım sınırlamaları nedeniyle yetersiz kalıyor.

Sumatra PDF bir masaüstü PDF izleyici uygulamasıdır, bir geliştirme kütüphanesi değil. Sumatra PDF'yi .NET uygulamanızda kullanıyorsanız, muhtemelen:

  1. PDF'leri görüntülemek için harici bir işlem olarak başlatıyorsunuz.
  2. Komut satırı ile PDF'leri yazdırmak için kullanıyorsunuz.
  3. Kullanıcılarınızın kurması gereken bir bağımlılık olarak buna güveniyorsunuz.

Sumatra PDFEntegrasyonu ile İlgili Ana Sorunlar

Sorun Etkisi
Kütüphane Değil Programatik olarak PDF oluşturamaz veya düzenleyemez
Harici Süreç Ayrı süreçlerin başlatılmasını gerektirir
GPL Lisansı Ticari yazılım için kısıtlayıcıdır
Kullanıcı Bağımlılığı Kullanıcıların Sumatra'yı ayrı yüklemesi gerekir
Hiçbir API Yok Komut satırı argümanlarıyla sınırlı
Yalnızca Görüntüleme PDF oluşturma, düzenleme veya manipülasyon yapamaz
Web Desteği Yok Yalnızca masaüstü uygulaması

Sumatra PDF veIronPDFKarşı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ı (bağımsız) Uygulamalarda tam entegrasyon
Lisans GPL Ticari
PDF Oluştur Hayır Evet
PDF Düzenle Hayır Evet
HTML to PDF Hayır Evet
Birleştir/Böl Hayır Evet
Filigranlar Hayır Evet
Dijital İmzalar Hayır Evet
Form Doldurma Hayır Evet
Metin Çıkarma Hayır Evet
.NET Entegrasyonu None Yerel
Web Uygulamaları Hayır Evet

IronPDF, Sumatra PDF'nin aksine, belirli bir masaüstü uygulamasına veya harici bir işleme bağlı değildir. Geliştiricilere, doğrudan C# içinde PDF belgelerini dinamik olarak oluşturmak, düzenlemek ve manipüle etmek için esnek bir kütüphane sağlar. Bu harici süreçlerden ayrılma, gözle görülür bir avantaj sunar - sadece görüntülemenin ötesinde geniş bir uygulama dizisi için uygundur.

.NET 10 ve C# 14'ü 2025 ve 2026 yılına kadar uygulamayı planlayan ekipler için, IronPDF, Sumatra PDF'nin harici süreç yükü veGPLlisans kısıtlamalarını ortadan kaldıran yerel kütüphane entegrasyonu sağlar.


Başlamadan Önce

Önkoş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ükleme yeteneği
  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

API Referansının Tamamı

Namespace 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

Temel Yetenek Haritaları

Sumatra PDF Yaklaşı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
Harici pdftotext.exe pdf.ExtractAllText() Metin çıkarmak
Harici wkhtmltopdf.exe renderer.RenderHtmlAsPdf() HTML'den PDF'ye
-print-to-default argümanı pdf.Print() Yazdirma
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 Geçiş Örnekleri

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

Önce (Sumatra PDF):

// NuGet: Install-Package SumatraPDF (Note: Sumatra is primarily a viewer, not a generator)
//Sumatra PDFdoesn't have direct C# integration forHTML'den PDF'yeconversion
// You would need to use external tools or libraries and then open 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);
    }
}
// NuGet: Install-Package SumatraPDF (Note: Sumatra is primarily a viewer, not a generator)
//Sumatra PDFdoesn't have direct C# integration forHTML'den PDF'yeconversion
// You would need to use external tools or libraries and then open 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

Sonra (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 isHTML'den PDF'yeconversion.</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 isHTML'den PDF'yeconversion.</p>";

        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF created successfully!");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = 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 Class
$vbLabelText   $csharpLabel

Bu örnek temel mimari farkı göstermektedir. Sumatra PDF, HTML'yi doğrudan PDF'e dönüştüremez - bir ara araç olarak wkhtmltopdf gibi harici bir araç kullanmanız, ardından sonucu görmek için Sumatra'yı ayrı bir işlem olarak başlatmanız gerekir. Bu, iki harici çalıştırılabilir dosya ve birden fazla işlem başlatılması gerektirir.

IronPDF, sadece üç satır kod ile RenderHtmlAsPdf() ile birlikte bir ChromePdfRenderer kullanır. Hiçbir harici araç, hiçbir işlem yönetimi, hiçbir ara dosya yok. PDF, doğrudan bellek içinde oluşturulur ve SaveAs() ile kaydedilir. Kapsamlı örnekler için HTML'den PDF'e döndürme belgesine bakın.

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

Önce (Sumatra PDF):

// NuGet: Install-Package SumatraPDF.CommandLine (or direct executable)
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}\""
    }
}
// NuGet: Install-Package SumatraPDF.CommandLine (or direct executable)
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
        ' .Arguments = $"-page 5 ""{pdfPath}"""
    End Sub
End Module
$vbLabelText   $csharpLabel

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

        //IronPDFcan 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}");

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

Class Program
    Shared 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 Class
$vbLabelText   $csharpLabel

Sumatra PDF, PDF'leri görüntülemede mükemmeldir, ancak komut satırı argümanları ile harici bir işlem başlatmakla sınırlıdır. Programlı olarak PDF içeriğine erişemezsiniz - sadece görüntüleyebilirsiniz.

IronPDF, PDF'yi PdfDocument.FromFile() ile yükler, size tam programatik erişim sağlar. Özellikleri PageCount gibi okuyabilir, belgeyi manipüle edebilir, değişiklikleri kaydedebilir ve ardından varsayılan PDF görüntüleyicisi ile açabilirsiniz. Temel fark, IronPDF'nin sadece işlem argümanları değil, gerçek bir API sağlamasıdır. Detayli bilgi icin eğitimlerimize bakin.

Örnek 3: PDF'lerden Metin Çıkarma

Önce (Sumatra PDF):

//Sumatra PDFdoesn't provide C# API for text extraction
// You would need to use command-line tools or other libraries
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 PDFdoesn't provide C# API for text extraction
// You would need to use command-line tools or other libraries
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.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

Sonra (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üleyici, metin çıkarma kütüphanesi değildir. Metin çıkarmak için pdftotext.exe gibi harici komut satırı araçlarını kullanmanız, bir işlem başlatmanız, tamamlanmasını beklemeniz, çıkış dosyasını okumanız ve tüm ilgili dosya G/Ç ve temizliğini yapmanız gerekir.

IronPDF, tüm belge için ExtractAllText() ile veya belirli sayfalar için ExtractTextFromPage(0) ile yerel metin çıkarma sağlar. Hiçbir harici süreç, geçici dosya veya temizlik gerekmiyor.


Özellik Karşılaştırması

Özellik Sumatra PDF IronPDF
:Oluşturma: HTML'den PDF'ye Hayır Evet
URL'den PDF'ye Hayır Evet
Metni PDF'e Cevir Hayır Evet
Görüntü PDF'e Cevir Hayır Evet
:Manipülasyon: PDF'leri birleştir Hayır Evet
PDF'leri Böl Hayır Evet
Sayfalari Dondur Hayır Evet
Sayfalari Sil Hayır Evet
Sayfalari Yeniden Sirala Hayır Evet
:İçerik: Filigran Ekleme Hayır Evet
Basliklar/Altliklar Ekle Hayır Evet
Metin Damgala Hayır Evet
Görüntüleri Damgala Hayır Evet
:Güvenlik: Şifre Koruması Hayır Evet
Dijital İmzalar Hayır Evet
Şifreleme Hayır Evet
Yetki Ayarlari Hayır Evet
:Çıkarma: Metin Çıkarma Hayır Evet
Görüntüleri Ayikla Hayır Evet
:Platform: Windows Evet Evet
Linux Hayır Evet
macOS Hayır Evet
Web Uygulamalari Hayır Evet
Azure/AWS Hayır Evet

Geçiş Sonrası Yeni Özellikler

IronPDF'e geçtikten sonra, Sumatra PDF'nin sağlayamayacağı yetenekler 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 Koruması

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

Goc Kontrol Listesi

Geçiş Öncesi

  • Tüm Sumatra işlem başlatmalarını tanımla (Process.Start("SumatraPDF.exe", ...))
  • Belge yazdırma iş akışlarını belgeler (-print-to-default argümanları)
  • Kullanılan herhangi bir Sumatra komut satırı argümanını not edin
  • ironpdf.com adresindenIronPDFlisans anahtarını alın

Kod Güncellemeleri

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

Test Etme

  • PDF üretim kalitesini test edin
  • Yazdırma işlevselliğini doğrulayın
  • Tüm hedef platformlarda test edin
  • Hiçbir Sumatra bağımlılığının kalmadığını onaylayın

Temizlik

  • Sumatra'yı yükleyicilerden kaldırın
  • Belgeleri güncelleyin
  • S istem gereksinimlerinden Sumatra'yı çıkarın

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