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

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

PDFreactor'dan IronPDF'e geçiş, Java bağımlılıklarını ve sunucu altyapısını ortadan kaldırırken , yerel .NET kitaplığı aracılığıyla eşdeğer HTML'den PDF'ye dönüştürme yetenekleri sağlar. Bu kılavuz, Java tabanlı sunucu mimarinizi entegrasyon sorunsuz bir şekilde .NET uygulamalarına entegre eden bir yerel kitaplıkla değiştiren eksiksiz, adım adım bir geçiş yolu sunar.

PDFreactor'dan IronPDF'e Neden Geçmelisiniz

PDFreactor'u Anlama

PDFreactor, çeşitli platformlar arasında entegre olabilen güçlü bir HTML'den PDF'ye dönüştürme sunucusudur. PDFreactor, ticari bir çözüm olarak kendi özel teknolojisini kullanarak HTML ve CSS içeriğini yüksek kaliteli PDF belgelere dönüştürür. Dikkate değer özelliklerinden biri olarak, PDFreactor, karmaşık düzen renderlemesi için güçlü bir aday haline getiren geniş bir CSS özellikler yelpazesini destekler.

Ancak, PDFreactor'un Java'ya bağımlılığı, dağıtım ve entegrasyonu zorlaştırabildiği .NET ortamlarında belirli zorluklar sunar. Java bağımlılığı, genellikle ek entegrasyon çalışması gereken .NET uygulamalarında ek yük yaratır.

Java Bağımlılığı Problemi

PDFreactor'un mimarisi .NET ortamlarında birkaç zorluk yaratır:

  1. Java Çalışma Zamanı Gerekli: Tüm sunucularda JRE/JDK yüklemesi gerektirir.

  2. Sunucu Mimarisi: Ek altyapı gerektiren ayrı bir hizmet olarak çalışır. Sunucu tabanlı bir çözüm olarak,PDFreactorher dönüştürme için REST API çağrıları gerektirir.

  3. Karmaşık Dağıtım: Ağırlıklı olarak .NET ekosisteminde Java bağımlılıklarını yönetmek, yapılandırmayı karmaşıklaştırabilir ve bakım maliyetlerini artırabilir. CI/CD boru hatlarında yönetilmesi gereken iki çalışma zamanı (Java + .NET)

  4. Süreçler Arası İletişim: REST API veya soket iletişimi gecikme ekler. Her PDF dönüştürmesi, sunucuya HTTP gidiş-dönüşü gerektirir.

  5. Ayrı Lisans Yönetimi: Lisans sunucu örneğine bağlıdır, uygulamaya değil. Sunucu başına lisanslama, Java hizmet örneğine bağlıdır.

  6. Kaynak İzolasyonu: Ayrı süreç hafıza ve CPU yönetimi. Ek sunucu izlenmesi, ölçeklenmesi ve bakımı gerektirir.

PDFreactor vsIronPDFKarşılaştırması

Özellik/Aspekt PDFreactor IronPDF
Yerel .NET Kütüphanesi Hayır (Java tabanlı) Evet
Çalışma Zamanı Java (harici sunucu) Yerel .NET (süreç içi)
Mimari REST API hizmeti NuGet kütüphanesi
Dağıtım Java + sunucu yapılandırmasi Tekar NuGet paketi
Bagimliliklar JRE + HTTP istemcisi Kendisi yeterli
Gecikme Ağ gidiş-dönüşü Doğrudan yöntem çağrıları
Çapraz Platform Yeteneği Evet (Java bağımlı) Evet (Paketli Chromium)
CSS Desteği CSS3, CSS Sayfalı Medya için gelişmiş destek Kapsamlı HTML5/CSS3 desteği
Dağıtım Karmaşıklığı Java nedeniyle daha karmaşık Basit, doğrudan .NET ile entegre olur
PDF Manipülasyon Özellikleri Temel (Sadece Oluşturma) Kapsamlı, birleştirme, bölme, düzenleme ve açıklama dahil

PDFreactor'un aksine,IronPDFkendini, Java gibi harici bağımlılıklara ihtiyaç duymadan .NET projelerine sorunsuz bir şekilde entegre olabilen yerel bir .NET kütüphanesi olarak sunar. IronPDF, birleştirilmiş bir Chromium renderleme motoru kullanarak, sadece birkaç satır kodla HTML'yi PDF'ye dönüştürmenizi sağlar.

