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

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

Gnostice PDFOne'dan IronPDF'ye geçiş, .NET PDF iş akışınızı koordinat tabanlı, platformda parçalanmış bir yaklaşımdan tam modern web standartları desteği ile birleşik, HTML/CSS destekli bir çözüme dönüştürür. Bu kılavuz, profesyonel .NET geliştiricileri için CSS, JavaScript ve bellek kararlılığı konularında belgelenmiş sınırlamaları ortadan kaldıran kapsamlı, adım adım geçiş yolu sağlar.

Neden Gnostice PDFOne'dan IronPDF'ye Geçilmeli

Gnostice PDFOneZorlukları

Gnostice PDFOne ve Document Studio .NET, üretim uygulamalarını etkileyen iyi belgelenmiş sınırlamalara sahiptir:

  1. Harici CSS Desteği Yok: Gnostice PDFOne'ın belgeleri, harici CSS stil sayfalarını desteklemediğini açıkça belirtir - modern web-to-PDF dönüşümü için temel bir gereklilik.

  2. JavaScript Çalıştırma Yok: JavaScript gerektiren dinamik içerik işlenemez, bu da modern web uygulamalarının doğru bir şekilde dönüştürülmesini imkansız kılar.

  3. Doğrudan HTML'den PDF'e Yok: Gnostice PDFOne, doğrudan HTML'den PDF'e dönüştürme yapmaz. HTML dönüştürmesi için Document Studio'yu kullanmalı veya HTML öğelerini manuel olarak çözümlemeli ve işlemelisiniz - önemli bir geliştirme yükü.

  4. Platform Parçalanması: WinForms, WPF, ASP.NET, Xamarin için ayrı ürünler - her biri farklı özellik setleri ve API'lerle. Birden fazla lisans ve kod tabanı gerekebilir.

  5. Bellek Sızıntıları ve Kararlılık: Kullanıcı forumları ve Stack Overflow, görüntü işleme sırasında kalıcı bellek sızıntıları, JPEG Hatası #53 ve StackOverflow istisnaları bildiriyor.

  6. Sağdan Sola Unicode Yok: Arapça, İbranice ve diğer RTL dilleri açıkça desteklenmez - uluslararası uygulamalar için bir anlaşma bozucudur.

  7. Sınırlı Dijital İmza Desteği: Dijital imzalar tarihsel olarak Gnostice PDFOne'da ya yoktu ya da güvenilir değildi.

  8. Koordinat Tabanlı API: Birçok operasyon manuel X/Y konumlandırmayı gerektirir ve her bir öğe yerleşimi için kesin hesaplamalar gerektirir modern düzen yaklaşımlar yerine.

Gnostice PDFOne vsIronPDFKarşılaştırması

Bağlam Gnostice PDFOne IronPDF
Harici CSS Desteklenmiyor Desteklenir
JavaScript Çalıştırma Desteklenmiyor Tam Chromium motoru
RTL Dilleri Desteklenmiyor Tam Unicode desteği
Dijital İmzalar Sınırlı/Eksik Tam X509 desteği
Platform Parçalanmış ürünler Tek birleştirilmiş kütüphane
Bellek Stabilitesi Bildirilen sorunlar Kararlı, iyi yönetilen
HTML'den PDF'e Temel, geçici çözümler gerektirir Chrome-kalite renderleme
Öğrenme Eğrisi Karmaşık API Basit, sezgisel API
Modern CSS (Flexbox, Grid) Desteklenmiyor Tam CSS3 desteği
Görüntü İşleme Bilinen sorunlar Güvenilir

.NET 10 ve C# 14 benimsemeyi 2025 ve 2026'ya kadar planlayan ekipler için,IronPDFtüm .NET platformlarında tutarlı çalışacak birleştirilmiş bir kütüphane ile geleceğe yönelik bir temel sağlar.


Göç Karmaşıklık Değerlendirmesi

Özelliklere Göre Tahmini Çaba

Özellik Göç Karmaşıklığı
PDF'leri Yükle/Kaydet Çok Düşük
PDF'leri birleştir Çok Düşük
PDF'leri Böl Low
Metin Çıkarma Low
Filigranlar Low
Üstbilgi/Altbilgi Low
HTML'den PDF'ye Low
Şifreleme Medium
Form Alanları Medium
Dijital İmzalar Low

Kazanacağınız Özellikler

Gnostice PDFOne'dan IronPDF'ye geçerken, daha önce imkansız olan bu özellikler kullanılabilir hale gelir:

  • Harici CSS stil sayfaları
  • JavaScript yürütmesi
  • RTL dil desteği (Arapça, İbranice)
  • CSS Grid ve Flexbox
  • Güvenilir dijital imzalar
  • Daha iyi bellek yönetimi
  • Tek bir kod tabanı ile çapraz platform desteği

Başlamadan Önce

Önkoşullar

  1. .NET Sürümü: IronPDF, .NET Framework 4.6.2+ ve .NET Core 2.0+ / .NET 5/6/7/8/9+ destekler
  2. Lisans Anahtarı:IronPDFlisans anahtarınızı ironpdf.com'dan alın
  3. Yedekleme: Geçiş çalışması için bir dal oluşturun

TümGnostice PDFOneKullanımını Belirleyin

# Find all Gnostice references
grep -r "Gnostice\|PDFOne\|PDFDocument\|PDFPage\|DocExporter" --include="*.cs" .

# Find package references
grep -r "Gnostice\|PDFOne" --include="*.csproj" .
# Find all Gnostice references
grep -r "Gnostice\|PDFOne\|PDFDocument\|PDFPage\|DocExporter" --include="*.cs" .

# Find package references
grep -r "Gnostice\|PDFOne" --include="*.csproj" .
SHELL

NuGet Paket Değişiklikleri

# RemoveGnostice PDFOnepackages
dotnet remove package PDFOne.NET
dotnet remove package Gnostice.DocumentStudio.NET
dotnet remove package Gnostice.PDFOne.NET
dotnet remove package Gnostice.XtremeDocumentStudio.NET

# Install IronPDF
dotnet add package IronPdf
# RemoveGnostice PDFOnepackages
dotnet remove package PDFOne.NET
dotnet remove package Gnostice.DocumentStudio.NET
dotnet remove package Gnostice.PDFOne.NET
dotnet remove package Gnostice.XtremeDocumentStudio.NET

# Install IronPDF
dotnet add package IronPdf
SHELL

Hızlı Başlangıç Göçü

Adım 1: Lisans Yapılandırmasını Güncelleyin

Önce (Gnostice PDFOne):

// Gnostice license often set via config or property
PDFOne.License.LicenseKey = "YOUR-GNOSTICE-LICENSE";
// Gnostice license often set via config or property
PDFOne.License.LicenseKey = "YOUR-GNOSTICE-LICENSE";
' Gnostice license often set via config or property
PDFOne.License.LicenseKey = "YOUR-GNOSTICE-LICENSE"
$vbLabelText   $csharpLabel

Sonra (IronPDF):

// Set once at application startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";

// Or in appsettings.json:
// { "IronPdf.License.LicenseKey": "YOUR-LICENSE-KEY" }
// Set once at application startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY";

// Or in appsettings.json:
// { "IronPdf.License.LicenseKey": "YOUR-LICENSE-KEY" }
' Set once at application startup
IronPdf.License.LicenseKey = "YOUR-IRONPDF-LICENSE-KEY"

' Or in appsettings.json:
' { "IronPdf.License.LicenseKey": "YOUR-LICENSE-KEY" }
$vbLabelText   $csharpLabel

Adım 2: Ad Alanı Dışarı Aktarımlarını Güncelleyin

// Before (Gnostice PDFOne)
using Gnostice.PDFOne;
using Gnostice.PDFOne.Document;
using Gnostice.PDFOne.Graphics;

// After (IronPDF)
using IronPdf;
using IronPdf.Editing;
// Before (Gnostice PDFOne)
using Gnostice.PDFOne;
using Gnostice.PDFOne.Document;
using Gnostice.PDFOne.Graphics;

// After (IronPDF)
using IronPdf;
using IronPdf.Editing;
Imports IronPdf
Imports IronPdf.Editing
$vbLabelText   $csharpLabel

API Referansının Tamamı

Çekirdek Sınıf Eşleştirmesi

Gnostice PDFOne IronPDF Tanım
PDFDocument PdfDocument Ana PDF belge sınıfı
PDFPage PdfDocument.Pages[i] Sayfa temsili
PDFFont CSS stillendirme Yazı tipi belirtimi
PDFTextElement HTML içeriği Metin içeriği
PDFImageElement HTML <img> etiketleri Görsel içerik
DocExporter ChromePdfRenderer HTML/URL'den PDF'e dönüşüm

Belge İşlemleri

Gnostice PDFOne IronPDF
new PDFDocument() new PdfDocument()
doc.Load(path) PdfDocument.FromFile(path)
doc.Open() Yok (otomatik)
doc.Save(path) pdf.SaveAs(path)
doc.Close() pdf.Dispose()
doc.Pages.Count pdf.PageCount
doc.Pages.Add() HTML'yi renderleyin veya birleştirin

Birleştirme İşlemleri

Gnostice PDFOne IronPDF
doc.Append(otherDoc) PdfDocument.Merge(pdf1, pdf2)
Birden fazla Append() çağrısı PdfDocument.Merge(list)

Kod Geçiş Örnekleri

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

Önce (Gnostice PDFOne):

// NuGet: Install-Package Gnostice.PDFOne.DLL
using Gnostice.PDFOne;
using Gnostice.PDFOne.Graphics;
using System;

class Program
{
    static void Main()
    {
        PDFDocument doc = new PDFDocument();
        doc.Open();

        PDFPage page = doc.Pages.Add();

        // PDFOne doesn't have directHTML'den PDF'yeconversion
        // You need to use Document Studio for HTML conversion
        // Or manually parse and render HTML elements

        PDFTextElement textElement = new PDFTextElement();
        textElement.Text = "Simple text conversion instead of HTML";
        textElement.Draw(page, 10, 10);

        doc.Save("output.pdf");
        doc.Close();
    }
}
// NuGet: Install-Package Gnostice.PDFOne.DLL
using Gnostice.PDFOne;
using Gnostice.PDFOne.Graphics;
using System;

class Program
{
    static void Main()
    {
        PDFDocument doc = new PDFDocument();
        doc.Open();

        PDFPage page = doc.Pages.Add();

        // PDFOne doesn't have directHTML'den PDF'yeconversion
        // You need to use Document Studio for HTML conversion
        // Or manually parse and render HTML elements

        PDFTextElement textElement = new PDFTextElement();
        textElement.Text = "Simple text conversion instead of HTML";
        textElement.Draw(page, 10, 10);

        doc.Save("output.pdf");
        doc.Close();
    }
}
Imports Gnostice.PDFOne
Imports Gnostice.PDFOne.Graphics
Imports System

Module Program
    Sub Main()
        Dim doc As New PDFDocument()
        doc.Open()

        Dim page As PDFPage = doc.Pages.Add()

        ' PDFOne doesn't have direct HTML to PDF conversion
        ' You need to use Document Studio for HTML conversion
        ' Or manually parse and render HTML elements

        Dim textElement As New PDFTextElement()
        textElement.Text = "Simple text conversion instead of HTML"
        textElement.Draw(page, 10, 10)

        doc.Save("output.pdf")
        doc.Close()
    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 = "<h1>Hello World</h1><p>This is HTML content.</p>";

        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 = "<h1>Hello World</h1><p>This is HTML content.</p>";

        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 = "<h1>Hello World</h1><p>This is HTML content.</p>"

        Dim pdf = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

Fark önemli ölçüde:Gnostice PDFOneHTML'yi doğrudan PDF'e dönüştüremez—metin öğelerini manuel olarak oluşturmanız ve koordinatlarla konumlandırmanız gerekir. IronPDF'in ChromePdfRenderer doğrudan HTML render desteği ile tam CSS3 ve JavaScript desteği sağlar. Daha fazla işleme seçeneği için HTML'yi PDF'e dönüştürme belgelerine bakın.

Örnek 2: PDF Dosyalarını Birleştirme

Önce (Gnostice PDFOne):

// NuGet: Install-Package Gnostice.PDFOne.DLL
using Gnostice.PDFOne;
using Gnostice.PDFOne.Document;
using System;

