Przejdź do treści stopki
PORóWNANIA PRODUKTóW

Porównanie Wkhtmltopdf C# z przykładami kodu

Full Comparison

Looking for a detailed feature-by-feature breakdown? See how IronPDF stacks up against Syncfusion PDF on pricing, HTML support, and licensing.

View Full Comparison

Gdy programiści potrzebują solidnego generowania i manipulacji PDF w aplikacjach .NET, wybór odpowiedniej biblioteki może znacząco wpływać na sukces projektu. Podczas gdy PDF Syncfusion Viewer oferuje solidną funkcjonalność PDF w ramach szerszego zestawu narzędzi, IronPDF zapewnia wyspecjalizowane, skoncentrowane na deweloperach rozwiązanie do manipulacji PDF w C#. Ten szczegółowy porównanie bada możliwości konwersji HTML na PDF, funkcje, ceny oraz rzeczywistą wydajność obu bibliotek, aby pomóc Ci podjąć świadomą decyzję.

Szybkie Porównanie: IronPDF vs PDF Syncfusion

Przed przystąpieniem do szczegółowego porównania funkcji, oto comprehensive overview of how these two PDF libraries stack up against each other:

Przegląd porównania produktów
Porównanie funkcji PDF IronPDF i Syncfusion dla programowania w .NET
Kategoria Funkcja/Aspekt IronPDF PDF Syncfusion Kluczowa zaleta
Podstawowa architektura Filozofia projektowania Skupienie na PDF, intuicyjne API Podejście do zestawu komponentów IronPDF: Skoncentrowany na specjalistycznych funkcjach
Złożoność API Proste metody jak RenderHtmlAsPdf() Podejście do wieloklasowego konwertera IronPDF: Mniej potrzebnych wywołań API
Krzywa uczenia się Godziny do produkcyjnego użycia Dni do tygodni typowe IronPDF: Szybsze wdrożenie
Obsługa platform Wielopłatformowe Wbudowana obsługa, bez dodatkowych pakietów Wymaga konfiguracji specyficznej dla platformy IronPDF: Łatwiejsze wdrożenie
Wersje .NET .NET 10, 9, 8, 7, 6, 5, Core 3.1+, Framework 4.6.2+ .NET Framework 4.6.2+, .NET Standard 2.0, .NET 8.0, .NET 9.0 IronPDF: Szerokie wsparcie dla starszych wersji
Systemy operacyjne Windows, Linux, macOS, Docker natywnie Wsparcie dla Windows, Linux, macOS Oba: Pełne pokrycie
HTML do PDF Silnik renderujący Pełny silnik Chrome V8 WebKit (starszy) lub Blink/CEF (nowszy) IronPDF: Nowoczesne renderowanie Chromium
Obsługa CSS3/HTML5 Pełne wsparcie Ograniczone (WebKit) lub pełne (Blink) IronPDF: Spójne współczesne standardy webowe
Wykonanie JavaScript Pełna obsługa JavaScript Brak JS (WebKit), opcjonalny JS (Blink) IronPDF: Wsparcie dla natywnej dynamicznej zawartości
Szybkość renderowania Pełne renderowanie Chromium (obsługiwany skomplikowany HTML) Zależy od silnika (WebKit lub Blink/CEF) Syncfusion WebKit: Szybsze dla podstawowego HTML
Kluczowe Funkcje Formularze PDF Interaktywne formularze zachowane Wsparcie tworzenia/wypełniania formularzy Oba: Pełne wsparcie dla formularzy
Podpisy cyfrowe Zintegrowane, wizualne podpisy Podpisywanie oparte na certyfikacie IronPDF: Łatwiejsze podpisywanie
Możliwości OCR Poprzez integrację z IronOCR Wymaga procesora Syncfusion OCR Oba: Dodatkowy komponent
Zgodność z PDF/A Wsparcie PDF/A-1b, PDF/A-3b Wsparcie PDF/A-1b, PDF/X Oba: Zgodność archiwum
Doświadczenie programisty Dokumentacja PDF-pierwsze, intuicyjne API Dokumentacja dostępna dla całego zestawu IronPDF: Zasoby celowane
Przykłady kodu Ponad 100 gotowych do uruchomienia przykładów Pełne przykłady Oba: Rozległe przykłady
Komunikaty błędów Opisowe, działające Komunikaty techniczne IronPDF: Lepsze debugowanie
Licensing & Pricing Poziom początkowy Lite: $999 (1 deweloper, 1 projekt) Zespół: $395/miesiąc (5 deweloperów) IronPDF: Jednorazowy zakup
Model cenowy Licencja wieczysta Subskrypcja roczna IronPDF: Brak opłat cyklicznych
Bezpłatna wersja próbna 30-dniowy w pełni funkcjonalny 30-dniowy okres próbny + Licencja dla społeczności Oba: Hojne próby
Wsparcie Wsparcie techniczne w cenie Tak, wsparcie inżynierskie 24/5 Tak, odpowiedź w ciągu 24 godzin Oba: Profesjonalne wsparcie
Bezpośredni dostęp do inżynierii Tak Przez system wsparcia IronPDF: Bezpośredni dostęp
Najlepsze dla Przykłady zastosowań Nowoczesne aplikacje internetowe, złożony HTML Podstawowe generowanie PDF, użytkownicy zestawu interfejsu użytkownika Zależy od kontekstu
Wielkość zespołu 1–10+ deweloperów 5+ deweloperów IronPDF: Elastyczne rozmiary
Uwaga. PDF Syncfusion jest częścią większego zestawu komponentów, podczas gdy IronPDF oferuje specjalistyczne funkcje PDF z lepszymi możliwościami renderowania HTML. Wybór zależy od tego, czy priorytetem są kompleksowe komponenty interfejsu użytkownika czy dedykowane funkcje PDF.

Jakie są kluczowe możliwości każdej biblioteki PDF?

IronPDF

IronPDF wyróżnia się jako specjalistyczna biblioteka PDF .NET zbudowana specjalnie dla programistów potrzebujących solidnych możliwości generowania i manipulacji PDF. Jej architektura skupia się na silniku renderowania Chrome, zapewniając bezbłędną konwersję HTML do PDF, która odpowiada temu, co widać w nowoczesnych przeglądarkach. To skupienie na dokładności i łatwości użycia sprawiło, że jest to popularny wybór wśród programistów .NET pracujących z wymaganiami złożonego generowania dokumentów.

Zobacz kompleksowe funkcje IronPDF, aby zrozumieć, jak upraszcza przepływy pracy z PDF. Z wsparciem dla .NET 9, .NET 8 i wcześniejszych wersji (a nawet nadchodzącego wydania .NET 10), IronPDF działa bezproblemowo w środowiskach Windows, Linux, macOS, Docker, Azure i AWS. Intuicyjna konstrukcja API biblioteki oznacza, że programiści mogą zacząć generować PDF'y za pomocą zaledwie kilku linii kodu, znacznie skracając czas programowania.

PDF Syncfusion

