IronPDF vs EvoPdf: Która biblioteka PDF .NET dostarcza lepszą wartość w 2025?
Którą bibliotekę PDF wybrać do konwersji HTML na PDF w .NET Core?
Podczas tworzenia aplikacji .NET wymagających generowania plików PDF wybór odpowiedniej biblioteki może mieć znaczący wpływ na sukces projektu. Niezależnie od tego, czy tworzysz systemy raportowania dla przedsiębiorstw, generujesz faktury dla małych firm, czy też tworzysz dokumentację dla poszczególnych projektów, wybór biblioteki PDF ma wpływ na wszystko — od szybkości rozwoju po wydajność produkcji.
To kompleksowe porównanie analizuje IronPDF i SelectPdf, dwie popularne biblioteki PDF dla platformy .NET, pomagając w podjęciu świadomej decyzji w oparciu o rzeczywiste zastosowania, funkcje i wartość.
Krótki przegląd: IronPDF for .NET a SelectPdf dla programistów .NET
IronPDF zapewnia kompleksowe rozwiązanie PDF dla ekosystemu .NET, oferując płynną konwersję HTML do PDF z pełną obsługą nowoczesnych standardów internetowych. Oparty na silniku renderującym Chrome, zapewnia idealną dokładność pikselową, obsługując jednocześnie HTML5, CSS3 i JavaScript. Oprócz konwersji IronPDF zapewnia szerokie możliwości manipulacji plikami PDF, w tym edycję, podpisywanie, szyfrowanie oraz opcje wdrażania na różnych platformach.
SelectPdf specjalizuje się w konwersji HTML do PDF dla aplikacji .NET, obsługując zarówno platformy .NET Framework, jak i .NET Core. Chociaż SelectPdf oferuje podstawowe funkcje generowania i edycji plików PDF, skupia się przede wszystkim na środowiskach Windows i ma ograniczone możliwości działania na różnych platformach.
| Kategoria | Funkcja/Aspekt | IronPDF | SelectPdf | Zwycięzca |
|---|---|---|---|---|
| Podstawowa architektura | Filozofia projektowania | Intuicyjne interfejsy API stworzone z myślą o programistach | Tradycyjne podejście do generowania plików PDF | IronPDF: Szybsze tworzenie |
| Złożoność API | Proste metody jak RenderHtmlAsPdf() |
Proste, ale ograniczone API | IronPDF: Bardziej intuicyjny | |
| Krzywa uczenia się | Czas do osiągnięcia wydajności | Dni na zaawansowane funkcje | IronPDF: Szybsze przyswajanie | |
| Obsługa platform | Wielopłatformowe | Windows, Linux, macOS, Docker | Tylko dla systemu Windows | IronPDF: Prawdziwa przenośność |
| Wersje .NET | .NET 10, 9, 8, 7, 6, Core, Framework | .NET Framework 4.0+, Core 2.0+, .NET 5–10 (Windows) | IronPDF: Obsługa najnowszych frameworków | |
| Platformy chmurowe | Obsługa platform Azure, AWS i Google Cloud | Ograniczona obsługa platformy Azure (Basic+) | IronPDF: natywne dla chmury | |
| Obsługa kontenerów | Natywna obsługa Docker | Brak obsługi Docker | IronPDF: Nowoczesne wdrożenie | |
| Renderowanie HTML do PDF | Silnik renderujący | Silnik Chrome V8 | Hybryda WebKit/Blink | IronPDF: Większa dokładność |
| Obsługa CSS3/HTML5 | W 100% zgodne z nowoczesnymi standardami | Dobre, ale niekompletne | IronPDF: Pełna zgodność | |
| Wykonanie JavaScript | Pełna obsługa JavaScript | Ograniczona obsługa JavaScript | IronPDF: Dynamiczna treść | |
| Szybkość renderowania | W przypadku większości stron czas ładowania wynosi poniżej sekundy | Typowy czas: 2–3 sekundy | IronPDF: Niższy czas typowej konwersji | |
| Zabezpieczenia plików PDF | Szyfrowanie | AES-256, niestandardowe procedury obsługi | Standardowe szyfrowanie | Oba: Standard branżowy |
| Podpisy cyfrowe | Prosta, solidna implementacja | Złożona, ręczna konfiguracja | IronPDF: Łatwiejsze podpisywanie | |
| Uprawnienia | Szczegółowa kontrola | Podstawowe uprawnienia | IronPDF: Więcej opcji | |
| Redakcja treści | Redakcja | Wbudowane narzędzia do redagowania | Nieobsługiwane | IronPDF: Gotowość do zapewnienia zgodności |
| Znak wodny | Oparty na HTML/CSS, pełna kontrola | Podejście oparte na szablonach | IronPDF: Większa elastyczność | |
| Stemplowanie tekstu/obrazu | Ujednolicone klasy stempli | Wiele typów szablonów | IronPDF: Spójny interfejs API | |
| Konwersja plików | DOCX do PDF | Wsparcie native | Nieobsługiwane | IronPDF: Więcej formatów |
| Obraz do PDF | Wsparcie dla wielu formatów | Podstawowe wsparcie obrazów | IronPDF: Wszechstronny | |
| PDF na obrazy | Wysokiej jakości rasteryzacja | Obsługiwane | Oba: Dostępne | |
| Wydajność | Duże dokumenty | Zoptymalizowane dla skali | Zgłoszone problemy z wydajnością | IronPDF: Lepszy na większą skalę |
| Wykorzystanie pamięci | Efektywne buforowanie | Wyższe zużycie pamięci | IronPDF: Mniejsze obciążenie systemu | |
| Wsparcie asynchroniczne | Natywne async/await | Ograniczone wsparcie async | IronPDF: Nowoczesne wzorce | |
| Doświadczenie programisty | Dokumentacja | Rozległe tutoriale, przykłady | Podstawowa dokumentacja | IronPDF: Lepsze zasoby |
| Przykłady kodu | Ponad 100 gotowych przykładów | Ograniczona liczba przykładów | IronPDF: Większe wsparcie | |
| Projektowanie API | Intuicyjny, płynny interfejs | Tradycyjne podejście | IronPDF: Przyjazny dla programisty | |
| Licensing & Pricing | Poziom początkowy | Lite: $999 (1 programista) | Pojedynczy: $499 (1 deweloper) | SelectPdf: Niższy próg wejścia |
| Licencja Team | Plus: $1,499 (3 devs) | 5-programistyczny: $999 (5 deweloperów) | SelectPdf: Więcej developerów/dolar | |
| Enterprise | Professional: $2,999 (10 devs) | Enterprise: $1,199 (nieograniczony) | SelectPdf: Niższe ceny dla enterprise | |
| Redystrybucja | +$2,999 bez opłat licencyjnych | Licencje OEM dostępne | Oba: Dostępne opcje | |
| Wsparcie | Wsparcie techniczne w cenie | Wsparcie techniczne 24/5 | Wsparcie tylko e-mail | IronPDF: Lepsze wsparcie |
| Czas odpowiedzi | 24-48 godzin typowo | Zmienny czas odpowiedzi | IronPDF: Przewidywalne SLA | |
| Aktualizacje | Miesięczne wydania | Wydania co pół roku | IronPDF: Częstsze wydania | |
| Najlepsze dla | Przykłady zastosowań | Nowoczesne aplikacje, chmura, wiele platform | Tylko Windows, proste konwersje | Zależy od kontekstu |
| Wielkość zespołu | Dowolna wielkość, skalowalne licencjonowanie | Małe do średnich zespoły | IronPDF: Większa elastyczność |
Jak porównuje się kompatybilność między platformami?
IronPDF: Zbudowany dla nowoczesnego rozwoju
IronPDF obejmuje nowoczesne praktyki rozwojowe z kompleksowym wsparciem platformowym. Niezależnie od tego, czy wdrażasz na tradycyjnych serwerach, czy w kontenerowych środowiskach, IronPDF dostosowuje się do twoich potrzeb infrastrukturalnych.
Obsługiwane wersje .NET:
- C#, VB.NET, F#
- .NET 10, 9, 8, 7, 6, Core (3.1+)
- .NET Standard (2.0+)
- .NET Framework (4.6.2+)
Środowiska wdrożeniowe:
- Systemy operacyjne: Windows, Linux, macOS
- Platformy chmurowe: Azure (wszystkie poziomy), AWS (EC2, Lambda), Google Cloud
- Kontenery: Docker (kontenery na Windows i Linux)
- Narzędzia developerskie: Visual Studio, JetBrains Rider, VS Code
Ta szeroka kompatybilność oznacza, że możesz rozwijać raz i wdrażać wszędzie, co jest kluczowe dla zespołów pracujących z architekturami mikrousługowymi lub hybrydowymi wdrożeniami chmurowymi. Czy jesteś gotowy, aby zobaczyć, jak IronPDF działa w twoim środowisku? Pobierz bibliotekę i przetestuj ją dzisiaj.
SelectPdf: Rozwiązanie skoncentrowane na Windows
SelectPdf przyjmuje bardziej tradycyjne podejście, skupiając się przede wszystkim na środowiskach Windows:
Obsługiwane wersje .NET:
- .NET Framework 4.0+
- .NET Core 2.1+ (through .NET Standard 2.0)
- .NET 5 – .NET 10 (tylko Windows)
Ograniczenia wdrożeniowe:
- Systemy operacyjne: Tylko Windows (brak wsparcia dla Linux/macOS)
- Platformy chmurowe: Ograniczone wsparcie dla Azure (od poziomu Basic wzwyż)
- Kontenery: Brak wsparcia dla Docker
- Znaczące ograniczenie: Nie działa z Azure Functions ani architekturami bezserwerowymi
Według dokumentacji SelectPdf, "SelectPdf działa obecnie tylko na systemach Windows. Nie ma wsparcia dla Linux, Xamarin ani innych platform." To ograniczenie może być wyzwaniem dla zespołów stosujących nowoczesne praktyki DevOps lub architektury natywne dla chmury.
Która biblioteka zapewnia lepszą konwersję HTML do PDF?
Jakość konwersji HTML na PDF
Główna funkcjonalność obu bibliotek koncentruje się na konwersji HTML do PDF, ale ich podejścia i wyniki różnią się znacząco.
Przykład IronPDF:
using IronPdf;
// Instantiate Chrome-based renderer for pixel-perfect accuracy
var renderer = new ChromePdfRenderer();
// Configure rendering options for optimal output
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
// Convert HTML with full CSS3, JavaScript, and web font support
var pdf = renderer.RenderHtmlAsPdf(@"
<html>
<head>
<link href='https://fonts.googleapis.com/css?family=Roboto' rel='stylesheet'>
<style>
body { font-family: 'Roboto', sans-serif; }
.chart { width: 100%; height: 400px; }
</style>
</head>
<body>
<h1>Modern Web Standards in PDF</h1>
<canvas id='chart' class='chart'></canvas>
<script>
// JavaScript executes before PDF generation
// Perfect for dynamic charts and content
</script>
</body>
</html>");
// Save with professional quality
pdf.SaveAs("modern-output.pdf");
using IronPdf;
// Instantiate Chrome-based renderer for pixel-perfect accuracy
var renderer = new ChromePdfRenderer();
// Configure rendering options for optimal output
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
// Convert HTML with full CSS3, JavaScript, and web font support
var pdf = renderer.RenderHtmlAsPdf(@"
<html>
<head>
<link href='https://fonts.googleapis.com/css?family=Roboto' rel='stylesheet'>
<style>
body { font-family: 'Roboto', sans-serif; }
.chart { width: 100%; height: 400px; }
</style>
</head>
<body>
<h1>Modern Web Standards in PDF</h1>
<canvas id='chart' class='chart'></canvas>
<script>
// JavaScript executes before PDF generation
// Perfect for dynamic charts and content
</script>
</body>
</html>");
// Save with professional quality
pdf.SaveAs("modern-output.pdf");
Imports IronPdf
' Instantiate Chrome-based renderer for pixel-perfect accuracy
Private renderer = New ChromePdfRenderer()
' Configure rendering options for optimal output
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
' Convert HTML with full CSS3, JavaScript, and web font support
Dim pdf = renderer.RenderHtmlAsPdf("
<html>
<head>
<link href='https://fonts.googleapis.com/css?family=Roboto' rel='stylesheet'>
<style>
body { font-family: 'Roboto', sans-serif; }
.chart { width: 100%; height: 400px; }
</style>
</head>
<body>
<h1>Modern Web Standards in PDF</h1>
<canvas id='chart' class='chart'></canvas>
<script>
// JavaScript executes before PDF generation
// Perfect for dynamic charts and content
</script>
</body>
</html>")
' Save with professional quality
pdf.SaveAs("modern-output.pdf")
Klasa ChromePdfRenderer wykorzystuje ten sam silnik renderowania, co Google Chrome, zapewniając, że Twoje pliki PDF wyglądają dokładnie tak, jak widzą je użytkownicy w przeglądarkach. To podejście wspiera nowoczesne funkcje webowe, w tym CSS Grid, Flexbox, elementy Canvas i zaawansowane frameworki JavaScript, takie jak React czy Angular. Aby uzyskać szczegółowe przewodniki dotyczące implementacji, zapoznaj się z dokumentacją konwersji HTML na PDF.
Przykład SelectPdf:
using SelectPdf;
// Create converter instance
HtmlToPdf converter = new HtmlToPdf();
// Basic configuration options
converter.Options.PdfPageSize = PdfPageSize.A4;
converter.Options.WebPageWidth = 1024;
converter.Options.WebPageHeight = 0; // Auto-detect
// Convert HTML string
PdfDocument doc = converter.ConvertHtmlString(htmlString);
// Save document
doc.Save("output.pdf");
doc.Close();
using SelectPdf;
// Create converter instance
HtmlToPdf converter = new HtmlToPdf();
// Basic configuration options
converter.Options.PdfPageSize = PdfPageSize.A4;
converter.Options.WebPageWidth = 1024;
converter.Options.WebPageHeight = 0; // Auto-detect
// Convert HTML string
PdfDocument doc = converter.ConvertHtmlString(htmlString);
// Save document
doc.Save("output.pdf");
doc.Close();
Imports SelectPdf
' Create converter instance
Private converter As New HtmlToPdf()
' Basic configuration options
converter.Options.PdfPageSize = PdfPageSize.A4
converter.Options.WebPageWidth = 1024
converter.Options.WebPageHeight = 0 ' Auto-detect
' Convert HTML string
Dim doc As PdfDocument = converter.ConvertHtmlString(htmlString)
' Save document
doc.Save("output.pdf")
doc.Close()
Chociaż API SelectPdf jest proste, programiści zgłaszają ograniczenia w przypadku nowoczesnych standardów webowych. Według dyskusji na GitHubie, wydajność konwersji może być wolna, przy czym użytkownicy zgłaszają 3-sekundowe czasy konwersji dla prostych dokumentów. Biblioteka ma również problemy z funkcjami CSS3 i treścią ciężką od JavaScript.
Benchmarki wydajności
Testy wydajności w rzeczywistych warunkach ujawniają znaczące różnice:
- IronPDF: Konwersja w mniej niż sekundę dla standardowych stron internetowych
- SelectPdf: Typowo 2-3 sekundy, z doniesieniami o 3,5-minutowym opóźnieniu na serwerach produkcyjnych
Dowiedz się więcej o optymalizacji wydajności generowania PDF w przewodniku po wydajności IronPDF.
Zgodność z nowoczesnymi frameworkami CSS: Bootstrap, Tailwind i nie tylko
Jednym z kluczowych aspektów często pomijanych podczas oceny bibliotek jest wsparcie dla nowoczesnych frameworków CSS. Z Bootstrap, Tailwind CSS i Foundation zasilającymi miliony aplikacji webowych, zdolność do precyzyjnego renderowania tych frameworków w formacie PDF może zdecydować o powodzeniu Twojej implementacji.
IronPDF: Wsparcie dla nowoczesnych frameworków natywnych
Silnik renderujący Chrome IronPDF zapewnia bezproblemowe wsparcie dla wszystkich współczesnych frameworków CSS:
- Bootstrap 5: Pełne renderowanie flexbox i CSS Grid dla responsywnych układów
- Tailwind CSS: Pełne wsparcie dla klas użyteczności z odpowiednim odstępem i typografią
- Foundation: Zaawansowane funkcje CSS3 renderują idealnie
- Walidacja w rzeczywistych warunkach: Pomyślnie renderuje stronę główną Bootstrap i szablony Bootstrap
Przykład kodu: Komponenty Alert Bootstrap
using IronPdf;
var renderer = new ChromePdfRenderer();
string bootstrapAlerts = @"
<!DOCTYPE html>
<html>
<head>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
<div class='container my-5'>
<h2 class='mb-4'>System Notifications</h2>
<div class='alert alert-success d-flex align-items-center' role='alert'>
<svg class='bi flex-shrink-0 me-2' width='24' height='24'>
<use xlink:href='#check-circle-fill'/>
</svg>
<div>Payment processed successfully!</div>
</div>
<div class='alert alert-warning d-flex align-items-center' role='alert'>
<svg class='bi flex-shrink-0 me-2' width='24' height='24'>
<use xlink:href='#exclamation-triangle-fill'/>
</svg>
<div>Your subscription expires in 7 days.</div>
</div>
<div class='alert alert-info d-flex align-items-center' role='alert'>
<svg class='bi flex-shrink-0 me-2' width='24' height='24'>
<use xlink:href='#info-fill'/>
</svg>
<div>New features available in the dashboard.</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(bootstrapAlerts);
pdf.SaveAs("bootstrap-alerts.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
string bootstrapAlerts = @"
<!DOCTYPE html>
<html>
<head>
<link href='https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
<div class='container my-5'>
<h2 class='mb-4'>System Notifications</h2>
<div class='alert alert-success d-flex align-items-center' role='alert'>
<svg class='bi flex-shrink-0 me-2' width='24' height='24'>
<use xlink:href='#check-circle-fill'/>
</svg>
<div>Payment processed successfully!</div>
</div>
<div class='alert alert-warning d-flex align-items-center' role='alert'>
<svg class='bi flex-shrink-0 me-2' width='24' height='24'>
<use xlink:href='#exclamation-triangle-fill'/>
</svg>
<div>Your subscription expires in 7 days.</div>
</div>
<div class='alert alert-info d-flex align-items-center' role='alert'>
<svg class='bi flex-shrink-0 me-2' width='24' height='24'>
<use xlink:href='#info-fill'/>
</svg>
<div>New features available in the dashboard.</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(bootstrapAlerts);
pdf.SaveAs("bootstrap-alerts.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim bootstrapAlerts 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>
<div class='container my-5'>
<h2 class='mb-4'>System Notifications</h2>
<div class='alert alert-success d-flex align-items-center' role='alert'>
<svg class='bi flex-shrink-0 me-2' width='24' height='24'>
<use xlink:href='#check-circle-fill'/>
</svg>
<div>Payment processed successfully!</div>
</div>
<div class='alert alert-warning d-flex align-items-center' role='alert'>
<svg class='bi flex-shrink-0 me-2' width='24' height='24'>
<use xlink:href='#exclamation-triangle-fill'/>
</svg>
<div>Your subscription expires in 7 days.</div>
</div>
<div class='alert alert-info d-flex align-items-center' role='alert'>
<svg class='bi flex-shrink-0 me-2' width='24' height='24'>
<use xlink:href='#info-fill'/>
</svg>
<div>New features available in the dashboard.</div>
</div>
</div>
</body>
</html>"
Dim pdf = renderer.RenderHtmlAsPdf(bootstrapAlerts)
pdf.SaveAs("bootstrap-alerts.pdf")
SelectPdf: Ograniczone wsparcie dla nowoczesnych CSS
SelectPdf używa hybrydowego silnika WebKit/Blink z udokumentowanymi ograniczeniami dla nowoczesnych frameworków CSS:
- Niekompletna obsługa flexbox: układy Bootstrap 4+ mogą nie wyświetlać się poprawnie
- Problemy z CSS Grid: Nowoczesne układy oparte na siatce często nie wyświetlają się poprawnie
- Spadek wydajności: Złożone układy Bootstrap mogą znacznie wydłużyć czas konwersji
- Nieścisłości w stylizacji: Komponenty Bootstrap często wymagają obejść CSS
Często zgłaszane problemy:
- Nieprawidłowe renderowanie pasków nawigacyjnych Bootstrap
- Elementy kart z flexboxem wyświetlane są nieprawidłowo
- Nie są przestrzegane punkty przełamania siatki responsywnej
- Niestandardowe motywy Bootstrap wymagające ręcznych dostosowań
Podejście alternatywne: Programiści korzystający z SelectPdf z Bootstrap zazwyczaj muszą:
- Stwórz uproszczone wersje układów przeznaczone do druku
- Unikaj flexboxa na rzecz układów opartych na tabelach
- Przeprowadź szeroko zakrojone testy każdego komponentu Bootstrap
- Zachowaj oddzielny arkusz CSS do generowania plików PDF
W przypadku aplikacji, które już wykorzystują Bootstrap w swoim interfejsie internetowym, to obejście znacznie zwiększa koszty rozwoju i utrzymania.
Więcej informacji o zgodności frameworków CSS można znaleźć w Przewodniku Bootstrap & Flexbox CSS.
Jak wypada porównanie funkcji bezpieczeństwa między bibliotekami?
Szyfrowanie i ochrona plików PDF
Obie biblioteki oferują funkcje szyfrowania, ale złożoność ich wdrożenia jest różna:
Wdrożenie zabezpieczeń IronPDF:
using IronPdf;
using IronPdf.Security;
// Load or create a PDF document
var pdf = PdfDocument.FromFile("sensitive-document.pdf");
// Apply comprehensive security settings
pdf.SecuritySettings.RemovePasswordsAndSzyfrowanie();
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
// Granular permission control
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserEditing = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = true;
pdf.SecuritySettings.AllowUserAnnotations = false;
// Use 256-bit AES encryption
pdf.SecuritySettings.SzyfrowanieLevel = SzyfrowanieLevel.AES256Bit;
pdf.SaveAs("secured.pdf");
using IronPdf;
using IronPdf.Security;
// Load or create a PDF document
var pdf = PdfDocument.FromFile("sensitive-document.pdf");
// Apply comprehensive security settings
pdf.SecuritySettings.RemovePasswordsAndSzyfrowanie();
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
// Granular permission control
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserEditing = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = true;
pdf.SecuritySettings.AllowUserAnnotations = false;
// Use 256-bit AES encryption
pdf.SecuritySettings.SzyfrowanieLevel = SzyfrowanieLevel.AES256Bit;
pdf.SaveAs("secured.pdf");
Imports IronPdf
Imports IronPdf.Security
' Load or create a PDF document
Dim pdf = PdfDocument.FromFile("sensitive-document.pdf")
' Apply comprehensive security settings
pdf.SecuritySettings.RemovePasswordsAndSzyfrowanie()
pdf.SecuritySettings.UserPassword = "user123"
pdf.SecuritySettings.OwnerPassword = "owner456"
' Granular permission control
pdf.SecuritySettings.AllowUserPrinting = PdfPrintSecurity.NoPrint
pdf.SecuritySettings.AllowUserEditing = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = True
pdf.SecuritySettings.AllowUserAnnotations = False
' Use 256-bit AES encryption
pdf.SecuritySettings.SzyfrowanieLevel = SzyfrowanieLevel.AES256Bit
pdf.SaveAs("secured.pdf")
Klasa SecuritySettings IronPDF oferuje zunifikowany interfejs dla wszystkich operacji zabezpieczeń. Projekt API jest zgodny z konwencjami .NET Framework, dzięki czemu jest intuicyjny dla programistów zaznajomionych z tym frameworkiem. Zapoznaj się z zaawansowanymi funkcjami zabezpieczeń w dokumentacji dotyczącej zabezpieczeń plików PDF.
Konfiguracja zabezpieczeń SelectPdf:
using SelectPdf;
PdfDocument doc = new PdfDocument();
// Set document passwords
doc.Security.OwnerPassword = "owner456";
doc.Security.UserPassword = "user123";
// Configure permissions
doc.Security.CanPrint = false;
doc.Security.CanEditContent = false;
doc.Security.CanCopyContent = false;
doc.Security.CanEditAnnotations = false;
doc.Security.CanFillFormFields = true;
doc.Security.CanAssembleDocument = false;
doc.Save("secured.pdf");
doc.Close();
using SelectPdf;
PdfDocument doc = new PdfDocument();
// Set document passwords
doc.Security.OwnerPassword = "owner456";
doc.Security.UserPassword = "user123";
// Configure permissions
doc.Security.CanPrint = false;
doc.Security.CanEditContent = false;
doc.Security.CanCopyContent = false;
doc.Security.CanEditAnnotations = false;
doc.Security.CanFillFormFields = true;
doc.Security.CanAssembleDocument = false;
doc.Save("secured.pdf");
doc.Close();
Imports SelectPdf
Private doc As New PdfDocument()
' Set document passwords
doc.Security.OwnerPassword = "owner456"
doc.Security.UserPassword = "user123"
' Configure permissions
doc.Security.CanPrint = False
doc.Security.CanEditContent = False
doc.Security.CanCopyContent = False
doc.Security.CanEditAnnotations = False
doc.Security.CanFillFormFields = True
doc.Security.CanAssembleDocument = False
doc.Save("secured.pdf")
doc.Close()
Obie biblioteki obsługują szyfrowanie zgodne ze standardami branżowymi, ale IronPDF oferuje bardziej szczegółową kontrolę nad uprawnieniami do drukowania i obsługuje niestandardowe moduły szyfrujące dostosowane do specjalistycznych wymagań.
Jakie zaawansowane funkcje wyróżniają te biblioteki?
Redagowanie treści plików PDF
Redakcja treści ma kluczowe znaczenie dla zgodności z przepisami dotyczącymi ochrony prywatności, takimi jak RODO i HIPAA.
Anonimizacja IronPDF:
using IronPdf;
// Load document containing sensitive information
PdfDocument pdf = PdfDocument.FromFile("confidential-report.pdf");
// Redact specific content across all pages
pdf.RedactTextOnAllPages("Social Security Number: [0-9]{3}-[0-9]{2}-[0-9]{4}");
pdf.RedactTextOnAllPages("Credit Card: [0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}");
// Redact content on specific pages
pdf.RedactTextOnPage(2, "CONFIDENTIAL");
// Save with redactions permanently applied
pdf.SaveAs("redacted-report.pdf");
using IronPdf;
// Load document containing sensitive information
PdfDocument pdf = PdfDocument.FromFile("confidential-report.pdf");
// Redact specific content across all pages
pdf.RedactTextOnAllPages("Social Security Number: [0-9]{3}-[0-9]{2}-[0-9]{4}");
pdf.RedactTextOnAllPages("Credit Card: [0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}");
// Redact content on specific pages
pdf.RedactTextOnPage(2, "CONFIDENTIAL");
// Save with redactions permanently applied
pdf.SaveAs("redacted-report.pdf");
Imports IronPdf
' Load document containing sensitive information
Private pdf As PdfDocument = PdfDocument.FromFile("confidential-report.pdf")
' Redact specific content across all pages
pdf.RedactTextOnAllPages("Social Security Number: [0-9]{3}-[0-9]{2}-[0-9]{4}")
pdf.RedactTextOnAllPages("Credit Card: [0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{4}")
' Redact content on specific pages
pdf.RedactTextOnPage(2, "CONFIDENTIAL")
' Save with redactions permanently applied
pdf.SaveAs("redacted-report.pdf")
Funkcja redagowania IronPDF trwałe usuwa treści z plików PDF, zapewniając, że poufne informacje nie mogą zostać odzyskane. Ma to kluczowe znaczenie dla branży prawnej i opieki zdrowotnej. Więcej informacji znajdziesz w przewodniku redakcyjnym.
SelectPdf: Nie oferuje wbudowanych funkcji redagowania, co wymaga ręcznych obejść lub narzędzi innych firm w celu zapewnienia zgodności z przepisami.
Podpisy cyfrowe
Wdrożenie podpisu cyfrowego IronPDF:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
// Create renderer and generate PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>");
// Load certificate with private key
X509Certificate2 cert = new X509Certificate2("certificate.pfx", "password",
X509KeyStorageFlags.Exportable);
// Create and configure signature
var signature = new PdfSignature(cert)
{
SigningContact = "legal@company.com",
SigningLocation = "New York, NY",
SigningReason = "Contract Approval"
};
// Apply signature with timestamp
pdf.Sign(signature);
pdf.SaveAs("signed-contract.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
// Create renderer and generate PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>");
// Load certificate with private key
X509Certificate2 cert = new X509Certificate2("certificate.pfx", "password",
X509KeyStorageFlags.Exportable);
// Create and configure signature
var signature = new PdfSignature(cert)
{
SigningContact = "legal@company.com",
SigningLocation = "New York, NY",
SigningReason = "Contract Approval"
};
// Apply signature with timestamp
pdf.Sign(signature);
pdf.SaveAs("signed-contract.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
' Create renderer and generate PDF
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1>")
' Load certificate with private key
Private cert As New X509Certificate2("certificate.pfx", "password", X509KeyStorageFlags.Exportable)
' Create and configure signature
Private signature = New PdfSignature(cert) With {
.SigningContact = "legal@company.com",
.SigningLocation = "New York, NY",
.SigningReason = "Contract Approval"
}
' Apply signature with timestamp
pdf.Sign(signature)
pdf.SaveAs("signed-contract.pdf")
IronPDF upraszcza proces podpisywania cyfrowego dzięki automatycznemu tworzeniu pól podpisu i obsłudze serwerów znaczników czasu. Dowiedz się więcej w samouczku dotyczącym podpisów cyfrowych.
Podpis cyfrowy SelectPdf:
using SelectPdf;
PdfDocument doc = new PdfDocument();
PdfPage page = doc.AddPage();
// Manual signature field setup required
string certFile = "certificate.pfx";
PdfDigitalCertificatesCollection certificates =
PdfDigitalCertificatesStore.GetCertificates(certFile, "password");
PdfDigitalCertificate certificate = certificates[0];
// Create signature element with positioning
PdfDigitalSignatureElement signature =
new PdfDigitalSignatureElement(new RectangleF(100, 100, 200, 50), certificate);
signature.Reason = "Contract Approval";
signature.ContactInfo = "legal@company.com";
signature.Location = "New York, NY";
page.Add(signature);
doc.Save("signed.pdf");
doc.Close();
using SelectPdf;
PdfDocument doc = new PdfDocument();
PdfPage page = doc.AddPage();
// Manual signature field setup required
string certFile = "certificate.pfx";
PdfDigitalCertificatesCollection certificates =
PdfDigitalCertificatesStore.GetCertificates(certFile, "password");
PdfDigitalCertificate certificate = certificates[0];
// Create signature element with positioning
PdfDigitalSignatureElement signature =
new PdfDigitalSignatureElement(new RectangleF(100, 100, 200, 50), certificate);
signature.Reason = "Contract Approval";
signature.ContactInfo = "legal@company.com";
signature.Location = "New York, NY";
page.Add(signature);
doc.Save("signed.pdf");
doc.Close();
Imports SelectPdf
Private doc As New PdfDocument()
Private page As PdfPage = doc.AddPage()
' Manual signature field setup required
Private certFile As String = "certificate.pfx"
Private certificates As PdfDigitalCertificatesCollection = PdfDigitalCertificatesStore.GetCertificates(certFile, "password")
Private certificate As PdfDigitalCertificate = certificates(0)
' Create signature element with positioning
Private signature As New PdfDigitalSignatureElement(New RectangleF(100, 100, 200, 50), certificate)
signature.Reason = "Contract Approval"
signature.ContactInfo = "legal@company.com"
signature.Location = "New York, NY"
page.Add(signature)
doc.Save("signed.pdf")
doc.Close()
SelectPdf wymaga ręcznego pozycjonowania pól podpisu i bardziej złożonej konfiguracji, co sprawia, że jest mniej odpowiedni do zautomatyzowanych procesów podpisywania.
Konwersja formatów dokumentów
Konwersja plików DOCX do formatu PDF w IronPDF:
using IronPdf;
// Direct DOCX do PDF conversion
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Convert with formatting preservation
PdfDocument pdf = renderer.RenderDocxAsPdf("report.docx");
// Optional: Apply post-conversion modifications
pdf.AddWatermark("<h2 style='color:red;opacity:0.5'>DRAFT</h2>");
pdf.CompressImages(90);
pdf.SaveAs("converted-report.pdf");
using IronPdf;
// Direct DOCX do PDF conversion
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Convert with formatting preservation
PdfDocument pdf = renderer.RenderDocxAsPdf("report.docx");
// Optional: Apply post-conversion modifications
pdf.AddWatermark("<h2 style='color:red;opacity:0.5'>DRAFT</h2>");
pdf.CompressImages(90);
pdf.SaveAs("converted-report.pdf");
Imports IronPdf
' Direct DOCX to PDF conversion
Dim renderer As New DocxToPdfRenderer()
' Convert with formatting preservation
Dim pdf As PdfDocument = renderer.RenderDocxAsPdf("report.docx")
' Optional: Apply post-conversion modifications
pdf.AddWatermark("<h2 style='color:red;opacity:0.5'>DRAFT</h2>")
pdf.CompressImages(90)
pdf.SaveAs("converted-report.pdf")
Natywna obsługa formatu DOCX przez IronPDF eliminuje konieczność korzystania z pakietu Microsoft Office. Ta funkcja jest szczególnie przydatna w środowiskach serwerowych, w których instalacja pakietu Office nie jest możliwa. Dowiedz się więcej o konwersji plików DOCX do formatu PDF.
SelectPdf: Nie obsługuje konwersji plików DOCX do formatu PDF, co ogranicza możliwości przetwarzania dokumentów.
Znak wodny i stemplowanie
Zaawansowane znakowanie wodne IronPDF:
using IronPdf;
var pdf = PdfDocument.FromFile("document.pdf");
// HTML-based watermark with CSS styling
string watermarkHtml = @"
<div style='
font-size: 48px;
color: rgba(255, 0, 0, 0.3);
transform: rotate(-45deg);
text-align: center;
font-weight: bold;
'>CONFIDENTIAL</div>";
pdf.ApplyWatermark(watermarkHtml, 50, VerticalAlignment.Middle, HorizontalAlignment.Center);
// Add page numbers with custom formatting
pdf.AddHtmlFooters(new HtmlHeaderFooter
{
HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>",
DrawDividerLine = true
});
pdf.SaveAs("watermarked.pdf");
using IronPdf;
var pdf = PdfDocument.FromFile("document.pdf");
// HTML-based watermark with CSS styling
string watermarkHtml = @"
<div style='
font-size: 48px;
color: rgba(255, 0, 0, 0.3);
transform: rotate(-45deg);
text-align: center;
font-weight: bold;
'>CONFIDENTIAL</div>";
pdf.ApplyWatermark(watermarkHtml, 50, VerticalAlignment.Middle, HorizontalAlignment.Center);
// Add page numbers with custom formatting
pdf.AddHtmlFooters(new HtmlHeaderFooter
{
HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>",
DrawDividerLine = true
});
pdf.SaveAs("watermarked.pdf");
Imports IronPdf
Private pdf = PdfDocument.FromFile("document.pdf")
' HTML-based watermark with CSS styling
Private watermarkHtml As String = "
<div style='
font-size: 48px;
color: rgba(255, 0, 0, 0.3);
transform: rotate(-45deg);
text-align: center;
font-weight: bold;
'>CONFIDENTIAL</div>"
pdf.ApplyWatermark(watermarkHtml, 50, VerticalAlignment.Middle, HorizontalAlignment.Center)
' Add page numbers with custom formatting
pdf.AddHtmlFooters(New HtmlHeaderFooter With {
.HtmlFragment = "<div style='text-align:center'>Page {page} of {total-pages}</div>",
.DrawDividerLine = True
})
pdf.SaveAs("watermarked.pdf")
Oparte na HTML podejście IronPDF do znakowania wodnego zapewnia nieograniczone możliwości dostosowywania przy użyciu znanych technologii internetowych. Więcej przykładów można znaleźć w przewodniku dotyczącym znaków wodnych.
Jakie są rzeczywiste koszty każdego rozwiązania?
Struktura licencji IronPDF
Transparentne ceny IronPDF oferują elastyczność dla zespołów o różnych rozmiarach (ceny na kwiecień 2026):
- Lite License: $999 - 1 programista, 1 lokalizacja, 1 projekt
- Plus License: $1,499 - 3 programistów, 3 lokalizacje, 3 projekty
- Professional License: $2,999 - 10 programistów, 10 lokalizacji, 10 projektów
- Unlimited License: $5,999 - Nieograniczona liczba programistów i projektów
Opcje o wartości dodanej:
- Redystrybucja bez opłat licencyjnych: +$2,999
- Rozszerzone wsparcie i aktualizacje: $1,499/rok
- Iron Suite: $2,998 - Dostęp do 9 produktów Iron Software
Każda licencja zawiera:
- 30-dniowa gwarancja zwrotu
- Licencja wieczysta (jednorazowa opłata)
- 1 rok wsparcia technicznego i aktualizacji
- Wykorzystanie w fazie rozwoju, testów i produkcji
Chcesz wypróbować IronPDF w swoim środowisku? Rozpocznij bezpłatny 30-dniowy okres próbny z pełną funkcjonalnością i bez znaków wodnych.
Analiza cen SelectPdf
W oparciu o aktualne ceny SelectPdf:
- Pojedynczy programista: $499 - 1 programista, 1 wdrożenie
- Pojedynczy programista OEM: $799 - 1 programista, nieograniczone wdrożenia
- 5 programistów: $799 - Do 5 programistów, 10 wdrożeń
- 5 programistów OEM: $1,099 - Do 5 programistów, nieograniczone wdrożenia
- Enterprise: $1,199 - Nieograniczona liczba programistów, 100 wdrożeń
- Enterprise OEM: $1,599 - Nieograniczona liczba programistów, nieograniczone wdrożenia
Ważne ograniczenia:
- Wersja Community Edition ograniczona do plików PDF o objętości 5 stron
- Wymagane coroczne odnowienie umowy serwisowej w celu uzyskania aktualizacji
- Brak opcji Suite dla wielu produktów
- Ograniczona polityka zwrotów
Porównanie całkowitego kosztu posiadania
Należy wziąć pod uwagę następujące czynniki wykraczające poza kwestie związane z licencjonowaniem:
Czas programowania: Intuicyjne API IronPDF i obszerna dokumentacja zazwyczaj skracają czas wdrożenia w porównaniu do SelectPdf.
Ograniczenia platformy: Ograniczenie SelectPdf do systemu Windows może wymagać dodatkowych kosztów infrastruktury w przypadku wdrożeń międzyplatformowych.
Koszty wsparcia: IronPDF oferuje wsparcie techniczne 24/5, podczas gdy SelectPdf zapewnia wsparcie wyłącznie przez e-mail, co może wydłużyć czas rozwiązywania krytycznych problemów.
Jak wypada porównanie dokumentacji i wsparcia technicznego?
IronPDF: Kompleksowe zasoby dla programistów
IronPDF stawia na pierwszym miejscu sukces programistów, oferując im bogate zasoby:
- Biblioteka dokumentacji: ponad 200 artykułów obejmujących wszystkie funkcje
- Przykłady kodu: ponad 100 gotowych do uruchomienia przykładów w językach C# i VB.NET
- Samouczki wideo: wizualne przewodniki krok po kroku
- Dokumentacja API: Pełna dokumentacja klas i metod
- Wsparcie techniczne 24/5: Bezpośredni dostęp do zespołu programistów
- Forum społeczności: Aktywna społeczność programistów
Dokumentacja opiera się na podejściu zorientowanym na zadania, pomagając programistom w szybkim znalezieniu rozwiązań. Każda funkcja zawiera praktyczne przykłady, najlepsze praktyki oraz przewodniki dotyczące rozwiązywania problemów.
SelectPdf: Podstawowa dokumentacja
SelectPdf zapewnia:
- Standardowa dokumentacja API
- Ograniczone przykłady kodu
- Wsparcie e-mail w godzinach pracy
- Podstawowe przewodniki dotyczące rozwiązywania problemów
Zgodnie z opiniami programistów na Stack Overflow, użytkownicy często borykają się z problemami związanymi z wydajnością oraz ograniczoną dokumentacją dotyczącą zaawansowanych scenariuszy.
Co mówią prawdziwi programiści?
Informacje zwrotne dotyczące wydajności
Dyskusje na Stack Overflow ujawniają typowe problemy związane z SelectPdf:
- "Konwersja pliku HTML do formatu PDF w środowisku .NET Core zajmuje 3 sekundy"
- "Może mieć duży wpływ na czas kompilacji i rozmiar pakietu wdrożeniowego"
- "Ta sama konwersja zajmuje około 3,5 minuty na serwerze internetowym"
Natomiast użytkownicy IronPDF zgłaszają stały czas konwersji poniżej sekundy oraz efektywne wykorzystanie zasobów.
Doświadczenie programisty
Zgłoszenia na GitHubie, uwagi użytkowników SelectPdf:
- Ograniczona obsługa nowoczesnego CSS
- Spadek wydajności przy złożonym kodzie HTML
- Ograniczenie do 5 stron w wersji darmowej odkryte po wdrożeniu
IronPDF nieustannie zbiera pochwały za:
- Intuicyjna konstrukcja API
- Doskonała jakość renderowania
- Responsywny zespół wsparcia
- Regularne aktualizacje i ulepszenia
Chcesz sam przekonać się o różnicy? Umów się na spersonalizowaną prezentację z naszym zespołem inżynierów.
Która biblioteka lepiej spełnia wymagania Enterprise?
Zgodność i bezpieczeństwo
IronPDF oferuje funkcje klasy Enterprise:
- Narzędzia do redagowania zgodne z RODO
- Szyfrowanie zgodne z HIPAA
- Zgodność z SOC 2 typu II
- Weryfikacja podpisu cyfrowego
- Obsługa ścieżki audytu
SelectPdf zapewnia podstawowe zabezpieczenia, ale brakuje mu:
- Redakcja treści
- Zaawansowana weryfikacja podpisów
- Funkcje związane z zgodnością
- Funkcje rejestrowania audytowego
Skalowalność i wydajność
Aplikacje Enterprise wymagają stałej wydajności na dużą skalę. Testy wydajności pokazują:
IronPDF:
- Efektywnie obsługuje dokumenty liczące ponad 1000 stron
- Natywna obsługa async/await zapewniająca wysoką współbieżność
- Zoptymalizowane zarządzanie pamięcią
- Operacje bezpieczne dla wątków
SelectPdf:
- Problemy z wydajnością w przypadku dużych dokumentów
- Ograniczona obsługa asynchroniczności
- Wyższe zużycie pamięci
- Zgłoszono ograniczenia dotyczące wątków
Wniosek: Dokonaj właściwego wyboru dla swoich potrzeb związanych z plikami PDF
Zarówno IronPDF, jak i SelectPdf obsługują rynek generowania plików PDF w środowisku .NET, ale są skierowane do różnych zastosowań i scenariuszy programistycznych.
Wybierz IronPDF, jeśli potrzebujesz:
- Wdrażanie na wielu platformach (Linux, macOS, Docker)
- Obsługa nowoczesnych standardów internetowych (CSS3, frameworki JavaScript)
- Zaawansowane funkcje (redagowanie, konwersja plików DOCX, podpisy cyfrowe)
- Wymogi dotyczące zgodności w Enterprise
- Profesjonalne wsparcie i regularne aktualizacje
- Obsługa architektury natywnej dla chmury
Rozważ SelectPdf do:
- Środowiska wyłącznie dla systemu Windows
- Prosta konwersja HTML do PDF
- Projekty o ograniczonym budżecie i podstawowych wymaganiach
- Małe dokumenty (poniżej 5 stron w wersji darmowej)
IronPDF wyróżnia się jako bardziej wszechstronne i kompleksowe rozwiązanie, oferujące doskonałą jakość renderowania, rozbudowane funkcje oraz prawdziwą obsługę wielu platform. Jego nowoczesna architektura i przyjazny dla programistów interfejs API sprawiają, że idealnie nadaje się dla zespołów tworzących skalowalne, gotowe do wdrożenia aplikacje.
Chociaż SelectPdf może mieć niższą cenę początkową, ograniczenia w zakresie obsługi platform, funkcji i wydajności często skutkują wyższymi kosztami całkowitymi z powodu wydłużonego czasu rozwoju i ograniczeń infrastrukturalnych.
Zrób kolejny krok
Chcesz zwiększyć swoje możliwości w zakresie generowania plików PDF? IronPDF oferuje wiele sposobów na rozpoczęcie pracy:
- Pobierz IronPDF i zintegruj go ze swoim projektem już dziś
- Zapoznaj się z obszerną biblioteką dokumentacji zawierającą przewodniki wdrożeniowe
- Rozpocznij 30-dniowy bezpłatny okres próbny z pełną funkcjonalnością i bez znaków wodnych
- Umów się na spersonalizowaną prezentację z naszym zespołem inżynierów
Zmień sposób tworzenia plików PDF dzięki bibliotece stworzonej z myślą o nowoczesnym programowaniu w środowisku .NET. Dołącz do tysięcy programistów, którzy już przeszli na IronPDF.
Rozpocznij używanie IronPDF w swoim projekcie już dziś dzięki darmowej wersji próbnej.
Często Zadawane Pytania
Czym różnią się IronPDF i SelectPdf pod względem kompatybilności z platformami?
IronPDF obsługuje wiele platform, w tym Windows, Linux, macOS i Docker, podczas gdy SelectPdf jest ograniczony do środowisk Windows. To sprawia, że IronPDF jest bardziej wszechstronną opcją dla projektów wymagających obsługi wielu platform.
Jakie są różnice w wydajności między IronPDF a SelectPdf w zakresie konwersji HTML do PDF?
Testy wydajności wskazują, że IronPDF konwertuje strony w czasie krótszym niż sekunda dzięki zoptymalizowanemu zarządzaniu pamięcią i silnikowi renderowania opartemu na przeglądarce Chrome. Natomiast SelectPdf zajmuje zazwyczaj średnio 2–3 sekundy na stronę, zwłaszcza w przypadku złożonych dokumentów.
Czy mogę używać IronPDF do konwersji plików DOCX na PDF?
Tak, IronPDF obsługuje konwersję plików DOCX do formatu PDF za pośrednictwem klasy DocxToPdfRenderer. Ta funkcja pozwala konwertować dokumenty WORDa do formatu PDF bez konieczności instalowania pakietu Microsoft Office, zachowując przy tym formatowanie dokumentu.
W jaki sposób IronPDF obsługuje JavaScript i CSS podczas konwersji HTML do PDF?
Silnik renderujący IronPDF Chrome V8 w pełni obsługuje wykonywanie kodu JavaScript i CSS3, skutecznie radząc sobie z nowoczesnymi frameworkami, takimi jak React i Angular, a także zaawansowanymi funkcjami CSS, takimi jak Grid i Flexbox.
Jakie funkcje bezpieczeństwa oferuje IronPDF dla dokumentów PDF?
IronPDF zapewnia solidne funkcje bezpieczeństwa, w tym szyfrowanie AES-256, ochronę hasłem, podpisy cyfrowe oraz szczegółowe ustawienia uprawnień za pośrednictwem klasy SecuritySettings, oferując kompleksową ochronę dokumentów.
W jaki sposób IronPDF może pomóc w zapewnieniu zgodności z przepisami RODO i HIPAA?
IronPDF obsługuje redagowanie treści, co ma kluczowe znaczenie dla zgodności z przepisami RODO i HIPAA. Za pomocą metody RedactTextOnAllPages() można trwałe usunąć poufne informacje z plików PDF na podstawie wzorców wyrażeń regularnych.
Czy IronPDF obsługuje znaki wodne i pieczątki?
Tak, IronPDF umożliwia dodawanie znaków wodnych i stempli przy użyciu HTML/CSS. Metoda ApplyWatermark() zapewnia pełną kontrolę nad kryciem, obrotem i pozycjonowaniem znaku wodnego, ułatwiając dostosowanie brandingu dokumentu.
Jakiego rodzaju wsparcia mogą oczekiwać programiści od IronPDF?
IronPDF oferuje wsparcie techniczne 24/5, zapewniając bezpośredni dostęp do zespołu programistów, obszerną dokumentację, ponad 100 przykładów kodu oraz samouczki wideo. Kanały wsparcia obejmują czat i udostępnianie ekranu dla Professional License.
Czy dostępna jest wersja próbna IronPDF?
IronPDF oferuje w pełni funkcjonalną 30-dniową bezpłatną wersję próbną bez znaków wodnych i ograniczeń. Ta wersja próbna pozwala programistom dokładnie ocenić wszystkie funkcje w środowiskach produkcyjnych i obejmuje dostęp do dokumentacji oraz wsparcia technicznego.
Jak wygląda porównanie kosztów IronPDF i SelectPdf w przypadku zastosowań komercyjnych?
Ceny IronPDF zaczynają się od 749 USD za licencję dla jednego programisty, a za licencję dla 10 programistów trzeba zapłacić nawet 2999 USD. Natomiast ceny SelectPdf zaczynają się od 499 USD za jednego programistę. Chociaż SelectPdf ma niższe koszty początkowe, IronPDF oferuje więcej funkcji i wsparcie techniczne przez 5 dni w tygodniu.



