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

Porównanie IronPDF i HiQPdf C#

Przegląd IronPDF i HiQPdf

Dla programistów działających z .NET, znalezienie właściwego rozwiązania PDF jest kluczowe dla tworzenia aplikacji bogatych w funkcje, a w dzisiejszej nowoczesnej erze trudno znaleźć odpowiednie narzędzie dla swoich potrzeb przy rosnącej liczbie produktów oferujących technologię konwersji PDF. W tym porównaniu ocenimy IronPDF i HiQPdf, dwie popularne biblioteki HTML-do-PDF używane w projektach .NET. Chociaż obie biblioteki oferują solidne możliwości generacji PDF, IronPDF wyróżnia się dzięki bardziej wszechstronnym funkcjom, zgodności międzyplatformowej i intuicyjnemu API.

Czy szukasz zaawansowanych opcji edycji, wsparcia międzyplatformowego czy łatwości użytkowania, to porównanie obok siebie IronPDF i HiQPdf pomoże podjąć świadomą decyzję.

Kluczowe funkcje w skrócie

IronPDF to wszechstronna biblioteka PDF dla C# i .NET, umożliwiająca płynne generowanie, edycję i manipulację PDF. Obsługując .NET 8, 7, 6 i Core, jest wyposażony w bogaty zestaw narzędzi dla programistów do obsługi wszystkiego, od konwersji HTML na PDF po zaawansowane opcje zabezpieczeń, takie jak szyfrowanie i podpisy cyfrowe. Dzięki IronPDF można dodawać tekst lub nagłówki HTML do każdej strony PDF, używać czcionek internetowych do lepszego dostosowywania tekstu, wyodrębniać tekst, tworzyć stylowe dokumenty PDF i wiele więcej!

HiQPdf, z kolei, koncentruje się głównie na konwersji HTML do PDF, oferując solidne wsparcie dla CSS3, JavaScript, SVG i elementów Canvas. Chociaż zapewnia niezawodne generowanie PDF, HiQPdf brak niektórych zaawansowanych funkcji i elastyczności, które oferuje IronPDF, szczególnie jeśli chodzi o zgodność międzyplatformową i szczegółową edycję dokumentów.

Porównanie kluczowych funkcji: Funkcjonalność PDF w IronPDF vs. HiQPdf

Funkcje IronPDF

  • Konwersja PDF: IronPDF może skonwertować HTML na PDF, z pełnym wsparciem dla nowoczesnych standardów internetowych, co zapewnia, że IronPDF będzie konsekwentnie zwracać idealne pod względem pikseli PDF z twojej strony HTML lub zawartości. 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.

Funkcje HiQPdf:

  • Konwersja HTML na PDF: Wspiera HTML5, CSS3, JavaScript, SVG i elementy canvas. HiQPdf jest zdolny obsłużyć złożone układy stron z precyzyjną wiernością.
  • Wykonywanie JavaScript w PDF: Uruchamia JavaScript wewnątrz pliku PDF po konwersji, umożliwiając interaktywne funkcje.
  • Adnotacje i zakładki: Dodaje standardowe adnotacje PDF, takie jak komentarze i podkreślenia.
  • Wsparcie dla niestandardowych rozmiarów papieru: Oferuje opcje definiowania niestandardowych rozmiarów papieru podczas tworzenia PDF.
  • Podstawowa ochrona hasłem: Zabezpiecza PDF za pomocą podstawowych opcji hasła do ograniczenia dostępu i modyfikacji.
  • Atrybuty CSS łamania stron: Kontroluj łamanie stron w generowanych dokumentach PDF używając właściwości CSS 'page-break-before:always'.
  • Łączenie i dzielenie PDF: Łączy wiele PDF w jeden dokument lub dzieli duże PDF na mniejsze pliki dla lepszej zarządzalności.

IronPDF posiada szerszy zestaw funkcji, oferując bardziej zaawansowaną edycję PDF, zabezpieczenia i zgodność międzyplatformową, co daje mu przewagę nad HiQPdf.

Kompatybilność między platformami

Jednym z kluczowych wyróżników pomiędzy IronPDF a HiQPdf jest zgodność międzyplatformowa. IronPDF oferuje płynne wsparcie dla Windows, Linux i macOS, co czyni to doskonałym wyborem dla programistów pracujących w różnorodnych środowiskach. Jest również kompatybilny z Docker, Azure, AWS i głównymi wersjami .NET, w tym .NET 8, 7, 6 i .NET Core.

HiQPdf, choć funkcjonalny, ma bardziej ograniczone wsparcie platformy, koncentrując się głównie na środowiskach Windows.

Porównanie najważniejszych funkcji z przykładami kodu pomiędzy IronPDF vs. HiQPdf

Konwersja HTML do PDF

IronPDF:

using IronPdf;

// Create a new PDF renderer
var renderer = new ChromePdfRenderer();

// Render HTML to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");

// Render HTML to PDF with assets
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
using IronPdf;

// Create a new PDF renderer
var renderer = new ChromePdfRenderer();

// Render HTML to PDF
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
pdf.SaveAs("output.pdf");

// Render HTML to PDF with assets
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Imports IronPdf

' Create a new PDF renderer
Private renderer = New ChromePdfRenderer()

' Render HTML to PDF
Private pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
pdf.SaveAs("output.pdf")

' Render HTML to PDF with assets
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
$vbLabelText   $csharpLabel

HiQPdf:

// Create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();

// Convert HTML code to a PDF file
htmlToPdfConverter.ConvertHtmlToFile("<b>Hello World</b>", null, "result.pdf");
// Create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();

// Convert HTML code to a PDF file
htmlToPdfConverter.ConvertHtmlToFile("<b>Hello World</b>", null, "result.pdf");
' Create the HTML to PDF converter
Dim htmlToPdfConverter As New HtmlToPdf()

' Convert HTML code to a PDF file
htmlToPdfConverter.ConvertHtmlToFile("<b>Hello World</b>", Nothing, "result.pdf")
$vbLabelText   $csharpLabel

