IronPDF i Docraptor - Kompleksowe porównanie
W dzisiejszym szybkim tempie rozwoju, wybór odpowiedniego narzędzia do generowania PDF-ów z HTML-a może znacząco wpłynąć zarówno na wydajność, jak i jakość wyników. Dwie wiodące opcje dla tego zadania to IronPDF i DocRaptor. Choć oba narzędzia mają na celu uproszczenie procesu przekształcania HTML-a na PDF, oferują różne funkcje, modele cenowe i poziomy integracji z .NET i innymi platformami.
W tym artykule przeprowadzimy szczegółowe porównanie IronPDF i DocRaptor, podkreślając ich mocne strony, ograniczenia i najlepsze przypadki użycia dla każdego, pomagając Ci zdecydować, które rozwiązanie najlepiej odpowiada potrzebom Twojego projektu.
Przegląd IronPDF i DocRaptor
IronPDF oferuje rozbudowaną funkcjonalność do tworzenia, edytowania i zarządzania PDF-ami w aplikacjach .NET. Dzięki pełnemu wsparciu dla HTML-a, CSS, JavaScriptu i C#, dostarcza programistom wysoce konfigurowalne i solidne narzędzie do pracy z PDF-ami. Biblioteka została zaprojektowana tak, aby była przyjazna dla programistów, z doskonałą dokumentacją, zapewniając szybką implementację i łatwość użycia w środowiskach .NET.
DocRaptor to rozwiązanie chmurowe oferujące generowanie PDF i Excel z naciskiem na aplikacje internetowe i integracje API. Korzystając z silnika Prince PDF, DocRaptor wspiera różnorodne języki programowania, w tym .NET, umożliwiając konwersję HTML-a na PDF. Mimo że platforma świetnie sprawdza się w podstawowym generowaniu PDF, wymaga połączenia z Internetem do dostępu do API i brakuje jej tego samego poziomu dostosowywania i elastyczności, co oferowane przez IronPDF.
Kompatybilność między platformami
IronPDF
IronPDF wyróżnia się swoją szeroką kompatybilnością między platformami. Wspiera szeroki zakres środowisk w ramach frameworku .NET, zapewniając bezproblemowe działanie na różnych platformach. Poniżej znajduje się podsumowanie kompatybilności platform IronPDF:
-
Wersje .NET:
- W pełni napisane w i wspierające 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: Współpracuje z IDE takimi jak Microsoft Visual Studio, JetBrains Rider & ReSharper
- OS 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.
DocRaptor
DocRaptor oferuje solidną kompatybilność między platformami oraz wsparcie dla wersji .NET, które obejmuje:
- Windows: DocRaptor działa płynnie na środowiskach Windows, dobrze integrując się z .NET i innymi popularnymi stosami deweloperskimi.
- Linux: DocRaptor można używać w środowiskach linuksowych, co czyni go odpowiednim do zadań generowania PDF po stronie serwera.
- macOS: Deweloperzy używający macOS mogą zintegrować DocRaptor ze swoimi pipeline'ami deweloperskimi bez problemów.
- .NET Core: DocRaptor obsługuje .NET Core, zapewniając nowoczesne, międzyplatformowe możliwości dla deweloperów pracujących w najnowszym ekosystemie .NET.
- .NET Framework: Jest także kompatybilny z tradycyjnym .NET Framework, co pozwala projektom opartym na starszych systemach korzystać z funkcji generowania PDF.
- .NET 5 i nowsze: DocRaptor jest kompatybilny z .NET 5 i nowszymi wersjami, zapewniając, że programiści pracujący nad najnowszymi wydaniami .NET mogą korzystać z biblioteki bez obaw o kompatybilność.
Porównanie Kluczowych Funkcji: Funkcjonalność PDF w IronPDF a DocRaptor
IronPDF
-
Konwersja PDF: IronPDF może konwertować HTML na PDF. Dzięki pełnemu wsparciu dla nowoczesnych standardów internetowych, możesz być pewny, że IronPDF zawsze zwróci perfekcyjnie dopasowane PDF-y z Twojej zawartości HTML. IronPDF może również konwertować pliki PDF z innych formatów, takich jak DOCX, obrazy, RTF i inne.
-
Generowanie PDF: Z IronPDF możesz generować PDF-y z URL-i, plików ASPX lub łańcuchów HTML.
-
Funkcje bezpieczeństwa: Z IronPDF możesz zawsze być pewny, że każdy wrażliwy plik PDF jest bezpieczny dzięki jego funkcjom zabezpieczającym. Użyj IronPDF do szyfrowania plików PDF, ustawiania haseł i uprawnień dla plików PDF.
-
Funkcje edycji PDF: Z IronPDF możesz przetwarzać istniejące dokumenty PDF, edytować je i czytać pliki PDF z łatwością. IronPDF oferuje funkcje edycji, takie jak dodawanie nagłówków i stopek, umieszczanie tekstu i obrazów na stronach PDF, dodawanie niestandardowych znaków wodnych do plików PDF, praca z formularzami PDF oraz dzielenie lub łączenie plików PDF.
-
Integracja: Płynnie integruje się z aplikacjami ASP.NET i MVC.
- Wsparcie dla wersji PDF: Może obsługiwać wersje PDF 1.2-1.7
Dla pełnej listy funkcji IronPDF, odwieź stronę IronPDF Features.
DocRaptor
DocRaptor oferuje zestaw funkcji zaprojektowany dla niezawodnej konwersji HTML na PDF i HTML na Excel. Oto niektóre z jego kluczowych funkcji:
-
Dokładne renderowanie: Wspiera HTML5, CSS3, JavaScript i SVG, zapewniając dokładne renderowanie PDF nowoczesnych stron internetowych.
-
Wykonanie JavaScript: Obsługuje JavaScript przed konwersją, pozwalając na przetwarzanie i prawidłowe wyświetlanie dynamicznej treści w wygenerowanym PDF.
-
Wsparcie dla responsywnego projektu: Wspiera media queries, pozwalając na dostosowanie responsywnych projektów do rozmiaru PDF.
-
Eksport do Excela: Konwertuje tabele HTML na arkusze kalkulacyjne Excel (.xlsx), przydatne do generowania raportów lub eksportu danych strukturalnych.
- Formatowanie komórek: Zachowuje style komórek, czcionki i inne opcje formatowania dla wyników w Excelu.
Porównanie Najważniejszych Funkcji z Przykładami Kodów: IronPDF a DocRaptor
1. Konwersja HTML na PDF
IronPDF:
// Convert HTML to PDF using IronPDF
using IronPdf;
// Enable web security to prevent local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate the PDF renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
// Convert HTML to PDF using IronPDF
using IronPdf;
// Enable web security to prevent local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate the PDF renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
' Convert HTML to PDF using IronPDF
Imports IronPdf
' Enable web security to prevent local disk access or cross-origin requests
Installation.EnableWebSecurity = True
' Instantiate the PDF renderer
Dim renderer = New ChromePdfRenderer()
' Create a PDF from an HTML string
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
' Advanced Example with HTML Assets
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
DocRaptor:
using DocRaptor.Client;
using DocRaptor.Model;
using DocRaptor.Api;
using System;
using System.IO;
// Example of using DocRaptor to convert HTML and JavaScript to PDF
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "html-and-javascript",
test: true, // Test flag to indicate trial mode
documentType: Doc.DocumentTypeEnum.Pdf, // Specify document type
documentContent: System.IO.File.ReadAllText(@"html-and-javascript-content.html"), // Load HTML content from file
javascript: true // Enable JavaScript execution
);
byte[] document = docraptor.CreateDoc(doc);
File.WriteAllBytes("html-and-javascript.pdf", document);
Console.WriteLine("Successfully created html-and-javascript.pdf!");
}
catch (DocRaptor.Client.ApiException error)
{
Console.Write(error.ErrorContent);
}
using DocRaptor.Client;
using DocRaptor.Model;
using DocRaptor.Api;
using System;
using System.IO;
// Example of using DocRaptor to convert HTML and JavaScript to PDF
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "html-and-javascript",
test: true, // Test flag to indicate trial mode
documentType: Doc.DocumentTypeEnum.Pdf, // Specify document type
documentContent: System.IO.File.ReadAllText(@"html-and-javascript-content.html"), // Load HTML content from file
javascript: true // Enable JavaScript execution
);
byte[] document = docraptor.CreateDoc(doc);
File.WriteAllBytes("html-and-javascript.pdf", document);
Console.WriteLine("Successfully created html-and-javascript.pdf!");
}
catch (DocRaptor.Client.ApiException error)
{
Console.Write(error.ErrorContent);
}
Imports DocRaptor.Client
Imports DocRaptor.Model
Imports DocRaptor.Api
Imports System
Imports System.IO
' Example of using DocRaptor to convert HTML and JavaScript to PDF
Private docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Try
Dim doc As New Doc(name:= "html-and-javascript", test:= True, documentType:= Doc.DocumentTypeEnum.Pdf, documentContent:= System.IO.File.ReadAllText("html-and-javascript-content.html"), javascript:= True)
Dim document() As Byte = docraptor.CreateDoc(doc)
File.WriteAllBytes("html-and-javascript.pdf", document)
Console.WriteLine("Successfully created html-and-javascript.pdf!")
Catch [error] As DocRaptor.Client.ApiException
Console.Write([error].ErrorContent)
End Try
IronPDF radzi sobie z konwersją HTML na PDF z łatwością, jego pełne wsparcie dla nowoczesnych standardów internetowych zapewnia, że wszystkie dokumenty PDF będą doskonałej jakości. DocRaptor używa podejścia opartego na API, wymagając klucza API i wykonania w chmurze do konwersji HTML-a na PDF.
2. Szyfrowanie plików PDF
IronPDF:
using IronPdf;
using System;
// Load an existing PDF with a password
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
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;
// Load an existing PDF with a password
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
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
' Load an existing PDF with a password
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
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")
DocRaptor: DocRaptor nie wspiera natywnie funkcji szyfrowania PDF-ów.
IronPDF oferuje wbudowane szyfrowanie, metadane i kontrolę zabezpieczeń, podczas gdy DocRaptor wymagałby użycia narzędzi stron trzecich do osiągnięcia podobnej funkcjonalności.
3. Ukrywanie treści PDF
IronPDF:
using IronPdf;
// Load the PDF and redact specified text
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
using IronPdf;
// Load the PDF and redact specified text
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");
pdf.RedactTextOnAllPages("are");
pdf.SaveAs("redacted.pdf");
Imports IronPdf
' Load the PDF and redact specified text
Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")
pdf.RedactTextOnAllPages("are")
pdf.SaveAs("redacted.pdf")
DocRaptor nie wspiera funkcjonalności ukrywania treści.
IronPDF oferuje natywne ukrywanie treści, kluczową funkcję dla dokumentów prawnych i poufnych, której brakuje w DocRaptor.
4. Cyfrowe podpisywanie dokumentów PDF
IronPDF:
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
// Initialize PDF renderer and create a PDF document
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Load the certificate for signing
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create a PdfSignature object
var sig = new PdfSignature(cert);
// Sign the PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
// Initialize PDF renderer and create a PDF document
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");
// Load the certificate for signing
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
// Create a PdfSignature object
var sig = new PdfSignature(cert);
// Sign the PDF document
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
' Initialize PDF renderer and create a PDF document
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")
' Load the certificate for signing
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)
' Create a PdfSignature object
Private sig = New PdfSignature(cert)
' Sign the PDF document
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")
DocRaptor nie wspiera natywnie podpisywania PDF-ów.
IronPDF oferuje wbudowany mechanizm do cyfrowego podpisywania PDF-ów, co czyni go lepszym do uwierzytelniania i dokumentów prawnych. DocRaptorowi brakuje tej kluczowej funkcji, więc użytkownicy tej biblioteki będą musieli pobrać dodatkowe biblioteki, by wykonać to zadanie.
5. Dodawanie własnych znaków wodnych
IronPDF:
using IronPdf;
// Stamper to apply a watermark on a 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;
// Stamper to apply a watermark on a 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
' Stamper to apply a watermark on a 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")
DocRaptor:
using DocRaptor.Client;
using DocRaptor.Model;
using DocRaptor.Api;
using System;
using System.IO;
class DocRaptorExample
{
static void Main(string[] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "text-based-watermark",
test: false, // Test documents are free but watermarked
documentType: Doc.DocumentTypeEnum.Pdf,
documentContent: System.IO.File.ReadAllText(@"text-based-watermark-content.html")
);
byte[] document = docraptor.CreateDoc(doc);
File.WriteAllBytes("text-based-watermark.pdf", document);
Console.WriteLine("Successfully created text-based-watermark.pdf!");
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
using DocRaptor.Client;
using DocRaptor.Model;
using DocRaptor.Api;
using System;
using System.IO;
class DocRaptorExample
{
static void Main(string[] args)
{
DocApi docraptor = new DocApi();
docraptor.Configuration.Username = "YOUR_API_KEY_HERE";
try
{
Doc doc = new Doc(
name: "text-based-watermark",
test: false, // Test documents are free but watermarked
documentType: Doc.DocumentTypeEnum.Pdf,
documentContent: System.IO.File.ReadAllText(@"text-based-watermark-content.html")
);
byte[] document = docraptor.CreateDoc(doc);
File.WriteAllBytes("text-based-watermark.pdf", document);
Console.WriteLine("Successfully created text-based-watermark.pdf!");
} catch (DocRaptor.Client.ApiException error) {
Console.Write(error.ErrorContent);
}
}
}
Imports DocRaptor.Client
Imports DocRaptor.Model
Imports DocRaptor.Api
Imports System
Imports System.IO
Friend Class DocRaptorExample
Shared Sub Main(ByVal args() As String)
Dim docraptor As New DocApi()
docraptor.Configuration.Username = "YOUR_API_KEY_HERE"
Try
Dim doc As New Doc(name:= "text-based-watermark", test:= False, documentType:= Doc.DocumentTypeEnum.Pdf, documentContent:= System.IO.File.ReadAllText("text-based-watermark-content.html"))
Dim document() As Byte = docraptor.CreateDoc(doc)
File.WriteAllBytes("text-based-watermark.pdf", document)
Console.WriteLine("Successfully created text-based-watermark.pdf!")
Catch [error] As DocRaptor.Client.ApiException
Console.Write([error].ErrorContent)
End Try
End Sub
End Class
IronPDF oferuje pełne możliwości znakowania wodnego, pozwalając na tworzenie i dodawanie własnych znaków wodnych w zaledwie kilku linijkach kodu, a znaki te można stosować do nowych lub istniejących plików PDF. DocRaptor wymaga jednak dodawania znaków wodnych za pomocą HTML-a i CSS przed konwersją zawartości HTML do PDF.
6. Stemplowanie tekstu i obrazów
IronPDF:
using IronPdf;
using IronPdf.Editing;
// Initialize PDF renderer and create a basic HTML-based PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create a text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Apply the text stamper to the PDF
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
using IronPdf;
using IronPdf.Editing;
// Initialize PDF renderer and create a basic HTML-based PDF
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create a text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Apply the text stamper to the PDF
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
Imports IronPdf
Imports IronPdf.Editing
' Initialize PDF renderer and create a basic HTML-based PDF
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create a 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
}
' Apply the text stamper to the PDF
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
DocRaptor nie oferuje natywnej funkcji stemplowania tekstu i obrazów na PDF-ach.
IronPDF pozwala na szczegółowe dostosowywanie przy stemplowaniu tekstu i obrazów, co czyni go lepszym wyborem do adnotacji dokumentów i znakowania marki. DocRaptor nie oferuje żadnego natywnego wsparcia dla stemplowania tekstu i obrazów, z wodnymi znakami jako najbliższym rozwiązaniem.
7. Konwersja DOCX na PDF
IronPDF:
using IronPdf;
// Instantiate a renderer specifically for DOCX files
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render a PDF document from a DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the resulting PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;
// Instantiate a renderer specifically for DOCX files
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
// Render a PDF document from a DOCX file
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");
// Save the resulting PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf
' Instantiate a renderer specifically for DOCX files
Private renderer As New DocxToPdfRenderer()
' Render a PDF document from a DOCX file
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")
' Save the resulting PDF
pdf.SaveAs("pdfFromDocx.pdf")
DocRaptor:
Brak natywnego wsparcia dla konwersji DOCX na PDF.
IronPDF oferuje płynniejszy i bardziej natywny proces konwersji DOCX na PDF, bez potrzeby korzystania z zewnętrznych bibliotek takich jak DocRaptor, który nie ma wbudowanego wsparcia dla tego zadania.
Podsumowanie Porównania Przykładów Kodów

