Alternatywa dla Aspose PDF Converter: Jak IronPDF wypada dla .NET Development?
IronPDF vs wkhtmltopdf
Porównanie funkcji z dowodami z oficjalnej dokumentacji, list NuGet i repozytoriów projektowych
| Funkcja | wkhtmltopdf | IronPDF ✦ |
|---|---|---|
| Tworzenie i konwersja PDF | ||
| HTML/CSS do PDF |
⚠ Outdated Engine
Głównym celem jest HTML→PDF, ale silnik to Qt WebKit (przestarzały). Brakuje obsługi nowoczesnych CSS3, Flexbox i
Grid.
|
✓ Yes
Wbudowany silnik Chromium — idealne odwzorowanie HTML5/CSS3 z Flexbox, Grid i nowoczesnymi
standardami internetowymi.
|
| Wykonanie JavaScript |
~ Partial
Obsługuje opcje związane z JS, ale starzejący się silnik WebKit zaleca alternatywy dla złożonego
JS.
|
✓ Yes
Pełna renderowanie HTML/CSS/JavaScript przez wbudowany Chromium — dynamiczne wykresy, SPA, interaktywna
zawartość.
|
| Programistyczne generowanie |
✕ No
Zaprojektowany wyłącznie do renderowania HTML na PDF — nie jest to ogólna biblioteka do rysowania PDF programatycznie.
|
✓ Yes
Tworzenie nowych/pustych PDF-ów za pomocą konstruktóra
PdfDocument. Pełna kontrola programatyczna.
|
| Scałanie, dzielenie i przearanżowanie |
✕ No
Narzędzie do konwersji tylko; brak dowodów na API podziału/łączenia stron PDF.
|
✓ Yes
Podział/łączenie obsługiwane ze specjalnym przewodnikiem. Operacje w jedną linijkę.
|
| Edytowanie i manipulacja | ||
| Nagłówki, stopki i numery stron |
✓ Yes
Silnik zapewnia funkcje nagłówka/stopki (typowa funkcjonalność wkhtmltopdf przez flagi CLI).
|
✓ Yes
Dedykowane API nagłówków/stopek + wspierane zastępniki stron. Oparte na HTML z pełną
personalizacją.
|
| Znaki wodne i Stemple |
✕ No
Nie jest edytorem PDF; znakowanie wodne zazwyczaj odbywa się przez zmianę szablonu HTML przed
konwersją.
|
✓ Yes
Jak-to znakowanie wodne/stemplowanie z wykorzystaniem HTML/tekstowych/stemplowych obrazów. Pełna kontrola przezroczystości, obrotu, pozycji
kontrola.
|
| Czytanie i ekstrakcja | ||
| Wyodrębnianie tekstu z plików PDF |
✕ No
Tylko konwerter; nie jest to biblioteka do wyodrębniania tekstu.
|
✓ Yes
ExtractAllText obsługuje opcje porządkowania (np. kolejność wizualna). |
| Renderowanie stron do obrazów |
✕ No
wkhtmltopdf konwertuje HTML→PDF; wkhtmltoimage to HTML→obraz, nie PDF→obraz.
|
✓ Yes
Dokumentowane API do PDF-na-obraz/rastrowanie. Natywny PNG, JPEG, BMP output.
|
| OCR dla zeskanowanych PDF |
✕ No
OCR nie wchodzi w zakres konwertera HTML→PDF.
|
✓ Via IronOCR
Tworzenie przeszukiwalnych PDF-ów za pomocą OCR. Obsługa 127+ języków przez integrację IronOCR.
|
| Bezpieczeństwo i zgodność | ||
| Podpisy cyfrowe |
✕ No
wkhtmltopdf nie implementuje podpisu PDF.
|
✓ Yes
Przewodnik podpisywania z obsługą certyfikatów X509/PFX.
|
| Zgodność z PDF/A |
✕ No
Przepływy zgodności z PDF/A nie są dokumentówane jako obsługiwany output.
|
✓ Yes
Przewodnik konwersji PDF/A (np. szczegóły PDF/A-3B). Gotowość zgodności dla Enterprise.
|
| Platforma i wdrożenie | ||
| Obsługa wielu platform |
⚙ Wrapper-Dependent
Międzysystemowe zależy od posiadania poprawnych natywnych binariów zainstalowanych dla każdego systemu operacyjnego. Nie jest
samodzielny.
|
✓ Yes
Pakiety NuGet specyficzne dla OS + przewodniki dla macOS i Linux. Obsługiwane Windows, Linux, macOS, ARM.
|
| Serwer / Deployment Docker |
⚙ Wrapper-Dependent
Wymaga dostarczenia natywnych binariów; notatki projektowe dotyczą statusu legacy engine. Składanka Docker skomplikowana.
|
✓ Yes
Oficjalne przewodniki Azure Functions + Docker; opcjonalnie oddzielny kontener silnika.
|
| Czas-do-pierwszego-PDF |
~ Complex
Wymaga zarządzania natywnymi binariami + integracja wrappera. Nie jest to prosta instalacja NuGet.
|
✓ Simple
Szybki start pokazuje instalację + minimalny kod dla HTML→PDF. Pojedynczy
Install-Package IronPdf.
|
| Licencjonowanie i wsparcie | ||
| Jasność licencjonowania |
~ Complex
Licencjonowanie LGPLv3 wprowadza rozważania dotyczące copyleft; różne .NET wrappery mają różne
licencje.
|
✓ Clear
EULA i warunki licencji publicznie udokumentowane. Wieczyste licencje komercyjne.
|
| Wsparcie komercyjne / SLA |
? Unknown
Silnik jest OSS (zarchiwizowany); SLA sprzedawcy nie jest opisywane w cytowanych źródłach. Tylko wsparcie społecznościowe
.
|
✓ 24/5 SLA
Portal wsparcia + "wsparcie techniczne 24/5" z gwarantowanym SLA — e-mail, czat na żywo, telefon.
|
| Jakość dokumentacji |
~ Partial
Obszerne dokumenty CLI dla silnika, ale dokumentacja wrappera .NET różni się znacznie pod względem jakości.
|
✓ Extensive
Pełna "jak zacząć/jak-to/przykłady" dokumentacja z próbkami kodu do skopiowania i tutorialami wideo.
|
IronPDF to nowoczesna, aktywnie utrzymywana alternatywa — spróbuj za darmo przez 30 dni →
Wybór odpowiedniej biblioteki PDF dla twoich potrzeb może być trudny, gdy dostępnych jest wydawałoby się niezliczona ilość opcji. Porównując, kluczowe czynniki to funkcje oferowane w porównaniu z Twoimi wymaganiami, poziom wsparcia i dokumentacji, krzywa uczenia się i koszty licencji. Kluczowe jest także rozważenie wpływu na bezpieczeństwo.
Porównanie obejmuje dwie biblioteki do generowania PDF o odmiennych filozofiach projektowych: wkhtmltopdf i IronPDF. wkhtmltopdf zbudowało swoją reputację jako prosty konwerter z HTML na PDF w linii komend, i wiele zespołów korzysta z niego dokładnie w tym celu. Jednak używanie wkhtmltopdf w C# może wprowadzić ryzyko bezpieczeństwa. Ponieważ polega na zewnętrznym pliku wykonywalnym (WebKit), do eksploatacji mogą zostać potencjalnie wykorzystane jego luki bezpieczeństwa lub niewłaściwa sanityzacja komend, zagrażając bezpieczeństwu serwera przez specjalnie spreparowane HTML lub argumenty.
IronPDF jest zarządzaną biblioteką .NET, która działa w kontekście bezpieczeństwa aplikacji, redukując ryzyko związane z zewnętrznymi procesami. Poniższe sekcje porównują ich funkcje, możliwości renderowania oraz architekturę bezpieczeństwa.
Czym są IronPDF i wkhtmltopdf?
IronPDF to biblioteka C# do tworzenia, manipulacji i przetwarzania PDF w ramach .NET. Jej API obejmuje konwersję HTML do PDF, ekstrakcję tekstu i obrazów, obsługę formularzy oraz opcje bezpieczeństwa dokumentu takie jak szyfrowanie i podpisy cyfrowe — wszystko dostępne poprzez pojedynczy pakiet NuGet. Możesz zainstalować IronPDF przez Konsolę Menedżera Pakietów NuGet i uruchomić bibliotekę w ciągu kilku minut. Więcej informacji znajdziesz na oficjalnej stronie IronPDF.
wkhtmltopdf to opakowanie P/Invoke .NET Core dla biblioteki wkhtmltopdf, popularnego narzędzia do konwersji stron HTML na PDF z użyciem silnika renderującego Qt WebKit. Ta biblioteka open-source została rozwidlona z DinkToPdf i koncentruje się na konwersji HTML do PDF z naciskiem na prostotę. Łatwy do zainstalowania; Po pobraniu i uruchomieniu pliku wykonywalnego wkhtmltopdf, wystarczy upewnić się, że jest dodany do ścieżki środowiskowej systemu. wkhtmltopdf to lekka biblioteka, chociaż jej zakres skupia się na konwersji, a nie szerszej manipulacji PDF. Aby ocenić różnice w zakresie bezpieczeństwa i funkcji IronPDF w swoim własnym środowisku, dostępny jest [bezpłatny 30-dniowy okres próbny](trial-license is available.
Kompatybilność między platformami
IronPDF
IronPDF wspiera szeroką gamę środowisk w ramach .NET, zapewniając spójne działanie na różnych platformach.
-
Wersje .NET:
- W pełni napisany w i wspierający C#, VB.NET i F#.
- .NET Core (8, 7, 6, 5, i 3.1+).
- .NET Standard (2.0+).
-
.NET Framework (4.6.2+).
-
Środowiska aplikacji: IronPDF działa w różnych środowiskach aplikacji, takich jak Windows, Linux, Mac, Docker, Azure, i AWS.
-
IDE: Działa z IDE, takimi jak Microsoft Visual Studio i JetBrains Rider & ReSharper.
- Systemy operacyjne i Procesory: Wspiera różne systemy operacyjne i procesory, w tym Windows, Mac, Linux, x64, x86, ARM.
Więcej szczegółów na temat kompatybilności IronPDF można znaleźć na stronie IronPDF Compatibility.
wkhtmltopdf
-
Wersje .NET: Jako narzędzie wiersza poleceń, samo wkhtmltopdf nie ma bezpośredniego wsparcia dla .NET, jednak deweloperzy .NET zwykle używają go przez opakowanie lub bibliotekę, taką jak DinkToPdf.
-
Środowiska aplikacyjne: wkhtmltopdf działa płynnie w wielu środowiskach aplikacji, takich jak Windows, Linux i macOS.
- Języki programowania: wkhtmltopdf jest głównie używane poprzez narzędzia wiersza poleceń lub zintegrowane z językami programowania takimi jak C#, Java, Python, PHP i Node.js.
Instalacja
Instalacja IronPDF
Aby używać IronPDF, zainstalować go przez Menedżer Pakietów NuGet w Visual Studio:
Install-Package IronPdf
Installing wkhtmltopdf
-
Pobierz instalator:
- Przejdź do strony pobierania wkhtmltopdf.
- W sekcji "Windows" pobierz najnowszą stabilną wersję instalatora (np. plik .exe).
-
Uruchom instalator:
- Kliknij dwukrotnie pobrany plik .exe.
- Postępuj zgodnie z instrukcjami instalacji.
- Podczas instalacji możesz wybrać dodanie wkhtmltopdf do ścieżki systemu PATH, aby był dostępny z dowolnego wiersza poleceń.
- Zweryfikuj instalację:
- Otwórz Wiersz Polecenia (cmd).
- Wpisz
wkhtmltopdf --version, aby sprawdzić, czy jest poprawnie zainstalowany. Na ekranie powinien pojawić się numer wersji.
Jak IronPDF i wkhtmltopdf porównują się pod względem funkcji?
Porównując IronPDF i wkhtmltopdf, kluczowe jest zrozumienie, jakie funkcje obie biblioteki oferują do generowania i manipulowania PDF.
Funkcje IronPDF:
-
Konwersja PDF: IronPDF konwertuje HTML na PDF używając wbudowanego silnika Chromium z pełnym wsparciem dla HTML5, CSS3 (w tym Flexbox i Grid) oraz JavaScript. Konwertuje również z innych formatów, takich jak DOCX, obrazy, RTF i więcej.
-
Generowanie PDF: Z IronPDF można generować PDF z URL, formatów obrazów, plików ASPX, czy ciągów HTML.
-
Funkcje bezpieczeństwa: IronPDF obejmuje szyfrowanie, ochronę hasłem, oraz granulowane ustawienia zezwoleń (tylko do odczytu, ograniczenie kopiuj/wklej, kontrola wydruku) jako pierwszorzędne operacje w API.
- Funkcje edycji PDF: IronPDF może przetwarzać istniejące dokumenty PDF, edytować je i odczytywać pliki PDF. Możliwości edycji obejmują dodawanie nagłówków i stopek, stemplowanie tekstu i obrazów na stronach, stosowanie niestandardowych znaków wodnych, pracę z formularzami PDF oraz dzielenie lub łączenie plików PDF.
Więcej szczegółów na temat funkcji IronPDF znajdziesz na Funkcje IronPDF.
wkhtmltopdf C# Kluczowe Funkcje:
-
Konwersja HTML do PDF: Konwertuj strony HTML, pliki, ciągi i zawartość CSS na PDF, zachowując oryginalny układ.
-
Opcje dostosowywania: Obsługuje rozmiary stron, marginesy, nagłówki, stopki, itp.
-
Open Source: Darmowy do użycia na licencji MIT.
- Kompatybilność międzyplatformowa: Działa w środowiskach Windows, Linux i macOS.
Przykłady Kodu Równolegle
Konwersja HTML do PDF
IronPDF:
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf
' Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = True
' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()
' Create a PDF from an HTML string using C#
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
' Advanced Example with HTML Assets
' Load external html assets: Images, CSS and JavaScript.
' An optional BasePath 'C:\\site\\assets\\' is set as the file location to load assets from
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
wkhtmltopdf (używając DinkToPdf):
using DinkToPdf;
var converter = new BasicConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
Objects = { new ObjectSettings() { HtmlContent = "<h1>Hello World</h1>" } }
};
byte[] pdf = converter.Convert(doc);
System.IO.File.WriteAllBytes("HtmlToPdf.pdf", pdf);
using DinkToPdf;
var converter = new BasicConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
Objects = { new ObjectSettings() { HtmlContent = "<h1>Hello World</h1>" } }
};
byte[] pdf = converter.Convert(doc);
System.IO.File.WriteAllBytes("HtmlToPdf.pdf", pdf);
Imports DinkToPdf
Private converter = New BasicConverter(New PdfTools())
Private doc = New HtmlToPdfDocument() With {
.Objects = {
New ObjectSettings() With {.HtmlContent = "<h1>Hello World</h1>"}
}
}
Private pdf() As Byte = converter.Convert(doc)
System.IO.File.WriteAllBytes("HtmlToPdf.pdf", pdf)
wkhtmltopdf (używając linii komend)
wkhtmltopdf myfile.html myfile.pdf
wkhtmltopdf myfile.html myfile.pdf
IronPDF produkuje idealnie odwzorowane pliki PDF z treści HTML w kilku linijkach kodu. Jego wbudowany silnik Chromium obsługuje nowoczesne CSS3, Flexbox i Grid, więc wygenerowany PDF ściśle odpowiada oryginalnemu źródłu. wkhtmltopdf jest zbudowany wokół tego samego podstawowego zadania — konwersji HTML na PDF — i obsługuje je skrupulatnie niezależnie od wywołania przez bibliotekę opakowującą czy w wierszu poleceń. Gdzie zespoły zazwyczaj napotykają tarcia, to współczesne układy CSS: silnik Qt WebKit w wkhtmltopdf nie w pełni wspiera Flexbox czy Grid, co może prowadzić do nieoczekiwanych wyników renderowania w nowoczesnych projektach.
Szyfrowanie plików PDF
IronPDF:
using IronPdf;
using System;
// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
// The following code makes a PDF read-only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
using IronPdf;
using System;
// Open an Encrypted File, alternatively create a new PDF from Html
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");
// Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;
// Edit file security settings
// The following code makes a PDF read-only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption();
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key");
pdf.SecuritySettings.AllowUserAnnotations = false;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;
pdf.SecuritySettings.AllowUserFormData = false;
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
// Change or set the document encryption password
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
Imports IronPdf
Imports System
' Open an Encrypted File, alternatively create a new PDF from Html
Private pdf = PdfDocument.FromFile("encrypted.pdf", "password")
' Edit file metadata
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now
' Edit file security settings
' The following code makes a PDF read-only and will disallow copy & paste and printing
pdf.SecuritySettings.RemovePasswordsAndEncryption()
pdf.SecuritySettings.MakePdfDocumentReadOnly("secret-key")
pdf.SecuritySettings.AllowUserAnnotations = False
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SecuritySettings.AllowUserFormData = False
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
' Change or set the document encryption password
pdf.Password = "my-password"
pdf.SaveAs("secured.pdf")
wkhtmltopdf:
Szyfrowanie jest poza obecnym zakresem wkhtmltopdf; wymaga osobnej biblioteki trzeciej stronu.
IronPDF dostarcza bezpośredniego API do szyfrowania plików PDF, w tym ochronę hasłem, wymuszanie tylko do odczytu, i kontrolę nad szczegółowymi zezwoleniami. wkhtmltopdf koncentruje się na etapie konwersji, dlatego zespoły wymagające szyfrowania zazwyczaj integrują drugą bibliotekę do obsługi bezpieczeństwa dokumentu po wygenerowaniu PDF.
Redagowanie treści PDF
IronPDF:
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
// Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")
' Redact 'are' phrase from all pages
pdf.RedactTextOnAllPages("are")
pdf.SaveAs("redacted.pdf")
wkhtmltopdf:
Inwestycowanie nie jest częścią zestawu funkcji wkhtmltopdf.
API redakcji IronPDF redaguje określoną treść w jednym wywołaniu metody — trzy linijki kodu w powyższym przykładzie. Ponieważ wkhtmltopdf jest zaprojektowany jako narzędzie konwersji, a nie edytor PDF, ukrywanie tekstu jest poza jego zakresem architektonicznym. Zespoły potrzebujące tej funkcjonalności dodałyby osobną bibliotekę do manipulacji PDF.
Podpisywanie Plików PDF Cyfrowo
IronPDF:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
// Instantiate Renderer
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create PdfSignature object
var sig = new PdfSignature(cert);
// Sign PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
' Instantiate Renderer
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")
' Create X509Certificate2 object with X509KeyStorageFlags set to Exportable
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)
' Create PdfSignature object
Private sig = New PdfSignature(cert)
' Sign PDF document
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")
wkhtmltopdf C#:
wkhtmltopdf nie jest zaprojektowany do podpisywania PDF; do tej funkcji potrzebna jest osobna biblioteka.
API do podpisywania cyfrowego IronPDF akceptuje certyfikaty X509/PFX i podpisuje dokument w dwóch wywołaniach metod, co upraszcza przepływy pracy wymagające programatycznego podpisywania na dużą skalę. wkhtmltopdf nie jest zaprojektowany do obsługi podpisywania PDF samemu; jednakże, jeśli korzystasz z niego wraz z inną biblioteką, ta może dostarczyć funkcjonalności podpisywania, których potrzebujesz.
Stosowanie Niestandardowych Znaków Wodnych na Swoje PDFy
IronPDF:
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;
// Stamps a Watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
' Stamps a Watermark onto a new or existing PDF
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
wkhtmltopdf:
Znakowanie wodne nie jest częścią natywnego zestawu funkcji wkhtmltopdf. Zamiast tego trzeba by zaimplementować stylowanie CSS w źródłowym HTML przed konwersją, lub użyć osobnej biblioteki PDF, która może nałożyć znaki wodne na istniejące dokumenty.
Narzędzie do znakowania wodnego IronPDF używa podejścia opartego na HTML/CSS, dając programistom kontrolę nad przezroczystością, obrotem i pozycją bez wychodzenia z API .NET. wkhtmltopdf może imitować znaki wodne za pomocą stylów CSS zastosowanych do źródłowego HTML przed konwersją — podejście, które jest odpowiednie dla prostszych przypadków, ale osiąga swoje granice projektowe, gdy potrzebne jest znakowanie wodne istniejących PDF, które nie zostały wygenerowane z własnego HTML.
Stemplaowanie Obrazów i Tekstu
IronPDF:
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create text stamper
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing
Imports System
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create image stamper
Private imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}
' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")
wkhtmltopdf C#:
wkhtmltopdf nie zawiera wbudowanych narzędzi do stemplowania. Typowe rozwiązanie to wbudowanie pożądanych stempli w źródłowy HTML i CSS przed konwersją.
IronPDF zapewnia dedykowane klasy TextStamper i ImageStamper do nakładania tekstu i obrazów na strony PDF — w tym wsparcie dla czcionek Google i precyzyjne elementy kontroli wyrównania. wkhtmltopdf nie zawiera wbudowanych narzędzi do stemplowania, ale można osiągnąć podobny skutek, osadzając stemplowane treści bezpośrednio w źródłowym HTML i CSS przed konwersją.
Konwersja DOCX na PDF
IronPDF:
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;
// Instantiate Renderer
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render from DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf
' Instantiate Renderer
Private renderer As New DocxToPdfRenderer()
' Render from DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")
' Save the PDF
pdf.SaveAs("pdfFromDocx.pdf")
wkhtmltopdf C#:
wkhtmltopdf koncentruje się wyłącznie na wejściu HTML, dlatego konwersja DOCX wymaga dodatkowych bibliotek.
IronPDF obsługuje konwersję DOCX na PDF za pomocą swojej klasy DocxToPdfRenderer — trzy linie kodu w powyższym przykładzie. Ponieważ układ renderingowy wkhtmltopdf opiera się na wejściu HTML, DOCX nie jest obsługiwanym formatem źródłowym. Zespoły potrzebujące tej funkcjonalności zintegrowałyby oddzielną bibliotekę konwersji obok wkhtmltopdf.
Podsumowanie porównania przykładów kodowania
Aby zobaczyć pełen wachlarz możliwości IronPDF w akcji, zapoznaj się z przewodnikami jak-to IronPDF, które prowadzą przez każdą funkcję ze wzorami kodu do skopiowania.
Ceny i licencjonowanie: IronPDF vs. wkhtmltopdf
IronPDF
IronPDF ma różne poziomy i dodatkowe funkcje związane z zakupem licencji. Programiści mogą również kupić Iron Suite, co daje im dostęp do wszystkich produktów Iron Software w cenie dwóch. Jeśli nie jesteś gotów na zakup licencji, IronPDF oferuje bezpłatną wersję próbną, aby odkryć wszystkie funkcje, które ma do zaoferowania przed podjęciem decyzji o licencji.
-
Licencje wieczyste: Oferuje zakres licencji wieczystych w zależności od wielkości twojego zespołu, potrzeb projektu i liczby lokalizacji. Każdy typ licencji zawiera wsparcie e-mailowe.
-
Lite License: Ta licencja wspiera jednego dewelopera, jedną lokalizację i jeden projekt.
-
Plus License: Wspierając trzech deweloperów, trzy lokalizacje i trzy projekty, to jest kolejny krok od Lite License. Licencja Plus oferuje wsparcie na czacie i wsparcie telefoniczne oprócz podstawowego wsparcia e-mailowego.
-
Professional License: Ta licencja jest odpowiednia dla większych zespołów, wspierając dziesięciu deweloperów, dziesięć lokalizacji i dziesięć projektów. Oferuje te same kanały wsparcia, co poprzednie poziomy, ale również oferuje wsparcie przy udostępnianiu ekranu.
-
Royalty-free redistribution: Licencja IronPDF oferuje także bez dodatkowych opłat licencyjnych zakres redystrybucji za dodatkowy koszt.
-
Nieprzerwane wsparcie produktów: IronPDF oferuje dostęp do bieżących aktualizacji produktów, ulepszeń funkcji zabezpieczeń i wsparcia od zespołu inżynierskiego.
- Iron Suite: Uzyskujesz dostęp do wszystkich produktów Iron Software, w tym IronPDF, IronOCR, IronWord, IronXL, IronBarcode, IronQR, IronZIP, IronPrint, i IronWebScraper.
wkhtmltopdf
wkhtmltopdf to open-source narzędzie do bezpłatnego użytku, licencjonowane na Licencji LGPL, która pozwala na używanie wkhtmltopdf w aplikacjach na własność tak długo, jak nie modyfikujesz samej biblioteki.
Oprócz kosztów licencji, całkowity koszt projektu obejmuje godziny programisty spędzone na zarządzaniu natywnymi zależnościami binarnymi, składaniu osobnych bibliotek do szyfrowania, podpisywania, redakcji i radzenia sobie z ograniczoną obsługą CSS3 przez silnik Qt WebKit. Dla zespołów oceniających koszty w perspektywie wieloletniego cyklu życia projektu koszty integracji i utrzymania często przewyższają różnicę między licencjami open source a komercyjnymi.
Dokumentacja i wsparcie: IronPDF vs. wkhtmltopdf
IronPDF
IronPDF oferuje rozbudowaną dokumentację i wsparcie:
-
Wszechstronna Dokumentacja: Obszerna i przyjazna dla użytkownika dokumentacja obejmująca wszystkie funkcje.
-
24/5 Wsparcie: Aktywne wsparcie inżynierów jest dostępne.
-
Samouczki wideo: Krok po kroku przewodniki wideo dostępne na YouTube.
-
Forum społecznościowe: Zaangażowana społeczność dla dodatkowego wsparcia.
-
Regularne aktualizacje: Miesięczne aktualizacje produktów, aby zapewnić najnowsze funkcje i ulepszenia zabezpieczeń.
- Odwołanie do API PDF: Oferuje odwołania API, aby jak najlepiej wykorzystać to, co nasze narzędzia mają do zaoferowania.
Aby uzyskać więcej informacji, zapoznaj się z obszerną dokumentacją IronPDF i odwiedź Kanał YouTube Iron Software.
wkhtmltopdf
-
GitHub: Repozytorium GitHub wkhtmltopdf to miejsce, gdzie użytkownicy mogą zgłaszać problemy, które napotkali podczas używania tego narzędzia.
-
Stack Overflow: Tutaj można znaleźć wiele pytań i odpowiedzi dotyczących wkhtmltopdf oraz uzyskać porady społeczności.
- Oficjalna Dokumentacja: Oficjalna dokumentacja dostarcza szczegółów na temat instalacji, użytkowania, opcji wiersza poleceń i powszechnych konfiguracji.
Którą bibliotekę wybrać?
Zarówno IronPDF, jak i wkhtmltopdf zajmują się generowaniem PDF w C#, ale celują w różne segmenty spektrum złożoności. IronPDF obejmuje cały cykl życia PDF — konwersję, szyfrowanie, redakcję, podpisy cyfrowe, DOCX do PDF i więcej — przez pojedynczy pakiet NuGet z aktywnie utrzymywanym silnikiem renderowania Chromium. Dla zespołów, których projekty obejmują wiele operacji PDF, to skonsolidowane podejście zmniejsza liczbę zależności do zarządzania.
wkhtmltopdf zdobył popularność dzięki skoncentrowanemu, prostemu podejściu do konwersji HTML na PDF, a jego brak kosztów licencji sprawia, że jest dostępnym punktem wejścia. Punkt zwrotny dla zespołów następuje zwykle, gdy wymagania wykraczają poza konwersję w stronę edycji, zabezpieczeń lub zgodności — możliwości, które nie mieszczą się w architekturze wkhtmltopdf. W połączeniu z zarchiwizowanym statusem projektu i starzejącym się silnikiem WebKit, zespoły z rosnącymi wymaganiami często znajdują ten naturalny moment na ocenę aktywnie utrzymywanej alternatywy. Ostatecznie, właściwy wybór zależy od obecnych i przewidywanych wymagań projektowych dotyczących PDF.
Możesz wypróbować 30-dniową bezpłatną wersję próbną, aby sprawdzić dostępne funkcje.
Często Zadawane Pytania
Jak mogę przekonwertować HTML na PDF w języku C#?
Możesz uzyc metody RenderHtmlAsPdf w IronPDF, aby konwertować łańcuchy HTML na PDF. Dodatkowo, można konwertować pliki HTML na PDF przy pomocy RenderHtmlFileAsPdf.
Jakie sa kluczowe roznice miedzy IronPDF a WkHtmlToPdf?
IronPDF oferuje rozbudowany zestaw funkcji, włączajac ekstrakcje tekstu, obsługę formularzy, szyfrowanie i podpisy cyfrowe, a także zgodność multiplatformowa. WkHtmlToPdf to narzędzie open-source, ktore koncentruje sie na bezpośredniej konwersji HTML do PDF.
Jak zainstalować IronPDF w projekcie .NET?
IronPDF można zainstalować używając Menadzera Pakietow NuGet w Visual Studio, wykonując komende: Install-Package IronPdf.
Czy możliwe jest szyfrowanie PDF za pomoca IronPDF?
Tak, IronPDF oferuje opcje szyfrowania plików PDF, ustawiania hasel i przypisywania uprawnien, aby zwiększyć bezpieczeństwo dokumentów.
Czy IronPDF obsługuje tworzenie oprogramowania na wiele platform?
Rzeczywiscie, IronPDF jest zgodny z różnymi środowiskami w ramach .NET framework, w tym Windows, Linux, Mac, Docker, Azure i AWS.
Czy IronPDF może konwertować pliki DOCX do formatu PDF?
Tak, IronPDF zawiera funkcjonalność, która pozwala na bezproblemowa konwersje plików DOCX do PDF.
Jakie wsparcie jest dostępne dla użytkowników IronPDF?
IronPDF oferuje szczegółowa dokumentacje, wsparcie inżynierow 24/5, samouczki wideo, forum spolecznosciowe i regularne aktualizacje oprogramowania.
Jak zainstalować WkHtmlToPdf?
Aby zainstalować WkHtmlToPdf, pobierz plik wykonywalny z jego oficjalnej strony, uruchom instalator i upewnij sie, ze jest on dodany do ścieżki PATH twojego systemu.
Jakie sa implikacje licencyjne dotyczące korzystania z WkHtmlToPdf?
WkHtmlToPdf jest dystrybuowany na licencji LGPL, pozwalając na darmowe użytkowanie w aplikacjach open-source oraz własnościowych.
Czy WkHtmlToPdf oferuje wsparcie dla szyfrowania PDF?
Nie, WkHtmlToPdf nie zawiera natywnego wsparcia dla szyfrowania PDF. Dodatkowe zewnetrzne biblioteki sa potrzebne do zdolnosci szyfrowania.