Biblioteka PDF .NET Syncfusion jest częścią szerszego zestawu Syncfusion Essential Studio, oferując możliwości manipulacji PDF wraz z licznymi innymi komponentami interfejsu użytkownika. Podczas gdy oferuje solidne funkcje PDF, jego siła leży w byciu częścią zintegrowanego ekosystemu narzędzi programistycznych. Biblioteka umożliwia programistom tworzenie, odczytywanie i edytowanie dokumentów PDF programowo, chociaż może wymagać bardziej zaawansowanej konfiguracji w porównaniu do wyspecjalizowanych bibliotek PDF.

Podejście Syncfusion przemawia do zespołów już korzystających z ich komponentów UI lub poszukujących kompleksowego rozwiązania typu suite. Biblioteka obejmuje funkcje tworzenia, zarządzania, a także podstawowej konwersji HTML do PDF, chociaż z pewnymi ograniczeniami w zakresie wsparcia nowoczesnych standardów webowych.

Jak wypadają porównania możliwości międzyplatformowych?

Obie biblioteki oferują wsparcie multiplatformowe, ale ich podejścia do implementacji różnią się znacząco:

Wsparcie platformowe IronPDF:

  • Wersje .NET:

    • C#, VB.NET, F#
    • .NET 10, 9, 8, 7, 6, 5 oraz .NET Core 3.1+ .NET Standard 2.0+
    • .NET Framework 4.6.2+
  • Native platform support: Windows, Linux, macOS, Docker, Azure, AWS
  • IDEs: Microsoft Visual Studio, JetBrains Rider & ReSharper
  • Processors: x64, x86, ARM

Wsparcie platformowe Syncfusion:

  • .NET Framework 4.6.2+
  • .NET Standard 2.0
  • .NET 8.0, .NET 9.0
  • Integration with Windows Forms, ASP.NET Core, Xamarin, Flutter, .NET MAUI
  • Wsparcie dla Windows, Mac i Linux (wymaga konfiguracji specyficznej dla platformy)

Zobacz szczegółową matrycę zgodności IronPDF, aby dowiedzieć się, jak wspiera ono Twoje specyficzne środowisko deweloperskie.

Która biblioteka oferuje lepszą konwersję HTML do PDF?

Konwersja HTML do PDF to jedna z najważniejszych funkcji dla nowoczesnych aplikacji. Przeanalizujmy, jak każda biblioteka radzi sobie z tym istotnym zadaniem:

Podejście IronPDF do HTML do PDF

using IronPdf;

// One-line PDF generation from HTML
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #2025-001</h1><p>Total: $1,299.00</p>");
pdf.SaveAs("invoice.pdf");