Aby dowiedzieć się więcej o bogatym zestawie funkcji, które oferuje IronPDF oraz zobaczyć je w działaniu, sprawdź przewodniki jak zacząć w IronPDF, które szczegółowo omawiają każdą funkcję, pokazując jak działają i dając umiejętności potrzebne, aby stać się ekspertem od PDF-ów.
Wsparcie dla Renderowania Bootstrap i Nowoczesnych Frameworków CSS
Nowoczesne aplikacje webowe budowane przy użyciu frameworków CSS takich jak Bootstrap, Tailwind i Foundation wymagają narzędzi do generowania PDF-ów, które dokładnie zachowają te układy frameworków. Ta zdolność jest niezbędna do utrzymania spójności projektowania między siecią a wynikami PDF.
IronPDF: Natywne wsparcie dla Bootstrap i frameworków
Silnik Chromium IronPDF zapewnia pełne wsparcie dla wszystkich nowoczesnych frameworków CSS:
- Bootstrap 5: Pełne wsparcie dla flexbox i CSS Grid wraz z wszystkimi narzędziami responsywnymi
- Bootstrap 4: Kompletny system kart, nawigacji i komponentów formularza
- Tailwind CSS: Wszystkie klasy narzędziowe i modyfikatory responsywne
- Foundation: Kompletny system siatek i komponentów
- Nowoczesny CSS3: Flexbox, Grid, właściwości niestandardowe, animacje i przekształcenia
- Wsparcie dla JavaScript: Pełny proces dla interaktywności frameworka
Walidacja w rzeczywistych sytuacjach: Strona główna Bootstrap oraz oficjalne szablony konwertują się z dokładnością zgodną z przeglądarką.
Przykład kodu: FAQ Accordion z Bootstrap
using IronPdf;
var renderer = new ChromePdfRenderer();
string bootstrapFAQ = @"
<!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'>
<h1 class='text-center mb-5'>Frequently Asked Questions</h1>
<div class='row'>
<div class='col-lg-8 mx-auto'>
<div class='accordion' id='faqAccordion'>
<div class='accordion-item'>
<h2 class='accordion-header'></h2>
<button class='accordion-button' type='button'>
What file formats do you support?
</button>
</h2>
<div class='accordion-collapse collapse show'>
<div class='accordion-body'>
<strong>We support a wide range of formats:</strong> HTML, URL-based conversion, image to PDF,
DOCX to PDF, and more. Our Chromium engine ensures accurate rendering of modern web standards.
</div>
</div>
</div>
<div class='accordion-item'>
<h2 class='accordion-header'></h2>
<button class='accordion-button collapsed' type='button'>
Do you support responsive designs?
</button>
</h2>
<div class='accordion-collapse collapse'>
<div class='accordion-body'>
Yes! Our rendering engine fully supports responsive CSS frameworks including Bootstrap, Tailwind,
and custom responsive designs. You can specify viewport dimensions and paper sizes to control output.
</div>
</div>
</div>
<div class='accordion-item'>
<h2 class='accordion-header'></h2>
<button class='accordion-button collapsed' type='button'>
What about JavaScript rendering?
</button>
</h2>
<div class='accordion-collapse collapse'>
<div class='accordion-body'>
<div class='alert alert-info mb-3'>
<strong>Full JavaScript Support:</strong> IronPDF executes JavaScript before PDF generation.
</div>
You can configure render delays to ensure dynamic content loads completely. This includes AJAX calls,
React/Vue/Angular components, and dynamic chart libraries.
</div>
</div>
</div>
<div class='accordion-item'>
<h2 class='accordion-header'></h2>
<button class='accordion-button collapsed' type='button'>
How does pricing work?
</button>
</h2>
<div class='accordion-collapse collapse'>
<div class='accordion-body'>
We offer transparent per-developer licensing starting at competitive rates. No per-document fees,
no hidden costs. Pricing includes all features, updates, and support for one year.
<a href='/licensing/' class='btn btn-sm btn-primary mt-2'>View Pricing Details</a>
</div>
</div>
</div>
</div>
<div class='card mt-5 bg-light'>
<div class='card-body'>
<h5 class='card-title'>Still have questions?</h5>
<p class='card-text'>Our support team is here to help you get started.</p>
<a href='#' class='btn btn-primary'>Contact Support</a>
</div>
</div>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(bootstrapFAQ);
pdf.SaveAs("faq-page.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
string bootstrapFAQ = @"
<!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'>
<h1 class='text-center mb-5'>Frequently Asked Questions</h1>
<div class='row'>
<div class='col-lg-8 mx-auto'>
<div class='accordion' id='faqAccordion'>
<div class='accordion-item'>
<h2 class='accordion-header'></h2>
<button class='accordion-button' type='button'>
What file formats do you support?
</button>
</h2>
<div class='accordion-collapse collapse show'>
<div class='accordion-body'>
<strong>We support a wide range of formats:</strong> HTML, URL-based conversion, image to PDF,
DOCX to PDF, and more. Our Chromium engine ensures accurate rendering of modern web standards.
</div>
</div>
</div>
<div class='accordion-item'>
<h2 class='accordion-header'></h2>
<button class='accordion-button collapsed' type='button'>
Do you support responsive designs?
</button>
</h2>
<div class='accordion-collapse collapse'>
<div class='accordion-body'>
Yes! Our rendering engine fully supports responsive CSS frameworks including Bootstrap, Tailwind,
and custom responsive designs. You can specify viewport dimensions and paper sizes to control output.
</div>
</div>
</div>
<div class='accordion-item'>
<h2 class='accordion-header'></h2>
<button class='accordion-button collapsed' type='button'>
What about JavaScript rendering?
</button>
</h2>
<div class='accordion-collapse collapse'>
<div class='accordion-body'>
<div class='alert alert-info mb-3'>
<strong>Full JavaScript Support:</strong> IronPDF executes JavaScript before PDF generation.
</div>
You can configure render delays to ensure dynamic content loads completely. This includes AJAX calls,
React/Vue/Angular components, and dynamic chart libraries.
</div>
</div>
</div>
<div class='accordion-item'>
<h2 class='accordion-header'></h2>
<button class='accordion-button collapsed' type='button'>
How does pricing work?
</button>
</h2>
<div class='accordion-collapse collapse'>
<div class='accordion-body'>
We offer transparent per-developer licensing starting at competitive rates. No per-document fees,
no hidden costs. Pricing includes all features, updates, and support for one year.
<a href='/licensing/' class='btn btn-sm btn-primary mt-2'>View Pricing Details</a>
</div>
</div>
</div>
</div>
<div class='card mt-5 bg-light'>
<div class='card-body'>
<h5 class='card-title'>Still have questions?</h5>
<p class='card-text'>Our support team is here to help you get started.</p>
<a href='#' class='btn btn-primary'>Contact Support</a>
</div>
</div>
</div>
</div>
</div>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(bootstrapFAQ);
pdf.SaveAs("faq-page.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim bootstrapFAQ 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'>
<h1 class='text-center mb-5'>Frequently Asked Questions</h1>
<div class='row'>
<div class='col-lg-8 mx-auto'>
<div class='accordion' id='faqAccordion'>
<div class='accordion-item'>
<h2 class='accordion-header'></h2>
<button class='accordion-button' type='button'>
What file formats do you support?
</button>
</h2>
<div class='accordion-collapse collapse show'>
<div class='accordion-body'>
<strong>We support a wide range of formats:</strong> HTML, URL-based conversion, image to PDF,
DOCX to PDF, and more. Our Chromium engine ensures accurate rendering of modern web standards.
</div>
</div>
</div>
<div class='accordion-item'>
<h2 class='accordion-header'></h2>
<button class='accordion-button collapsed' type='button'>
Do you support responsive designs?
</button>
</h2>
<div class='accordion-collapse collapse'>
<div class='accordion-body'>
Yes! Our rendering engine fully supports responsive CSS frameworks including Bootstrap, Tailwind,
and custom responsive designs. You can specify viewport dimensions and paper sizes to control output.
</div>
</div>
</div>
<div class='accordion-item'>
<h2 class='accordion-header'></h2>
<button class='accordion-button collapsed' type='button'>
What about JavaScript rendering?
</button>
</h2>
<div class='accordion-collapse collapse'>
<div class='accordion-body'>
<div class='alert alert-info mb-3'>
<strong>Full JavaScript Support:</strong> IronPDF executes JavaScript before PDF generation.
</div>
You can configure render delays to ensure dynamic content loads completely. This includes AJAX calls,
React/Vue/Angular components, and dynamic chart libraries.
</div>
</div>
</div>
<div class='accordion-item'>
<h2 class='accordion-header'></h2>
<button class='accordion-button collapsed' type='button'>
How does pricing work?
</button>
</h2>
<div class='accordion-collapse collapse'>
<div class='accordion-body'>
We offer transparent per-developer licensing starting at competitive rates. No per-document fees,
no hidden costs. Pricing includes all features, updates, and support for one year.
<a href='/licensing/' class='btn btn-sm btn-primary mt-2'>View Pricing Details</a>
</div>
</div>
</div>
</div>
<div class='card mt-5 bg-light'>
<div class='card-body'>
<h5 class='card-title'>Still have questions?</h5>
<p class='card-text'>Our support team is here to help you get started.</p>
<a href='#' class='btn btn-primary'>Contact Support</a>
</div>
</div>
</div>
</div>
</div>
</body>
</html>"
Dim pdf = renderer.RenderHtmlAsPdf(bootstrapFAQ)
pdf.SaveAs("faq-page.pdf")
Wynik: Profesjonalna strona FAQ z komponentem akordeonowym Bootstrap, polami powiadomień, stylizacją kart i siatką responsywną — wszystkie dokładnie renderowane w PDF.
DocRaptor: Dobre wsparcie dla Bootstrap, ale złożoność API
DocRaptor to usługa w chmurze, która używa silnika renderującego Prince XML z dobrym wsparciem CSS:
- Wsparcie dla Bootstrap 4/5: Zwykle dobre wsparcie dla układów Bootstrap
- Silnik Prince XML: Profesjonalny silnik renderujący HTML/CSS
- Funkcje CSS3: Mocne wsparcie dla flexbox i nowoczesnego CSS
- Ograniczenia JavaScript: Ograniczone wykonanie JavaScript w porównaniu z pełnymi przeglądarkami
- Zależność od chmury: Wymaga połączenia internetowego i wywołań API do wszystkich konwersji
Kluczowe uwagi dla DocRaptor:
- Oparte na API: Wszystkie konwersje realizowane są za pośrednictwem wywołań HTTP API na serwery DocRaptor
- Wymagany Internet: Nie można generować PDF-ów offline ani w środowiskach odizolowanych
- Ceny za dokument: W przeciwieństwie do licencji na programistę IronPDF, DocRaptor pobiera opłaty za dokument
- Prywatność danych: Zawartość HTML wysyłana na zewnętrzne serwery do przetwarzania
- Koszty przy dużym obciążeniu: Aplikacje o dużym wolumenie mogą ponosić znaczne bieżące koszty API
Wpływ na rozwój: Mimo że DocRaptor dobrze radzi sobie z Bootstrap, architektura oparta na chmurze wprowadza rozważania operacyjne:
- Całe generowanie PDF-ów zależy od dostępności zewnętrznej usługi
- Koszty za dokument mogą szybko rosnąć przy wysokim obciążeniu
- Wrażliwa zawartość wymaga oceny polityk związanych z przetwarzaniem danych
- Latencja wprowadzana przez rundę sieciową dla każdej konwersji
Dla aplikacji wymagających przetwarzania lokalnego, możliwości offline lub generowania dokumentów o wysokim wolumenie, lokalny model przetwarzania IronPDF może oferować lepszą długoterminową wartość i kontrolę.
Dla najlepszych praktyk związanych z frameworkiem Bootstrap, zobacz artykuł Przewodnik po Bootstrap i Flexbox CSS.
Ceny i Licencjonowanie: IronPDF vs. DocRaptor
IronPDF
IronPDF oferuje różne poziomy i dodatkowe funkcje do zakupu licencji. Deweloperzy mogą również kupić Iron Suite, który daje dostęp do wszystkich produktów Iron Software w cenie dwóch. Jeśli nie jesteś gotowy kupić licencji, IronPDF oferuje bezpłatną wersję próbną, abyś mógł zapoznać się ze wszystkimi funkcjami przed zdecydowaniem się na zakup licencji.
Ceny (stan na 2025):
-
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. Ceny dostępne na żądanie.
-
Plus License: Wspierająca trzech deweloperów, trzy lokalizacje i trzy projekty, jest to następny krok w górę od wersji Lite i kosztuje $1,199. 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 za $2,399. Oferuje te same kanały wsparcia, co poprzednie poziomy, ale również oferuje wsparcie przy udostępnianiu ekranu.
-
Redystrybucja bez opłat licencyjnych: Licencjonowanie IronPDF oferuje również zakres redystrybucji bez opłat licencyjnych za dodatkowe $2,399
-
Bezprzerwowe wsparcie produktowe: IronPDF oferuje dostęp do bieżących aktualizacji produktów, aktualizacji funkcji zabezpieczeń i wsparcia od swojego zespołu inżynierskiego za $1,199 rocznie lub jednorazowy zakup za $2,399 na 5-letnie pokrycie.
- Iron Suite: Za $1,498, otrzymujesz dostęp do wszystkich produktów Iron Software, w tym IronPDF, IronOCR, IronWord, IronXL, IronBarcode, IronQR, IronZIP, IronPrint i IronWebScraper.

DocRaptor
DocRaptor oferuje kilka opcji cenowych opartych na użytkowaniu. Początkowa cena to $15 miesięcznie, co jest oparte na użytkowaniu, co oznacza, że koszt rośnie wraz z ilością generowanych dokumentów. Oferują również bezpłatną próbę, aby przetestować usługę przed podjęciem decyzji o płatnym planie.
Dokumentacja i Wsparcie: IronPDF vs. DocRaptor
IronPDF
IronPDF doskonale radzi sobie w dostarczaniu obszernej dokumentacji i wsparcia:
- 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ń.
- Dokumentacja API: Oferuje dokumentację API, abyś mógł w pełni korzystać z tego, co nasze narzędzia mają do zaoferowania.
Aby uzyskać więcej informacji, zapoznaj się z obszerną dokumentacją IronPDF i odwiedź Kanał YouTube Iron Software.
DocRaptor
- Dokumentacja API: Szczegółowy przewodnik integracji DocRaptor z różnymi językami programowania, obejmujący zarówno generowanie PDF, jak i Excel.
- Przewodniki na start: Krok po kroku samouczki, które pomogą nowym użytkownikom skonfigurować i korzystać z DocRaptor do konwersji HTML na PDF.
- Biblioteki transakcyjne: Przykłady kodu i biblioteki dla popularnych języków, w tym Java, C#, Python, PHP, Ruby i Node.js.
- Wsparcie e-mail: Dostępne dla pomocy technicznej lub zapytań związanych z usługą.
Wnioski
Podsumowując, zarówno IronPDF, jak i DocRaptor oferują solidne rozwiązania do generowania PDF-ów z HTML-a, ale kierują się do różnych odbiorców i potrzeb projektów. IronPDF wyróżnia się swoją bezproblemową integracją z środowiskami .NET, oferując szeroki zakres opcji dostosowywania i przetwarzania offline. Jest idealny dla deweloperów pracujących w ramach .NET, którzy potrzebują precyzyjnej kontroli nad tworzeniem i przetwarzaniem PDF-ów. Z drugiej strony, DocRaptor wyróżnia się modelem opartym na chmurze, zapewniając zgodność ze standardami PDF/A i prostym API do użytku międzyplatformowego, co czyni go doskonałym wyborem dla projektów, które wymagają niezawodnego, skalowanego generowania dokumentów w wielu językach programowania.
Ostatecznie, twój wybór między IronPDF i DocRaptor powinien zależeć od twojego stosu technologicznego, poziomu potrzebnej kontroli i preferencji rozwiązania chmurowego lub stacjonarnego.
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.
Jakie sa zalety korzystania z biblioteki .NET do generowania PDF?
Korzystanie z biblioteki .NET, takiej jak IronPDF, do generowania PDF pozwala na bezproblemowa integracje z aplikacjami .NET. Oferuje ona wszechstronne funkcje do tworzenia, edytowania i zarzadzania PDF, a takze obsluge roznych wersji .NET i systemow operacyjnych.
Czy moge edytowac istniejacy PDF za pomoca narzedzia PDF .NET?
Tak, z IronPDF mozna edytowac istniejace PDF, dodajac nowe tresci, modyfikujac tekst, wstawiajac obrazy lub stosujac adnotacje za pomoca bogatego zestawu API.
Czy mozliwe jest zabezpieczanie PDF za pomoca biblioteki PDF .NET?
IronPDF pozwala zabezpieczyc PDF za pomoca szyfrowania i podpisow cyfrowych, co zapewnia zwiekszona bezpieczenstwo dokumentu i autentycznosc.
Jaka jest roznica miedzy przetwarzaniem PDF w chmurze a przetwarzaniem offline?
Przetwarzanie PDF w chmurze, tak jak DocRaptor, wymaga polaczenia z Internetem i wykonuje zadania za pomoca API w chmurze. Przetwarzanie offline, takie jak w przypadku IronPDF, pozwala generowac i manipulowac PDF bezposrednio w lokalnym srodowisku bez zaleznosci od internetu.
Jak DocRaptor obsluguje generowanie PDF dla aplikacji webowych?
DocRaptor wykorzystuje podejscie API oparte na chmurze, wymagajac od deweloperow korzystania z klucza API do konwersji HTML na PDF w aplikacjach webowych, z przetwarzaniem realizowanym za pomoca silnika PDF Prince.
Jakie platformy wspiera IronPDF dla generowania PDF?
IronPDF jest kompatybilny z rozmaitymi platformami, w tym z Windows, Linux, macOS, Docker, Azure i AWS. Obsluguje aplikacje .NET Core, .NET Standard i .NET Framework.
Czy moge konwertowac pliki DOCX na PDF za pomoca biblioteki PDF .NET?
Tak, IronPDF zapewnia prosty proces konwersji plikow DOCX na PDF bez potrzeby korzystania z zewnetrznych bibliotek, oferujac bezproblemowe doswiadczenie dla deweloperow .NET.
Jakie sa kluczowe funkcje IronPDF dla rozwoju .NET?
Kluczowe funkcje IronPDF obejmuja konwersje HTML na PDF, edycje PDF, zabezpieczanie dokumentow szyfrowaniem, podpis cyfrowy, szczegolowe stemplowanie oraz integracje z aplikacjami ASP.NET.
Czy IronPDF nadaje sie do przetwarzania PDF na duza skale?
Tak, IronPDF jest zaprojektowany do skutecznego przetwarzania PDF na duza skale, co czyni go odpowiednim dla aplikacji enterprise wymagajacych odpornych i skalowalnych rozwiazan do zarzadzania dokumentami.



