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:
-
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.
-
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.
-
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ü.
-
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.
-
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.
-
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.
-
Sınırlı Dijital İmza Desteği: Dijital imzalar tarihsel olarak Gnostice PDFOne'da ya yoktu ya da güvenilir değildi.
- 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
- .NET Sürümü: IronPDF, .NET Framework 4.6.2+ ve .NET Core 2.0+ / .NET 5/6/7/8/9+ destekler
- Lisans Anahtarı:IronPDFlisans anahtarınızı ironpdf.com'dan alın
- 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" .
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
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"
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" }
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
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
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
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
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
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
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
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
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>"
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
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)
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>"
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")
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
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öğesiniPdfDocumentöğesine dönüştürünDocExporteröğesiniChromePdfRendereröğesine dönüştürün- Koordinat temelli çizimleri HTML damgalama ile değiştirin
PDFFontöğesini CSS stiline güncelleyindoc.Append()öğesiniPdfDocument.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