class Program
{
    static void Main()
    {
        PDFDocument doc1 = new PDFDocument();
        doc1.Load("document1.pdf");

        PDFDocument doc2 = new PDFDocument();
        doc2.Load("document2.pdf");

        PDFDocument mergedDoc = new PDFDocument();
        mergedDoc.Open();

        mergedDoc.Append(doc1);
        mergedDoc.Append(doc2);

        mergedDoc.Save("merged.pdf");

        doc1.Close();
        doc2.Close();
        mergedDoc.Close();
    }
}
// NuGet: Install-Package Gnostice.PDFOne.DLL
using Gnostice.PDFOne;
using Gnostice.PDFOne.Document;
using System;

class Program
{
    static void Main()
    {
        PDFDocument doc1 = new PDFDocument();
        doc1.Load("document1.pdf");

        PDFDocument doc2 = new PDFDocument();
        doc2.Load("document2.pdf");

        PDFDocument mergedDoc = new PDFDocument();
        mergedDoc.Open();

        mergedDoc.Append(doc1);
        mergedDoc.Append(doc2);

        mergedDoc.Save("merged.pdf");

        doc1.Close();
        doc2.Close();
        mergedDoc.Close();
    }
}
Imports Gnostice.PDFOne
Imports Gnostice.PDFOne.Document
Imports System

Module Program
    Sub Main()
        Dim doc1 As New PDFDocument()
        doc1.Load("document1.pdf")

        Dim doc2 As New PDFDocument()
        doc2.Load("document2.pdf")

        Dim mergedDoc As New PDFDocument()
        mergedDoc.Open()

        mergedDoc.Append(doc1)
        mergedDoc.Append(doc2)

        mergedDoc.Save("merged.pdf")

        doc1.Close()
        doc2.Close()
        mergedDoc.Close()
    End Sub
End Module
$vbLabelText   $csharpLabel

Sonra (IronPDF):

// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdf1 = PdfDocument.FromFile("document1.pdf");
        var pdf2 = PdfDocument.FromFile("document2.pdf");

        var merged = PdfDocument.Merge(pdf1, pdf2);
        merged.SaveAs("merged.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        var pdf1 = PdfDocument.FromFile("document1.pdf");
        var pdf2 = PdfDocument.FromFile("document2.pdf");

        var merged = PdfDocument.Merge(pdf1, pdf2);
        merged.SaveAs("merged.pdf");
    }
}
Imports IronPdf
Imports System
Imports System.Collections.Generic