2025 ve 2026 boyunca .NET 10 ve C# 14 uygulamayı planlayan ekipler için,IronPDFJava sunucu kompleksini ortadan kaldırırken kapsamlı PDF yaşam döngüsü yönetimi sunan bir yerel .NET çözümü 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

NuGet Paket Değişiklikleri

# RemovePDFreactorNuGet packages
dotnet remove package PDFreactor.NET
dotnet remove package PDFreactor.Native.Windows.x64

# StopPDFreactorserver service (if running locally)
# Windows: net stop PDFreactor
# Linux: sudo systemctl stop pdfreactor

# Install IronPDF
dotnet add package IronPdf
# RemovePDFreactorNuGet packages
dotnet remove package PDFreactor.NET
dotnet remove package PDFreactor.Native.Windows.x64

# StopPDFreactorserver service (if running locally)
# Windows: net stop PDFreactor
# Linux: sudo systemctl stop pdfreactor

# Install IronPDF
dotnet add package IronPdf
SHELL

Lisans Yapılandırması

PDFreactor (sunucu bazlı):

// License configured on server via config file or command line
// Client connects to licensed server
var pdfReactor = new PDFreactor("http://pdfreactor-server:9423");
// License configured on server via config file or command line
// Client connects to licensed server
var pdfReactor = new PDFreactor("http://pdfreactor-server:9423");
' License configured on server via config file or command line
' Client connects to licensed server
Dim pdfReactor = New PDFreactor("http://pdfreactor-server:9423")
$vbLabelText   $csharpLabel

IronPDF (uygulama düzeyinde):

// One-time setup at application startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";
// One-time setup at application startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";
' One-time setup at application startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY"
$vbLabelText   $csharpLabel

PDFreactorKullanımını Belirleme

# FindPDFreactorusage
grep -r "PDFreactor\|RealObjects\|Configuration.*Document" --include="*.cs" .

# FindCSS Sayfalı Medyarules to convert
grep -r "@page\|counter(page)\|counter(pages)" --include="*.cs" --include="*.css" .
# FindPDFreactorusage
grep -r "PDFreactor\|RealObjects\|Configuration.*Document" --include="*.cs" .

# FindCSS Sayfalı Medyarules to convert
grep -r "@page\|counter(page)\|counter(pages)" --include="*.cs" --include="*.css" .
SHELL

API Referansının Tamamı

Namespace Değişiklikleri

// Before: PDFreactor
using RealObjects.PDFreactor;
using System.IO;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
// Before: PDFreactor
using RealObjects.PDFreactor;
using System.IO;

// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
Imports IronPdf
Imports IronPdf.Rendering
Imports System.IO
$vbLabelText   $csharpLabel

Temel Sınıf Eşlemeleri

PDFreactor IronPDF
PDFreactor ChromePdfRenderer
Configuration ChromePdfRenderOptions
Result PdfDocument
config.Document = html renderer.RenderHtmlAsPdf(html)
result.Document (byte[]) pdf.BinaryData

Yapılandırma Özellikleri Eşlemeleri

PDFreactor Konfigürasyonu IronPDF RenderingOptions
config.Document = html renderer.RenderHtmlAsPdf(html)
config.Document = url renderer.RenderUrlAsPdf(url)
config.PageFormat = PageFormat.A4 RenderingOptions.PaperSize = PdfPaperSize.A4
config.PageOrientation RenderingOptions.PaperOrientation
config.PageMargins RenderingOptions.MarginTop/Bottom/Left/Right
config.EnableJavaScript = true RenderingOptions.EnableJavaScript = true
config.AddUserStyleSheet(css) CSS'i HTML'ye Göm
config.Title pdf.MetaData.Title
config.Encryption pdf.SecuritySettings

PDFreactor'da Bulunmayan Yeni Özellikler

IronPDFÖzelliği Tanım
PdfDocument.Merge() Birden çok PDF'yi birleştirme
pdf.ApplyWatermark() Filigran ekleme
pdf.ExtractAllText() Metin çıkarmak
pdf.Form Form doldurma
pdf.Sign() Dijital imzalar

