IronPDF ve XFINIUM.PDF: .NET için HTML to PDF Kütüphanesi Karşılaştırması
IronPDF, Chromium motorunu kullanarak tam CSS ve JavaScript desteği ile HTML'den PDF'ye dönüşümde mükemmeldir. Buna karşılık, XFINIUM.PDF, yerel HTML işleme olmadan düşük seviyeli PDF manipülasyonunda uzmanlaşmıştır, böylece IronPDF'i modern web tabanlı PDF üretimi için .NET uygulamalarında daha uygun bir seçim haline getirir.
Modern teknoloji, geliştiriciler için otomasyonun yazılım geliştirme süreçlerini yönlendirmesiyle daha akıllı çözümler sunar. C# PDF dosyaları ile çalışmak uzun süredir geliştiriciler için bir meydan okuma olmuştur. PDF dosyaları için içerik oluştururken ve hatta farklı formatlardan PDF'ye içerik dönüştürülürken çok daha fazla faktör göz önünde bulundurulmalıdır. Bu zorluklar, çeşitli formatlardan PDF'leri okumak, yazmak, oluşturmak ve dönüştürmek için tasarlanmış kütüphaneler aracılığıyla artık çözülmüştür.
Bu makale, .NET ve .NET Core geliştiricileri için iki popüler PDF kütüphanesini karşılaştırmaktadır:
- IronPDF kütüphanesi
- XFINIUM.PDF kütüphanesi
Hem IronPDF hem de XFINIUM.PDF, .NET ve .NET Core'da PDF'ler oluşturma, manipüle etme ve yazdırma yöntemleri sağlar. İki kütüphanenin ve PDF dönüştürme ve manipüle etme için ilgili özelliklerinin karşılaştırmasını inceleyerek bilinçli bir karar verebilirsiniz.
İlk olarak, iki kütüphanenin ne sunduğunu keşfedelim, sonrasında karşılaştırmaya geçelim.
XFINIUM.PDF Kütüphanesi'nin Özellikleri Nelerdir?
XFINIUM.PDF kütüphanesi, hem başlangıç hem de ileri düzey PDF geliştiricilerine yönelik, platformlar arası bir PDF geliştirme aracıdır. Raporlar oluşturabilir, PDF formlarını doldurabilir, PDF portföyleri oluşturabilir, PDF raporlarından hassas verileri sansürleyebilir veya PDF raporlarını çok sayfalı TIFF görüntülerine dönüştürebilirsiniz.
XFINIUM.PDF iki sürümde mevcuttur: PDF üretimi ve düzenlemesini içeren Generator Sürümü ve PDF render etme ve PDF görüntüleme ekleyen Viewer Sürümü.
XFINIUM.PDF tamamen C# ile yazılmış ve tamamıyla yönetilen koddur. Geliştirici başına lisanslanır ve telif ücretisiz yayılım, programınızı ek maliyet olmadan dağıtmanıza olanak sunar.
Generator ve Viewer Sürümleri Arasındaki Fark Nedir?
Generator Sürümü, Viewer Sürümü'nün bir alt kümesidir. PDF oluşturma ve düzenleme özellikleri sunarken, Viewer Sürümü PDF render etme yetenekleri ekler. Viewer Sürümü, PDF sayfalarını RAW, BMP, GIF, JPG, PNG ve TIFF görüntülerine dönüştürebilir.
XFINIUM.PDF Özellikleri
Ana özellikler şunlardır:
Güvenlik
- Kullanıcı ve sahip parolaları
- Belge erişim hakları
- 40-bit ve 128-bit RC4 şifreleme
- 128-bit ve 256-bit AES sifreleme
- İçerik düzeltme
- Metin kopyalama/yapistirmayi devre disi birak
Dijital İmzalar
- X509 sertifikalari ile onay ve sertifikasyon
- SHA256/384/512 ile CMS ve PAdES imzalar
- Imza zaman damgalari
- Imzalarda OCSP ve CRL bilgileri
- Doküman guvenlik deposu
- Doküman zaman damgalari
- LTV aktif olan dijital imzalar
- Imzalari ASN.1 objelerine ayristirma
- Imzalardan sertifika cikarma
- Imzali PDF kopyalari kaydet
Barkod
- Dahili vektor barkod motoru
- Tek boyutlu barkodlar:
- Codabar, Code 11, Code 25, Code 39/93/128
- Farmasotik: Code 32, Pharmacode, PZN
- Cift boyutlu barkodlar:
DataMatrix, QR, PDF417, Micro PDF417
Gelişmiş barkod islevselligi icin, tam barkod uretim ve okuma yetenekleri sunan Ironbarcode Dokümantasyonunu dusunun.
İçerik Cikarma
- Konum bilgisiyle metin cikarma
- Kelime ve konumlariyla metin cikarma
- Kullanıcı tanimli bolgelerden cikarma
- Görüntü ve metadata cikarma
Dusuk Duzyeli COS API
- COS objeleri ekleme, duzenleme ve silme
- Desteklenen tipler: stringler, sayilar, isimler, booleanlar, null, diziler, sozlukler, akimlar
PDF Render (Sadece Viewer Surumu)
- Sayfalari görüntüye render et: RAW, BMP, GIF, JPG, PNG, TIFF
- ARGB, RGBA, BGRA, RGB, BGR ve Gri tonlamali dizaynlar
- CCITT G4 ile PDF'den birden fazla sayfali TIFF'e
IronPDF'nin Ana Özellikleri Nelerdir?
IronPDF .NET PDF kutuphanesi, C# programcilari icin PDF geliştirmeyi basitlestirir. Bu aracla, kolayca .NET icin bir cekirdek PDF kutuphanesi yapilabilir.
IronPDF, HTML sayfalarini PDF dosyalarina dönüştürur .NET Chromium motoru kullanarak. HTML'den PDF'e icin karisik API'lere ihtiyaçiniz yok. HTML, ASPX, JS, CSS ve görüntüler gibi standart web dokümanlari desteklenir.
HTML5, CSS, JavaScript ve görüntüler kullanarak bir .NET PDF kutuphanesi geliştirebilirsiniz. PDF'ler basliklar ve altliklar ile duzenlenebilir, damgalanabilir ve geliştirilebilir. Kutuphanesi PDF metni okur ve grafikleri cikarmayi etkin bir sekilde yonetir.
IronPDF'yi indirin ve bugun .NET projelerinde kullanmaya başlayin.
IronPDF C# Kutuphanesinin Ozel Özellikleri
Ana özellikler şunlardır:
PDF'ler Oluştur (HTML'den PDF'e)
- HTML4/5, CSS ve JavaScript destegi
- Ag kimlik bilgileri, kullanıcı ajanlari, proxyler, cookie'ler, HTTP basliklari ile URL'leri yukle
Mevcut PDF Dokümanlarini Duzenleme
- Form alanlarini oku ve doldur
- Grafik ve metin cikarma
- Sayfalari yeni HTML içeriklerle güncelle
- Matik veya HTML basliklar/altliklar ekle
PDF Dokümanlarini Manipule Et
- Mevcut PDF'leri yukle ve cozumle
- Dokümanlari birlestir ve ayir
- basliklar, notlar, yer imleri, filigranlar, metin, görüntüler ekle
Çeşitli Dosya Formatlarini Dönüştür
- ASPX WebForms — Uc satirla dönüştür
- HTML dosyalarini PDF'e dönüştür
- Asset erişimi icin ozel base URL'ler
- Duyarli tasarim icin sanal viewport
- Ana dosya kodlamalari icin destek (UTF-8 varsıyılan)
Yazdir ve Kaydet
- Dosyalar, ikili veriler, MemoryStreamlerden kaydet/yukle
- CSS medya turleri yazdirma icin
- Adobe Acrobat olmadan PDF yazdir
- Hata ayiklama icin API loglarini disa aktar
IronPDF, tüm ana isletim sistemlerini ve cercevelerini destekler:
IronPDF C# Kutuphanesi Nasıl Yüklenir?
IronPDF'yi indirmek ve yuklemek icin dort yol vardir:
- Visual Studio Kullanarak
- Geliştirici Komut Istemi
- NuGet Paketi'ni dogrudan indirin
- IronPDF .DLL Kutuphanesi'ni indirin
Visual Studio Kullanımı
Visual Studio, projelerinize paket yüklemek için NuGet Paket Yöneticisi sunar. Proje menüsü üzerinden veya Çözüm Gezgini'nde projenize sağ tıklayarak erişebilirsiniz.
Fi̇gür 1. Visual Studio'da Proje Menusunu kullanarak NuGet Paket Yöneticisi'ne erişim
Fi̇gür 2. Visual Studio'da bağlam menüsünü kullanarak NuGet Paket Yöneticisi'ne erişim
Secildikten sonra, IronPDF paketini aratin ve yükleyin.
Fi̇gür 3. Visual Studio'da NuGET Paket Yöneticisini kullanarak IronPDF kutuphanesini yükleme
Geliştirici Komut Istemi kullanarak
Geliştirici Komut Istemi üzerinden IronPDF NuGet paketini yükleyin:
- Geliştirici Komut Istemi'ni açın
-
Asagidaki komutu yazin:
nuget install IronPdfnuget install IronPdfSHELL - Enter'a basin
- Paket indirilir ve yüklenir
- Visual Studio projenizi tekrar yükleyin
NuGet Paketini Dogrudan Indirin
NuGet'ten IronPDF indirin ve yukleyin:
- IronPdf NuGet Sayfasi'na gidin
- Paketi Indir'i secin
- Indirilen pakete çift tıklayın
- Paket yüklenir
- Visual Studio projenizi tekrar yükleyin
IronPDF'yi Kutuphane Ici̇n İndirerek Yukleme
IronPDF İndir'den IronPDF .DLL dosyasını doğrudan indirin.
Fi̇gür 4. IronPDF web sitesinden IronPDF Kutuphane DLL'inin indirilmesi
Kutuphaneyi projenize referans gösterin:
- Çözüm Gezgini'nde Çözüm'e sağ tıklayın
- Referansları Seçin
- IronPDF.dll kütüphanesini arayın
- Tamam butonuna tıklayın
IronPDF artık kullanıma hazır. Sırada XFINIUM.PDF'i yükleyelim.
XFINIUM.PDF Nasıl Kurulur?
.NET Core'da, Xfinium PDF'i bir cake eklentisi veya araç olarak yükleyin:
# Install Xfinium.Pdf.NetCore as a Cake Addin
# addin nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
# Install Xfinium.Pdf.NetCore as a Cake Addin
# addin nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
# Install Xfinium.Pdf.NetCore as a Cake Tool
# tool nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
# Install Xfinium.Pdf.NetCore as a Cake Tool
# tool nuget:?package=Xfinium.Pdf.NetCore&version=10.2.0
Şimdi IronPDF ve XFINIUM.PDF'i karşılaştıralım.
.NET Core'da Basit Bir PDF Belgesi Nasıl Oluşturulur?
Yazılım geliştiriciler, C# kullanarak dinamik PDF dosyaları oluşturmayı bilmelidir. PDF oluşturma ihtiyaçınız olabilir kullanıcı girdilerinden raporlar oluşturma, kullanıcı metnini PDF olarak kaydetme, HTML bilgilerini çıkarma ve PDF'ye dönüştürme ve daha fazlası için.
Her iki kütüphane de HTML web sayfalarını PDF'ye dönüştürebilir. Her kütüphanenin yaklaşımını inceleyelim.
IronPDF Kullanarak
IronPDF, PDF dosyaları oluşturmak için birden fazla yöntem sunar.
Mevcut URL'den PDF
IronPDF, mevcut URL'lerden HTML'yi PDF belgelerine dönüştürmeyi kolaylaştırır. JavaScript, görseller, formlar ve CSS tam destek alır.
Uygulama, URL işleme işlemini otomatik olarak yönetir:
// Create an instance of the ChromePdfRenderer
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// Configure rendering options for better performance
Renderer.RenderingOptions.WaitFor.RenderDelay = 500; // Wait for JavaScript to load
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
// Render a URL to PDF
using var Pdf = Renderer.RenderUrlAsPdf("___PROTECTED_URL_134___");
// Save the PDF with metadata
Pdf.MetaData.Author = "IronPDF";
Pdf.MetaData.Title = "Website to PDF Conversion";
Pdf.SaveAs("url.pdf");
// Create an instance of the ChromePdfRenderer
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
// Configure rendering options for better performance
Renderer.RenderingOptions.WaitFor.RenderDelay = 500; // Wait for JavaScript to load
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
// Render a URL to PDF
using var Pdf = Renderer.RenderUrlAsPdf("___PROTECTED_URL_134___");
// Save the PDF with metadata
Pdf.MetaData.Author = "IronPDF";
Pdf.MetaData.Title = "Website to PDF Conversion";
Pdf.SaveAs("url.pdf");
' Create an instance of the ChromePdfRenderer
Dim Renderer As New IronPdf.ChromePdfRenderer()
' Configure rendering options for better performance
Renderer.RenderingOptions.WaitFor.RenderDelay = 500 ' Wait for JavaScript to load
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
' Render a URL to PDF
Using Pdf = Renderer.RenderUrlAsPdf("___PROTECTED_URL_134___")
' Save the PDF with metadata
Pdf.MetaData.Author = "IronPDF"
Pdf.MetaData.Title = "Website to PDF Conversion"
Pdf.SaveAs("url.pdf")
End Using
HTML Giriş Dizesinden PDF
HTML stringinden bir PDF sayfası oluşturmak için aşağıdaki kod örneğini düşünün. Yalnızca HTML'yi kullanabilir veya CSS, görseller ve JavaScript ile birleştirebilirsiniz:
// Create an instance of the ChromePdfRenderer
var Renderer = new IronPdf.ChromePdfRenderer();
// Configure rendering options
Renderer.RenderingOptions.MarginTop = 50; // millimeters
Renderer.RenderingOptions.MarginBottom = 50;
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
// Render a simple HTML string to PDF
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
// Add document properties
PDF.MetaData.Author = "Development Team";
PDF.MetaData.Keywords = "HTML, PDF, C#";
PDF.MetaData.ModifiedDate = DateTime.Now;
// Save the PDF
PDF.SaveAs("pixel-perfect.pdf");
// Load external HTML assets: images, CSS, and javascript
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
// Apply security settings
AdvancedPDF.Password = "pass123";
AdvancedPDF.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Save the advanced PDF with external assets
AdvancedPDF.SaveAs("html-with-assets.pdf");
// Create an instance of the ChromePdfRenderer
var Renderer = new IronPdf.ChromePdfRenderer();
// Configure rendering options
Renderer.RenderingOptions.MarginTop = 50; // millimeters
Renderer.RenderingOptions.MarginBottom = 50;
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
// Render a simple HTML string to PDF
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
// Add document properties
PDF.MetaData.Author = "Development Team";
PDF.MetaData.Keywords = "HTML, PDF, C#";
PDF.MetaData.ModifiedDate = DateTime.Now;
// Save the PDF
PDF.SaveAs("pixel-perfect.pdf");
// Load external HTML assets: images, CSS, and javascript
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
// Apply security settings
AdvancedPDF.Password = "pass123";
AdvancedPDF.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Save the advanced PDF with external assets
AdvancedPDF.SaveAs("html-with-assets.pdf");
' Create an instance of the ChromePdfRenderer
Dim Renderer As New IronPdf.ChromePdfRenderer()
' Configure rendering options
Renderer.RenderingOptions.MarginTop = 50 ' millimeters
Renderer.RenderingOptions.MarginBottom = 50
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
' Render a simple HTML string to PDF
Using PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")
' Add document properties
PDF.MetaData.Author = "Development Team"
PDF.MetaData.Keywords = "HTML, PDF, C#"
PDF.MetaData.ModifiedDate = DateTime.Now
' Save the PDF
PDF.SaveAs("pixel-perfect.pdf")
End Using
' Load external HTML assets: images, CSS, and javascript
' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
Using AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
' Apply security settings
AdvancedPDF.Password = "pass123"
AdvancedPDF.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
' Save the advanced PDF with external assets
AdvancedPDF.SaveAs("html-with-assets.pdf")
End Using
Gelişmiş HTML'den PDF'ye dönüştürme teknikleri için HTML to PDF tutorial'a bakın.
XFINIUM.PDF Kullanımı
XFINIUM.PDF ile boş bir PDF belgesi oluşturma üç satır gerektirir: belgeyi oluşturma, bir sayfa oluşturma ve kaydetme:
// Create a new PDF document
PdfFixedDocument document = new PdfFixedDocument();
// Add a page to the document
PdfPage page = document.Pages.Add();
// Save the document as a PDF file
document.Save("empty.pdf");
// Create a new PDF document
PdfFixedDocument document = new PdfFixedDocument();
// Add a page to the document
PdfPage page = document.Pages.Add();
// Save the document as a PDF file
document.Save("empty.pdf");
' Create a new PDF document
Dim document As New PdfFixedDocument()
' Add a page to the document
Dim page As PdfPage = document.Pages.Add()
' Save the document as a PDF file
document.Save("empty.pdf")
Metin içeriği eklemek üç ek satır gerektirir: bir font oluşturma, renk için bir fırça oluşturma ve metni çizme:
// Create a new PDF document
PdfFixedDocument document = new PdfFixedDocument();
PdfPage page = document.Pages.Add();
// Create a standard font with Helvetica face and 24 point size
PdfStandardFont helvetica = new PdfStandardFont(PdfStandardFontFace.Helvetica, 24);
// Create a solid RGB red brush.
PdfBrush brush = new PdfBrush(PdfRgbColor.Red);
// Draw the text on the page.
page.Graphics.DrawString("Hello World", helvetica, brush, 100, 100);
// Save the document as a PDF file
document.Save("helloworld.pdf");
// Create a new PDF document
PdfFixedDocument document = new PdfFixedDocument();
PdfPage page = document.Pages.Add();
// Create a standard font with Helvetica face and 24 point size
PdfStandardFont helvetica = new PdfStandardFont(PdfStandardFontFace.Helvetica, 24);
// Create a solid RGB red brush.
PdfBrush brush = new PdfBrush(PdfRgbColor.Red);
// Draw the text on the page.
page.Graphics.DrawString("Hello World", helvetica, brush, 100, 100);
// Save the document as a PDF file
document.Save("helloworld.pdf");
' Create a new PDF document
Dim document As New PdfFixedDocument()
Dim page As PdfPage = document.Pages.Add()
' Create a standard font with Helvetica face and 24 point size
Dim helvetica As New PdfStandardFont(PdfStandardFontFace.Helvetica, 24)
' Create a solid RGB red brush.
Dim brush As New PdfBrush(PdfRgbColor.Red)
' Draw the text on the page.
page.Graphics.DrawString("Hello World", helvetica, brush, 100, 100)
' Save the document as a PDF file
document.Save("helloworld.pdf")
Nesne modeli, PDF standardına yakından benzemektedir. Bu yaklaşım, akış belgeler gibi karmaşık soyutlamalar inşa etmek için net yararlar sağlar.## Doldurulabilir PDF Dosyaları Nasıl Oluşturulur
XFINIUM.PDF Kullanımı
XFINIUM.PDF size yeni PDF formları oluşturma ve mevcut PDF formlarını doldurma olanağı tanır.
Her PDF form alanı türünün karşılık gelen bir sınıfı vardır:
PdfTextBoxField– metin kutusu alanlarıPdfCheckBoxField– onay kutularıPdfRadioButtonField– radyo buton setleriPdfComboboxField– kombo kutularPdfListboxField– liste kutularıPdfPushbuttonField– basma butonları- PdfSignatureField – imza alanları
Bir form alanı oluşturmak için, alan adını ve sayfa konumunu belirtin. Alan nesnesini oluşturduktan sonra, bunu sayfaya ekleyin ve özelliklerini ayarlayın:
// Create a text box field named "firstname"
PdfTextBoxField firstNameTextBox = new PdfTextBoxField("firstname");
// Add the field to a PDF page
pdfpage.Fields.Add(firstNameTextBox);
// Set the position of the field on the PDF page
firstNameTextBox.Widgets[0].VisualRectangle = new PdfVisualRectangle(150, 45, 200, 20);
// Create a text box field named "firstname"
PdfTextBoxField firstNameTextBox = new PdfTextBoxField("firstname");
// Add the field to a PDF page
pdfpage.Fields.Add(firstNameTextBox);
// Set the position of the field on the PDF page
firstNameTextBox.Widgets[0].VisualRectangle = new PdfVisualRectangle(150, 45, 200, 20);
' Create a text box field named "firstname"
Dim firstNameTextBox As New PdfTextBoxField("firstname")
' Add the field to a PDF page
pdfpage.Fields.Add(firstNameTextBox)
' Set the position of the field on the PDF page
firstNameTextBox.Widgets(0).VisualRectangle = New PdfVisualRectangle(150, 45, 200, 20)
Mevcut PDF formlarını doldurmak için, onları bir PdfFixedDocument nesnesine yükleyin. Belgenin alan koleksiyonu otomatik olarak doldurulur. Alanları indeks veya ad ile bulabilir ve değer özelliklerini ayarlayarak doldurabilirsiniz:
// Load an existing PDF document with forms
PdfFixedDocument document = new PdfFixedDocument("form.pdf");
// Fill form fields with values
(document.Form.Fields["firstname"] as PdfTextBoxField).Text = "John";
(document.Form.Fields["lastname"] as PdfTextBoxField).Value = "Doe";
(document.Form.Fields["sex"].Widgets[0] as PdfRadioButtonWidget).Checked = true;
(document.Form.Fields["firstcar"] as PdfComboBoxField).SelectedIndex = 0;
(document.Form.Fields["secondcar"] as PdfListBoxField).SelectedIndex = 1;
(document.Form.Fields["agree"] as PdfCheckBoxField).Checked = true;
// Save the filled form as a new PDF file
document.Save("form_filled.pdf");
// Load an existing PDF document with forms
PdfFixedDocument document = new PdfFixedDocument("form.pdf");
// Fill form fields with values
(document.Form.Fields["firstname"] as PdfTextBoxField).Text = "John";
(document.Form.Fields["lastname"] as PdfTextBoxField).Value = "Doe";
(document.Form.Fields["sex"].Widgets[0] as PdfRadioButtonWidget).Checked = true;
(document.Form.Fields["firstcar"] as PdfComboBoxField).SelectedIndex = 0;
(document.Form.Fields["secondcar"] as PdfListBoxField).SelectedIndex = 1;
(document.Form.Fields["agree"] as PdfCheckBoxField).Checked = true;
// Save the filled form as a new PDF file
document.Save("form_filled.pdf");
' Load an existing PDF document with forms
Dim document As New PdfFixedDocument("form.pdf")
' Fill form fields with values
TryCast(document.Form.Fields("firstname"), PdfTextBoxField).Text = "John"
TryCast(document.Form.Fields("lastname"), PdfTextBoxField).Value = "Doe"
TryCast(document.Form.Fields("sex").Widgets(0), PdfRadioButtonWidget).Checked = True
TryCast(document.Form.Fields("firstcar"), PdfComboBoxField).SelectedIndex = 0
TryCast(document.Form.Fields("secondcar"), PdfListBoxField).SelectedIndex = 1
TryCast(document.Form.Fields("agree"), PdfCheckBoxField).Checked = True
' Save the filled form as a new PDF file
document.Save("form_filled.pdf")
IronPDF Kullanarak
Doldurulabilir PDF'ler oluşturmak için şu şekilde IronPDF'i kullanabilirsiniz:
// PM> Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
// Step 1. Creating a PDF with editable forms from HTML using form and input tags
var FormHtml = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h2 { color: #333; }
form { background: #f4f4f4; padding: 20px; border-radius: 8px; }
input[type='text'] {
width: 100%;
padding: 8px;
margin: 10px 0;
border: 1px solid #ddd;
border-radius: 4px;
}
input[type='checkbox'] { margin-right: 10px; }
select { width: 100%; padding: 8px; margin: 10px 0; }
</style>
</head>
<body>
<h2>Editable PDF Form</h2>
<form>
First name:<br> <input type='text' name='firstname' value=''> <br>
Last name:<br> <input type='text' name='lastname' value=''>
<br><br>
Email:<br> <input type='text' name='email' value=''>
<br><br>
Subscribe to newsletter: <input type='checkbox' name='newsletter' value='yes'>
<br><br>
Country:
<select name='country'>
<option value='usa'>United States</option>
<option value='uk'>United Kingdom</option>
<option value='canada'>Canada</option>
</select>
</form>
</body>
</html>";
// Create a PDF renderer with form creation enabled
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
Renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
Renderer.RenderingOptions.MarginTop = 20;
Renderer.RenderingOptions.MarginBottom = 20;
// Render the HTML as a PDF and save it
var pdfDocument = Renderer.RenderHtmlAsPdf(FormHtml);
pdfDocument.SaveAs("BasicForm.pdf");
// Step 2. Reading and Writing PDF form values.
var FormDocument = PdfDocument.FromFile("BasicForm.pdf");
// Get form field collection
var form = FormDocument.Form;
// Set and Read the value of the "firstname" field
var FirstNameField = form.FindFormField("firstname");
FirstNameField.Value = "Minnie";
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value);
// Set and Read the value of the "lastname" field
var LastNameField = form.FindFormField("lastname");
LastNameField.Value = "Mouse";
Console.WriteLine("LastNameField value: {0}", LastNameField.Value);
// Set email field
var EmailField = form.FindFormField("email");
EmailField.Value = "minnie.mouse@example.com";
// Set checkbox
var NewsletterField = form.FindFormField("newsletter");
NewsletterField.Value = "yes";
// Set dropdown selection
var CountryField = form.FindFormField("country");
CountryField.Value = "usa";
// Save the form with filled values
FormDocument.SaveAs("FilledForm.pdf");
// Step 3. Flattening the form (making it non-editable)
FormDocument.Form.Flatten();
FormDocument.SaveAs("FlattenedForm.pdf");
// PM> Install-Package IronPdf
using IronPdf;
using IronPdf.Rendering;
// Step 1. Creating a PDF with editable forms from HTML using form and input tags
var FormHtml = @"
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h2 { color: #333; }
form { background: #f4f4f4; padding: 20px; border-radius: 8px; }
input[type='text'] {
width: 100%;
padding: 8px;
margin: 10px 0;
border: 1px solid #ddd;
border-radius: 4px;
}
input[type='checkbox'] { margin-right: 10px; }
select { width: 100%; padding: 8px; margin: 10px 0; }
</style>
</head>
<body>
<h2>Editable PDF Form</h2>
<form>
First name:<br> <input type='text' name='firstname' value=''> <br>
Last name:<br> <input type='text' name='lastname' value=''>
<br><br>
Email:<br> <input type='text' name='email' value=''>
<br><br>
Subscribe to newsletter: <input type='checkbox' name='newsletter' value='yes'>
<br><br>
Country:
<select name='country'>
<option value='usa'>United States</option>
<option value='uk'>United Kingdom</option>
<option value='canada'>Canada</option>
</select>
</form>
</body>
</html>";
// Create a PDF renderer with form creation enabled
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
Renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
Renderer.RenderingOptions.MarginTop = 20;
Renderer.RenderingOptions.MarginBottom = 20;
// Render the HTML as a PDF and save it
var pdfDocument = Renderer.RenderHtmlAsPdf(FormHtml);
pdfDocument.SaveAs("BasicForm.pdf");
// Step 2. Reading and Writing PDF form values.
var FormDocument = PdfDocument.FromFile("BasicForm.pdf");
// Get form field collection
var form = FormDocument.Form;
// Set and Read the value of the "firstname" field
var FirstNameField = form.FindFormField("firstname");
FirstNameField.Value = "Minnie";
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value);
// Set and Read the value of the "lastname" field
var LastNameField = form.FindFormField("lastname");
LastNameField.Value = "Mouse";
Console.WriteLine("LastNameField value: {0}", LastNameField.Value);
// Set email field
var EmailField = form.FindFormField("email");
EmailField.Value = "minnie.mouse@example.com";
// Set checkbox
var NewsletterField = form.FindFormField("newsletter");
NewsletterField.Value = "yes";
// Set dropdown selection
var CountryField = form.FindFormField("country");
CountryField.Value = "usa";
// Save the form with filled values
FormDocument.SaveAs("FilledForm.pdf");
// Step 3. Flattening the form (making it non-editable)
FormDocument.Form.Flatten();
FormDocument.SaveAs("FlattenedForm.pdf");
' PM> Install-Package IronPdf
Imports IronPdf
Imports IronPdf.Rendering
' Step 1. Creating a PDF with editable forms from HTML using form and input tags
Dim FormHtml As String = "
<html>
<head>
<style>
body { font-family: Arial, sans-serif; margin: 40px; }
h2 { color: #333; }
form { background: #f4f4f4; padding: 20px; border-radius: 8px; }
input[type='text'] {
width: 100%;
padding: 8px;
margin: 10px 0;
border: 1px solid #ddd;
border-radius: 4px;
}
input[type='checkbox'] { margin-right: 10px; }
select { width: 100%; padding: 8px; margin: 10px 0; }
</style>
</head>
<body>
<h2>Editable PDF Form</h2>
<form>
First name:<br> <input type='text' name='firstname' value=''> <br>
Last name:<br> <input type='text' name='lastname' value=''>
<br><br>
Email:<br> <input type='text' name='email' value=''>
<br><br>
Subscribe to newsletter: <input type='checkbox' name='newsletter' value='yes'>
<br><br>
Country:
<select name='country'>
<option value='usa'>United States</option>
<option value='uk'>United Kingdom</option>
<option value='canada'>Canada</option>
</select>
</form>
</body>
</html>"
' Create a PDF renderer with form creation enabled
Dim Renderer As New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.CreatePdfFormsFromHtml = True
Renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
Renderer.RenderingOptions.MarginTop = 20
Renderer.RenderingOptions.MarginBottom = 20
' Render the HTML as a PDF and save it
Dim pdfDocument = Renderer.RenderHtmlAsPdf(FormHtml)
pdfDocument.SaveAs("BasicForm.pdf")
' Step 2. Reading and Writing PDF form values.
Dim FormDocument = PdfDocument.FromFile("BasicForm.pdf")
' Get form field collection
Dim form = FormDocument.Form
' Set and Read the value of the "firstname" field
Dim FirstNameField = form.FindFormField("firstname")
FirstNameField.Value = "Minnie"
Console.WriteLine("FirstNameField value: {0}", FirstNameField.Value)
' Set and Read the value of the "lastname" field
Dim LastNameField = form.FindFormField("lastname")
LastNameField.Value = "Mouse"
Console.WriteLine("LastNameField value: {0}", LastNameField.Value)
' Set email field
Dim EmailField = form.FindFormField("email")
EmailField.Value = "minnie.mouse@example.com"
' Set checkbox
Dim NewsletterField = form.FindFormField("newsletter")
NewsletterField.Value = "yes"
' Set dropdown selection
Dim CountryField = form.FindFormField("country")
CountryField.Value = "usa"
' Save the form with filled values
FormDocument.SaveAs("FilledForm.pdf")
' Step 3. Flattening the form (making it non-editable)
FormDocument.Form.Flatten()
FormDocument.SaveAs("FlattenedForm.pdf")
HTML biçimlendirme etiketleri ile bir form oluşturarak başlarsınız. Kütüphane, PDF olarak kaydederken karmaşıklığı yönetir. Form değerlerini okumak ve yazmak, FindFormField fonksiyonu kullanılarak yapılır. Uygulamanız, bu özelliği form doldurmak için programlı bir şekilde hemen kullanabilir.
Gelişmiş form kullanımı için, dijital imzalar dâhil olmak üzere, Create PDF Forms tutorial'a bakın.
PDF Dosyaları Nasıl Dijital Olarak Signalanır
Uzaktan çalışma, verimli doküman işleme gerektirir. Formları doldurma ve imzalama, dosyaları gönderme ve belgeleri işleme günlük iş faaliyetleridir. PDF belgelerini, portföyleri ve formları imzalama kağıt belgelerin yerini alır. Dijital imzalar, şirketlerin anlaşmaları imzalamasını ve PDF formlarını çevrimiçi paylaşmasını sağlar.
XFINIUM.PDF Kullanımı
Bir imza alanı, PDF dosyalarında dijital imzaları uygular (PdfSignatureField sınıfı). İmza alanı bir sayfada görünse de, dijital imza tüm belgeyi imzalar.
İmza süreci, imza niteliğini ayarlamak için bir PdfDigitalSignature nesnesi kullanır. Belgeyi kaydetme işlemi sırasında imza, PDF dosyasının ikili yerleşimine dayalı olarak oluşur.
PdfDigitalSignature, tüm XFINIUM imzaları için temeli sağlar:
PdfCmsDigitalSignature– CMS standart imza (PdfDigitalSignature'den miras alır)PdfPadesDigitalSignature– PADES standart imza (PdfCmsDigitalSignature'den miras alır)PdfInteractiveCmsDigitalSignature– Donanım akıllı kart kullanarak CMS imzası donanım akıllı kartPdfInteractivePadesDigitalSignature– Donanım akıllı kart desteği ile PADESPdfDocumentTimeStamp– Belge seviyesinde zaman damgası (PdfDigitalSignature'den miras alır)
IronPDF Kullanarak
Geliştiriciler sık sık IronPDF ve C# kullanarak programlı bir şekilde PDF'lere imza eklemeyi sorarlar. Bu şunları ifade edebilir:
- Dosyalardan grafik imza görüntüleri ekleme
- Kriptografik olarak imzalama tahrifatı önlemek için
- Kriptografik imzalama ile el yazısı imza ikonları ekleme
İlk yaklaşım, mevcut PDF sayfalarına bir imza PNG'si damgalamayı içerir. İmza veya şirket damgaları için kullanın:
// Open an existing PDF document or create a new one
var Pdf = PdfDocument.FromFile(@"C:\Path\To\ASPX to PDF.pdf");
// Define an HTML stamp with a signature image
var SignatureStamp = new HtmlStamp()
{
Html = "<img src='signature.png' />",
Width = 150,
Height = 50,
Bottom = 300,
Left = 85,
ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
};
// Advanced stamp with styling
var StyledSignatureStamp = new HtmlStamp()
{
Html = @"<div style='border: 2px solid #000; padding: 10px; background: rgba(255,255,255,0.9);'>
<img src='signature.png' style='width: 120px;' />
<p style='margin: 5px 0 0 0; font-size: 10px;'>Digitally Signed</p>
<p style='margin: 0; font-size: 8px;'>{date}</p>
</div>",
Width = 150,
Height = 100,
Bottom = 50,
Right = 50,
ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
};
// Stamp the signature on the first page of the PDF
Pdf.StampHTML(SignatureStamp, 1);
// Or apply to all pages
Pdf.StampHTML(StyledSignatureStamp);
// Save the stamped PDF
Pdf.SaveAs(@"C:\Path\To\Stamped_PDF.pdf");
// Open an existing PDF document or create a new one
var Pdf = PdfDocument.FromFile(@"C:\Path\To\ASPX to PDF.pdf");
// Define an HTML stamp with a signature image
var SignatureStamp = new HtmlStamp()
{
Html = "<img src='signature.png' />",
Width = 150,
Height = 50,
Bottom = 300,
Left = 85,
ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
};
// Advanced stamp with styling
var StyledSignatureStamp = new HtmlStamp()
{
Html = @"<div style='border: 2px solid #000; padding: 10px; background: rgba(255,255,255,0.9);'>
<img src='signature.png' style='width: 120px;' />
<p style='margin: 5px 0 0 0; font-size: 10px;'>Digitally Signed</p>
<p style='margin: 0; font-size: 8px;'>{date}</p>
</div>",
Width = 150,
Height = 100,
Bottom = 50,
Right = 50,
ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
};
// Stamp the signature on the first page of the PDF
Pdf.StampHTML(SignatureStamp, 1);
// Or apply to all pages
Pdf.StampHTML(StyledSignatureStamp);
// Save the stamped PDF
Pdf.SaveAs(@"C:\Path\To\Stamped_PDF.pdf");
' Open an existing PDF document or create a new one
Dim Pdf = PdfDocument.FromFile("C:\Path\To\ASPX to PDF.pdf")
' Define an HTML stamp with a signature image
Dim SignatureStamp = New HtmlStamp() With {
.Html = "<img src='signature.png' />",
.Width = 150,
.Height = 50,
.Bottom = 300,
.Left = 85,
.ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
}
' Advanced stamp with styling
Dim StyledSignatureStamp = New HtmlStamp() With {
.Html = "<div style='border: 2px solid #000; padding: 10px; background: rgba(255,255,255,0.9);'>" & _
"<img src='signature.png' style='width: 120px;' />" & _
"<p style='margin: 5px 0 0 0; font-size: 10px;'>Digitally Signed</p>" & _
"<p style='margin: 0; font-size: 8px;'>{date}</p>" & _
"</div>",
.Width = 150,
.Height = 100,
.Bottom = 50,
.Right = 50,
.ZIndex = HtmlStamp.StampLayer.OnTopOfExistingPDFContent
}
' Stamp the signature on the first page of the PDF
Pdf.StampHTML(SignatureStamp, 1)
' Or apply to all pages
Pdf.StampHTML(StyledSignatureStamp)
' Save the stamped PDF
Pdf.SaveAs("C:\Path\To\Stamped_PDF.pdf")
PDF'leri kriptografik olarak imzalayın .pfx ve .p12 X509Certificate2 dijital sertifikaları ile tek satırda:
// 123456 below represents the signature password
new IronPdf.PdfSignature("CertificateFile.p12", "123456").SignPdfFile("ASPX to PDF.pdf");
// Or with more control
var signature = new IronPdf.PdfSignature("CertificateFile.p12", "123456")
{
SigningContact = "john@example.com",
SigningLocation = "New York, USA",
SigningReason = "Contract Agreement"
};
// Load the PDF
var pdf = PdfDocument.FromFile("contract.pdf");
// Sign and save
pdf.SignPdfWithDigitalSignature(signature);
pdf.SaveAs("signed-contract.pdf");
// 123456 below represents the signature password
new IronPdf.PdfSignature("CertificateFile.p12", "123456").SignPdfFile("ASPX to PDF.pdf");
// Or with more control
var signature = new IronPdf.PdfSignature("CertificateFile.p12", "123456")
{
SigningContact = "john@example.com",
SigningLocation = "New York, USA",
SigningReason = "Contract Agreement"
};
// Load the PDF
var pdf = PdfDocument.FromFile("contract.pdf");
// Sign and save
pdf.SignPdfWithDigitalSignature(signature);
pdf.SaveAs("signed-contract.pdf");
' 123456 below represents the signature password
New IronPdf.PdfSignature("CertificateFile.p12", "123456").SignPdfFile("ASPX to PDF.pdf")
' Or with more control
Dim signature = New IronPdf.PdfSignature("CertificateFile.p12", "123456") With {
.SigningContact = "john@example.com",
.SigningLocation = "New York, USA",
.SigningReason = "Contract Agreement"
}
' Load the PDF
Dim pdf = PdfDocument.FromFile("contract.pdf")
' Sign and save
pdf.SignPdfWithDigitalSignature(signature)
pdf.SaveAs("signed-contract.pdf")
Bu gelişmiş örnek, .pfx / .p12 X509Certificate2 dijital kimliği imzalaması ile el yazısı imzalarını birleştirir:
// Create a digital signature using a certificate file
var Signature = new IronPdf.PdfSignature("Iron.pfx", "123456");
// Render a PDF document to be signed
var Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.MarginBottom = 0;
Renderer.RenderingOptions.MarginTop = 0;
Renderer.RenderingOptions.EnableJavaScript = true;
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
// Create PDF with security features
string html = @"<h1>Contract Agreement</h1>
<p>This document is digitally signed and encrypted.</p>
<p>Agreement Date: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>";
PdfDocument doc = Renderer.RenderHtmlAsPdf(html);
// Configure optional signing options and a handwritten signature graphic
Signature.SigningContact = "support@ironsoftware.com";
Signature.SigningLocation = "Chicago, USA";
Signature.SigningReason = "To show how to sign a PDF";
// Load a handwritten signature image
Signature.LoadSignatureImageFromFile("handwriting.png");
// Advanced security: Set permissions
doc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
doc.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit;
doc.SecuritySettings.AllowUserCopyPasteContent = false;
// Sign the PDF document with the digital signature
doc.SignPdfWithDigitalSignature(Signature);
// Add password protection
doc.Password = "userpassword";
doc.OwnerPassword = "ownerpassword";
// Save the signed PDF document
doc.SaveAs("Signed_ASPX_to_PDF.pdf");
// Create a digital signature using a certificate file
var Signature = new IronPdf.PdfSignature("Iron.pfx", "123456");
// Render a PDF document to be signed
var Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.MarginBottom = 0;
Renderer.RenderingOptions.MarginTop = 0;
Renderer.RenderingOptions.EnableJavaScript = true;
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
// Create PDF with security features
string html = @"<h1>Contract Agreement</h1>
<p>This document is digitally signed and encrypted.</p>
<p>Agreement Date: " + DateTime.Now.ToString("yyyy-MM-dd") + @"</p>";
PdfDocument doc = Renderer.RenderHtmlAsPdf(html);
// Configure optional signing options and a handwritten signature graphic
Signature.SigningContact = "support@ironsoftware.com";
Signature.SigningLocation = "Chicago, USA";
Signature.SigningReason = "To show how to sign a PDF";
// Load a handwritten signature image
Signature.LoadSignatureImageFromFile("handwriting.png");
// Advanced security: Set permissions
doc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
doc.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit;
doc.SecuritySettings.AllowUserCopyPasteContent = false;
// Sign the PDF document with the digital signature
doc.SignPdfWithDigitalSignature(Signature);
// Add password protection
doc.Password = "userpassword";
doc.OwnerPassword = "ownerpassword";
// Save the signed PDF document
doc.SaveAs("Signed_ASPX_to_PDF.pdf");
' Create a digital signature using a certificate file
Dim Signature = New IronPdf.PdfSignature("Iron.pfx", "123456")
' Render a PDF document to be signed
Dim Renderer = New ChromePdfRenderer()
Renderer.RenderingOptions.MarginBottom = 0
Renderer.RenderingOptions.MarginTop = 0
Renderer.RenderingOptions.EnableJavaScript = True
Renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
' Create PDF with security features
Dim html As String = "<h1>Contract Agreement</h1>
<p>This document is digitally signed and encrypted.</p>
<p>Agreement Date: " & DateTime.Now.ToString("yyyy-MM-dd") & "</p>"
Dim doc As PdfDocument = Renderer.RenderHtmlAsPdf(html)
' Configure optional signing options and a handwritten signature graphic
Signature.SigningContact = "support@ironsoftware.com"
Signature.SigningLocation = "Chicago, USA"
Signature.SigningReason = "To show how to sign a PDF"
' Load a handwritten signature image
Signature.LoadSignatureImageFromFile("handwriting.png")
' Advanced security: Set permissions
doc.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint
doc.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NoEdit
doc.SecuritySettings.AllowUserCopyPasteContent = False
' Sign the PDF document with the digital signature
doc.SignPdfWithDigitalSignature(Signature)
' Add password protection
doc.Password = "userpassword"
doc.OwnerPassword = "ownerpassword"
' Save the signed PDF document
doc.SaveAs("Signed_ASPX_to_PDF.pdf")
Tam güvenlik uygulamaları için Ironsecuredoc Documentation belgesini inceleyins: gelişmiş belge koruma özellikleri için.## Her Kütüphanenin Modern CSS Çerçevelerini ve Bootstrap'i Nasıl Ele Aldığı
Modern web uygulamaları sıklıkla hızlı UI geliştirme ve duyarlı tasarım için Bootstrap gibi CSS çerçevelerine güvenir. PDF oluşturma araçları, bu çerçeve düzenlerini profesyonel belge kalitesi sağlamak için doğru şekilde korumalıdır.
IronPDF: Tam Bootstrap Çerçeve Desteği
IronPDF'in Chromium işleme motoru, modern CSS çerçevelerini tamamen destekler:
- Bootstrap 5: Tüm duyarlı bileşenlerle tam flexbox ve CSS Grid işleme
- Bootstrap 4: Tam kart sistemleri, gezinme çubukları ve yardımcı sınıflar
- Tailwind CSS: Tüm yardımcı-ilk sınıfları ve duyarlı sürümler
- Foundation ve Diğer Çerçeveler: Tam CSS3 desteği, tüm modern çerçevelerin doğru çalışmasını sağlar
- Gelişmiş CSS: Flexbox, CSS Grid, özel özellikler, animasyonlar ve dönüşümler
Gerçek dünya doğrulaması: Bootstrap ana sayfası ve şablonları tarayıcı-doğruluğunda dönüştürülür.
Kod Örneği: Bootstrap Kartları ile Etkinlik Takvimi
using IronPdf;
var renderer = new ChromePdfRenderer();
// Configure rendering for optimal Bootstrap output
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.RenderDelay = 500; // Allow JS to fully load
renderer.RenderingOptions.ViewPortWidth = 1280; // Desktop viewport
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.MarginLeft = 10;
renderer.RenderingOptions.MarginRight = 10;
string bootstrapSchedule = @"
<!DOCTYPE html>
<html>
<head>
<link href='___PROTECTED_URL_135___ rel='stylesheet'>
<style>
@media print {
.pagebreak { page-break-after: always; }
}
</style>
</head>
<body>
<div class='container my-5'>
<h1 class='text-center mb-5'>Tech Conference 2025 - Schedule</h1>
<div class='row g-4'>
<div class='col-md-6'>
<div class='card border-primary'>
<div class='card-header bg-primary text-white d-flex justify-content-between align-items-center'>
<h5 class='mb-0'>Keynote Session</h5>
<span class='badge bg-light text-primary'>9:00 AM</span>
</div>
<div class='card-body'>
<h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
<p class='card-text'><strong>The Future of AI in Software Development</strong></p>
<p class='card-text'>Join us for an exploration of how artificial intelligence is transforming the software development environment.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_136___ class='rounded-circle me-2' alt='Speaker'>
<div>
<div class='fw-bold'>Dr. Sarah Chen</div>
<small class='text-muted'>AI Research Lead</small>
</div>
</div>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card border-success'>
<div class='card-header bg-success text-white d-flex justify-content-between align-items-center'>
<h5 class='mb-0'>Workshop</h5>
<span class='badge bg-light text-success'>10:30 AM</span>
</div>
<div class='card-body'>
<h6 class='card-subtitle mb-2 text-muted'>Workshop Room A</h6>
<p class='card-text'><strong>Hands-On: Cloud-Native Architecture</strong></p>
<p class='card-text'>Learn practical techniques for building flexible, cloud-native applications with modern frameworks.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_137___ class='rounded-circle me-2' alt='Speaker'>
<div>
<div class='fw-bold'>Michael Rodriguez</div>
<small class='text-muted'>Cloud Architect</small>
</div>
</div>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card border-warning'>
<div class='card-header bg-warning text-dark d-flex justify-content-between align-items-center'>
<h5 class='mb-0'>Panel Discussion</h5>
<span class='badge bg-dark'>2:00 PM</span>
</div>
<div class='card-body'>
<h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
<p class='card-text'><strong>Security in Modern Web Applications</strong></p>
<p class='card-text'>Industry experts discuss current security challenges and best practices for protecting user data.</p>
<small class='text-muted'>Featuring 4 industry experts</small>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card border-info'>
<div class='card-header bg-info text-white d-flex justify-content-between align-items-center'>
<h5 class='mb-0'>Technical Talk</h5>
<span class='badge bg-light text-info'>3:30 PM</span>
</div>
<div class='card-body'>
<h6 class='card-subtitle mb-2 text-muted'>Room B</h6>
<p class='card-text'><strong>Performance Optimization Strategies</strong></p>
<p class='card-text'>Deep dive into advanced techniques for improve application performance and reducing latency.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_138___ class='rounded-circle me-2' alt='Speaker'>
<div>
<div class='fw-bold'>Alex Kim</div>
<small class='text-muted'>Performance Engineer</small>
</div>
</div>
</div>
</div>
</div>
</div>
<div class='pagebreak'></div>
<h2 class='mt-5'>Additional Sessions</h2>
<div class='table-responsive'>
<table class='table table-striped'>
<thead>
<tr>
<th>Time</th>
<th>Session</th>
<th>Speaker</th>
<th>Location</th>
</tr>
</thead>
<tbody>
<tr>
<td>11:45 AM</td>
<td>Lightning Talks</td>
<td>Various</td>
<td>Room C</td>
</tr>
<tr>
<td>1:00 PM</td>
<td>Networking Lunch</td>
<td>-</td>
<td>Cafeteria</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>";
// Generate the PDF
var pdf = renderer.RenderHtmlAsPdf(bootstrapSchedule);
// Add metadata
pdf.MetaData.Author = "Tech Conference Team";
pdf.MetaData.Title = "Conference Schedule 2025";
pdf.MetaData.Subject = "Event Schedule";
// Save the PDF
pdf.SaveAs("conference-schedule.pdf");
// Example: Generate responsive invoice with Bootstrap
string bootstrapInvoice = @"
<!DOCTYPE html>
<html>
<head>
<link href='___PROTECTED_URL_139___ rel='stylesheet'>
<link href='___PROTECTED_URL_140___ rel='stylesheet'>
</head>
<body>
<div class='container mt-5'>
<div class='row'>
<div class='col-12'>
<div class='card'>
<div class='card-body'>
<div class='row mb-4'>
<div class='col-sm-6'>
<h2 class='text-primary'><i class='fas fa-file-invoice'></i> INVOICE</h2>
<p class='mb-1'><strong>Invoice #:</strong> INV-2025-001</p>
<p class='mb-1'><strong>Date:</strong> " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
</div>
<div class='col-sm-6 text-sm-end'>
<h4>Your Company Name</h4>
<p class='mb-1'>123 Business St</p>
<p class='mb-1'>City, State 12345</p>
<p>contact@company.com</p>
</div>
</div>
<hr>
<div class='row mb-4'>
<div class='col-sm-6'>
<h5>Bill To:</h5>
<p class='mb-1'><strong>Client Company</strong></p>
<p class='mb-1'>456 Client Ave</p>
<p>City, State 67890</p>
</div>
</div>
<div class='table-responsive'>
<table class='table table-bordered'>
<thead class='table-primary'>
<tr>
<th>Description</th>
<th class='text-center'>Quantity</th>
<th class='text-end'>Price</th>
<th class='text-end'>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Web Development Services</td>
<td class='text-center'>40</td>
<td class='text-end'>$150.00</td>
<td class='text-end'>$6,000.00</td>
</tr>
<tr>
<td>UI/UX Design</td>
<td class='text-center'>20</td>
<td class='text-end'>$125.00</td>
<td class='text-end'>$2,500.00</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan='3' class='text-end'><strong>Subtotal:</strong></td>
<td class='text-end'><strong>$8,500.00</strong></td>
</tr>
<tr>
<td colspan='3' class='text-end'>Tax (10%):</td>
<td class='text-end'>$850.00</td>
</tr>
<tr class='table-primary'>
<td colspan='3' class='text-end'><strong>Total Due:</strong></td>
<td class='text-end'><strong>$9,350.00</strong></td>
</tr>
</tfoot>
</table>
</div>
<div class='alert alert-info mt-4'>
<i class='fas fa-info-circle'></i> Payment is due within 30 days. Thank you for your business!
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>";
var invoicePdf = renderer.RenderHtmlAsPdf(bootstrapInvoice);
invoicePdf.SaveAs("bootstrap-invoice.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
// Configure rendering for optimal Bootstrap output
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.RenderDelay = 500; // Allow JS to fully load
renderer.RenderingOptions.ViewPortWidth = 1280; // Desktop viewport
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.MarginLeft = 10;
renderer.RenderingOptions.MarginRight = 10;
string bootstrapSchedule = @"
<!DOCTYPE html>
<html>
<head>
<link href='___PROTECTED_URL_135___ rel='stylesheet'>
<style>
@media print {
.pagebreak { page-break-after: always; }
}
</style>
</head>
<body>
<div class='container my-5'>
<h1 class='text-center mb-5'>Tech Conference 2025 - Schedule</h1>
<div class='row g-4'>
<div class='col-md-6'>
<div class='card border-primary'>
<div class='card-header bg-primary text-white d-flex justify-content-between align-items-center'>
<h5 class='mb-0'>Keynote Session</h5>
<span class='badge bg-light text-primary'>9:00 AM</span>
</div>
<div class='card-body'>
<h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
<p class='card-text'><strong>The Future of AI in Software Development</strong></p>
<p class='card-text'>Join us for an exploration of how artificial intelligence is transforming the software development environment.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_136___ class='rounded-circle me-2' alt='Speaker'>
<div>
<div class='fw-bold'>Dr. Sarah Chen</div>
<small class='text-muted'>AI Research Lead</small>
</div>
</div>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card border-success'>
<div class='card-header bg-success text-white d-flex justify-content-between align-items-center'>
<h5 class='mb-0'>Workshop</h5>
<span class='badge bg-light text-success'>10:30 AM</span>
</div>
<div class='card-body'>
<h6 class='card-subtitle mb-2 text-muted'>Workshop Room A</h6>
<p class='card-text'><strong>Hands-On: Cloud-Native Architecture</strong></p>
<p class='card-text'>Learn practical techniques for building flexible, cloud-native applications with modern frameworks.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_137___ class='rounded-circle me-2' alt='Speaker'>
<div>
<div class='fw-bold'>Michael Rodriguez</div>
<small class='text-muted'>Cloud Architect</small>
</div>
</div>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card border-warning'>
<div class='card-header bg-warning text-dark d-flex justify-content-between align-items-center'>
<h5 class='mb-0'>Panel Discussion</h5>
<span class='badge bg-dark'>2:00 PM</span>
</div>
<div class='card-body'>
<h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
<p class='card-text'><strong>Security in Modern Web Applications</strong></p>
<p class='card-text'>Industry experts discuss current security challenges and best practices for protecting user data.</p>
<small class='text-muted'>Featuring 4 industry experts</small>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card border-info'>
<div class='card-header bg-info text-white d-flex justify-content-between align-items-center'>
<h5 class='mb-0'>Technical Talk</h5>
<span class='badge bg-light text-info'>3:30 PM</span>
</div>
<div class='card-body'>
<h6 class='card-subtitle mb-2 text-muted'>Room B</h6>
<p class='card-text'><strong>Performance Optimization Strategies</strong></p>
<p class='card-text'>Deep dive into advanced techniques for improve application performance and reducing latency.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_138___ class='rounded-circle me-2' alt='Speaker'>
<div>
<div class='fw-bold'>Alex Kim</div>
<small class='text-muted'>Performance Engineer</small>
</div>
</div>
</div>
</div>
</div>
</div>
<div class='pagebreak'></div>
<h2 class='mt-5'>Additional Sessions</h2>
<div class='table-responsive'>
<table class='table table-striped'>
<thead>
<tr>
<th>Time</th>
<th>Session</th>
<th>Speaker</th>
<th>Location</th>
</tr>
</thead>
<tbody>
<tr>
<td>11:45 AM</td>
<td>Lightning Talks</td>
<td>Various</td>
<td>Room C</td>
</tr>
<tr>
<td>1:00 PM</td>
<td>Networking Lunch</td>
<td>-</td>
<td>Cafeteria</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>";
// Generate the PDF
var pdf = renderer.RenderHtmlAsPdf(bootstrapSchedule);
// Add metadata
pdf.MetaData.Author = "Tech Conference Team";
pdf.MetaData.Title = "Conference Schedule 2025";
pdf.MetaData.Subject = "Event Schedule";
// Save the PDF
pdf.SaveAs("conference-schedule.pdf");
// Example: Generate responsive invoice with Bootstrap
string bootstrapInvoice = @"
<!DOCTYPE html>
<html>
<head>
<link href='___PROTECTED_URL_139___ rel='stylesheet'>
<link href='___PROTECTED_URL_140___ rel='stylesheet'>
</head>
<body>
<div class='container mt-5'>
<div class='row'>
<div class='col-12'>
<div class='card'>
<div class='card-body'>
<div class='row mb-4'>
<div class='col-sm-6'>
<h2 class='text-primary'><i class='fas fa-file-invoice'></i> INVOICE</h2>
<p class='mb-1'><strong>Invoice #:</strong> INV-2025-001</p>
<p class='mb-1'><strong>Date:</strong> " + DateTime.Now.ToString("MMMM dd, yyyy") + @"</p>
</div>
<div class='col-sm-6 text-sm-end'>
<h4>Your Company Name</h4>
<p class='mb-1'>123 Business St</p>
<p class='mb-1'>City, State 12345</p>
<p>contact@company.com</p>
</div>
</div>
<hr>
<div class='row mb-4'>
<div class='col-sm-6'>
<h5>Bill To:</h5>
<p class='mb-1'><strong>Client Company</strong></p>
<p class='mb-1'>456 Client Ave</p>
<p>City, State 67890</p>
</div>
</div>
<div class='table-responsive'>
<table class='table table-bordered'>
<thead class='table-primary'>
<tr>
<th>Description</th>
<th class='text-center'>Quantity</th>
<th class='text-end'>Price</th>
<th class='text-end'>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Web Development Services</td>
<td class='text-center'>40</td>
<td class='text-end'>$150.00</td>
<td class='text-end'>$6,000.00</td>
</tr>
<tr>
<td>UI/UX Design</td>
<td class='text-center'>20</td>
<td class='text-end'>$125.00</td>
<td class='text-end'>$2,500.00</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan='3' class='text-end'><strong>Subtotal:</strong></td>
<td class='text-end'><strong>$8,500.00</strong></td>
</tr>
<tr>
<td colspan='3' class='text-end'>Tax (10%):</td>
<td class='text-end'>$850.00</td>
</tr>
<tr class='table-primary'>
<td colspan='3' class='text-end'><strong>Total Due:</strong></td>
<td class='text-end'><strong>$9,350.00</strong></td>
</tr>
</tfoot>
</table>
</div>
<div class='alert alert-info mt-4'>
<i class='fas fa-info-circle'></i> Payment is due within 30 days. Thank you for your business!
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>";
var invoicePdf = renderer.RenderHtmlAsPdf(bootstrapInvoice);
invoicePdf.SaveAs("bootstrap-invoice.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Configure rendering for optimal Bootstrap output
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.RenderDelay = 500 ' Allow JS to fully load
renderer.RenderingOptions.ViewPortWidth = 1280 ' Desktop viewport
renderer.RenderingOptions.MarginTop = 10
renderer.RenderingOptions.MarginBottom = 10
renderer.RenderingOptions.MarginLeft = 10
renderer.RenderingOptions.MarginRight = 10
Dim bootstrapSchedule As String = "
<!DOCTYPE html>
<html>
<head>
<link href='___PROTECTED_URL_135___ rel='stylesheet'>
<style>
@media print {
.pagebreak { page-break-after: always; }
}
</style>
</head>
<body>
<div class='container my-5'>
<h1 class='text-center mb-5'>Tech Conference 2025 - Schedule</h1>
<div class='row g-4'>
<div class='col-md-6'>
<div class='card border-primary'>
<div class='card-header bg-primary text-white d-flex justify-content-between align-items-center'>
<h5 class='mb-0'>Keynote Session</h5>
<span class='badge bg-light text-primary'>9:00 AM</span>
</div>
<div class='card-body'>
<h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
<p class='card-text'><strong>The Future of AI in Software Development</strong></p>
<p class='card-text'>Join us for an exploration of how artificial intelligence is transforming the software development environment.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_136___ class='rounded-circle me-2' alt='Speaker'>
<div>
<div class='fw-bold'>Dr. Sarah Chen</div>
<small class='text-muted'>AI Research Lead</small>
</div>
</div>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card border-success'>
<div class='card-header bg-success text-white d-flex justify-content-between align-items-center'>
<h5 class='mb-0'>Workshop</h5>
<span class='badge bg-light text-success'>10:30 AM</span>
</div>
<div class='card-body'>
<h6 class='card-subtitle mb-2 text-muted'>Workshop Room A</h6>
<p class='card-text'><strong>Hands-On: Cloud-Native Architecture</strong></p>
<p class='card-text'>Learn practical techniques for building flexible, cloud-native applications with modern frameworks.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_137___ class='rounded-circle me-2' alt='Speaker'>
<div>
<div class='fw-bold'>Michael Rodriguez</div>
<small class='text-muted'>Cloud Architect</small>
</div>
</div>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card border-warning'>
<div class='card-header bg-warning text-dark d-flex justify-content-between align-items-center'>
<h5 class='mb-0'>Panel Discussion</h5>
<span class='badge bg-dark'>2:00 PM</span>
</div>
<div class='card-body'>
<h6 class='card-subtitle mb-2 text-muted'>Main Auditorium</h6>
<p class='card-text'><strong>Security in Modern Web Applications</strong></p>
<p class='card-text'>Industry experts discuss current security challenges and best practices for protecting user data.</p>
<small class='text-muted'>Featuring 4 industry experts</small>
</div>
</div>
</div>
<div class='col-md-6'>
<div class='card border-info'>
<div class='card-header bg-info text-white d-flex justify-content-between align-items-center'>
<h5 class='mb-0'>Technical Talk</h5>
<span class='badge bg-light text-info'>3:30 PM</span>
</div>
<div class='card-body'>
<h6 class='card-subtitle mb-2 text-muted'>Room B</h6>
<p class='card-text'><strong>Performance Optimization Strategies</strong></p>
<p class='card-text'>Deep dive into advanced techniques for improve application performance and reducing latency.</p>
<div class='d-flex align-items-center'>
<img src='___PROTECTED_URL_138___ class='rounded-circle me-2' alt='Speaker'>
<div>
<div class='fw-bold'>Alex Kim</div>
<small class='text-muted'>Performance Engineer</small>
</div>
</div>
</div>
</div>
</div>
</div>
<div class='pagebreak'></div>
<h2 class='mt-5'>Additional Sessions</h2>
<div class='table-responsive'>
<table class='table table-striped'>
<thead>
<tr>
<th>Time</th>
<th>Session</th>
<th>Speaker</th>
<th>Location</th>
</tr>
</thead>
<tbody>
<tr>
<td>11:45 AM</td>
<td>Lightning Talks</td>
<td>Various</td>
<td>Room C</td>
</tr>
<tr>
<td>1:00 PM</td>
<td>Networking Lunch</td>
<td>-</td>
<td>Cafeteria</td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>"
' Generate the PDF
Dim pdf = renderer.RenderHtmlAsPdf(bootstrapSchedule)
' Add metadata
pdf.MetaData.Author = "Tech Conference Team"
pdf.MetaData.Title = "Conference Schedule 2025"
pdf.MetaData.Subject = "Event Schedule"
' Save the PDF
pdf.SaveAs("conference-schedule.pdf")
' Example: Generate responsive invoice with Bootstrap
Dim bootstrapInvoice As String = "
<!DOCTYPE html>
<html>
<head>
<link href='___PROTECTED_URL_139___ rel='stylesheet'>
<link href='___PROTECTED_URL_140___ rel='stylesheet'>
</head>
<body>
<div class='container mt-5'>
<div class='row'>
<div class='col-12'>
<div class='card'>
<div class='card-body'>
<div class='row mb-4'>
<div class='col-sm-6'>
<h2 class='text-primary'><i class='fas fa-file-invoice'></i> INVOICE</h2>
<p class='mb-1'><strong>Invoice #:</strong> INV-2025-001</p>
<p class='mb-1'><strong>Date:</strong> " & DateTime.Now.ToString("MMMM dd, yyyy") & "</p>
</div>
<div class='col-sm-6 text-sm-end'>
<h4>Your Company Name</h4>
<p class='mb-1'>123 Business St</p>
<p class='mb-1'>City, State 12345</p>
<p>contact@company.com</p>
</div>
</div>
<hr>
<div class='row mb-4'>
<div class='col-sm-6'>
<h5>Bill To:</h5>
<p class='mb-1'><strong>Client Company</strong></p>
<p class='mb-1'>456 Client Ave</p>
<p>City, State 67890</p>
</div>
</div>
<div class='table-responsive'>
<table class='table table-bordered'>
<thead class='table-primary'>
<tr>
<th>Description</th>
<th class='text-center'>Quantity</th>
<th class='text-end'>Price</th>
<th class='text-end'>Total</th>
</tr>
</thead>
<tbody>
<tr>
<td>Web Development Services</td>
<td class='text-center'>40</td>
<td class='text-end'>$150.00</td>
<td class='text-end'>$6,000.00</td>
</tr>
<tr>
<td>UI/UX Design</td>
<td class='text-center'>20</td>
<td class='text-end'>$125.00</td>
<td class='text-end'>$2,500.00</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan='3' class='text-end'><strong>Subtotal:</strong></td>
<td class='text-end'><strong>$8,500.00</strong></td>
</tr>
<tr>
<td colspan='3' class='text-end'>Tax (10%):</td>
<td class='text-end'>$850.00</td>
</tr>
<tr class='table-primary'>
<td colspan='3' class='text-end'><strong>Total Due:</strong></td>
<td class='text-end'><strong>$9,350.00</strong></td>
</tr>
</tfoot>
</table>
</div>
<div class='alert alert-info mt-4'>
<i class='fas fa-info-circle'></i> Payment is due within 30 days. Thank you for your business!
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>"
Dim invoicePdf = renderer.RenderHtmlAsPdf(bootstrapInvoice)
invoicePdf.SaveAs("bootstrap-invoice.pdf")
Çıktı: Bootstrap'ın kart ızgarası, flexbox hizalaması, rozet bileşenleri ve duyarlı düzeniyle profesyonel bir konferans takvimi—hepsi PDF'de doğru şekilde render edilir.
XFINIUM.PDF: Sınırlı HTML ve Çerçeve Desteği
XFINIUM.PDF, HTML-to-PDF dönüştürme yerine PDF oluşturma ve manipülasyona odaklanır. Kütüphane, Bootstrap ve modern CSS çerçeveleri için önemli sınırlamalara sahiptir:
- Yerel HTML İşleme Yok: XFINIUM.PDF, bir yerleşik HTML-to-PDF dönüştürme motoru içermez
- Sadece Temel HTML Desteği: Gelişmiş CSS olmadan basit HTML yapılarına sınırlıdır
- Bootstrap Desteği Yok: Flexbox ve CSS Grid ile modern Bootstrap çerçeveleri (4/5) desteklenmez
- Geçici Çözümler Gerekli: Geliştiriciler, düzenleri manuel olarak yeniden oluşturmak için düşük seviyeli PDF API'lerini kullanmalıdır
- Harici Araçlar Gerekli: Harici HTML işleme motorlarıyla entegrasyon gerektirebilir
Geliştirme Etkisi: Bootstrap veya modern CSS çerçevelerini kullanan uygulamalar, UI'lerini XFINIUM.PDF ile doğrudan PDF'ye dönüştüremezler. Geliştiriciler ya şunları yapmalıdır:
- XFINIUM.PDF'in düşük seviyeli çizim API'lerini kullanarak düzenleri yeniden oluşturun (önemli geliştirme süresi)
- Harici HTML işleme araçlarını entegre edin (ek karmaşıklık ve bağımlılıklar)
- Web UI ile paralel PDF düzen kodunu koruyun (bakım yükü)
Modern çerçevelerle HTML-to-PDF dönüşümü gerektiren projeler için, XFINIUM.PDF'in sınırlamaları önemli ek geliştirmeler gerektirir.
Tam Bootstrap ve modern CSS çerçeve desteği için, Bootstrap & Flexbox CSS Kılavuzuna bakın.
Fiyatlandırma ve Lisanslama Seçenekleri Nelerdir?
XFINIUM.PDF Fiyatlandırma ve Lisanslama
Her paket iki versiyonda gelir: Generator Version, PDF üretimi/düzenlemesi için ve Viewer Version tüm Generator özellikleri yanı sıra PDF işleme ve görüntüleme içeren.
- Her geliştirici, bir lisans gerektirir.
- Sınırsız masaüstü/sunucuya telif ücretsiz dağıtım.
- Yardım Aboneliği, bir yıllık güncellemeler/destek içerir.
Fiyatlar yıllık olarak 290,00 $ ile 872,00 $ arasında değişiklik gösterir.
IronPDF Fiyatlandırma ve Lisanslama
IronPDF, geliştirme için ücretsizdir ve ticari kullanım için her zaman lisanslanabilir. Seçenekler arasında tek proje lisansları, tek geliştiriciler, ajanslar, çok uluslu organizasyonlar ve SaaS/OEM yeniden dağıtımı bulunmaktadır. Tüm lisanslar 30 günlük para iade garantisi, bir yıl destek/güncellemeler, geliştirici/sahne/üretim geçerliliği ve bir defalık satın alma olan süresiz lisans içerir. Lite paketi $799 ile başlar ve tekrarlanan masraflar yoktur.
Hangi PDF Kütüphanesini Seçmeliyim?
IronPDF kutuphanesi, tescilli API'ler olmadan PDF oluşturmayı basitleştirir. "HTML-To-PDF", HTML, JS, CSS, JPG, PNG, GIF ve SVG gibi açık standart belgeleri piksel mükemmelliğinde PDF'lere dönüştürür. Mevcut geliştirici becerilerini artırır. Belgeleri indirebilir, e-posta ile gönderebilir veya buluta kaydederek faturalar, teklifler, raporlar, sözleşmeler ve diğer belgeleri oluşturabilirsiniz. ASP.NET, ASP.NET Core, web formları, MVC, .NET Framework ve .NET Core Web API'leri ile çalışır.
XFINIUM.PDF, acemi ve ileri düzey PDF geliştiricileri için işlevsellik sağlar. Raporlar oluşturmanız, PDF formlarını doldurmanız, portföyler oluşturmanız, bilgileri sansürlemeniz veya PDF'leri çok sayfalı TIFF'lere dönüştürmeniz gerekiyorsa, gerekli araçları sunar. Temel nesne modeli, PDF spesifikasyonlarını izler. Kod, herhangi bir platformda değişiklik yapmadan derlenir.
XFINIUM.PDF lisansları 290 $ (Generator) ve 387 $ (Viewer) sürümlerinde başlar. IronPDF $799 ile başlar. IronPDF, hem tekli hem de çoklu kullanıcı lisansları sunarken, XFINIUM.PDF her geliştirici için lisans gerektirir. IronPDF'nin profesyonel lisansı (799 $), sınırsız kullanıcıyı destekler.
IronPDF, XFINIUM.PDF'ye göre PDF manipülasyonu için daha az satır kod gerektirir ve bu, programcı iş yükünü azaltır.
Iron Software, tam kütüphanesini iki tıklama ile sunar. Şu anda iki kütüphane fiyatına, sürekli destekle tüm beş kütüphaneyi alıyorsunuz.
Sıkça Sorulan Sorular
HTML'den PDF'ye dönüştürme için IronPDF'nin ana özellikleri nelerdir?
IronPDF, HTML'yi PDF'ye dönüştürmek için .NET Chromium motorunu kullanır. HTML5, CSS, JavaScript ve resim entegrasyonunu destekleyerek web içeriğinden PDF oluşturmak için kapsamlı bir çözüm sunar.
XFINIUM.PDF, .NET için diğer PDF kütüphaneleriyle nasıl karşılaştırılır?
XFINIUM.PDF, çapraz platform bir kütüphane olarak iki sürüm sunar: Generator ve Viewer. PDF oluşturma, düzenleme ve görüntüleme konusunda üstündür ve güvenlik, dijital imzalar ve barkod desteği gibi özellikler içerir.
IronPDF, Azure ve AWS gibi bulut platformlarında kullanılabilir mi?
Evet, IronPDF, PDF çözümlerinin bulut ortamlarında esnek dağıtımına olanak tanıyan Azure ve AWS dahil olmak üzere çeşitli platformlarla uyumludur.
.NET projeleri için IronPDF'nin hangi kurulum seçenekleri mevcuttur?
IronPDF, Visual Studio'nun NuGet Paket Yöneticisi, Geliştirici Komut İstemi kullanılarak veya doğrudan NuGet paketi ya da kütüphane DLL'inin indirilmesiyle kurulabilir.
IronPDF'nin PDF düzenleme yetenekleri nelerdir?
IronPDF, form alanlarını doldurma, belgeleri birleştirme ve metin ile görüntü çıkarma dahil olmak üzere kapsamlı PDF düzenleme imkanı sunar. Başlık, altbilgi ve açıklama eklemeyi de destekler.
IronPDF ve XFINIUM.PDF arasındaki lisanslama seçenekleri nasıl farklılık gösterir?
XFINIUM.PDF, geliştirici başına 290 dolardan başlayan lisanslar sunar ve telif ücretsiz dağıtım sağlar. IronPDF, sınırsız kullanıcılar için profesyonel lisans dahil olmak üzere daha geniş lisanslama seçenekleri sunar.
XFINIUM.PDF hangi güvenlik özelliklerini sağlar?
XFINIUM.PDF, belge güvenliğini sağlamak için kullanıcı ve sahip parolalarını, belge erişim haklarını, RC4 ve AES şifrelemelerini ve içerik düzenlemeyi destekler.
Geliştiriciler neden projeleri için IronPDF'yi seçebilir?
Geliştiriciler, IronPDF'yi, daha az kod satırı gerektiren PDF manipülasyonu ve tek ve çok kullanıcılı lisanslarla esnekliği nedeniyle seçebilir.
IronPDF, PDF'lerde form doldurmayı nasıl ele alır?
IronPDF, PDF'lerde form alanlarını doldurmak için araçlar sağlar, bu da dinamik belge oluşturma ve kullanıcı etkileşimini mümkün kılar.
Bu PDF kütüphanelerinin dijital imzalama yetenekleri nelerdir?
Hem IronPDF hem de XFINIUM.PDF, belge gerçekliğinin ve bütünlüğünün güvenli bir şekilde doğrulanmasını sağlayan dijital imzaları destekler.



