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:
- PDF'leri görüntülemek için harici bir işlem olarak başlatıyorsunuz.
- Komut satırı ile PDF'leri yazdırmak için kullanıyorsunuz.
- 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
- .NET Ortamı: .NET Framework 4.6.2+ veya .NET Core 3.1+ / .NET 5/6/7/8/9+
- NuGet Erişimi: NuGet paketlerini yükleme yeteneği
- IronPDF Lisansı: Lisans anahtarınızı ironpdf.com adresinden edinin
Kurulum
# Install IronPDF
dotnet add package IronPdf
# Install IronPDF
dotnet add package IronPdf
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"
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
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
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
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
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
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
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
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")
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")
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")
Ş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")
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-defaultargümanları) - Kullanılan herhangi bir Sumatra komut satırı argümanını not edin
- ironpdf.com adresindenIronPDFlisans anahtarını alın
Kod Güncellemeleri
IronPdfNuGet paketini yükle- Sumatra işlem kodunu kaldırın
Process.Start("SumatraPDF.exe", pdfPath)ilePdfDocument.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-defaultiş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