Kod Geçiş Örnekleri

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

Önce (PDFreactor):

// NuGet: Install-Package PDFreactor.Native.Windows.x64
using RealObjects.PDFreactor;
using System.IO;

class Program
{
    static void Main()
    {
       PDFreactorpdfReactor = new PDFreactor();

        string html = "<html><body><h1>Hello World</h1></body></html>";

        Configuration config = new Configuration();
        config.Document = html;

        Result result = pdfReactor.Convert(config);

        File.WriteAllBytes("output.pdf", result.Document);
    }
}
// NuGet: Install-Package PDFreactor.Native.Windows.x64
using RealObjects.PDFreactor;
using System.IO;

class Program
{
    static void Main()
    {
       PDFreactorpdfReactor = new PDFreactor();

        string html = "<html><body><h1>Hello World</h1></body></html>";

        Configuration config = new Configuration();
        config.Document = html;

        Result result = pdfReactor.Convert(config);

        File.WriteAllBytes("output.pdf", result.Document);
    }
}
Imports RealObjects.PDFreactor
Imports System.IO

Module Program
    Sub Main()
        Dim pdfReactor As New PDFreactor()

        Dim html As String = "<html><body><h1>Hello World</h1></body></html>"

        Dim config As New Configuration()
        config.Document = html

        Dim result As Result = pdfReactor.Convert(config)

        File.WriteAllBytes("output.pdf", result.Document)
    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 html = "<html><body><h1>Hello World</h1></body></html>";

        var pdf = renderer.RenderHtmlAsPdf(html);

        pdf.SaveAs("output.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        string html = "<html><body><h1>Hello World</h1></body></html>";

        var pdf = renderer.RenderHtmlAsPdf(html);

        pdf.SaveAs("output.pdf");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()

        Dim html As String = "<html><body><h1>Hello World</h1></body></html>"

        Dim pdf = renderer.RenderHtmlAsPdf(html)

        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

Temel fark, mimari desendir. PDFreactor, PDFreactor örneğini oluşturmayı (Java sunucusuna bağlanan), ayarları ve HTML içeriğini tutmak için ayrı bir Configuration nesnesini, Convert() çağrısını (bir Result nesnesi döndüren) ve sonunda result.Document baytlarını File.WriteAllBytes() kullanarak dosyaya yazmayı gerektirir.

IronPDF, bir ChromePdfRenderer oluşturmayı, HTML dizisini doğrudan RenderHtmlAsPdf() ile çağırmayı ve döndürülen PdfDocument üzerindeki yerleşik SaveAs() yöntemini kullanmayı basitleştirir. Sunucu bağlantısı yok, yapılandırma nesnesi yok, manuel bayt işleme yok. Kapsamlı örnekler için HTML'den PDF'e döndürme belgesine bakın.

Örnek 2: URL'den PDF'e Dönüştürme

Önce (PDFreactor):

// NuGet: Install-Package PDFreactor.Native.Windows.x64
using RealObjects.PDFreactor;
using System.IO;

class Program
{
    static void Main()
    {
       PDFreactorpdfReactor = new PDFreactor();

        Configuration config = new Configuration();
        config.Document = "https://www.example.com";

        Result result = pdfReactor.Convert(config);

        File.WriteAllBytes("webpage.pdf", result.Document);
    }
}
// NuGet: Install-Package PDFreactor.Native.Windows.x64
using RealObjects.PDFreactor;
using System.IO;

class Program
{
    static void Main()
    {
       PDFreactorpdfReactor = new PDFreactor();

        Configuration config = new Configuration();
        config.Document = "https://www.example.com";

        Result result = pdfReactor.Convert(config);

        File.WriteAllBytes("webpage.pdf", result.Document);
    }
}
Imports RealObjects.PDFreactor
Imports System.IO

Class Program
    Shared Sub Main()
        Dim pdfReactor As New PDFreactor()

        Dim config As New Configuration()
        config.Document = "https://www.example.com"

        Dim result As Result = pdfReactor.Convert(config)

        File.WriteAllBytes("webpage.pdf", result.Document)
    End Sub
End Class
$vbLabelText   $csharpLabel

Sonra (IronPDF):

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");

        pdf.SaveAs("webpage.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        var pdf = renderer.RenderUrlAsPdf("https://www.example.com");

        pdf.SaveAs("webpage.pdf");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()

        Dim pdf = renderer.RenderUrlAsPdf("https://www.example.com")

        pdf.SaveAs("webpage.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

PDFreactor hem HTML dizelerini hem de URL'leri otomatik olarak belirleyerek aynı config.Document özelliğini kullanır. IronPDF, HTML dizeleri için RenderHtmlAsPdf() ve URL'ler için RenderUrlAsPdf() açık yöntemler sunar. Bu açık yaklaşım, kodun netliğini ve IntelliSense desteğini artırır. Detayli bilgi icin eğitimlerimize bakin.

Örnek 3: Sayfa Numaralı Başlıklar ve Altbilgiler

Önce (PDFreactor):

// NuGet: Install-Package PDFreactor.Native.Windows.x64
using RealObjects.PDFreactor;
using System.IO;

class Program
{
    static void Main()
    {
       PDFreactorpdfReactor = new PDFreactor();

        string html = "<html><body><h1>Document with Headers</h1><p>Content here</p></body></html>";

        Configuration config = new Configuration();
        config.Document = html;
        config.AddUserStyleSheet("@page { @top-center { content: 'Header Text'; } @bottom-center { content: 'Page ' counter(page); } }");

        Result result = pdfReactor.Convert(config);

        File.WriteAllBytes("document.pdf", result.Document);
    }
}
// NuGet: Install-Package PDFreactor.Native.Windows.x64
using RealObjects.PDFreactor;
using System.IO;

class Program
{
    static void Main()
    {
       PDFreactorpdfReactor = new PDFreactor();

        string html = "<html><body><h1>Document with Headers</h1><p>Content here</p></body></html>";

        Configuration config = new Configuration();
        config.Document = html;
        config.AddUserStyleSheet("@page { @top-center { content: 'Header Text'; } @bottom-center { content: 'Page ' counter(page); } }");

        Result result = pdfReactor.Convert(config);

        File.WriteAllBytes("document.pdf", result.Document);
    }
}
Imports RealObjects.PDFreactor
Imports System.IO

Module Program
    Sub Main()
        Dim pdfReactor As New PDFreactor()

        Dim html As String = "<html><body><h1>Document with Headers</h1><p>Content here</p></body></html>"

        Dim config As New Configuration()
        config.Document = html
        config.AddUserStyleSheet("@page { @top-center { content: 'Header Text'; } @bottom-center { content: 'Page ' counter(page); } }")

        Dim result As Result = pdfReactor.Convert(config)

        File.WriteAllBytes("document.pdf", result.Document)
    End Sub
End Module
$vbLabelText   $csharpLabel

Sonra (IronPDF):

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

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
        {
            CenterText = "Header Text"
        };

        renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            CenterText = "Page {page}"
        };

        string html = "<html><body><h1>Document with Headers</h1><p>Content here</p></body></html>";

        var pdf = renderer.RenderHtmlAsPdf(html);

        pdf.SaveAs("document.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();

        renderer.RenderingOptions.TextHeader = new TextHeaderFooter()
        {
            CenterText = "Header Text"
        };

        renderer.RenderingOptions.TextFooter = new TextHeaderFooter()
        {
            CenterText = "Page {page}"
        };

        string html = "<html><body><h1>Document with Headers</h1><p>Content here</p></body></html>";

        var pdf = renderer.RenderHtmlAsPdf(html);

        pdf.SaveAs("document.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Rendering
Imports System

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

        renderer.RenderingOptions.TextHeader = New TextHeaderFooter() With {
            .CenterText = "Header Text"
        }

        renderer.RenderingOptions.TextFooter = New TextHeaderFooter() With {
            .CenterText = "Page {page}"
        }

        Dim html As String = "<html><body><h1>Document with Headers</h1><p>Content here</p></body></html>"

        Dim pdf = renderer.RenderHtmlAsPdf(html)

        pdf.SaveAs("document.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

Bu örnek, en belirgin söz dizimi farkını gösterir. PDFreactor, @page kuralları, @bottom-center bölgeleri ve counter(page) yoluyla enjekte edilen sayfa numaraları içinCSS Sayfalı Medyasöz dizimini kullanır.

IronPDF, TextHeaderFooter nesnelerinin RenderingOptions.TextHeader ve RenderingOptions.TextFooter'ya atandığı yerel bir .NET API kullanır. Sayfa numaraları, CSS counter(page) yerine {page} yer tutucusunu kullanır. IronPDF'nin ayrıca üstbilgi/altbilgi sınıfları için IronPdf.Rendering ad alanını içe aktarmayı gerektirdiğini unutmayın.


Kritik Geçiş Notları

Sunucu Gerekmiyor

IronPDF süreci icinde çalışır—yapılandırmak icin Java sunucusu gerekmez:

// PDFreactor: Requires server connection
var pdfReactor = new PDFreactor("http://localhost:9423");

// IronPDF: No server URL needed
var renderer = new ChromePdfRenderer();
// PDFreactor: Requires server connection
var pdfReactor = new PDFreactor("http://localhost:9423");

// IronPDF: No server URL needed
var renderer = new ChromePdfRenderer();
' PDFreactor: Requires server connection
Dim pdfReactor = New PDFreactor("http://localhost:9423")

' IronPDF: No server URL needed
Dim renderer = New ChromePdfRenderer()
$vbLabelText   $csharpLabel

CSS Paged Media'danIronPDFAPI'ye

CSS @page kurallarını RenderingOptions ile değiştirin:

//PDFreactorCSS: @page { @bottom-center { content: 'Page ' counter(page); } }
//IronPDFequivalent:
renderer.RenderingOptions.TextFooter = new TextHeaderFooter 
{ 
    CenterText = "Page {page}" 
};
//PDFreactorCSS: @page { @bottom-center { content: 'Page ' counter(page); } }
//IronPDFequivalent:
renderer.RenderingOptions.TextFooter = new TextHeaderFooter 
{ 
    CenterText = "Page {page}" 
};
'PDFreactorCSS: @page { @bottom-center { content: 'Page ' counter(page); } }
'IronPDFequivalent:
renderer.RenderingOptions.TextFooter = New TextHeaderFooter With {
    .CenterText = "Page {page}"
}
$vbLabelText   $csharpLabel

Sayfa Numarası Yer Tutucu Sözdizimi

//PDFreactorCSS: counter(page)
// IronPDF: {page}

//PDFreactorCSS: counter(pages)  
// IronPDF: {total-pages}
//PDFreactorCSS: counter(page)
// IronPDF: {page}

//PDFreactorCSS: counter(pages)  
// IronPDF: {total-pages}
'PDFreactorCSS: counter(page)
' IronPDF: {page}

'PDFreactorCSS: counter(pages)  
' IronPDF: {total-pages}
$vbLabelText   $csharpLabel

Sonuç İşleme Değişikliği

Yapılandırma + Sonuç deseni doğrudan PdfDocument'e dönüşür:

// PDFreactor: Configuration → Convert → Result → bytes
Result result = pdfReactor.Convert(config);
byte[] bytes = result.Document;
File.WriteAllBytes("output.pdf", bytes);

// IronPDF: Direct PdfDocument with built-in methods
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// Or: byte[] bytes = pdf.BinaryData;
// PDFreactor: Configuration → Convert → Result → bytes
Result result = pdfReactor.Convert(config);
byte[] bytes = result.Document;
File.WriteAllBytes("output.pdf", bytes);

// IronPDF: Direct PdfDocument with built-in methods
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("output.pdf");
// Or: byte[] bytes = pdf.BinaryData;
' PDFreactor: Configuration → Convert → Result → bytes
Dim result As Result = pdfReactor.Convert(config)
Dim bytes As Byte() = result.Document
File.WriteAllBytes("output.pdf", bytes)

' IronPDF: Direct PdfDocument with built-in methods
Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("output.pdf")
' Or: Dim bytes As Byte() = pdf.BinaryData
$vbLabelText   $csharpLabel

Kenar Boşluk Birimleri Değişikliği

PDFreactor dizgeleri kullanır;IronPDFmilimetre kullanır:

// PDFreactor: config.PageMargins.Top = "1in"
// IronPDF: renderer.RenderingOptions.MarginTop = 25.4  // 1 inch in mm
// PDFreactor: config.PageMargins.Top = "1in"
// IronPDF: renderer.RenderingOptions.MarginTop = 25.4  // 1 inch in mm
' PDFreactor: config.PageMargins.Top = "1in"
' IronPDF: renderer.RenderingOptions.MarginTop = 25.4  ' 1 inch in mm
$vbLabelText   $csharpLabel

Geçiş Sonrası Yeni Özellikler

IronPDF'e geçtikten sonra, PDFreactor'un sağlayamayacağı yetenekler kazanırsınız:

PDF Birleştirme

var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
var pdf1 = PdfDocument.FromFile("document1.pdf");
var pdf2 = PdfDocument.FromFile("document2.pdf");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged.pdf");
Dim pdf1 = PdfDocument.FromFile("document1.pdf")
Dim pdf2 = PdfDocument.FromFile("document2.pdf")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("merged.pdf")
$vbLabelText   $csharpLabel

Filigranlar

pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>");
pdf.ApplyWatermark("<h2 style='color:red;'>CONFIDENTIAL</h2>")
$vbLabelText   $csharpLabel

Metin Çıkarma

string text = pdf.ExtractAllText();
string text = pdf.ExtractAllText();
Dim text As String = pdf.ExtractAllText()
$vbLabelText   $csharpLabel

Şifre Koruması

pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.UserPassword = "userpassword";
pdf.SecuritySettings.OwnerPassword = "ownerpassword";
pdf.SecuritySettings.UserPassword = "userpassword"
pdf.SecuritySettings.OwnerPassword = "ownerpassword"
$vbLabelText   $csharpLabel

Özellik Karsilastirma Ozeti

Özellik PDFreactor IronPDF
HTML'den PDF'ye
URL'den PDF'ye
Üstbilgi/Altbilgi CSS Sayfalı Medya Yerel API
Sayfa Ayarları
JavaScript Support
Yerel .NET
İçe Süreç
PDF'leri birleştir
PDF'leri Böl
Filigranlar
Metin Çıkarma
Form Doldurma
Dijital İmzalar

Goc Kontrol Listesi

Geçiş Öncesi

  • Kod tabanındaki tümPDFreactorkullanımlarını envanterleyin
  • Kullanılan tümCSS Sayfalı Medyakurallarını belgeleyin
  • Tüm yapılandırma ayarlarını (kenar boşlukları, sayfa boyutu, JavaScript) not edin -IronPDFlisans anahtarı depolama planı yapın (çevre değişkenleri önerilir)
  • ÖnceIronPDFdeneme lisansı ile test edin

Paket Değişiklikleri

  • PDFreactor.NET NuGet paketini kaldırın
  • PDFreactor.Native.Windows.x64 NuGet paketini kaldırın
  • IronPdf NuGet paketini yükleyin: dotnet add package IronPdf

Kod Değişiklikleri

  • Ad alanı içe aktarmalarını güncelleyin (using RealObjects.PDFreactor;using IronPdf;)
  • Üstbilgi/altbilgi sınıfları için using IronPdf.Rendering; ekleyin
  • PDFreactor sınıfını ChromePdfRenderer ile değiştirin
  • Configuration nesnelerini RenderingOptions özelliklerine dönüştürün
  • config.Document = html'i renderer.RenderHtmlAsPdf(html) ile değiştirin
  • config.Document = url'i renderer.RenderUrlAsPdf(url) ile değiştirin
  • File.WriteAllBytes(path, result.Document)'i pdf.SaveAs(path) ile değiştirin
  • CSS @page kurallarını TextFooter nesnelerine dönüştürün
  • Sayfa numaraları yer tutucularını güncelleyin (counter(page){page})
  • Kenarlık birimlerini dizelerden milimetrelere dönüştürün

Altyapı Geçişi

  • Java çalışma zamanı gereksinimini kaldırın -PDFreactorsunucusunu devre dışı bırakın
  • Docker/dağıtım yapılandırmalarını güncelleyin
  • CI/CD hatlarını güncelleyin

Geçişten Sonra

  • PDF çıktı kalitesinin beklentilere uygun olduğunu test edin
  • Başlık/alt bilgi görüntülemeyi doğrulayın
  • Kullanılıyorsa JavaScript yürütmesini doğrulayın Gerektiğinde yeni yetenekler (birleştirme, filigranlar, güvenlik) ekleyin

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