Dla konwersji HTML na PDF, IronPDF oferuje prostą metodę przez użycie ChromePdfRenderer do renderowania zawartości HTML na PDF, bez względu na to, czy pracujesz z dokumentami HTML, łańcuchami czy URL-ami. IronPDF wspiera również zaawansowane scenariusze, takie jak renderowanie HTML z lokalnymi zasobami, takimi jak obrazy. HiQPdf, z kolei, używa klasy HtmlToPdf, gdzie zawartość HTML jest bezpośrednio konwertowana na plik PDF z bardziej podstawową konfiguracją. Obie biblioteki sprawnie obsługują konwersję HTML na PDF, ale IronPDF oferuje dodatkową elastyczność w zakresie obsługi zasobów.

Szyfrowanie dokumentów PDF

Przykład IronPDF:

using IronPdf;

// Load an existing PDF
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");

// Set metadata and remove existing passwords
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;

// Update 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;

// Set a new password and save the document
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
using IronPdf;

// Load an existing PDF
var pdf = PdfDocument.FromFile("encrypted.pdf", "password");

// Set metadata and remove existing passwords
pdf.MetaData.Author = "Satoshi Nakamoto";
pdf.MetaData.Keywords = "SEO, Friendly";
pdf.MetaData.ModifiedDate = DateTime.Now;

// Update 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;

// Set a new password and save the document
pdf.Password = "my-password";
pdf.SaveAs("secured.pdf");
Imports IronPdf

' Load an existing PDF
Private pdf = PdfDocument.FromFile("encrypted.pdf", "password")

' Set metadata and remove existing passwords
pdf.MetaData.Author = "Satoshi Nakamoto"
pdf.MetaData.Keywords = "SEO, Friendly"
pdf.MetaData.ModifiedDate = DateTime.Now

' Update 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

' Set a new password and save the document
pdf.Password = "my-password"
pdf.SaveAs("secured.pdf")
$vbLabelText   $csharpLabel

HiQPdf:

// Create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();

// Set encryption mode and level
htmlToPdfConverter.Document.Security.EncryptionMode = GetSelectedEncryptionMode();
htmlToPdfConverter.Document.Security.EncryptionLevel = GetSelectedEncryptionLevel();

// Set open and permissions passwords
htmlToPdfConverter.Document.Security.OpenPassword = textBoxOpenPassword.Text;
htmlToPdfConverter.Document.Security.PermissionsPassword = textBoxPermissionsPassword.Text;

// Set PDF document permissions
htmlToPdfConverter.Document.Security.AllowPrinting = checkBoxAllowPrint.Checked;
htmlToPdfConverter.Document.Security.AllowCopyContent = checkBoxAllowCopy.Checked;
htmlToPdfConverter.Document.Security.AllowEditContent = checkBoxAllowEdit.Checked;
htmlToPdfConverter.Document.Security.AllowEditAnnotations = checkBoxAllowEditAnnotations.Checked;
htmlToPdfConverter.Document.Security.AllowFormFilling = checkBoxAllowFillForms.Checked;

// Set default permissions password if necessary
if (htmlToPdfConverter.Document.Security.PermissionsPassword == string.Empty &&
    (htmlToPdfConverter.Document.Security.OpenPassword != string.Empty || !IsDefaultPermission(htmlToPdfConverter.Document.Security)))
{
    htmlToPdfConverter.Document.Security.PermissionsPassword = "admin";
}
// Create the HTML to PDF converter
HtmlToPdf htmlToPdfConverter = new HtmlToPdf();

// Set encryption mode and level
htmlToPdfConverter.Document.Security.EncryptionMode = GetSelectedEncryptionMode();
htmlToPdfConverter.Document.Security.EncryptionLevel = GetSelectedEncryptionLevel();

// Set open and permissions passwords
htmlToPdfConverter.Document.Security.OpenPassword = textBoxOpenPassword.Text;
htmlToPdfConverter.Document.Security.PermissionsPassword = textBoxPermissionsPassword.Text;

// Set PDF document permissions
htmlToPdfConverter.Document.Security.AllowPrinting = checkBoxAllowPrint.Checked;
htmlToPdfConverter.Document.Security.AllowCopyContent = checkBoxAllowCopy.Checked;
htmlToPdfConverter.Document.Security.AllowEditContent = checkBoxAllowEdit.Checked;
htmlToPdfConverter.Document.Security.AllowEditAnnotations = checkBoxAllowEditAnnotations.Checked;
htmlToPdfConverter.Document.Security.AllowFormFilling = checkBoxAllowFillForms.Checked;

// Set default permissions password if necessary
if (htmlToPdfConverter.Document.Security.PermissionsPassword == string.Empty &&
    (htmlToPdfConverter.Document.Security.OpenPassword != string.Empty || !IsDefaultPermission(htmlToPdfConverter.Document.Security)))
{
    htmlToPdfConverter.Document.Security.PermissionsPassword = "admin";
}
' Create the HTML to PDF converter
Dim htmlToPdfConverter As New HtmlToPdf()

' Set encryption mode and level
htmlToPdfConverter.Document.Security.EncryptionMode = GetSelectedEncryptionMode()
htmlToPdfConverter.Document.Security.EncryptionLevel = GetSelectedEncryptionLevel()

' Set open and permissions passwords
htmlToPdfConverter.Document.Security.OpenPassword = textBoxOpenPassword.Text
htmlToPdfConverter.Document.Security.PermissionsPassword = textBoxPermissionsPassword.Text

' Set PDF document permissions
htmlToPdfConverter.Document.Security.AllowPrinting = checkBoxAllowPrint.Checked
htmlToPdfConverter.Document.Security.AllowCopyContent = checkBoxAllowCopy.Checked
htmlToPdfConverter.Document.Security.AllowEditContent = checkBoxAllowEdit.Checked
htmlToPdfConverter.Document.Security.AllowEditAnnotations = checkBoxAllowEditAnnotations.Checked
htmlToPdfConverter.Document.Security.AllowFormFilling = checkBoxAllowFillForms.Checked