// Advanced example with modern CSS and JavaScript
var advancedPdf = renderer.RenderHtmlAsPdf(@"
    <html>
    <head>
        <link href='https://fonts.googleapis.com/css?family=Inter' rel='stylesheet'>
        <style>
            body { font-family: 'Inter', sans-serif; }
            .invoice { background: linear-gradient(to right, #667eea, #764ba2); }
        </style>
    </head>
    <body>
        <div class='invoice'>Modern Invoice Design</div>
    </body>
    </html>");
advancedPdf.SaveAs("modern-invoice.pdf");
using IronPdf;

// One-line PDF generation from HTML
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #2025-001</h1><p>Total: $1,299.00</p>");
pdf.SaveAs("invoice.pdf");

// Advanced example with modern CSS and JavaScript
var advancedPdf = renderer.RenderHtmlAsPdf(@"
    <html>
    <head>
        <link href='https://fonts.googleapis.com/css?family=Inter' rel='stylesheet'>
        <style>
            body { font-family: 'Inter', sans-serif; }
            .invoice { background: linear-gradient(to right, #667eea, #764ba2); }
        </style>
    </head>
    <body>
        <div class='invoice'>Modern Invoice Design</div>
    </body>
    </html>");
advancedPdf.SaveAs("modern-invoice.pdf");
Imports IronPdf

' One-line PDF generation from HTML
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #2025-001</h1><p>Total: $1,299.00</p>")
pdf.SaveAs("invoice.pdf")

' Advanced example with modern CSS and JavaScript
Dim advancedPdf = renderer.RenderHtmlAsPdf("
    <html>
    <head>
        <link href='https://fonts.googleapis.com/css?family=Inter' rel='stylesheet'>
        <style>
            body { font-family: 'Inter', sans-serif; }
            .invoice { background: linear-gradient(to right, #667eea, #764ba2); }
        </style>
    </head>
    <body>
        <div class='invoice'>Modern Invoice Design</div>
    </body>
    </html>")
advancedPdf.SaveAs("modern-invoice.pdf")
$vbLabelText   $csharpLabel

IronPDF wykorzystuje pełen silnik JavaScript Chrome V8, co zapewnia, że Twoje PDFy będą renderowane dokładnie tak, jak w przeglądarce Chrome. To podejście wspiera nowoczesne funkcje CSS3, takie jak flexbox, układy grid, animacje (uchwycone jako statyczne) oraz niestandardowe czcionki webowe. Klasa ChromePdfRenderer oferuje szerokie mozliwosci dostosowania, w tym ustawienia widoku, opoznienia w wykonywaniu JavaScript oraz obsluge projektowania responsywnego.

Podejście Syncfusion do HTML do PDF

using Syncfusion.Pdf;
using Syncfusion.HtmlConverter;

// Create converter instance
HtmlToPdfConverter htmlConverter = new HtmlToPdfConverter();

// Basic HTML to PDF conversion
PdfDocument document = htmlConverter.Convert("<h1>Basic Document</h1>");

// Save the document
using (FileStream fileStream = new FileStream("output.pdf", FileMode.CreateNew))
{
    document.Save(fileStream);
}
document.Close(true);
using Syncfusion.Pdf;
using Syncfusion.HtmlConverter;

// Create converter instance
HtmlToPdfConverter htmlConverter = new HtmlToPdfConverter();

// Basic HTML to PDF conversion
PdfDocument document = htmlConverter.Convert("<h1>Basic Document</h1>");

// Save the document
using (FileStream fileStream = new FileStream("output.pdf", FileMode.CreateNew))
{
    document.Save(fileStream);
}
document.Close(true);
Imports Syncfusion.Pdf
Imports Syncfusion.HtmlConverter

' Create converter instance
Private htmlConverter As New HtmlToPdfConverter()

' Basic HTML to PDF conversion
Private document As PdfDocument = htmlConverter.Convert("<h1>Basic Document</h1>")

' Save the document
Using fileStream As New FileStream("output.pdf", FileMode.CreateNew)
	document.Save(fileStream)
End Using
document.Close(True)
$vbLabelText   $csharpLabel

Syncfusion oferuje dwie opcje renderowania: starszy silnik oparty na WebKit oraz nowszy silnik Blink (Chromium). Silnik WebKit wykorzystuje niestandardowe podejście do parsowania, które efektywnie obsługuje podstawowy HTML i CSS, ale brakuje mu obsługi wykonywania JavaScript oraz zaawansowanych funkcji CSS3, takich jak flexbox i układy grid. Silnik Blink/CEF (wprowadzony w najnowszych wersjach) używa renderowania Chromium i teoretycznie powinien wspierać nowoczesne standardy webowe, chociaż wymaga dodatkowej konfiguracji. Te ograniczenia stają się widoczne przy pracy z nowoczesnymi aplikacjami webowymi lub złożonymi układami, szczególnie w wersji bazującej na WebKit.

Porównanie wydajności w rzeczywistych warunkach

Silnik renderujący IronPDF oparty na Chromium obsługuje nowoczesne treści webowe, których nie jest w stanie przetworzyć starszy silnik WebKit Syncfusion. Różnice praktyczne są najbardziej widoczne przy:

  • Projektach responsywnych używających zapytań medialnych
  • Złożonych animacjach i przejściach CSS
  • Treści renderowane w JavaScript
  • Nowoczesnych czcionkach webowych i bibliotekach ikon
  • Grafika SVG i elementy Canvas

Jak wypada porównanie funkcji bezpieczeństwa między bibliotekami?

Bezpieczeństwo pozostaje najważniejsze przy obsłudze poufnych dokumentów. Obie biblioteki oferują funkcje szyfrowania, ale ich podejścia do implementacji różnią się:

Implementacja bezpieczeństwa IronPDF

using IronPdf;
using IronPdf.Security;

// Load or create a PDF
var pdf = PdfDocument.FromFile("sensitive-data.pdf");

// Apply comprehensive security settings
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("owner-password");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;

// Set 256-bit AES encryption
pdf.Password = "user-password";
pdf.SaveAs("secured-document.pdf");
using IronPdf;
using IronPdf.Security;

// Load or create a PDF
var pdf = PdfDocument.FromFile("sensitive-data.pdf");

// Apply comprehensive security settings
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("owner-password");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;

// Set 256-bit AES encryption
pdf.Password = "user-password";
pdf.SaveAs("secured-document.pdf");
Imports IronPdf
Imports IronPdf.Security

' Load or create a PDF
Private pdf = PdfDocument.FromFile("sensitive-data.pdf")

' Apply comprehensive security settings
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("owner-password")
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint

' Set 256-bit AES encryption
pdf.Password = "user-password"
pdf.SaveAs("secured-document.pdf")
$vbLabelText   $csharpLabel

IronPDF dostarcza zintegrowana klase SecuritySettings, ktora konsoliduje wszystkie opcje bezpieczenstwa. Ten projekt sprawia, że łatwo jest zastosować wiele środków bezpieczeństwa bez potrzeby nawigacji po złożonych hierarchiach API. Biblioteka obsługuje ponad 15 granularnych ustawień uprawnień.

Implementacja bezpieczeństwa Syncfusion

using Syncfusion.Pdf;
using Syncfusion.Pdf.Security;

// Load document
PdfLoadedDocument document = new PdfLoadedDocument("input.pdf");

// Create security object
PdfSecurity security = document.Security;
security.UserPassword = "user123";
security.OwnerPassword = "owner123";
security.Algorithm = PdfEncryptionAlgorithm.AES;
security.KeySize = PdfEncryptionKeySize.Key256Bit;
security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent;

// Save encrypted document
document.Save("encrypted.pdf");
document.Close(true);
using Syncfusion.Pdf;
using Syncfusion.Pdf.Security;

// Load document
PdfLoadedDocument document = new PdfLoadedDocument("input.pdf");

// Create security object
PdfSecurity security = document.Security;
security.UserPassword = "user123";
security.OwnerPassword = "owner123";
security.Algorithm = PdfEncryptionAlgorithm.AES;
security.KeySize = PdfEncryptionKeySize.Key256Bit;
security.Permissions = PdfPermissionsFlags.Print | PdfPermissionsFlags.CopyContent;

// Save encrypted document
document.Save("encrypted.pdf");
document.Close(true);
Imports Syncfusion.Pdf
Imports Syncfusion.Pdf.Security

' Load document
Private document As New PdfLoadedDocument("input.pdf")

' Create security object
Private security As PdfSecurity = document.Security
security.UserPassword = "user123"
security.OwnerPassword = "owner123"
security.Algorithm = PdfEncryptionAlgorithm.AES
security.KeySize = PdfEncryptionKeySize.Key256Bit
security.Permissions = PdfPermissionsFlags.Print Or PdfPermissionsFlags.CopyContent

' Save encrypted document
document.Save("encrypted.pdf")
document.Close(True)
$vbLabelText   $csharpLabel

Chociaż Syncfusion oferuje standardowe opcje szyfrowania, API wymaga bardziej manualnej konfiguracji. Rozdzielenie haseł użytkownika i właściciela zapewnia elastyczność, ale dodaje złożoność dla typowych przypadków użycia.

Która biblioteka oferuje lepsze funkcje manipulacji treścią?

Możliwości redakcji PDF

Redakcja treści jest kluczowa dla zgodności i prywatności. Oto jak każda biblioteka podchodzi do tego zadania:

Anonimizacja IronPDF:

using IronPdf;

var pdf = PdfDocument.FromFile("confidential.pdf");

// One-line redaction of sensitive content
pdf.RedactTextOnAllPages("SSN: [0-9]{3}-[0-9]{2}-[0-9]{4}");

// Redact with custom appearance
pdf.RedactTextOnPage("CONFIDENTIAL", 0, 
    new RedactionOptions { 
        Color = IronColor.Black,
        Overlay = "REDACTED" 
    });

pdf.SaveAs("redacted.pdf");
using IronPdf;

var pdf = PdfDocument.FromFile("confidential.pdf");

// One-line redaction of sensitive content
pdf.RedactTextOnAllPages("SSN: [0-9]{3}-[0-9]{2}-[0-9]{4}");

// Redact with custom appearance
pdf.RedactTextOnPage("CONFIDENTIAL", 0, 
    new RedactionOptions { 
        Color = IronColor.Black,
        Overlay = "REDACTED" 
    });

pdf.SaveAs("redacted.pdf");
Imports IronPdf

Private pdf = PdfDocument.FromFile("confidential.pdf")

' One-line redaction of sensitive content
pdf.RedactTextOnAllPages("SSN: [0-9]{3}-[0-9]{2}-[0-9]{4}")

' Redact with custom appearance
pdf.RedactTextOnPage("CONFIDENTIAL", 0, New RedactionOptions With {
	.Color = IronColor.Black,
	.Overlay = "REDACTED"
})

pdf.SaveAs("redacted.pdf")
$vbLabelText   $csharpLabel

Redakcja Syncfusion:

using Syncfusion.Pdf;
using Syncfusion.Pdf.Redaction;

PdfLoadedDocument loadedDocument = new PdfLoadedDocument("input.pdf");

// Create redaction annotation
PdfRedaction redaction = new PdfRedaction(
    new RectangleF(100, 120, 200, 50), 
    Color.Black);

// Add to specific page
loadedDocument.Pages[0].Redactions.Add(redaction);

// Apply redactions
loadedDocument.Redact();

loadedDocument.Save("redacted.pdf");
loadedDocument.Close(true);
using Syncfusion.Pdf;
using Syncfusion.Pdf.Redaction;

PdfLoadedDocument loadedDocument = new PdfLoadedDocument("input.pdf");

// Create redaction annotation
PdfRedaction redaction = new PdfRedaction(
    new RectangleF(100, 120, 200, 50), 
    Color.Black);

// Add to specific page
loadedDocument.Pages[0].Redactions.Add(redaction);

// Apply redactions
loadedDocument.Redact();

loadedDocument.Save("redacted.pdf");
loadedDocument.Close(true);
Imports Syncfusion.Pdf
Imports Syncfusion.Pdf.Redaction

Private loadedDocument As New PdfLoadedDocument("input.pdf")

' Create redaction annotation
Private redaction As New PdfRedaction(New RectangleF(100, 120, 200, 50), Color.Black)

' Add to specific page
loadedDocument.Pages(0).Redactions.Add(redaction)

' Apply redactions
loadedDocument.Redact()

loadedDocument.Save("redacted.pdf")
loadedDocument.Close(True)
$vbLabelText   $csharpLabel

Bazująca na wzorcach redakcja IronPDF z obsługą regex okazuje się bardziej efektywna dla masowych operacji. Możliwość określenia wzorców regex i zastosowania redakcji na wszystkich stronach w jednym wywołaniu redukuje potrzebny kod do przetwarzania dokumentów na dużą skalę.

Implementacja podpisów cyfrowych

Obie biblioteki wspierają podpisy cyfrowe, ale ich podejścia różnią się znacząco:

Podpisy cyfrowe IronPDF:

using IronPdf;
using IronPdf.Signing;

var pdf = new ChromePdfRenderer().RenderHtmlAsPdf("<h1>Contract</h1>");

// Load certificate
var cert = new X509Certificate2("certificate.pfx", "password");

// Create and apply signature with visual representation
var signature = new PdfSignature(cert)
{
    SigningContact = "legal@company.com",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval"
};

pdf.Sign(signature);
pdf.SaveAs("signed-contract.pdf");
using IronPdf;
using IronPdf.Signing;

var pdf = new ChromePdfRenderer().RenderHtmlAsPdf("<h1>Contract</h1>");

// Load certificate
var cert = new X509Certificate2("certificate.pfx", "password");

// Create and apply signature with visual representation
var signature = new PdfSignature(cert)
{
    SigningContact = "legal@company.com",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval"
};

pdf.Sign(signature);
pdf.SaveAs("signed-contract.pdf");
Imports IronPdf
Imports IronPdf.Signing

Private pdf = (New ChromePdfRenderer()).RenderHtmlAsPdf("<h1>Contract</h1>")

' Load certificate
Private cert = New X509Certificate2("certificate.pfx", "password")

' Create and apply signature with visual representation
Private signature = New PdfSignature(cert) With {
	.SigningContact = "legal@company.com",
	.SigningLocation = "New York, NY",
	.SigningReason = "Contract Approval"
}

pdf.Sign(signature)
pdf.SaveAs("signed-contract.pdf")
$vbLabelText   $csharpLabel

Podpisy cyfrowe Syncfusion:

using Syncfusion.Pdf;
using Syncfusion.Pdf.Security;

PdfLoadedDocument loadedDocument = new PdfLoadedDocument("contract.pdf");
PdfCertificate certificate = new PdfCertificate("certificate.pfx", "password");

PdfSignature signature = new PdfSignature(
    loadedDocument, 
    loadedDocument.Pages[0], 
    certificate, 
    "Signature");

signature.Bounds = new RectangleF(100, 100, 200, 100);
signature.ContactInfo = "legal@company.com";
signature.LocationInfo = "New York";
signature.Reason = "Contract Approval";

loadedDocument.Save("signed.pdf");
loadedDocument.Close(true);
using Syncfusion.Pdf;
using Syncfusion.Pdf.Security;

PdfLoadedDocument loadedDocument = new PdfLoadedDocument("contract.pdf");
PdfCertificate certificate = new PdfCertificate("certificate.pfx", "password");

PdfSignature signature = new PdfSignature(
    loadedDocument, 
    loadedDocument.Pages[0], 
    certificate, 
    "Signature");

signature.Bounds = new RectangleF(100, 100, 200, 100);
signature.ContactInfo = "legal@company.com";
signature.LocationInfo = "New York";
signature.Reason = "Contract Approval";

loadedDocument.Save("signed.pdf");
loadedDocument.Close(true);
Imports Syncfusion.Pdf
Imports Syncfusion.Pdf.Security

Private loadedDocument As New PdfLoadedDocument("contract.pdf")
Private certificate As New PdfCertificate("certificate.pfx", "password")

Private signature As New PdfSignature(loadedDocument, loadedDocument.Pages(0), certificate, "Signature")

signature.Bounds = New RectangleF(100, 100, 200, 100)
signature.ContactInfo = "legal@company.com"
signature.LocationInfo = "New York"
signature.Reason = "Contract Approval"

loadedDocument.Save("signed.pdf")
loadedDocument.Close(True)
$vbLabelText   $csharpLabel

Implementacja podpisów w IronPDF wymaga mniej kroków konfiguracyjnych, oferując jednocześnie wszechstronne opcje wizualizacji podpisu. Dowiedz się więcej o możliwościach podpisów cyfrowych IronPDF.

Jak porównują się funkcje znakowania wodnego i stemplowania?

Implementacja znakowania wodnego

Znakowanie wodne IronPDF:

using IronPdf;

var pdf = PdfDocument.FromFile("document.pdf");

// HTML-based watermark with full CSS styling
pdf.ApplyWatermark(@"
    <div style='
        color: rgba(255, 0, 0, 0.3);
        font-size: 48px;
        transform: rotate(-45deg);
        font-family: Arial;
    '>CONFIDENTIAL</div>", 
    50, 
    VerticalAlignment.Middle, 
    HorizontalAlignment.Center);

pdf.SaveAs("watermarked.pdf");
using IronPdf;

var pdf = PdfDocument.FromFile("document.pdf");

// HTML-based watermark with full CSS styling
pdf.ApplyWatermark(@"
    <div style='
        color: rgba(255, 0, 0, 0.3);
        font-size: 48px;
        transform: rotate(-45deg);
        font-family: Arial;
    '>CONFIDENTIAL</div>", 
    50, 
    VerticalAlignment.Middle, 
    HorizontalAlignment.Center);

pdf.SaveAs("watermarked.pdf");
Imports IronPdf

Private pdf = PdfDocument.FromFile("document.pdf")

' HTML-based watermark with full CSS styling
pdf.ApplyWatermark("
    <div style='
        color: rgba(255, 0, 0, 0.3);
        font-size: 48px;
        transform: rotate(-45deg);
        font-family: Arial;
    '>CONFIDENTIAL</div>", 50, VerticalAlignment.Middle, HorizontalAlignment.Center)

pdf.SaveAs("watermarked.pdf")
$vbLabelText   $csharpLabel

Znakowanie wodne Syncfusion:

using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;

PdfLoadedDocument loadedDocument = new PdfLoadedDocument("document.pdf");
PdfPageBase page = loadedDocument.Pages[0];

PdfGraphics graphics = page.Graphics;
PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 40);

// Set transparency
PdfGraphicsState state = graphics.Save();
graphics.SetTransparency(0.25f);

// Draw watermark text
graphics.RotateTransform(-45);
graphics.DrawString("CONFIDENTIAL", font, PdfBrushes.Red, new PointF(-150, 400));

graphics.Restore(state);
loadedDocument.Save("watermarked.pdf");
loadedDocument.Close(true);
using Syncfusion.Pdf;
using Syncfusion.Pdf.Graphics;

PdfLoadedDocument loadedDocument = new PdfLoadedDocument("document.pdf");
PdfPageBase page = loadedDocument.Pages[0];

PdfGraphics graphics = page.Graphics;
PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 40);

// Set transparency
PdfGraphicsState state = graphics.Save();
graphics.SetTransparency(0.25f);

// Draw watermark text
graphics.RotateTransform(-45);
graphics.DrawString("CONFIDENTIAL", font, PdfBrushes.Red, new PointF(-150, 400));

graphics.Restore(state);
loadedDocument.Save("watermarked.pdf");
loadedDocument.Close(true);
Imports Syncfusion.Pdf
Imports Syncfusion.Pdf.Graphics

Private loadedDocument As New PdfLoadedDocument("document.pdf")
Private page As PdfPageBase = loadedDocument.Pages(0)

Private graphics As PdfGraphics = page.Graphics
Private font As PdfFont = New PdfStandardFont(PdfFontFamily.Helvetica, 40)

' Set transparency
Private state As PdfGraphicsState = graphics.Save()
graphics.SetTransparency(0.25F)

' Draw watermark text
graphics.RotateTransform(-45)
graphics.DrawString("CONFIDENTIAL", font, PdfBrushes.Red, New PointF(-150, 400))

graphics.Restore(state)
loadedDocument.Save("watermarked.pdf")
loadedDocument.Close(True)
$vbLabelText   $csharpLabel

Podejście IronPDF oparte na HTML zapewnia nadrzędną elastyczność dla złożonych znaków wodnych, w tym obrazów, gradientów i zaawansowanej typografii. Zobacz przykłady znakowania wodnego, aby zobaczyć pełen zakres możliwości.

Która biblioteka lepiej radzi sobie z konwersjami formatów plików?

Konwersja DOCX na PDF

Konwersja formatów plików często decyduje o efektywności przepływu pracy. Oto jak każda biblioteka radzi sobie z konwersją DOCX na PDF:

Konwersja DOCX IronPDF:

using IronPdf;

// Direct DOCX to PDF conversion
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("contract.docx");
pdf.SaveAs("contract.pdf");
using IronPdf;

// Direct DOCX to PDF conversion
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("contract.docx");
pdf.SaveAs("contract.pdf");
Imports IronPdf

' Direct DOCX to PDF conversion
Private renderer As New DocxToPdfRenderer()
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("contract.docx")
pdf.SaveAs("contract.pdf")
$vbLabelText   $csharpLabel

Konwersja DOCX Syncfusion:

// Syncfusion requires the additional Syncfusion.DocIO package
using Syncfusion.DocIO;
using Syncfusion.DocIO.DLS;
using Syncfusion.DocIORenderer;
using Syncfusion.Pdf;

WordDocument wordDocument = new WordDocument("contract.docx", FormatType.Docx);
DocIORenderer renderer = new DocIORenderer();
PdfDocument pdfDocument = renderer.ConvertToPDF(wordDocument);

using (FileStream stream = new FileStream("contract.pdf", FileMode.Create))
{
    pdfDocument.Save(stream);
}

wordDocument.Close();
pdfDocument.Close();
// Syncfusion requires the additional Syncfusion.DocIO package
using Syncfusion.DocIO;
using Syncfusion.DocIO.DLS;
using Syncfusion.DocIORenderer;
using Syncfusion.Pdf;

WordDocument wordDocument = new WordDocument("contract.docx", FormatType.Docx);
DocIORenderer renderer = new DocIORenderer();
PdfDocument pdfDocument = renderer.ConvertToPDF(wordDocument);

using (FileStream stream = new FileStream("contract.pdf", FileMode.Create))
{
    pdfDocument.Save(stream);
}

wordDocument.Close();
pdfDocument.Close();
' Syncfusion requires the additional Syncfusion.DocIO package
Imports Syncfusion.DocIO
Imports Syncfusion.DocIO.DLS
Imports Syncfusion.DocIORenderer
Imports Syncfusion.Pdf

Private wordDocument As New WordDocument("contract.docx", FormatType.Docx)
Private renderer As New DocIORenderer()
Private pdfDocument As PdfDocument = renderer.ConvertToPDF(wordDocument)

Using stream As New FileStream("contract.pdf", FileMode.Create)
	pdfDocument.Save(stream)
End Using

wordDocument.Close()
pdfDocument.Close()
$vbLabelText   $csharpLabel

IronPDF obejmuje konwersję DOCX w swojej bazowej bibliotece, podczas gdy Syncfusion wymaga zakupu i instalacji oddzielnego komponentu DocIO. Różnica ta znacząco wpływa zarówno na koszt, jak i złożoność. Dowiedz się więcej o możliwościach konwersji DOCX na PDF przez IronPDF.

Jak porównują się metryki wydajności?

Charakterystyka wydajności różni się między bibliotekami w oparciu o ich architektoniczne podejścia:

Wydajność renderowania

Kluczowe różnice w wydajności renderowania są jakościowe, a nie tylko oparte na prędkości:

  • Prosty HTML: Silnik WebKit Syncfusion może szybko renderować podstawowy HTML, ale brakuje mu wykonania JavaScript i zaawansowanego wsparcia dla CSS3
  • Złożony HTML z JavaScript: Silnik Chromium IronPDF obsługuje treści renderowane przez JavaScript; Silnik WebKit Syncfusion nie może w ogóle wykonywać JavaScript
  • Przetwarzanie wsadowe: IronPDF umożliwia przetwarzanie równoległe dla wsadowych przepływów generacji PDF

Wykorzystanie pamięci

Silnik renderujący Chromium IronPDF ma wyższe podstawowe wymagania pamięci niż lżejsze podejście WebKit Syncfusion. Dla aplikacji wymagających dokładnego renderowania nowoczesnych treści webowych, ten kompromis jest zazwyczaj akceptowalny. Opcja silnika Blink/CEF Syncfusion również używa Chromium i miałaby porównywalne cechy pamięciowe do IronPDF.

Możliwości strumieniowe IronPDF wspierają efektywne zarządzanie dużymi dokumentami.

Jak wyglądają modele cenowe?

Zrozumienie całkowitego kosztu posiadania pomaga w podejmowaniu świadomych decyzji:

Cennik IronPDF (2025)

IronPDF oferuje licencje wieczyste z przejrzystymi, jednorazowymi cenami:

  • Lite License: $999

    • 1 programista, 1 lokalizacja, 1 projekt
    • Wsparcie e-mail w cenie
  • Plus License: $1,499

    • 3 programistów, 3 lokalizacje, 3 projekty
    • Wsparcie e-mail, czat i telefon
  • Professional License: $2,999

    • 10 programistów, 10 lokalizacji, 10 projektów
    • Priorytetowe wsparcie techniczne z udostępnianiem ekranu
  • Dodatkowe Opcje:
    • Redystrybucja bez oplat licencyjnych: +$2,999
    • 5-letnie wsparcie i aktualizacje: $2,999 (lub $1,499/rok)
    • Iron Suite: $2,998 (10 products including IronPDF)

Zobacz szczegółowe opcje licencjonowania IronPDF

Cennik Syncfusion (2025)

Syncfusion używa modelu subskrypcyjnego z rocznymi opłatami:

  • Team License (5 developers): $395/month ($4,740/year)
  • Team License (10 developers): $695/month ($8,340/year)
  • 10+ programistów: Wymagana indywidualna wycena
  • Licencja społecznościowa: Bezpłatna dla osób fizycznych i małych firm (< $1M przychodów, ≤5 programistów, ≤10 pracowników)

Ważne rozważania:

  • Ceny dotyczą rocznych subskrypcji (minimalne zobowiązanie na 1 rok)
  • Zawiera wszystkie produkty Syncfusion, nie tylko PDF
  • Wsparcie w cenie, ale czas odpowiedzi zależy od poziomu
  • Brak opcji licencji wieczystej

Przykład analizy kosztów

Dla zespołu 3 programistów przez 3 lata:

  • IronPDF: $1,499 (licencja wieczysta jednorazowa) + opcjonalne odnawianie wsparcia co roku
  • Syncfusion: $395/miesiac × 36 miesiecy (minimalny wymog 1 roku, subskrypcja odnawiana co roku)

Model licencjonowania wieczystego IronPDF unika kosztów subskrypcji, które znacznie się kumulują w wieloletnich okresach.

Jak wypada porównanie dokumentacji i wsparcia technicznego?

Struktura wsparcia IronPDF

Struktura wsparcia Syncfusion

  • Dokumentacja: Kompletna, ale rozsiana po całym pakiecie
  • System wsparcia: Portal online z systemem biletów
  • Czas mocy zwrotnej: Zobowiązanie do odpowiedzi w ciągu 24 godzin
  • Komuenszejności: Fora i baza wiedzy
  • Wsparcie zdalne: dostępne dla Team License

Zgodnie z opiniami użytkowników na platformach recenzujących, ukierunkowana dokumentacja IronPDF oraz bezpośrednie wsparcie inżynierów otrzymują niezmiennie wysokie oceny za szybkość rozwiązywania problemów.

Jakie są typowe zastosowania każdej z bibliotek?

IronPDF Excel At:

  1. Generowanie plików PDF w nowoczesnych aplikacjach internetowych

    • Platformy SaaS generujące faktury
    • Generowanie paragonów w e-commerce
    • Dynamiczne tworzenie raportów z wykresami
  2. Przetwarzanie złożonych dokumentów

    • Redagowanie dokumentów prawnych
    • Generowanie sprawozdań finansowych
    • Zarządzanie dokumentacją medyczną
  3. Konwersja HTML o wysokiej wierności
    • Powielanie materiałów marketingowych
    • Archiwizacja stron internetowych
    • Tworzenie plików PDF z biuletynami

Zapoznaj się z przykładami kodu IronPDF, aby poznać wzorce implementacji.

Syncfusion sprawdza się dobrze w przypadku:

  1. Podstawowe operacje na plikach PDF

    • Proste tworzenie dokumentów
    • Wypełnianie podstawowych formularzy
    • Standardowa obsługa plików PDF
  2. Użytkownicy Suite

    • Zespoły już korzystające z komponentów interfejsu użytkownika Syncfusion
    • Projekty wymagające użycia wielu narzędzi Syncfusion
    • Standaryzowane środowiska programistyczne
  3. Start-upy dbające o budżet
    • Kwalifikacja do licencji społecznościowej
    • Podstawowe potrzeby związane z plikami PDF bez zaawansowanych funkcji

Jak migrować między bibliotekami?

Jeśli rozważasz przejście z Syncfusion na IronPDF, oto podejście do migracji:

Podstawowy przykład migracji

Syncfusion Code:

HtmlToPdfConverter converter = new HtmlToPdfConverter();
PdfDocument document = converter.Convert(htmlContent);
document.Save(stream);
document.Close(true);
HtmlToPdfConverter converter = new HtmlToPdfConverter();
PdfDocument document = converter.Convert(htmlContent);
document.Save(stream);
document.Close(true);
Dim converter As New HtmlToPdfConverter()
Dim document As PdfDocument = converter.Convert(htmlContent)
document.Save(stream)
document.Close(True)
$vbLabelText   $csharpLabel

Odpowiednik IronPDF:

var pdf = new ChromePdfRenderer().RenderHtmlAsPdf(htmlContent);
pdf.SaveAs(stream);
var pdf = new ChromePdfRenderer().RenderHtmlAsPdf(htmlContent);
pdf.SaveAs(stream);
Dim pdf = (New ChromePdfRenderer()).RenderHtmlAsPdf(htmlContent)
pdf.SaveAs(stream)
$vbLabelText   $csharpLabel

Kluczowe kwestie dotyczące migracji:

  1. Uproszczenie API: Podejście jednowarstwowe IronPDF zazwyczaj wymaga znacznie mniej linii kodu niż wielowarstwowy wzorzec konwertera Syncfusion
  2. Zgodność funkcji: Większość funkcji Syncfusion ma bezpośrednie odpowiedniki w IronPDF
  3. Wydajność: Spodziewaj się większej dokładności renderowania, ale też nieco większego zużycia pamięci
  4. Testowanie: Skoncentruj się na złożonych układach HTML, które mogą wyświetlać się w różny sposób

Pobierz przewodnik migracji IronPDF, aby zapoznać się ze szczegółowymi wzorcami konwersji.

Co mówią prawdziwi programiści?

Cenne spostrzeżenia dostarczają niezależne recenzje programistów:

Z porównania bibliotek autorstwa Jeffa Fritza:

*"IronPDF ładnie się wyświetla, ma odpowiednie marginesy. Wszystko jest w odpowiednim rozmiarze... Treść HTML znajduje się tutaj i jest sformatowana pod kątem urządzeń mobilnych. Świetnie, dam sobie z tym radę.

"Syncfusion: Tutaj margines jest nieco mniejszy, nagłówek nakłada się na tekst, ale mogę to wybaczyć. Obrazy się nie załadowały – to problem."

Przeczytaj pełne porównanie

Z analizy HackerNoon z 2025 r.:

"IronPDF i PrinceXML wyróżniają się możliwością dokładnego renderowania HTML do formatu PDF, dzięki czemu dokumenty wyglądają identycznie jak w przeglądarce".

"Do renderowania stron internetowych do formatu PDF w nowoczesnych środowiskach .NET (Core, 6, 7+) lub stosach wielopłatformowych wybierz IronPDF, PrinceXML lub Syncfusion."

Typowe obserwacje deweloperskie:

Typowe tematy w feedbacku deweloperów dotyczące Syncfusion, oparte na publicznie dostępnych recenzjach:

  • Złożoność licencjonowania — model subskrypcyjny Syncfusion i praktyki egzekwowania spotykają się z krytyką; IronPDF oferuje przejrzyste licencjonowanie wieczyste
  • Nawigacja po ekosystemie — zakres pakietu Syncfusion może sprawić, że znalezienie dokumentacji specyficznej dla PDF i API może zająć dużo czasu; Skupiony zakres IronPDF upraszcza to
  • Krzeświętne patrzenie — wzorce API wielowarstwowego Syncfusion wymagają więcej czasu na konfigurację; Projekt IronPDF redukuje czas do produktywności

Testy wydajności: scenariusze z życia wzięte

Generowanie faktur: kompromis jakości a szybkość

Podczas generowania faktur z złożonymi szablonami HTML zawierającymi stylizację CSS3, dynamiczne dane i wykresy, oba podejścia bibliotek oferują różne kompromisy:

  • IronPDF: Pełne renderowanie Chromium zapewnia poprawne renderowanie stylizacje CSS3, wykresów generowanych przez JavaScript i nowoczesnych czcionek
  • Syncfusion (WebKit): Szybsze dla prostego HTML, ale stylizacje CSS3 i treści generowane przez JavaScript nie są przetwarzane, wymagające manualnych rozwiązań obejściowych dla złożonych szablonów
  • Syncfusion (Blink/CEF): Porównywalna wydajność renderowania do IronPDF, ale wymaga dodatkowej konfiguracji

Dla szablonów opartych na nowoczesnych standardach webowych, IronPDF dostarcza bardziej dokładne wyjście bez konieczności poprocesowych rozwiązań obejściowych.

Operacje związane z bezpieczeństwem dokumentów

Zunifikowane API SecuritySettings IronPDF konsoliduje operacje szyfrowania, znakowania wodnego i podpisu cyfrowego w jednej spojnej klasie, zmniejszajac liczbe wywolan API i cykle zycia obiektow w porownaniu do oddzielnych obiektow bezpieczenstwa Syncfusion. Te różnice architektoniczne uproszczają kod i redukują potencjał do błędnej konfiguracji.

Dokonanie właściwego wyboru: ramy decyzyjne

Kiedy wybrać IronPDF:

  • Potrzebujesz konwersji HTML do PDF z zachowaniem każdego piksela
  • Niezbędne są nowoczesne standardy internetowe (CSS3, JavaScript)
  • Wolisz licencję jednorazową zamiast subskrypcji
  • Bezpośrednie wsparcie inżynieryjne jest cenne
  • Potrzebujesz specjalistycznego rozwiązania ukierunkowanego na pliki PDF
  • Wymagane jest kompleksowe zabezpieczenie dokumentów

Rozważ Syncfusion, gdy:

  • Korzystasz już z innych komponentów Syncfusion
  • Podstawowe generowanie plików PDF spełnia Twoje potrzeby
  • Kwalifikujesz się do uzyskania licencji społecznościowej
  • Preferujesz model cenowy oparty na subskrypcji
  • Potrzebujesz szerokiej Suite narzędzi programistycznych

Wsparcie dla nowoczesnych frameworków CSS

Kluczowym czynnikiem przy wyborze biblioteki PDF jest jej zdolność do obsługi nowoczesnych frameworków CSS, takich jak Bootstrap, Tailwind CSS i Foundation. Frameworki te stanowią podstawę większości współczesnych aplikacji internetowych i w dużym stopniu opierają się na funkcjach CSS3, takich jak flexbox i CSS Grid.

IronPDF: Pełna obsługa Bootstrap

Nowoczesny silnik renderujący Chromium firmy IronPDF zapewnia pełną obsługę wszystkich aktualnych frameworków CSS:

  • Bootstrap 5: Pełne wsparcie dla flexbox i CSS Grid dla układów responsywnych
  • Złożone układy: renderuje stronę główną Bootstrap oraz szablony Bootstrap z idealną dokładnością pikselową
  • Nowoczesne funkcje: Animacje CSS3, transformacje, przejścia i zapytania medialne
  • Frameworki CSS: Bootstrap, Tailwind CSS, Foundation, Bulma działają bezproblemowo

Przykład kodu: Renderowanie treści Bootstrap

using IronPdf;

// Render a Bootstrap 5 layout
var renderer = new ChromePdfRenderer();

// Example: Bootstrap dashboard with flexbox cards
string bootstrapHtml = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <nav class='navbar navbar-expand-lg navbar-dark bg-dark'>
        <div class='container-fluid'>
            <a class='navbar-brand' href='#'>Dashboard</a>
        </div>
    </nav>

    <div class='container my-5'>
        <div class='row g-4'>
            <div class='col-lg-3 col-md-6'>
                <div class='card shadow h-100'>
                    <div class='card-body d-flex flex-column'>
                        <h5 class='card-title'>Revenue</h5>
                        <p class='card-text fs-2 fw-bold text-success'>$45,231</p>
                        <p class='text-muted mt-auto'><small>+12% from last month</small></p>
                    </div>
                </div>
            </div>

        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapHtml);
pdf.SaveAs("bootstrap-dashboard.pdf");
using IronPdf;

// Render a Bootstrap 5 layout
var renderer = new ChromePdfRenderer();

// Example: Bootstrap dashboard with flexbox cards
string bootstrapHtml = @"
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <nav class='navbar navbar-expand-lg navbar-dark bg-dark'>
        <div class='container-fluid'>
            <a class='navbar-brand' href='#'>Dashboard</a>
        </div>
    </nav>

    <div class='container my-5'>
        <div class='row g-4'>
            <div class='col-lg-3 col-md-6'>
                <div class='card shadow h-100'>
                    <div class='card-body d-flex flex-column'>
                        <h5 class='card-title'>Revenue</h5>
                        <p class='card-text fs-2 fw-bold text-success'>$45,231</p>
                        <p class='text-muted mt-auto'><small>+12% from last month</small></p>
                    </div>
                </div>
            </div>

        </div>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapHtml);
pdf.SaveAs("bootstrap-dashboard.pdf");
Imports IronPdf

' Render a Bootstrap 5 layout
Dim renderer As New ChromePdfRenderer()

' Example: Bootstrap dashboard with flexbox cards
Dim bootstrapHtml As String = "
<!DOCTYPE html>
<html>
<head>
    <link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <nav class='navbar navbar-expand-lg navbar-dark bg-dark'>
        <div class='container-fluid'>
            <a class='navbar-brand' href='#'>Dashboard</a>
        </div>
    </nav>

    <div class='container my-5'>
        <div class='row g-4'>
            <div class='col-lg-3 col-md-6'>
                <div class='card shadow h-100'>
                    <div class='card-body d-flex flex-column'>
                        <h5 class='card-title'>Revenue</h5>
                        <p class='card-text fs-2 fw-bold text-success'>$45,231</p>
                        <p class='text-muted mt-auto'><small>+12% from last month</small></p>
                    </div>
                </div>
            </div>

        </div>
    </div>
</body>
</html>"

Dim pdf = renderer.RenderHtmlAsPdf(bootstrapHtml)
pdf.SaveAs("bootstrap-dashboard.pdf")
$vbLabelText   $csharpLabel

Syncfusion: Obsługa zmiennego Bootstrapa

Obsługa Bootstrap przez PDF Syncfusion zależy od używanego silnika renderującego:

  • Silnik WebKit (starsza wersja):

    • Brak obsługi flexbox - Bootstrap 4+ nie będzie wyświetlał się poprawnie
    • Ograniczona obsługa CSS Grid
    • Wymaga Bootstrap 3 lub rezerwowych rozwiązań opartych na tabelach
    • Starszy silnik o ograniczonym wsparciu nowoczesnych standardów webowych
  • Silnik Blink/CEF (nowszy):
    • Powinien obsługiwać nowoczesny Bootstrap (oparty na Chromium)
    • Wymaga dodatkowej konfiguracji
    • Może wymagać konfiguracji specyficznej dla danej platformy
    • Kwestie związane z wydajnością w przypadku złożonych układów

Dla szczegółów na temat kompatybilności frameworków CSS, zobacz Przewodnik Bootstrap & Flexbox CSS.

Wnioski

Porównując PDF Syncfusion Viewer z IronPDF dla konwersji HTML na PDF w .NET, IronPDF wyróżnia się jako lepszy wybór dla większości przypadków użycia specyficznych dla PDF. Silnik renderowania oparty na Chrome dostarcza niezrównaną dokładność w zakresie nowoczesnych treści internetowych, podczas gdy intuicyjny projekt API znacznie redukuje czas dewelopmentu. Model licencjonowania wieczystego oferuje lepszą wartość w długim okresie, szczególnie dla mniejszych zespołów.

PDF Syncfusion pozostaje wartościowe dla zespołów już zainwestowanych w ekosystem Syncfusion lub tych z podstawowymi potrzebami PDF, którzy kwalifikują się do licencji społecznościowej. Jednak dla dedykowanej funkcjonalności PDF, wsparcia nowoczesnych standardów webowych i lepszej konwersji HTML na PDF, IronPDF oferuje bardziej skoncentrowane i potężne rozwiązanie.

Kombinacja dokładności renderowania, wszechstronnych funkcji, przejrzystego cennika i responsywnego wsparcia czyni z IronPDF zalecany wybór dla poważnego rozwoju PDF w aplikacjach .NET.

Chcesz przekonać się, jaka to różnica? Wypróbuj 30-dniowy bezpłatny okres próbny, aby przetestować możliwości IronPDF w Twoich własnych projektach.

Zwróć uwagęSyncfusion jest zastrzeżonym znakiem towarowym odpowiedniego właściciela. Ta strona nie jest powiązana z firmą Syncfusion, nie jest przez nią promowana ani sponsorowana. Wszystkie nazwy produktów, logo i marki są własnością ich odpowiednich właścicieli. Porównania mają charakter wyłącznie informacyjny i odzwierciedlają informacje dostępne publicznie w momencie pisania.

Często Zadawane Pytania

Jak mogę przekonwertować HTML na PDF w języku C#?

Możesz użyć metody RenderHtmlAsPdf biblioteki IronPDF do konwersji ciągów HTML na pliki PDF. Możesz również konwertować pliki HTML na pliki PDF za pomocą metody RenderHtmlFileAsPdf.

Jaka jest różnica w konwersji HTML do PDF między Syncfusion a IronPDF?

IronPDF wykorzystuje silnik renderujący oparty na przeglądarce Chrome do wiernej konwersji HTML do formatu PDF, obsługując CSS3, HTML5 i JavaScript. Konwersja Syncfusion wykorzystuje niestandardowy parser, który nie obsługuje w pełni nowoczesnych standardów internetowych.

Czy IronPDF i Syncfusion są kompatybilne między platformami?

Tak, obie biblioteki obsługują systemy Windows, Linux i macOS. IronPDF zapewnia natywną obsługę wielu platform bez konieczności dodatkowej konfiguracji, natomiast Syncfusion wymaga konfiguracji specyficznej dla danej platformy.

Jakie są opcje licencyjne dla IronPDF i Syncfusion?

IronPDF oferuje licencje wieczyste już od 749 USD z opcjami dla większych zespołów. Syncfusion oferuje ceny abonamentowe oraz bezpłatną licencję społecznościową dla małych firm.

Czy firma Syncfusion oferuje bezpłatną licencję społecznościową?

Tak, firma Syncfusion oferuje licencję społecznościową dla firm o przychodach poniżej 1 miliona dolarów, która obejmuje dostęp do wszystkich jej produktów.

W jaki sposób IronPDF i Syncfusion obsługują szyfrowanie plików PDF?

IronPDF oferuje kompleksowe opcje szyfrowania za pośrednictwem klasy SecuritySettings. Syncfusion obsługuje standardowe szyfrowanie AES, ale wymaga większej ręcznej konfiguracji.

Jakie opcje wsparcia są dostępne dla IronPDF i Syncfusion?

IronPDF oferuje wsparcie techniczne 24/5, obszerną dokumentację oraz samouczki wideo. Syncfusion zapewnia wsparcie za pośrednictwem swojego portalu, zobowiązując się do udzielenia odpowiedzi w ciągu 24 godzin.

Czy mogę wypróbować IronPDF i Syncfusion przed zakupem?

Tak, obie biblioteki oferują 30-dniowy okres próbny. Wersja próbna IronPDF jest w pełni funkcjonalna i nie zawiera znaków wodnych, natomiast Syncfusion oferuje również opcję licencji społecznościowej.

Która biblioteka jest lepsza do generowania dużych ilości plików PDF?

IronPDF wyróżnia się wysoką dokładnością renderowania złożonego kodu HTML, ale zużywa więcej pamięci. Syncfusion przetwarza proste pliki PDF szybciej i przy mniejszym zużyciu pamięci, ale nie oferuje zaawansowanych funkcji.

Czy biblioteki te wymagają dodatkowych komponentów do konwersji plików?

IronPDF zawiera wbudowany moduł DocxToPdfRenderer do konwersji plików DOCX do formatu PDF. Syncfusion wymaga dodatkowych komponentów, takich jak Syncfusion.DocIO, do konwersji plików WORD.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczą...

Czytaj więcej
Syncfusion Logo

Zmęczony drogimi odnowieniami i przestarzałymi aktualizacjami produktów?

Dokonaj łatwego przejścia z Syncfusion z naszym wsparciem inżynierskim na rzecz migracji i lepszego dealu.

IronPDF Logo

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie