C#'ta PDFmyURL'den IronPDF'ye Nasıl Geçilir
PDFmyURL, URL'ler ve HTML içeriğini PDF belgelerine dönüştürmek için tasarlanmış bulut tabanlı bir API hizmetidir. Hizmet, tüm dönüşümleri harici sunucularda işleyerek, minimal yerel altyapı gerektiren basit bir entegrasyon yolu sağlar. Ancak, bu bulut bağımlı mimari, hassas verilerle başa çıkarken, çevrimdışı yetenek gereksinimi olan veya sürekli abonelik maliyetlerinden kaçınması gereken üretim uygulamaları için önemli endişeler yaratır.
Bu kılavuz, PDFmyURL'den IronPDF'e eksiksiz bir geçiş yolu sağlayarak, bu geçişi değerlendiren profesyonel .NET geliştiricileri için adım adım talimatlar, kod karşılaştırmaları ve pratik örnekler sunar.
Neden PDFmyURL'den Geçmelisiniz?
PDFmyURL'ün bulut işleme modeli, geliştirme ekiplerinin göz önünde bulundurması gereken birkaç zorluk sunar:
Gizlilik ve Veri Güvenliği: Çevirdiğiniz her belge PDFmyURL'nin sunucularına gider ve oradan geçer—hassas sözleşmeler, finans raporları ve kişisel veriler hepsi dışarıda işlenir.
Sürekli Abonelik Maliyetleri: Planlar ayda $20'den (Başlangıç, 500 PDF), ayda $40'den (Profesyonel, 2.000 PDF) ve ayda $70'den (Gelişmiş, 5.000 PDF), hiçbir seviyede sahiplik yok. Bu abonelik modeli, kullanım alışkanlıklarından bağımsız olarak sürekli harcama anlamına gelir.
İnternet Bağımlılığı: Her dönüşüm ağ bağlantısı gerektirir. Uygulamalar çevrimdışı veya ağ kesintileri sırasında PDF işleyemez.
Kota Sınırlamaları ve Darboğazlar: Yoğun kullanım sırasında API çağrıları kısıtlanabilir, bu da uygulama performansını etkileyebilir.
Hizmet Erişilebilirliği: Uygulamanızın çevrimiçi ve işlevsel olan üçüncü taraf bir hizmete bağımlılığı vardır.
Tedarikçiye Bağlılık: API değişiklikleri entegrasyonunuzu öncüllü olarak kesebilir ve reaktif kod güncellemeleri gerektirir.
IronPDF vs PDFmyURL: Özellik Karşılaştırması
Mimari farklılıkları anlamak, teknik karar vericilerin geçiş yatırımını değerlendirmesine yardımcı olur:
| Aspekt | PDFmyURL | IronPDF |
|---|---|---|
| İşleme Yeri | Harici sunucular | Yerel (sunucunuz) |
| Tür | API Sarmalayıcı | .NET Kütüphanesi |
| Kimlik Doğrulama | Her istek için API anahtarı | Tek seferlik lisans anahtarı |
| Ağ Gerekli | Her dönüşüm | Sadece ilk kurulum |
| Fiyatlandırma Modeli | Aylık abonelik ($20–$70+) | Süresiz lisans mevcut |
| Oran Sınırlamaları | Evet (plan bağımlı) | None |
| Veri Gizliliği | Veri harici olarak gönderilir | Veri yerel kalır |
| HTML/CSS/JS Desteği | Sunucu tarafı betimleme (W3C uyumlu) | Tam Chrome motoru |
| Async Pattern | HTTP isteği (ağa bağlı) | Sync ve async seçenekleri |
| PDF Manipülasyonu | Sınırlı | Tam paket (birleştirme, bölme, düzenleme) |
| Kullanım Durumu | Düşük hacimli uygulamalar | Yüksek hacimli ve kurumsal |
Hızlı Başlangıç: PDFmyURL'den IronPDF'e Geçiş
Geçiş bu öncü adımlarla hemen başlayabilir.
Adım 1: IronPDF'i Yükleyin
PDFmyURL için bir NuGet paketi yoktur — hizmet bir REST API'dir ve opsiyonel PDFmyURL.NET.dll bileşeni doğrudan bir DLL indirmesi olarak sunulur (nuget.org'da değil). Çoğu entegrasyon, API'yi WebClient / HttpClient ile çağırır, bu nedenle geçiş esas olarak paket referanslarından ziyade kodla ilgilidir. Eğer PDFmyURL.NET.dll montajını kullandıysanız, geçiş yaptıktan sonra projeden referansı kaldırın.
# Install IronPDF
dotnet add package IronPdf
# Install IronPDF
dotnet add package IronPdf
Adım 2: Ad Alanlarını Güncelleyin
PDFmyURL içe aktarımlarınıIronPDF ile değiştirin:
// Before:PDFmyURL— either plain HttpClient/WebClient against pdfmyurl.com/api,
// or the optional .NET component:
using PDFmyURLdotNET; // only if you used PDFmyURL.NET.dll
using System.Net; // WebClient / HttpClient
// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
// Before:PDFmyURL— either plain HttpClient/WebClient against pdfmyurl.com/api,
// or the optional .NET component:
using PDFmyURLdotNET; // only if you used PDFmyURL.NET.dll
using System.Net; // WebClient / HttpClient
// After: IronPDF
using IronPdf;
using IronPdf.Rendering;
Imports PDFmyURLdotNET ' only if you used PDFmyURL.NET.dll
Imports System.Net ' WebClient / HttpClient
' After: IronPDF
Imports IronPdf
Imports IronPdf.Rendering
Adım 3: Lisansa İzin Verin
Uygulama başlangıcında lisans başlatmayı ekleyin:
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
Kod Göç Örnekleri
URL'leri PDF'ye Dönüştürme
URL-to-PDF işlemi,PDFmyURLve IronPDF arasındaki temel API farklılıklarını gösterir.
PDFmyURL Yaklaşımı:
//PDFmyURLREST API — no NuGet SDK. Docs: https://pdfmyurl.com/html-to-pdf-api
using System;
using System.Net;
class Example
{
static void Main()
{
string license = "your-license-key";
string url = "https://example.com";
try
{
using (var client = new WebClient())
{
client.QueryString.Add("license", license);
client.QueryString.Add("url", url);
// PDF binary is returned in the response body
client.DownloadFile("https://pdfmyurl.com/api", "output.pdf");
}
}
catch (WebException ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
//PDFmyURLREST API — no NuGet SDK. Docs: https://pdfmyurl.com/html-to-pdf-api
using System;
using System.Net;
class Example
{
static void Main()
{
string license = "your-license-key";
string url = "https://example.com";
try
{
using (var client = new WebClient())
{
client.QueryString.Add("license", license);
client.QueryString.Add("url", url);
// PDF binary is returned in the response body
client.DownloadFile("https://pdfmyurl.com/api", "output.pdf");
}
}
catch (WebException ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
Imports System
Imports System.Net
Module Example
Sub Main()
Dim license As String = "your-license-key"
Dim url As String = "https://example.com"
Try
Using client As New WebClient()
client.QueryString.Add("license", license)
client.QueryString.Add("url", url)
' PDF binary is returned in the response body
client.DownloadFile("https://pdfmyurl.com/api", "output.pdf")
End Using
Catch ex As WebException
Console.WriteLine("Error: " & ex.Message)
End Try
End Sub
End Module
IronPDF Yaklaşımı:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Example
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("output.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Example
{
static void Main()
{
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://example.com");
pdf.SaveAs("output.pdf");
}
}
Imports IronPdf
Imports System
Class Example
Shared Sub Main()
Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://example.com")
pdf.SaveAs("output.pdf")
End Sub
End Class
PDFmyURL, her dönüşümde https://pdfmyurl.com/api'ye bir HTTP bağlantısı açılmasını, license jetonunun ve hedef url'nin sorgu (veya form) parametreleri olarak eklenmesini ve yanıt gövdesinin diske yazılmasını gerektirir. Hatalar, HTTP durum koduna göre WebException olarak yüzeye çıkar.
IronPDF bunu üç satıra indirir: bir ChromePdfRenderer oluşturun, RenderUrlAsPdf() çağırın ve yerleşik SaveAs() yöntemini kullanın. Her istek için kimlik bilgileri gerekli değil — lisans, uygulama başlangıcında bir kez ayarlanır.
Gelişmiş URL-to-PDF senaryoları için URL to PDF dökümantasyonuna bakın.
HTML Metin Dizelerini PDF'e Dönüştürme
HTML metin dönüşümü, desen farklılıklarını açıkça gösterir.
PDFmyURL Yaklaşımı:
//PDFmyURLREST API — no NuGet SDK. Send the raw HTML in the `html` parameter.
// Docs: https://pdfmyurl.com/html-to-pdf-api
using System;
using System.Collections.Specialized;
using System.IO;
using System.Net;
class Example
{
static void Main()
{
string license = "your-license-key";
string html = "<html><body><h1>Hello World</h1></body></html>";
try
{
using (var client = new WebClient())
{
var values = new NameValueCollection
{
{ "license", license },
{ "html", html }
};
// POST form-encoded; response body is the PDF binary
byte[] pdfBytes = client.UploadValues("https://pdfmyurl.com/api", "POST", values);
File.WriteAllBytes("output.pdf", pdfBytes);
}
}
catch (WebException ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
//PDFmyURLREST API — no NuGet SDK. Send the raw HTML in the `html` parameter.
// Docs: https://pdfmyurl.com/html-to-pdf-api
using System;
using System.Collections.Specialized;
using System.IO;
using System.Net;
class Example
{
static void Main()
{
string license = "your-license-key";
string html = "<html><body><h1>Hello World</h1></body></html>";
try
{
using (var client = new WebClient())
{
var values = new NameValueCollection
{
{ "license", license },
{ "html", html }
};
// POST form-encoded; response body is the PDF binary
byte[] pdfBytes = client.UploadValues("https://pdfmyurl.com/api", "POST", values);
File.WriteAllBytes("output.pdf", pdfBytes);
}
}
catch (WebException ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
Imports System
Imports System.Collections.Specialized
Imports System.IO
Imports System.Net
Class Example
Shared Sub Main()
Dim license As String = "your-license-key"
Dim html As String = "<html><body><h1>Hello World</h1></body></html>"
Try
Using client As New WebClient()
Dim values As New NameValueCollection From {
{"license", license},
{"html", html}
}
' POST form-encoded; response body is the PDF binary
Dim pdfBytes As Byte() = client.UploadValues("https://pdfmyurl.com/api", "POST", values)
File.WriteAllBytes("output.pdf", pdfBytes)
End Using
Catch ex As WebException
Console.WriteLine("Error: " & ex.Message)
End Try
End Sub
End Class
IronPDF Yaklaşımı:
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
class Example
{
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 Example
{
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 Example
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
PDFmyURL, ham HTML'i html form parametresiyle API son noktasına POST eder ve yanıt gövdesi olarak görüntülenmiş PDF'i döndürür. IronPDF'nin RenderHtmlAsPdf() her şeyi yerel olarak Chromium render motorunu kullanarak işler.
Daha fazla seçenek için HTML to PDF dönüşüm kılavuzuna göz atın.
Sayfa Ayarları ile HTML Dosya Dönüştürme
Kâğıt boyutunu, yönünü ve kenar boşluklarını yapılandırmak her kütüphanede farklı yaklaşımlar gerektirir.
PDFmyURL Yaklaşımı:
//PDFmyURLREST API — no NuGet SDK. Page settings are sent as query/form parameters.
// Parameter reference: https://pdfmyurl.com/html-to-pdf-api
using System;
using System.Collections.Specialized;
using System.IO;
using System.Net;
class Example
{
static void Main()
{
string license = "your-license-key";
string html = File.ReadAllText("input.html");
try
{
using (var client = new WebClient())
{
var values = new NameValueCollection
{
{ "license", license },
{ "html", html },
{ "page_size", "A4" },
{ "orientation", "landscape" },
{ "top", "10" },
{ "unit", "mm" }
};
byte[] pdfBytes = client.UploadValues("https://pdfmyurl.com/api", "POST", values);
File.WriteAllBytes("output.pdf", pdfBytes);
}
}
catch (WebException ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
//PDFmyURLREST API — no NuGet SDK. Page settings are sent as query/form parameters.
// Parameter reference: https://pdfmyurl.com/html-to-pdf-api
using System;
using System.Collections.Specialized;
using System.IO;
using System.Net;
class Example
{
static void Main()
{
string license = "your-license-key";
string html = File.ReadAllText("input.html");
try
{
using (var client = new WebClient())
{
var values = new NameValueCollection
{
{ "license", license },
{ "html", html },
{ "page_size", "A4" },
{ "orientation", "landscape" },
{ "top", "10" },
{ "unit", "mm" }
};
byte[] pdfBytes = client.UploadValues("https://pdfmyurl.com/api", "POST", values);
File.WriteAllBytes("output.pdf", pdfBytes);
}
}
catch (WebException ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
}
Imports System
Imports System.Collections.Specialized
Imports System.IO
Imports System.Net
Class Example
Shared Sub Main()
Dim license As String = "your-license-key"
Dim html As String = File.ReadAllText("input.html")
Try
Using client As New WebClient()
Dim values As New NameValueCollection From {
{"license", license},
{"html", html},
{"page_size", "A4"},
{"orientation", "landscape"},
{"top", "10"},
{"unit", "mm"}
}
Dim pdfBytes As Byte() = client.UploadValues("https://pdfmyurl.com/api", "POST", values)
File.WriteAllBytes("output.pdf", pdfBytes)
End Using
Catch ex As WebException
Console.WriteLine("Error: " & ex.Message)
End Try
End Sub
End Class
IronPDF Yaklaşımı:
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;
class Example
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginTop = 10;
var pdf = renderer.RenderHtmlFileAsPdf("input.html");
pdf.SaveAs("output.pdf");
}
}
// NuGet: Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
using System;
class Example
{
static void Main()
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginTop = 10;
var pdf = renderer.RenderHtmlFileAsPdf("input.html");
pdf.SaveAs("output.pdf");
}
}
Imports IronPdf
Imports IronPdf.Rendering
Imports System
Class Example
Shared Sub Main()
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape
renderer.RenderingOptions.MarginTop = 10
Dim pdf = renderer.RenderHtmlFileAsPdf("input.html")
pdf.SaveAs("output.pdf")
End Sub
End Class
PDFmyURL, sayfaları `page_size=A4, \orientation=landscapeve marj alanlarını (\top, \bottom, \left, \right) içeren form parametreleri ekleyerek ve birunit(örneğin,mm,in) ile yapılandırır. IronPDF, millimetre olarak marjlar için tamsayı değerlerleRenderingOptions` aracılığıyla güçlü tipte özellikler sağlar.
PDFmyURL API to IronPDF Eşleme Referansı
Bu eşleştirme, doğrudan API eşdeğerlerini göstererek geçişi hızlandırır:
Çekirdek Sınıflar / Giriş Noktaları
| PDFmyURL | IronPDF |
|---|---|
WebClient / HttpClient gönderimi https://pdfmyurl.com/api 'a |
ChromePdfRenderer |
PDFmyURLdotNET.PDFmyURL (PDFmyURL.NET.dll'dan opsiyonel .NET bileşeni) |
ChromePdfRenderer |
| Form / sorgu parametreleri | ChromePdfRenderOptions |
| HTTP yanıt gövdesi baytları | PdfDocument |
Metotlar
| PDFmyURL | IronPDF |
|---|---|
WebClient.DownloadFile(".../api?license=...&url=...", file) |
renderer.RenderUrlAsPdf(url).SaveAs(file) |
html= parametresi ile POST |
renderer.RenderHtmlAsPdf(html) |
File.ReadAllText("input.html") daha sonra html= POST |
renderer.RenderHtmlFileAsPdf(path) |
pdf.ConvertURL(url, file) (PDFmyURL.NET.dll) |
renderer.RenderUrlAsPdf(url).SaveAs(file) |
pdf.ConvertHTML(html, file) (PDFmyURL.NET.dll) |
renderer.RenderHtmlAsPdf(html).SaveAs(file) |
| HTTP yanıt gövdesi (`byte[]`) | pdf.BinaryData |
| HTTP yanıt akışı | new MemoryStream(pdf.BinaryData) |
Yapılandırma Seçenekleri
PDFmyURL ayarları HTTP isteği üzerinde form/sorgu parametreleri olarak iletilir. Aşağıdaki tablo, gerçekPDFmyURLparametre adlarını IronPDF'nin RenderingOptions ile eşleştirir.
| PDFmyURL parametresi | IronPDF (RenderingOptions) |
|---|---|
page_size=A4 |
.PaperSize = PdfPaperSize.A4 |
page_size=Letter |
.PaperSize = PdfPaperSize.Letter |
orientation=landscape |
.PaperOrientation = PdfPaperOrientation.Landscape |
orientation=portrait |
.PaperOrientation = PdfPaperOrientation.Portrait |
top=10&unit=mm |
.MarginTop = 10 |
bottom=10&unit=mm |
.MarginBottom = 10 |
left=10&unit=mm |
.MarginLeft = 10 |
right=10&unit=mm |
.MarginRight = 10 |
header=<html> |
.HtmlHeader = new HtmlHeaderFooter { HtmlFragment = html } |
footer=<html> |
.HtmlFooter = new HtmlHeaderFooter { HtmlFragment = html } |
javascript_time=500 |
.RenderDelay = 500 |
no_javascript=true |
.EnableJavaScript = false |
css_media_type=print |
.CssMediaType = PdfCssMediaType.Print |
Kimlik Doğrulama Karşılaştırması
| PDFmyURL | IronPDF |
|---|---|
license=<key> her API isteğinde sorgu/form parametresi |
IronPdf.License.LicenseKey = "LICENSE-KEY" |
| Her istek için lisans tokeni | Başlangıçta yalnızca bir kez |
| Her çağrı için gerekli | Küresel olarak bir kez ayarlayın |
Yaygın Göç Sorunları ve Çözümleri
Sorun 1: Lisans Tokeni vs Lisans Anahtarı
PDFmyURL: Her API isteğinde license jetonunu gerektirir.
Çözüm:IronPDF lisansını uygulama başlatıldığında bir kez ayarlayın:
// PDFmyURL: license token per request
client.QueryString.Add("license", "your-license-key");
// IronPDF: One-time license at startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Set once, typically in Program.cs or Startup.cs
// PDFmyURL: license token per request
client.QueryString.Add("license", "your-license-key");
// IronPDF: One-time license at startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
// Set once, typically in Program.cs or Startup.cs
' PDFmyURL: license token per request
client.QueryString.Add("license", "your-license-key")
' IronPDF: One-time license at startup
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
' Set once, typically in Program.vb or Startup.vb
Probleme 2: Başlık/Altbilgilerde Yer Tutucu Sözdizimi
PDFmyURL: [page] ve `[topage]gibi jetonlarıheader/footer` form parametrelerinde kullanır (kanonik jeton listesi için canlı API referansına bakınız).
Çözüm: HtmlHeaderFooter.HtmlFragment içinde IronPDF'nin yer tutucu formatına güncelleyin:
// PDFmyURL: "Page [page] of [topage]"
// IronPDF: "Page {page} of {total-pages}"
// PDFmyURL: "Page [page] of [topage]"
// IronPDF: "Page {page} of {total-pages}"
' PDFmyURL: "Page [page] of [topage]"
' IronPDF: "Page {page} of {total-pages}"
Probleme 3: Async Desenler
PDFmyURL: Uzak bir HTTP çağrısıdır; genellikle HttpClient.PostAsync ile pdfmyurl.com/api karşı çağrılır.
Çözüm: IronPDF, varsayılan olarak süreç içi ve eşzamanlıdır; gerekirse eşzamansız sarma için kullanın:
// PDFmyURL: HTTP request to the public endpoint
var response = await http.PostAsync("https://pdfmyurl.com/api", form);
// IronPDF: Sync by default, wrap for async
var pdf = await Task.Run(() => renderer.RenderUrlAsPdf(url));
// PDFmyURL: HTTP request to the public endpoint
var response = await http.PostAsync("https://pdfmyurl.com/api", form);
// IronPDF: Sync by default, wrap for async
var pdf = await Task.Run(() => renderer.RenderUrlAsPdf(url));
Imports System.Net.Http
Imports System.Threading.Tasks
' PDFmyURL: HTTP request to the public endpoint
Dim response = Await http.PostAsync("https://pdfmyurl.com/api", form)
' IronPDF: Sync by default, wrap for async
Dim pdf = Await Task.Run(Function() renderer.RenderUrlAsPdf(url))
Probleme 4: Hata Yönetimi
PDFmyURL: HTTP düzeyinde hatalar (geçersiz lisans, hız sınırı, ağ hatası, hizmet mevcut değil) WebException / başarısız durum kodları olarak yüzeye çıkar.
Çözüm: IronPDF'nin türlenmiş istisnaları için catch bloklarını güncelleyin:
// PDFmyURL: WebException from the HTTP call
catch (WebException e) { ... }
// IronPDF: Typed exceptions
catch (IronPdf.Exceptions.IronPdfRenderingException e) { ... }
// PDFmyURL: WebException from the HTTP call
catch (WebException e) { ... }
// IronPDF: Typed exceptions
catch (IronPdf.Exceptions.IronPdfRenderingException e) { ... }
Probleme 5: Yapılandırma Deseni
PDFmyURL: Yapılandırma, HTTP isteği üzerinde form/sorgu parametreleri olarak geçirilir.
Çözüm: Güçlü türlendirilmiş RenderingOptions özelliklerini kullanın:
// PDFmyURL: form/query parameters
values.Add("page_size", "A4");
values.Add("orientation", "landscape");
// IronPDF: Properties with enums
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
// PDFmyURL: form/query parameters
values.Add("page_size", "A4");
values.Add("orientation", "landscape");
// IronPDF: Properties with enums
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
' PDFmyURL: form/query parameters
values.Add("page_size", "A4")
values.Add("orientation", "landscape")
' IronPDF: Properties with enums
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape
PDFmyURL Geçiş Kontrol Listesi
Geçiş Öncesi Görevler
PDFmyURL kullanımının hepsini belirlemek için kod tabanınızı denetleyin:
# FindPDFmyURLendpoint and component usage
grep -r "pdfmyurl.com/api\|PDFmyURLdotNET\|new PDFmyURL(" --include="*.cs" .
# Find license-token references
grep -r "license=\|licensekey" --include="*.cs" --include="*.json" --include="*.config" .
# Find placeholder patterns to migrate
grep -r "\[page\]\|\[topage\]" --include="*.cs" .
# FindPDFmyURLendpoint and component usage
grep -r "pdfmyurl.com/api\|PDFmyURLdotNET\|new PDFmyURL(" --include="*.cs" .
# Find license-token references
grep -r "license=\|licensekey" --include="*.cs" --include="*.json" --include="*.config" .
# Find placeholder patterns to migrate
grep -r "\[page\]\|\[topage\]" --include="*.cs" .
Kullanılan mevcut yapılandırma parametrelerini belgelerken (sayfa_boyutu, yönlendirme, kenar boşlukları, başlık/altbilgi, vb.) Lisans anahtarı saklama planını ortam değişkenleri kullanarak yapın.
Kod Güncelleme Görevleri
- Opsiyonel
PDFmyURL.NET.dllreferansını kullandıysanız kaldırın (kaldırmak için bir NuGet paketi yoktur) 2.IronPDF NuGet paketini kurun - Tüm ad alanı ithalatlarını güncelleyin
- Her istekteki
licensejetonunuIronPdf.License.LicenseKeyile değiştirin - Form/sorgu parametrelerini
RenderingOptionsözelliklerine dönüştürün - Başlık / alt bilgilerdeki yer tutucu sözdizimini güncelleyin (örneğin,
[page]→{page},[topage]→{total-pages}) - Hata işleme kodunu güncelleyin (`WebException` typed IronPDF istisnaları)
- Başlangıçta IronPDF lisans başlatması ekleyin
Geçiş Sonrası Testler
Geçiş sonrasında bu yönleri doğrulayın:
- PDF çıktısının kalitesinin beklentilere uyduğunu test edin
- Eşzamansız desenlerin doğru çalıştığını doğrulayın
- Önceki çıktı ile render doğruluğunu karşılaştırın
- Tüm şablon varyasyonlarının doğru göründüğünden emin olun
- Sayfa ayarlarının (boyut, yön, kenar boşlukları) doğru olduğunu doğrulayın
- Linux sunucularına dağıtım yapılıyorsa Linux bağımlılıklarını yükleyin
IronPDF'e Geçmenin Temel Faydaları
PDFmyURL'den IronPDF'ye geçiş, birkaç kritik avantaj sunar:
Tam Gizlilik: Belgeleriniz sunucunuzu asla terk etmez. Tüm işlemler yerel olarak gerçekleşir, hassas içerikler için veri güvenlik endişelerini ortadan kaldırır.
Tek Seferlik Ücret: Süresiz lisans seçeneği, sürekli abonelik ücretlerini ortadan kaldırır. Kullanım hacmine bakılmaksızın artık aylık ödemeler yok.
Çevrimdışı Yeteneği: İlk kurulumdan sonra internet olmadan çalışır. Ağ kesintileri PDF oluşturmayı etkilemez.
Hız Sınırı Yok: Sınırsız belgeleri işlem kapasitesi olmadan işleyin.
Düşük Gecikme Süresi: Ağ yükü olmadığından daha hızlı dönüşümler sağlar, özellikle yüksek hacimli uygulamalar için.
Tam Denetim: İşleme ortamını üçüncü bir taraf değil siz kontrol edersiniz.
Modern Chromium Motoru: Chrome tarayıcısını güçlendiren aynı render motoru ile tam CSS3 ve JavaScript desteği.
Aktif Geliştirme: IronPDF'nin düzenli güncellemeleri, mevcut modern .NET sürümleriyle uyumluluğu garanti eder.