' Set default permissions password if necessary
If htmlToPdfConverter.Document.Security.PermissionsPassword = String.Empty AndAlso (htmlToPdfConverter.Document.Security.OpenPassword <> String.Empty OrElse Not IsDefaultPermission(htmlToPdfConverter.Document.Security)) Then
	htmlToPdfConverter.Document.Security.PermissionsPassword = "admin"
End If
$vbLabelText   $csharpLabel

Jeśli chodzi o szyfrowanie dokumentów PDF, IronPDF oferuje prostą metodę dzięki swojemu API. Programiści mogą usuwać istniejące hasła, ustawiać nowe ustawienia zabezpieczeń, ograniczać działania użytkowników, takie jak adnotacje, kopiowanie i wklejanie, wprowadzanie danych formularza, oraz ustawić dokument na tryb tylko do odczytu. IronPDF pozwala na modyfikację metadanych, ochronę hasłem, jak również na precyzyjną kontrolę nad uprawnieniami do drukowania.

HiQPdf również oferuje szyfrowanie PDF, ale z nieco innym procesem, koncentrującym się na ustawieniu trybu szyfrowania, poziomu, hasła otwarcia i hasła uprawnień. Pozwala to na szczegółową kontrolę nad uprawnieniami do dokumentu, takimi jak drukowanie, kopiowanie treści i edytowanie, z domyślnymi uprawnieniami, gdy nie są one wyraźnie ustawione. Obie biblioteki oferują wszechstronne ustawienia zabezpieczeń, ale IronPDF oferuje dodatkowe funkcje, takie jak dostosowywanie metadanych i łatwiejsze przetwarzanie trybu tylko do odczytu dokumentu.

Redagowanie treści dokumentów PDF

Przykład IronPDF:

using IronPdf;

// Load an existing PDF
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");

// Redact specific text
pdf.RedactTextOnAllPages("are");

// Save the updated PDF
pdf.SaveAs("redacted.pdf");
using IronPdf;

// Load an existing PDF
PdfDocument pdf = PdfDocument.FromFile("novel.pdf");

// Redact specific text
pdf.RedactTextOnAllPages("are");

// Save the updated PDF
pdf.SaveAs("redacted.pdf");
Imports IronPdf

' Load an existing PDF
Private pdf As PdfDocument = PdfDocument.FromFile("novel.pdf")

' Redact specific text
pdf.RedactTextOnAllPages("are")

' Save the updated PDF
pdf.SaveAs("redacted.pdf")
$vbLabelText   $csharpLabel

HiQPdf nie oferuje w swoich listach funkcjonalności redakcji. Skupia się głównie na generowaniu, konwersji i manipulacji PDF, takich jak tworzenie PDF z HTML.

IronPDF oferuje prostą metodę usuwania treści z stron dokumentów PDF. Na przykład, programiści mogą łatwo usunąć określony tekst w całym dokumencie przy użyciu kilku linijek kodu, jak pokazano w powyższym przykładzie kodu. W porównaniu, HiQPdf brak wyraźnej funkcjonalności redakcji w swoim zestawie funkcji, skupiając się głównie na generowaniu, konwersji i manipulacji PDF, takich jak tworzenie PDF z HTML.

Podpisywanie Plików PDF Cyfrowo

Przykład IronPDF:

using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");

// Load a digital certificate and sign the PDF
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
var sig = new PdfSignature(cert);
pdf.Sign(sig);

// Save the signed PDF
pdf.SaveAs("signed.pdf");
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;

// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>foo</h1>");

// Load a digital certificate and sign the PDF
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable);
var sig = new PdfSignature(cert);
pdf.Sign(sig);

// Save the signed PDF
pdf.SaveAs("signed.pdf");
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates

' Create a PDF from HTML
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>foo</h1>")

' Load a digital certificate and sign the PDF
Private cert As New X509Certificate2("IronSoftware.pfx", "123456", X509KeyStorageFlags.Exportable)
Private sig = New PdfSignature(cert)
pdf.Sign(sig)

' Save the signed PDF
pdf.SaveAs("signed.pdf")
$vbLabelText   $csharpLabel

HiQPdf:

// Create a PDF document
PdfDocument document = new PdfDocument();

// Add a page to the document
PdfPage page1 = document.AddPage();

// Create fonts for text
Font sysFont = new Font("Times New Roman", 10, System.Drawing.GraphicsUnit.Point);
PdfFont pdfFontEmbed = document.CreateFont(sysFont, true);

// Add a title to the PDF document
PdfText titleTextTransImage = new PdfText(5, 20, "Click the image below to open the digital signature", pdfFontEmbed);
titleTextTransImage.ForeColor = Color.Navy;
PdfLayoutInfo textLayoutInfo = page1.Layout(titleTextTransImage);

// Layout a PNG image with alpha transparency
PdfImage transparentPdfImage = new PdfImage(5, 50, Server.MapPath("~") + @"\DemoFiles\Images\HiQPdfLogo_small.png");
PdfLayoutInfo imageLayoutInfo = page1.Layout(transparentPdfImage);

// Apply digital signature
PdfCertificatesCollection pdfCertificates = PdfCertificatesCollection.FromFile(Server.MapPath("~") + @"\DemoFiles\Pfx\hiqpdf.pfx", "hiqpdf");
PdfDigitalSignature digitalSignature = new PdfDigitalSignature(pdfCertificates[0]);
digitalSignature.SigningReason = "My signing reason";
digitalSignature.SigningLocation = "My signing location";
digitalSignature.SignerContactInfo = "My contact info";
document.AddDigitalSignature(digitalSignature, imageLayoutInfo.LastPdfPage, imageLayoutInfo.LastPageRectangle);

try
{
    // Write the PDF document to a memory buffer
    byte[] pdfBuffer = document.WriteToMemory();

    // Inform the browser about the binary data format
    HttpContext.Current.Response.AddHeader("Content-Type", "application/pdf");

    // Let the browser know how to open the PDF document and the file name
    HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment; filename=DigitalSignatures.pdf; size={0}",
                pdfBuffer.Length.ToString()));

    // Write the PDF buffer to HTTP response
    HttpContext.Current.Response.BinaryWrite(pdfBuffer);

    // End the HTTP response
    HttpContext.Current.Response.End();
}
finally
{
    document.Close();
}
// Create a PDF document
PdfDocument document = new PdfDocument();