Module Program
    Sub Main()
        Dim pdf1 = PdfDocument.FromFile("document1.pdf")
        Dim pdf2 = PdfDocument.FromFile("document2.pdf")

        Dim merged = PdfDocument.Merge(pdf1, pdf2)
        merged.SaveAs("merged.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

Gnostice PDFOne yaklaşımı yeni bir belge oluşturmayı, açmayı, kaynak belgeleri ayrı ayrı yüklemeyi, her birini eklemeyi ve sonunda tüm belgeleri manuel olarak kapatmayı gerektirir. IronPDF'in statik Merge metodu, kaynak yönetimini doğru şekilde yaparak bunu üç satırda halleder. PDF'leri birleştirme ve bölme hakkında daha fazla bilgi edinin.

Örnek 3: PDF'e Filigran Ekleme

Önce (Gnostice PDFOne):

// NuGet: Install-Package Gnostice.PDFOne.DLL
using Gnostice.PDFOne;
using Gnostice.PDFOne.Graphics;
using System;
using System.Drawing;

class Program
{
    static void Main()
    {
        PDFDocument doc = new PDFDocument();
        doc.Load("input.pdf");

        PDFFont font = new PDFFont(PDFStandardFont.Helvetica, 48);

        foreach (PDFPage page in doc.Pages)
        {
            PDFTextElement watermark = new PDFTextElement();
            watermark.Text = "CONFIDENTIAL";
            watermark.Font = font;
            watermark.Color = Color.FromArgb(128, 255, 0, 0);
            watermark.RotationAngle = 45;

            watermark.Draw(page, 200, 400);
        }

        doc.Save("watermarked.pdf");
        doc.Close();
    }
}
// NuGet: Install-Package Gnostice.PDFOne.DLL
using Gnostice.PDFOne;
using Gnostice.PDFOne.Graphics;
using System;
using System.Drawing;

class Program
{
    static void Main()
    {
        PDFDocument doc = new PDFDocument();
        doc.Load("input.pdf");

        PDFFont font = new PDFFont(PDFStandardFont.Helvetica, 48);

        foreach (PDFPage page in doc.Pages)
        {
            PDFTextElement watermark = new PDFTextElement();
            watermark.Text = "CONFIDENTIAL";
            watermark.Font = font;
            watermark.Color = Color.FromArgb(128, 255, 0, 0);
            watermark.RotationAngle = 45;

            watermark.Draw(page, 200, 400);
        }

        doc.Save("watermarked.pdf");
        doc.Close();
    }
}
Imports Gnostice.PDFOne
Imports Gnostice.PDFOne.Graphics
Imports System
Imports System.Drawing

Module Program
    Sub Main()
        Dim doc As New PDFDocument()
        doc.Load("input.pdf")

        Dim font As New PDFFont(PDFStandardFont.Helvetica, 48)

        For Each page As PDFPage In doc.Pages
            Dim watermark As New PDFTextElement()
            watermark.Text = "CONFIDENTIAL"
            watermark.Font = font
            watermark.Color = Color.FromArgb(128, 255, 0, 0)
            watermark.RotationAngle = 45

            watermark.Draw(page, 200, 400)
        Next

        doc.Save("watermarked.pdf")
        doc.Close()
    End Sub
End Module
$vbLabelText   $csharpLabel

Sonra (IronPDF):

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

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");

        var watermark = new TextStamper()
        {
            Text = "CONFIDENTIAL",
            FontSize = 48,
            Opacity = 50,
            Rotation = 45,
            VerticalAlignment = VerticalAlignment.Middle,
            HorizontalAlignment = HorizontalAlignment.Center
        };

        pdf.ApplyStamp(watermark);
        pdf.SaveAs("watermarked.pdf");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Editing;
using System;

class Program
{
    static void Main()
    {
        var pdf = PdfDocument.FromFile("input.pdf");

        var watermark = new TextStamper()
        {
            Text = "CONFIDENTIAL",
            FontSize = 48,
            Opacity = 50,
            Rotation = 45,
            VerticalAlignment = VerticalAlignment.Middle,
            HorizontalAlignment = HorizontalAlignment.Center
        };

        pdf.ApplyStamp(watermark);
        pdf.SaveAs("watermarked.pdf");
    }
}
Imports IronPdf
Imports IronPdf.Editing
Imports System

Module Program
    Sub Main()
        Dim pdf = PdfDocument.FromFile("input.pdf")

        Dim watermark = New TextStamper() With {
            .Text = "CONFIDENTIAL",
            .FontSize = 48,
            .Opacity = 50,
            .Rotation = 45,
            .VerticalAlignment = VerticalAlignment.Middle,
            .HorizontalAlignment = HorizontalAlignment.Center
        }

        pdf.ApplyStamp(watermark)
        pdf.SaveAs("watermarked.pdf")
    End Sub
End Module
$vbLabelText   $csharpLabel

Gnostice PDFOne yaklaşımı, PDFFont nesnelerinin oluşturulmasını, sayfalar arasında elle iterasyonu, koordinatların (200, 400) hesaplanmasını ve PDFTextElement nesnelerinde özelliklerin ayarlanmasını gerektirir. IronPDF'in TextStamper deklaratif yapılandırma sağlar ve otomatik merkezleme ile sayfa uygulaması gerçekleştirir—koordinat hesaplamalarına gerek yoktur. Ek seçenekler için watermarking dökümantasyonunu inceleyin.


Kritik Geçiş Notları

Koordinat Temelli HTML/CSS Düzeni

BuGnostice PDFOnegöçündeki en büyük paradigma kayması, koordinat temelli konumlandırmadan HTML/CSS düzenine geçiştir:

// Gnostice PDFOne: Manual coordinate positioning
watermark.Draw(page, 200, 400);  // X=200, Y=400

// IronPDF: Declarative alignment
watermark.VerticalAlignment = VerticalAlignment.Middle;
watermark.HorizontalAlignment = HorizontalAlignment.Center;
// Gnostice PDFOne: Manual coordinate positioning
watermark.Draw(page, 200, 400);  // X=200, Y=400

// IronPDF: Declarative alignment
watermark.VerticalAlignment = VerticalAlignment.Middle;
watermark.HorizontalAlignment = HorizontalAlignment.Center;
' Gnostice PDFOne: Manual coordinate positioning
watermark.Draw(page, 200, 400)  ' X=200, Y=400

' IronPDF: Declarative alignment
watermark.VerticalAlignment = VerticalAlignment.Middle
watermark.HorizontalAlignment = HorizontalAlignment.Center
$vbLabelText   $csharpLabel

Yazı Tipi Nesneleri için CSS Stili

// Gnostice PDFOne
PDFFont font = new PDFFont(PDFStandardFont.Helvetica, 48);
watermark.Font = font;

//IronPDF- use CSS in HTML content
var html = "<span style='font-family: Helvetica, Arial, sans-serif; font-size: 48pt;'>Text</span>";
// Gnostice PDFOne
PDFFont font = new PDFFont(PDFStandardFont.Helvetica, 48);
watermark.Font = font;

//IronPDF- use CSS in HTML content
var html = "<span style='font-family: Helvetica, Arial, sans-serif; font-size: 48pt;'>Text</span>";
Imports Gnostice.PDFOne

' Gnostice PDFOne
Dim font As New PDFFont(PDFStandardFont.Helvetica, 48)
watermark.Font = font

' IronPDF- use CSS in HTML content
Dim html As String = "<span style='font-family: Helvetica, Arial, sans-serif; font-size: 48pt;'>Text</span>"
$vbLabelText   $csharpLabel

Sayfa İndeksleme

Gnostice PDFOne genellikle 1-indexed sayfaları kullanırken,IronPDF0-indexed (standart .NET kuralı) kullanır:

// Gnostice PDFOne: May use 1-indexed
var page = doc.Pages[1];  // First page

// IronPDF: 0-indexed
var page = pdf.Pages[0];  // First page
// Gnostice PDFOne: May use 1-indexed
var page = doc.Pages[1];  // First page

// IronPDF: 0-indexed
var page = pdf.Pages[0];  // First page
' Gnostice PDFOne: May use 1-indexed
Dim page = doc.Pages(1)  ' First page

' IronPDF: 0-indexed
Dim page = pdf.Pages(0)  ' First page
$vbLabelText   $csharpLabel

Artık Çalışan Özellikler

Gnostice PDFOne'dan IronPDF'ye geçtikten sonra, daha önce sorunlu veya imkansız olan bu özellikler kullanılabilir hale gelir:

  • Harici CSS: Gnostice PDFOne'da çalışmayan stil dosyaları şimdi doğru şekilde renderlenir
  • JavaScript İçerik: Eksik olan dinamik içerik şimdi görünüyor
  • RTL Dilleri: Arapça, İbranice ve diğer sağdan sola diller artık düzgün çalışıyor
  • CSS Grid ve Flexbox: Modern düzen teknikleri tamamen desteklenir
  • Dijital İmzalar: Güvenilir X509 sertifika imzalama

Ariza Giderme

Sorun 1: PDFTextElement Bulunamadı

Problem: IronPDF'te PDFTextElement mevcut değil.

Çözüm: HTML içerik veya TextStamper kullanın:

// For new documents - render HTML
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<p>Your text here</p>");

// For existing documents - use stampers
var stamper = new TextStamper() { Text = "Added Text" };
pdf.ApplyStamp(stamper);
// For new documents - render HTML
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<p>Your text here</p>");

// For existing documents - use stampers
var stamper = new TextStamper() { Text = "Added Text" };
pdf.ApplyStamp(stamper);
Imports IronPdf

' For new documents - render HTML
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<p>Your text here</p>")

' For existing documents - use stampers
Dim stamper As New TextStamper() With {.Text = "Added Text"}
pdf.ApplyStamp(stamper)
$vbLabelText   $csharpLabel

Sorun 2: PDFFont Nesneleri

Problem:Gnostice PDFOnePDFFont nesnelerini kullanır;IronPDFCSS kullanıyor.

Çözüm:

// Gnostice PDFOne
PDFFont font = new PDFFont(PDFStandardFont.Helvetica, 12);

//IronPDF- use CSS
var html = "<span style='font-family: Helvetica, Arial, sans-serif; font-size: 12pt;'>Text</span>";
// Gnostice PDFOne
PDFFont font = new PDFFont(PDFStandardFont.Helvetica, 12);

//IronPDF- use CSS
var html = "<span style='font-family: Helvetica, Arial, sans-serif; font-size: 12pt;'>Text</span>";
' Gnostice PDFOne
Dim font As New PDFFont(PDFStandardFont.Helvetica, 12)

' IronPDF- use CSS
Dim html = "<span style='font-family: Helvetica, Arial, sans-serif; font-size: 12pt;'>Text</span>"
$vbLabelText   $csharpLabel

Sorun 3: DocExporter Bulunamadı

Problem: IronPDF'te DocExporter sınıfı mevcut değil.

Çözüm: ChromePdfRenderer kullanın:

// Gnostice PDFOne
DocExporter exporter = new DocExporter();
exporter.Export(doc, "output.pdf", DocumentFormat.PDF);

// IronPDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("input.html");
pdf.SaveAs("output.pdf");
// Gnostice PDFOne
DocExporter exporter = new DocExporter();
exporter.Export(doc, "output.pdf", DocumentFormat.PDF);

// IronPDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("input.html");
pdf.SaveAs("output.pdf");
' Gnostice PDFOne
Dim exporter As New DocExporter()
exporter.Export(doc, "output.pdf", DocumentFormat.PDF)

' IronPDF
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlFileAsPdf("input.html")
pdf.SaveAs("output.pdf")
$vbLabelText   $csharpLabel

Sorun 4: Bellek İyileştirmeleri

Sorun:Gnostice PDFOnebellek sızıntılarını bildirmişti.

Çözüm:IronPDFsağlam bellek yönetimi sağlar. Uygun elden çıkarma desenlerini kullanın:

using (var pdf = PdfDocument.FromFile("large.pdf"))
{
    // Process PDF
    pdf.SaveAs("output.pdf");
}  // Automatically disposed
using (var pdf = PdfDocument.FromFile("large.pdf"))
{
    // Process PDF
    pdf.SaveAs("output.pdf");
}  // Automatically disposed
Imports PdfDocument

Using pdf = PdfDocument.FromFile("large.pdf")
    ' Process PDF
    pdf.SaveAs("output.pdf")
End Using
$vbLabelText   $csharpLabel

Goc Kontrol Listesi

Geçiş Öncesi

  • Kod tabanında tümGnostice PDFOnekullanımını envanterleyin
  • Çalışmayan özellikleri (CSS, JS, RTL) not edin—artık çalışacaktır!
  • Karşılaştırma testi için bellek sorunlarını belgeleyin -IronPDFlisans anahtarını edinin
  • Sürüm kontrolünde bir geçiş dalı oluşturun

Kod Göçü

-Gnostice PDFOneNuGet paketlerini kaldırın

  • IronPdf NuGet paketini kurun: dotnet add package IronPdf
  • Ad alanı eklerini güncelleyin
  • Lisans anahtarı ayarını değiştirin
  • PDFDocument öğesini PdfDocument öğesine dönüştürün
  • DocExporter öğesini ChromePdfRenderer öğesine dönüştürün
  • Koordinat temelli çizimleri HTML damgalama ile değiştirin
  • PDFFont öğesini CSS stiline güncelleyin
  • doc.Append() öğesini PdfDocument.Merge() öğesine dönüştürün

Test Etme

  • HTML'den PDF'ye donusumu test edin
  • Harici CSS'nin artık çalıştığını doğrulayın
  • JavaScript'e bağlı içeriği test edin
  • RTL dillerini test edin (gerekirse)
  • Dijital imzaları test edin (artık mevcut!)
  • PDF birleştirmeyi test edin
  • Filigranlamayı test edin
  • Bellek kullanımını karşılaştırın

Geçişten Sonra

-Gnostice PDFOnelisansını kaldırın

  • Belgeleri güncelleyin -Gnostice PDFOnesınırlamaları için çözümleri kaldırın
  • TakımıIronPDFAPI üzerinde eğitin

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