// Add a page to the document
PdfPage page1 = document.AddPage();

// Create fonts for text
Font sysFont = new Font("Times New Roman", 10, System.Drawing.GraphicsUnit.Point);
PdfFont pdfFontEmbed = document.CreateFont(sysFont, true);

// Add a title to the PDF document
PdfText titleTextTransImage = new PdfText(5, 20, "Click the image below to open the digital signature", pdfFontEmbed);
titleTextTransImage.ForeColor = Color.Navy;
PdfLayoutInfo textLayoutInfo = page1.Layout(titleTextTransImage);

// Layout a PNG image with alpha transparency
PdfImage transparentPdfImage = new PdfImage(5, 50, Server.MapPath("~") + @"\DemoFiles\Images\HiQPdfLogo_small.png");
PdfLayoutInfo imageLayoutInfo = page1.Layout(transparentPdfImage);

// Apply digital signature
PdfCertificatesCollection pdfCertificates = PdfCertificatesCollection.FromFile(Server.MapPath("~") + @"\DemoFiles\Pfx\hiqpdf.pfx", "hiqpdf");
PdfDigitalSignature digitalSignature = new PdfDigitalSignature(pdfCertificates[0]);
digitalSignature.SigningReason = "My signing reason";
digitalSignature.SigningLocation = "My signing location";
digitalSignature.SignerContactInfo = "My contact info";
document.AddDigitalSignature(digitalSignature, imageLayoutInfo.LastPdfPage, imageLayoutInfo.LastPageRectangle);

try
{
    // Write the PDF document to a memory buffer
    byte[] pdfBuffer = document.WriteToMemory();

    // Inform the browser about the binary data format
    HttpContext.Current.Response.AddHeader("Content-Type", "application/pdf");

    // Let the browser know how to open the PDF document and the file name
    HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment; filename=DigitalSignatures.pdf; size={0}",
                pdfBuffer.Length.ToString()));

    // Write the PDF buffer to HTTP response
    HttpContext.Current.Response.BinaryWrite(pdfBuffer);

    // End the HTTP response
    HttpContext.Current.Response.End();
}
finally
{
    document.Close();
}
' Create a PDF document
Dim document As New PdfDocument()

' Add a page to the document
Dim page1 As PdfPage = document.AddPage()

' Create fonts for text
Dim sysFont As New Font("Times New Roman", 10, System.Drawing.GraphicsUnit.Point)
Dim pdfFontEmbed As PdfFont = document.CreateFont(sysFont, True)

' Add a title to the PDF document
Dim titleTextTransImage As New PdfText(5, 20, "Click the image below to open the digital signature", pdfFontEmbed)
titleTextTransImage.ForeColor = Color.Navy
Dim textLayoutInfo As PdfLayoutInfo = page1.Layout(titleTextTransImage)

' Layout a PNG image with alpha transparency
Dim transparentPdfImage As New PdfImage(5, 50, Server.MapPath("~") & "\DemoFiles\Images\HiQPdfLogo_small.png")
Dim imageLayoutInfo As PdfLayoutInfo = page1.Layout(transparentPdfImage)

' Apply digital signature
Dim pdfCertificates As PdfCertificatesCollection = PdfCertificatesCollection.FromFile(Server.MapPath("~") & "\DemoFiles\Pfx\hiqpdf.pfx", "hiqpdf")
Dim digitalSignature As New PdfDigitalSignature(pdfCertificates(0))
digitalSignature.SigningReason = "My signing reason"
digitalSignature.SigningLocation = "My signing location"
digitalSignature.SignerContactInfo = "My contact info"
document.AddDigitalSignature(digitalSignature, imageLayoutInfo.LastPdfPage, imageLayoutInfo.LastPageRectangle)

Try
	' Write the PDF document to a memory buffer
	Dim pdfBuffer() As Byte = document.WriteToMemory()

	' Inform the browser about the binary data format
	HttpContext.Current.Response.AddHeader("Content-Type", "application/pdf")

	' Let the browser know how to open the PDF document and the file name
	HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment; filename=DigitalSignatures.pdf; size={0}", pdfBuffer.Length.ToString()))

	' Write the PDF buffer to HTTP response
	HttpContext.Current.Response.BinaryWrite(pdfBuffer)

	' End the HTTP response
	HttpContext.Current.Response.End()
Finally
	document.Close()
End Try
$vbLabelText   $csharpLabel

Przy cyfrowym podpisywaniu plików PDF, IronPDF oferuje prostą metodę, umożliwiając programistom tworzenie dokumentu PDF ze zawartości HTML, podpisanie go certyfikatem cyfrowym i zapisanie przy minimalnej ilości kodu. HiQPdf, z kolei, wymaga bardziej skomplikowanej konfiguracji, gdzie dokument PDF jest tworzony programatycznie poprzez dodanie strony i osadzenie czcionek. Tytuł i obraz są dołączane, następnie stosuje się podpis cyfrowy przy użyciu określonego certyfikatu oraz szczegółowe metadane, takie jak powód podpisania i lokalizacja.

Adresowanie własnych znaków wodnych

Przykład IronPDF:

using IronPdf;

// Create a PDF renderer and render URL
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

// Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

// Save the PDF
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
using IronPdf;

// Create a PDF renderer and render URL
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");

// Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center);

// Save the PDF
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf

' Create a PDF renderer and render URL
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")

' Apply a watermark to the PDF
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 30, IronPdf.Editing.VerticalAlignment.Middle, IronPdf.Editing.HorizontalAlignment.Center)

' Save the PDF
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
$vbLabelText   $csharpLabel

HiQPdf:

Brak wbudowanego dedykowanego narzędzia do znakowania wodnego.

Podczas dodawania niestandardowych znaków wodnych, IronPDF zapewnia prostą metodę z wbudowanym wsparciem dla dodawania znaków wodnych do PDF. W przykładzie, URL jest renderowany jako PDF, a na środku strony stosuje się niestandardowy znak wodny z HTMLowym stylizowaniem. Umożliwia to łatwą modyfikację treści, stylu i rozmieszczenia znaku wodnego. W porównaniu, HiQPdf brak wbudowanego, dedykowanego narzędzia do znakowania wodnego, co czyni to mniej wygodnym dla programistów potrzebujących tej funkcjonalności bezpośrednio w bibliotece.

Znakowanie obrazów i tekstu w PDF

Przykład IronPDF (Znakowanie tekstu):

using IronPdf;
using IronPdf.Editing;

// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create and apply a text stamp
TextStamper textStamper = new TextStamper()
{
    Text = "Text Stamper!",
    FontFamily = "Bungee Spice",
    UseGoogleFont = true,
    FontSize = 30,
    IsBold = true,
    IsItalic = true,
    VerticalAlignment = VerticalAlignment.Top
};

pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
using IronPdf;
using IronPdf.Editing;

// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create and apply a text stamp
TextStamper textStamper = new TextStamper()
{
    Text = "Text Stamper!",
    FontFamily = "Bungee Spice",
    UseGoogleFont = true,
    FontSize = 30,
    IsBold = true,
    IsItalic = true,
    VerticalAlignment = VerticalAlignment.Top
};

pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
Imports IronPdf
Imports IronPdf.Editing

' Create a PDF from HTML
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")

' Create and apply a text stamp
Private textStamper As New TextStamper() With {
	.Text = "Text Stamper!",
	.FontFamily = "Bungee Spice",
	.UseGoogleFont = True,
	.FontSize = 30,
	.IsBold = True,
	.IsItalic = True,
	.VerticalAlignment = VerticalAlignment.Top
}

pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
$vbLabelText   $csharpLabel

Przykład IronPDF (Znakowanie obrazów):

using IronPdf;
using IronPdf.Editing;

// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create and apply an image stamp
ImageStamper imageStamper = new ImageStamper(new Uri("/img/svgs/iron-pdf-logo.svg"))
{
    VerticalAlignment = VerticalAlignment.Top
};

pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
using IronPdf;
using IronPdf.Editing;

// Create a PDF from HTML
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");

// Create and apply an image stamp
ImageStamper imageStamper = new ImageStamper(new Uri("/img/svgs/iron-pdf-logo.svg"))
{
    VerticalAlignment = VerticalAlignment.Top
};

pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing

' Create a PDF from HTML
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")

' Create and apply an image stamp
Private imageStamper As New ImageStamper(New Uri("/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}

pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")
$vbLabelText   $csharpLabel

HiQPdf:

HiQPdf nie ma dedykowanego narzędzia do bezpośredniego dodawania tekstu lub obrazów jako znaków w dokumentach PDF. Jednakże, pozwala na dodawanie tekstu, obrazów i obiektów graficznych do PDF, co może spełnić podobny cel. Można to osiągnąć tworząc obiekty tekstowe i obrazowe w PDF przy użyciu dostępnych w bibliotece funkcji.

IronPDF oferuje dedykowane klasy do znakowania tekstu i obrazów bezpośrednio na dowolnym istniejącym dokumencie PDF lub nowo utworzonym, co czyni proces prostym dla programistów. W porównaniu, HiQPdf brak dedykowanego narzędzia do znakowania; zamiast tego pozwala użytkownikom na dodawanie obiektów tekstowych i obrazowych w PDF, wymagając bardziej manualnego podejścia do osiągnięcia podobnych rezultatów.

Konwersja DOCX na PDF

Przykład IronPDF:

using IronPdf;

// Render DOCX to PDF
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the converted PDF
pdf.SaveAs("pdfFromDocx.pdf");
using IronPdf;

// Render DOCX to PDF
DocxToPdfRenderer renderer = new DocxToPdfRenderer();
PdfDocument pdf = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx");

// Save the converted PDF
pdf.SaveAs("pdfFromDocx.pdf");
Imports IronPdf

' Render DOCX to PDF
Private renderer As New DocxToPdfRenderer()
Private pdf As PdfDocument = renderer.RenderDocxAsPdf("Modern-chronological-resume.docx")

' Save the converted PDF
pdf.SaveAs("pdfFromDocx.pdf")
$vbLabelText   $csharpLabel

HiQPdf:

Jako że HiQPdf jest głównie biblioteką konwersji HTML do PDF, nie oferuje żadnych wbudowanych narzędzi do konwersji DOCX na PDF.

IronPDF oferuje bezpośrednie wsparcie dla konwersji DOCX na PDF za pomocą swojej klasy DocxToPdfRenderer, podczas gdy HiQPdf brak wbudowanych narzędzi do konwersji plików DOCX na PDF, koncentrując się zamiast tego na konwersji z HTML na PDF.

Podsumowanie Porównania Przykładów Kodów

Hiqpdf Html To Pdf Alternative 1 related to Podsumowanie Porównania Przykładów Kodów

Aby dowiedzieć się więcej o bogatym zestawie funkcji, jakie oferuje IronPDF, i zobaczyć je w akcji, zapoznaj się z przewodnikami how-to IronPDF, które szczegółowo analizują każdą funkcję, eksplorują, jak działają i dają ci umiejętności potrzebne do byćia ekspertem PDF.

Nowoczesny framework CSS i renderowanie Bootstrap

W miarę jak nowoczesne aplikacje webowe coraz częściej przyjmują frameworki CSS, takie jak Bootstrap, dla szybkiego rozwoju i spójnego projektowania UI, biblioteki generujące PDF muszą dokładnie zachować te układki frameworków, aby utrzymać profesjonalną jakość.

IronPDF: Pełne wsparcie dla Bootstrap i frameworków

Silnik renderujący Chromium firmy IronPDF zapewnia kompleksową obsługę wszystkich nowoczesnych frameworków CSS:

  • Bootstrap 5: Pełna obsługa flexbox i CSS Grid 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
  • Nowoczesne CSS3: Flexbox, Grid, niestandardowe właściwości, animacje, transformacje

Zatwierdzone z przykładami produkcyjnymi: Strona domowa Bootstrap i Szablony Bootstrap konwertowane z doskonałą dokładnością pikseli.

Przykład kodu: Lista postów na blogu z Bootstrap

using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapBlog = @"
<!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'>Latest Blog Posts</h1>

        <article class='card mb-4 shadow-sm'>
            <div class='row g-0'>
                <div class='col-md-4'>
                    <img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
                </div>
                <div class='col-md-8'>
                    <div class='card-body d-flex flex-column h-100'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <span class='badge bg-primary'>Technology</span>
                            <small class='text-muted'>March 15, 2025</small>
                        </div>
                        <h2 class='card-title h4'>The Future of Web Development</h2>
                        <p class='card-text flex-grow-1'>Exploring emerging trends in web development including serverless architecture, edge computing, and the evolution of JavaScript frameworks...</p>
                        <div class='mt-auto'>
                            <a href='#' class='btn btn-outline-primary'>Read More</a>
                        </div>
                    </div>
                </div>
            </div>
        </article>

        <article class='card mb-4 shadow-sm'>
            <div class='row g-0'>
                <div class='col-md-4'>
                    <img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
                </div>
                <div class='col-md-8'>
                    <div class='card-body d-flex flex-column h-100'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <span class='badge bg-success'>Tutorial</span>
                            <small class='text-muted'>March 10, 2025</small>
                        </div>
                        <h2 class='card-title h4'>Mastering Docker Containerization</h2>
                        <p class='card-text flex-grow-1'>A comprehensive guide to Docker containerization, from basics to advanced deployment strategies for production environments...</p>
                        <div class='mt-auto'>
                            <a href='#' class='btn btn-outline-primary'>Read More</a>
                        </div>
                    </div>
                </div>
            </div>
        </article>

        <nav aria-label='Blog pagination'>
            <ul class='pagination justify-content-center'>
                <li class='page-item disabled'>
                    <a class='page-link'>Previous</a>
                </li>
                <li class='page-item active'><a class='page-link' href='#'>1</a></li>
                <li class='page-item'><a class='page-link' href='#'>2</a></li>
                <li class='page-item'><a class='page-link' href='#'>3</a></li>
                <li class='page-item'>
                    <a class='page-link' href='#'>Next</a>
                </li>
            </ul>
        </nav>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapBlog);
pdf.SaveAs("blog-posts.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

string bootstrapBlog = @"
<!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'>Latest Blog Posts</h1>

        <article class='card mb-4 shadow-sm'>
            <div class='row g-0'>
                <div class='col-md-4'>
                    <img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
                </div>
                <div class='col-md-8'>
                    <div class='card-body d-flex flex-column h-100'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <span class='badge bg-primary'>Technology</span>
                            <small class='text-muted'>March 15, 2025</small>
                        </div>
                        <h2 class='card-title h4'>The Future of Web Development</h2>
                        <p class='card-text flex-grow-1'>Exploring emerging trends in web development including serverless architecture, edge computing, and the evolution of JavaScript frameworks...</p>
                        <div class='mt-auto'>
                            <a href='#' class='btn btn-outline-primary'>Read More</a>
                        </div>
                    </div>
                </div>
            </div>
        </article>

        <article class='card mb-4 shadow-sm'>
            <div class='row g-0'>
                <div class='col-md-4'>
                    <img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
                </div>
                <div class='col-md-8'>
                    <div class='card-body d-flex flex-column h-100'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <span class='badge bg-success'>Tutorial</span>
                            <small class='text-muted'>March 10, 2025</small>
                        </div>
                        <h2 class='card-title h4'>Mastering Docker Containerization</h2>
                        <p class='card-text flex-grow-1'>A comprehensive guide to Docker containerization, from basics to advanced deployment strategies for production environments...</p>
                        <div class='mt-auto'>
                            <a href='#' class='btn btn-outline-primary'>Read More</a>
                        </div>
                    </div>
                </div>
            </div>
        </article>

        <nav aria-label='Blog pagination'>
            <ul class='pagination justify-content-center'>
                <li class='page-item disabled'>
                    <a class='page-link'>Previous</a>
                </li>
                <li class='page-item active'><a class='page-link' href='#'>1</a></li>
                <li class='page-item'><a class='page-link' href='#'>2</a></li>
                <li class='page-item'><a class='page-link' href='#'>3</a></li>
                <li class='page-item'>
                    <a class='page-link' href='#'>Next</a>
                </li>
            </ul>
        </nav>
    </div>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(bootstrapBlog);
pdf.SaveAs("blog-posts.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

Dim bootstrapBlog 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'>Latest Blog Posts</h1>

        <article class='card mb-4 shadow-sm'>
            <div class='row g-0'>
                <div class='col-md-4'>
                    <img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
                </div>
                <div class='col-md-8'>
                    <div class='card-body d-flex flex-column h-100'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <span class='badge bg-primary'>Technology</span>
                            <small class='text-muted'>March 15, 2025</small>
                        </div>
                        <h2 class='card-title h4'>The Future of Web Development</h2>
                        <p class='card-text flex-grow-1'>Exploring emerging trends in web development including serverless architecture, edge computing, and the evolution of JavaScript frameworks...</p>
                        <div class='mt-auto'>
                            <a href='#' class='btn btn-outline-primary'>Read More</a>
                        </div>
                    </div>
                </div>
            </div>
        </article>

        <article class='card mb-4 shadow-sm'>
            <div class='row g-0'>
                <div class='col-md-4'>
                    <img src='https://via.placeholder.com/400x300' class='img-fluid rounded-start' alt='Blog post'>
                </div>
                <div class='col-md-8'>
                    <div class='card-body d-flex flex-column h-100'>
                        <div class='d-flex justify-content-between align-items-center mb-2'>
                            <span class='badge bg-success'>Tutorial</span>
                            <small class='text-muted'>March 10, 2025</small>
                        </div>
                        <h2 class='card-title h4'>Mastering Docker Containerization</h2>
                        <p class='card-text flex-grow-1'>A comprehensive guide to Docker containerization, from basics to advanced deployment strategies for production environments...</p>
                        <div class='mt-auto'>
                            <a href='#' class='btn btn-outline-primary'>Read More</a>
                        </div>
                    </div>
                </div>
            </div>
        </article>

        <nav aria-label='Blog pagination'>
            <ul class='pagination justify-content-center'>
                <li class='page-item disabled'>
                    <a class='page-link'>Previous</a>
                </li>
                <li class='page-item active'><a class='page-link' href='#'>1</a></li>
                <li class='page-item'><a class='page-link' href='#'>2</a></li>
                <li class='page-item'><a class='page-link' href='#'>3</a></li>
                <li class='page-item'>
                    <a class='page-link' href='#'>Next</a>
                </li>
            </ul>
        </nav>
    </div>
</body>
</html>"

Dim pdf = renderer.RenderHtmlAsPdf(bootstrapBlog)
pdf.SaveAs("blog-posts.pdf")
$vbLabelText   $csharpLabel

Wynik: Profesjonalna lista blogów z układami kart Bootstrap, wyrównaniem flexbox, komponentami znaczników i stronicowaniem — wszystko dokładnie wyrenderowane w PDF.

HiQPdf: Ograniczone wsparcie nowoczesnych frameworków

HiQPdf używa renderowania HTML opartego na WebKit z znacznymi ograniczeniami dla nowoczesnych frameworków CSS:

  • Silnik WebKit: Starsza wersja WebKit z niekompletną obsługą CSS3
  • Ograniczona Flexbox: Układki flexbox Bootstrap 4/5 mogą nie renderować się poprawnie
  • Brak CSS Grid: Nowoczesne systemy siatki nie są wspierane
  • Ograniczenie Bootstrap 3: Tylko starsze, bazujące na tabelach wersje Bootstrap działają niezawodnie
  • Ograniczenia JavaScript: Zredukowane wykonywanie JavaScript w porównaniu do nowoczesnych przeglądarek

Problemy zgłaszane przez programistów z HiQPdf:

  • Komponenty nawigacyjne Bootstrap renderują się z problemami z wyrównaniem
  • Układki kart oparte na flexbox nie wyświetlają się poprawnie
  • Narzędzia responsywne i punkty przerwania są ignorowane w wyniku PDF
  • Złożone komponenty Bootstrap wymagają znacznych obejść CSS

Wpływ na rozwój: Aplikacje używające Bootstrap 4+ wymagają znacznych dodatkowych prac z HiQPdf. Zespoły muszą albo utrzymywać równoległe uproszczone CSS dla generowania PDF (podwójne obciążenie konserwacją), ograniczać interfejs użytkownika do Bootstrap 3 (rezygnując z nowoczesnych funkcji) lub intensywnie testować i ręcznie naprawiać komponenty (czasochłonne i kruche).

Dla szczegółowego przewodnika po zgodności Bootstrap, zobacz Przewodnik Bootstrap i Flexbox CSS.

Dokumentacja i wsparcie: IronPDF vs. HiQPdf

Dokumentacja i wsparcie IronPDF

IronPDF oferuje przyjazne dla programistów doświadczenie dokumentacyjne. Jej solidna dokumentacja zapewnia, że programiści, niezależnie od poziomu zaawansowania, mogą efektywnie zintegrować IronPDF w swoich projektach. Niektóre kluczowe aspekty dokumentacji IronPDF to:

  • Przewodniki krok po kroku: Wyjątkowe samouczki dla każdej funkcji, zapewniające programistom jasną ścieżkę od początku do końca.
  • Wsparcie techniczne 24/5: Inżynierowie są dostępni, aby pomóc z wszelkimi pytaniami lub problemami w godzinach pracy, od poniedziałku do piątku.
  • Chat na żywo: Wsparcie w czasie rzeczywistym w celu rozwiązania pytań licencyjnych lub technicznych.
  • Wsparcie e-mail: Użytkownicy mogą skontaktować się w celu szczegółowych zapytań, a odpowiedź jest szybka i pomocna.
  • Dokumentacja API: Szczegółowa dokumentacja API z przykładami dla każdej metody i właściwości.
  • Przykłady kodu: Gotowe do użycia fragmenty kodu dla typowych zadań, takich jak HTML na PDF, szyfrowanie, znakowanie wodne i więcej.
  • Regularne aktualizacje: Dokumentacja jest często aktualizowana, aby odzwierciedlać zmiany w bibliotece i nowe funkcje.

Aby uzyskać więcej informacji, zapoznaj się z obszerną dokumentacją IronPDF i odwiedź Kanał YouTube Iron Software.

Dokumentacja i wsparcie HiQPdf

HiQPdf udostępnia podstawową dokumentację, która obejmuje większość jego kluczowych funkcji. Chociaż oferuje funkcje konwersji HTML do PDF oraz podstawowej edycji plików PDF, dokumentacja nie jest tak szczegółowa i wyczerpująca jak w przypadku IronPDF. Kluczowe aspekty dokumentacji HiQPdf obejmują:

  • Podstawowa dokumentacja API: Zawiera listę metod konwersji HTML do PDF oraz podstawowych operacji na plikach PDF.
  • Przykłady kodu: Ograniczone przykłady kodu dotyczące konwersji HTML do PDF oraz ustawień stron.
  • Minimalne wytyczne dotyczące wielopłatformowości: Skupia się głównie na środowiskach Windows, zawierając mniej wskazówek dotyczących wdrożeń wielopłatformowych.
  • Wsparcie e-mail: Głównie w sprawach dotyczących licencji i podstawowych pytań technicznych.
  • Ograniczone wsparcie na żywo: mniej opcji pomocy w czasie rzeczywistym.

Aby uzyskać więcej szczegółów technicznych na temat HiQPdf, użytkownicy muszą przeszukać dodatkowe zasoby lub fora zewnętrzne.

Ceny i licencje: IronPDF vs. HiQPdf

Ceny i licencje IronPDF

IronPDF ma różne poziomy i dodatkowe funkcje związane z zakupem licencji. Programiści mogą również kupić pakiet Iron Suite, który zapewnia dostęp do wszystkich produktów Iron Software w cenie dwóch. Jeśli nie jesteś gotowy na zakup licencji, IronPDF oferuje bezpłatną wersję próbną, dzięki której możesz zapoznać się ze wszystkimi funkcjami programu przed podjęciem decyzji o zakupie licencji.

Ceny (na kwiecień 2026):

  • Licencje wieczyste: Oferujemy szeroki wybór licencji wieczystych w zależności od wielkości zespołu, potrzeb projektowych i liczby lokalizacji. Każdy typ licencji obejmuje wsparcie e-mail.
  • Licencja Lite: Ta licencja kosztuje $999 i wspiera jednego programistę, jedno miejsce i jeden projekt.
  • Licencja Plus: Wspierająca trzech programistów, trzy lokalizacje i trzy projekty, to kolejny krok w górę od licencji Lite i kosztuje $1,499. Licencja Plus oferuje wsparcie na czacie i wsparcie telefoniczne oprócz podstawowego wsparcia e-mailowego.
  • Licencja Professional: Ta licencja jest odpowiednia dla większych zespołów, wspierając dziesięciu programistów, dziesięć lokalizacji i dziesięć projektów za $2,999. 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,999
  • Nieprzerwane wsparcie techniczne: IronPDF oferuje dostęp do bieżących aktualizacji produktu, aktualizacji funkcji zabezpieczeń oraz wsparcia ze strony zespołu inżynierów za 999 USD rocznie lub jednorazową opłatą w wysokości 1999 USD za 5-letnią subskrypcję.
  • Iron Suite: For $2,998, you get access to all Iron Software products including IronPDF, IronOCR, IronWord, IronXL, IronBarcode, IronQR, IronZIP, IronPrint, and IronWebScraper.

Hiqpdf Html To Pdf Alternative 2 related to Ceny i licencje IronPDF

Ceny i licencje HiQPdf

HiQPdf oferuje również różne opcje licencyjne, ale jego ceny są zazwyczaj nieco bardziej sztywne:

  • Licencja dla startupów: 245 USD dla jednego programisty z jedną aplikacją
  • Licencja dla programisty: 495 USD dla jednego programisty na dowolną liczbę aplikacji.
  • Team License: 795 USD dla maksymalnie pięciu programistów pracujących nad dowolną liczbą aplikacji.
  • Licencja Enterprise: 1095 USD dla nieograniczonej liczby programistów z dowolną liczbą aplikacji.

Chociaż HiQPdf ma konkurencyjną cenę, nie oferuje takiej samej wartości jak pakiet IronPDF w ramach Iron Suite, ani tak szerokiego zakresu zaawansowanych funkcji wliczonych w cenę.

Wnioski

Zarówno IronPDF, jak i HiQPdf to solidne wybory dla programistów .NET, którzy chcą zintegrować funkcjonalność PDF ze swoimi aplikacjami. Jednak IronPDF wyróżnia się bogatym zestawem funkcji, łatwością obsługi i solidną dokumentacją. Dzięki kompatybilności z różnymi platformami, bogatym przykładom kodu i doskonałemu wsparciu technicznemu, IronPDF jest doskonałym rozwiązaniem dla programistów, którzy potrzebują kompleksowej funkcjonalności PDF w różnych środowiskach.

Jeśli szukasz kompletnego rozwiązania, które oferuje doskonałą wydajność, elastyczność i wsparcie, IronPDF jest wysoce zalecanym wyborem. Co więcej, zdolność IronPDF do łatwego obsługi zaawansowanych funkcji, takich jak szyfrowanie, redagowanie i podpisy cyfrowe, wyróżnia go na tle HiQPdf.

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

Często Zadawane Pytania

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

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

Jakie platformy są obsługiwane przez IronPDF?

IronPDF jest kompatybilny z systemami Windows, Linux, macOS, Docker, Azure, AWS oraz głównymi wersjami .NET, w tym .NET 8, 7, 6 i .NET Core.

Czy w języku C# można stosować podpisy cyfrowe w plikach PDF?

Tak, IronPDF umożliwia stosowanie podpisów cyfrowych w dokumentach PDF za pomocą swojego API. Można określić certyfikaty oraz metadane, takie jak powód podpisania i lokalizacja.

Jak mogę dodać znak wodny do dokumentu PDF?

IronPDF zawiera wbudowaną obsługę dodawania niestandardowych znaków wodnych do plików PDF. Możesz łatwo zintegrować znaki wodne ze swoimi dokumentami PDF za pomocą API IronPDF.

Jakie funkcje bezpieczeństwa zapewnia IronPDF?

IronPDF oferuje zaawansowane funkcje bezpieczeństwa, w tym szyfrowanie, ochronę hasłem, ustawienia uprawnień oraz możliwość ustawienia dokumentów jako tylko do odczytu.

Czy IronPDF obsługuje konwersję plików DOCX do formatu PDF?

Tak, IronPDF obsługuje konwersję plików DOCX do formatu PDF. Możesz użyć klasy DocxToPdfRenderer, aby płynnie konwertować dokumenty DOCX na pliki PDF.

W jaki sposób IronPDF obsługuje konwersję HTML do PDF?

IronPDF wykorzystuje ChromePdfRenderer do renderowania treści HTML do plików PDF, obsługując dokumenty HTML, ciągi znaków, adresy URL oraz scenariusze z lokalnymi zasobami, takimi jak obrazy.

Jakie wsparcie i dokumentację oferuje IronPDF?

IronPDF oferuje obszerną dokumentację zawierającą przewodniki krok po kroku, obszerne dokumentacje API oraz przykłady kodu. Zapewnia również wsparcie techniczne 24/5 poprzez czat na żywo i e-mail.

Czy IronPDF może służyć do redagowania treści w dokumentach PDF?

Tak, IronPDF zapewnia proste rozwiązanie do redagowania określonych fragmentów tekstu w całym dokumencie PDF, umożliwiając programistom efektywne zarządzanie poufnymi informacjami.

Jakie rodzaje licencji są dostępne dla IronPDF?

IronPDF oferuje różne licencje, w tym Lite, Plus, Professional oraz Iron Suite, który zapewnia dostęp do wszystkich produktów Iron Software. Oferuje również opcje redystrybucji bez opłat licencyjnych.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej

Zespół wsparcia Iron

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