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

Porównanie IronPDF i PDFium.NET

Niniejsze porównanie obejmujeIronPDFi PDFium.NET SDK — dwie biblioteki .NET do tworzenia, edycji i renderowania plików PDF — pod kątem architektury, zakresu funkcji i licencji. Obie biblioteki umożliwiają tworzenie i przetwarzanie plików PDF, jednak ich modele renderowania oraz interfejsy API znacznie się od siebie różnią.

Czym jest PDFium.NET?

PDFium.NET służy do tworzenia, modyfikowania i przeglądania plików w formacie PDF (portable document format). Zapewnia wysokopoziomowy interfejs API w języku C#/VB.NET do dynamicznego tworzenia plików PDF na serwerze internetowym oraz do wdrażania funkcji "Zapisz jako PDF" w istniejących aplikacjach desktopowych lub internetowych.

Najważniejsze cechy PDFium.NET to:

  • Twórz pliki PDF od podstaw lub na podstawie zbioru zeskanowanych obrazów
  • Gotowe paski narzędzi do edycji, dzielenia, łączenia i manipulowania plikami PDF, w tym do wyodrębniania tekstu
  • Osadzony, samodzielny kontrolka Winforms lub WPF PDF Viewer obsługuje powiększanie
  • Obsługuje .NET 2.0+, .NET 6, Standard, .NET Core, Mono, Microsoft Azure
  • Działa również w systemach Windows XP i Mac OS
  • Obsługuje pełen zakres funkcji renderowania plików PDF
  • Wysokowydajna przeglądarka plików PDF umożliwiająca wyszukiwanie, drukowanie i edycję plików PDF
  • Niezwykle szybki silnik przetwarzania tekstu

IronPDF: Podstawowe funkcje i możliwości

BibliotekaIronPdf.NET PDF jest przeznaczona dla programistów, w szczególności dla programistów C#. Dzięki tej bibliotece PDF możesz dodać do swoich projektów .NET funkcje przeglądania, generowania i edycji plików PDF.

IronPDF posiada wbudowany silnik Chromium, który konwertuje HTML na PDF za pomocą zaledwie trzech linii kodu C#. Nie wymaga to niskopoziomowych interfejsów API do manipulowania plikami PDF. Obsługuje pliki źródłowe HTML, takie jak dokumenty HTML, pliki JavaScript i strony internetowe ASPX, a dowolny ciąg HTML można renderować bezpośrednio do pliku PDF za pomocą jednego wywołania metody.

IronPDF umożliwia dostosowywanie plików PDF poprzez dodawanie niestandardowych nagłówków i stopek, znaków wodnych i wielu innych elementów. Ułatwia to również programistom czytanie tekstu w plikach PDF i wyodrębnianie grafiki.

Najważniejsze cechyIronPDFfor .NET to:

  • Tworzenie dokumentów PDF przy użyciu HTML4/5, CSS i JavaScript
  • Ładowanie adresów URL z niestandardowymi danymi logowania do sieci, agentami użytkownika, serwerami proxy, plikami cookie, nagłówkami HTTP i zmiennymi formularzy.
  • Programowe wypełnianie pól formularzy HTML/PDF.
  • Pobieranie tekstu i grafiki z plików PDF
  • Aktualizowanie stron PDF o nową treść.
  • Dodawanie i dostosowywanie nagłówków oraz stopek w plikach PDF.
  • Łączenie i dzielenie dokumentów PDF.
  • Konwersja formularzy internetowych ASP.NET do plików PDF nadających się do druku.
  • Konwertuj pliki HTML/adresy URL na pliki PDF.
  • Drukowanie plików PDF bez użycia programu Adobe Acrobat Reader.

BibliotekaIronPDFjest dostępna dla prawie wszystkich systemów operacyjnych i frameworków zgodnych z C#, w tym:

  • .NET Core 2.1, 3.0, 3.1, .NET 5, 6 i 7
  • Zgodność z .NET Standard 2.0 zapewniająca uniwersalną kompatybilność
  • Azure, AWS, Docker, Linux, Windows

Poniższa tabela podsumowuje mocne strony każdej biblioteki przed przejściem do szczegółów na poziomie kodu.

Funkcja IronPDF PDFium.NET
Konwersja HTML/URL do formatu PDF Tak (wbudowany silnik Chromium) Nie obejmuje
Tworzenie plików PDF na podstawie obrazów/tekstu Tak Tak
Łączenie plików PDF Tak Tak (z wyborem zakresu stron)
Podpisy cyfrowe Tak Nie obejmuje
Kontrolka przeglądarki PDF (WinForms/WPF) Nie obejmuje Tak
Obsługa .NET Core / .NET 5+ Tak Tak
Wieloplatformowe (Linux, macOS, Azure) Tak Windows i macOS

Aby przetestować funkcje renderowania HTML i zabezpieczeńIronPDFw porównaniu z PDFium.NET we własnym projekcie, dostępna jest [bezpłatna 30-dniowa wersja próbna](licencja Trial).

Dalsza część artykułu wygląda następująco:

  1. Instalacja bibliotekiIronPDFC#
  2. Instalacja PDFium.NET SDK
  3. Utwórz dokument PDF
  4. Tworzenie pliku PDF z wielu obrazów
  5. Podpisywanie plików PDF cyfrowo
  6. Ceny i licencje
  7. Podsumowanie

1. Instalacja bibliotekiIronPDFC

Istnieją różne sposoby pobrania i zainstalowania biblioteki IronPDF. Najprostsze metody są następujące:

  1. Korzystanie z programu Visual Studio
  2. Wiersz poleceń programisty
  3. Pobierz pakiet NuGet bezpośrednio
  4. Pobierz bibliotekę IronPdf.DLL

1.1. Korzystanie z programu Visual Studio

W projekcie Visual Studio, z menu "Narzędzia" lub kliknij prawym przyciskiem myszy swój projekt w Eksploratorze rozwiązań i wybierz "Zarządzaj pakietami NuGet". Obie te opcje pokazano poniżej na zrzutach ekranu.

PorównanieIronPDFi PDFium.NET, rysunek 1: Dostęp do menedżera pakietów NuGet za pomocą menu Narzędzia
PorównanieIronPDFi PDFium.NET, rysunek 2: Dostęp do menedżera pakietów NuGet za pomocą Eksploratora rozwiązań

Po otwarciu menedżera pakietów NuGet należy wyszukać pakietIronPDFi zainstalować go, jak pokazano na poniższym zrzucie ekranu.

PorównanieIronPDFi PDFium.NET, rysunek 3: Instalacja bibliotekiIronPDFza pomocą menedżera pakietów NuGet

1.2. Korzystanie z wiersza poleceń programisty

IronPDF można również pobrać za pośrednictwem wiersza poleceń programisty. Postępuj zgodnie z poniższymi instrukcjami:

  • Otwórz wiersz polecenia programisty lub konsolę menedżera pakietów z menu Narzędzia.
  • Wpisz następujące polecenie:
Install-Package IronPdf
  • Naciśnij klawisz Enter
  • Spowoduje to pobranie i zainstalowanie biblioteki

1.3. Pobierz pakiet NuGet bezpośrednio

IronPDF można również pobrać bezpośrednio, odwiedzając stronę NuGetIronPDFPackage. Kroki są następujące:

  • Znajdź opcję "Pobierz pakiet" i kliknij ją.
  • Pakiet zostanie pobrany i zainstalowany.

1.4. Zainstaluj IronPDF, pobierając bibliotekę

Plik IronPdf.DLL można również pobrać bezpośrednio ze strony pakietu IronPDF.

PorównanieIronPDFi PDFium.NET, rysunek 4: Pobieranie biblioteki DLLIronPDFze strony internetowej IronPDF

Aby odwołać się do bibliotekiIronPDFw swoim projekcie, wykonaj następujące kroki:

  • Kliknij prawym przyciskiem myszy na Solution w Solution Explorer i wybierz References
  • Wyszukaj bibliotekę IronPDF.dll
  • Kliknij OK!

Gotowe!IronPDFjest pobierany i instalowany. Teraz zajmiemy się instalacją biblioteki PDFium.NET SDK.

2. Instalacja PDFium.NET

Możemy zainstalować PDFium.NET za pomocą menedżera pakietów NuGet lub pobierając instalator PDFium dla systemu Windows.

  • Otwórz pakiety NuGet w Visual Studio, tak jak zrobiliśmy to w przypadku IronPDF.
  • Wyszukaj PDFium.NET.SDK. Kliknij przycisk "Zainstaluj" w bieżącym projekcie.
PorównanieIronPDFi PDFium.NET, rysunek 5: Wyszukiwanie w PDFium.NET
  • Można również użyć konsoli menedżera pakietów do instalacji. Postępuj zgodnie z instrukcją "Użyj wiersza poleceń programisty", tak jak w przypadku IronPDF, i wpisz następujące polecenie:
Install-Package Pdfium.Net.SDK
  • Naciśnij Enter. Spowoduje to pobranie i zainstalowanie biblioteki.

3. Tworzenie dokumentu PDF

3.1. Korzystanie z IronPDF

IronPDF oferuje wiele metod generowania plików PDF. Przyjrzyjmy się dwóm najważniejszym z nich.

Istniejący adres URL do pliku PDF

IronPDF konwertuje istniejące adresy URL bezpośrednio do formatu PDF przy użyciu wbudowanego silnika renderującego Chromium.

Rozważmy następujący kod źródłowy.

IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Use RenderUrlAsPdf method to convert a given URL to a PDF document
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

// Save the generated PDF document
Pdf.SaveAs("url.pdf");
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();

// Use RenderUrlAsPdf method to convert a given URL to a PDF document
using var Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/");

// Save the generated PDF document
Pdf.SaveAs("url.pdf");
Dim Renderer As New IronPdf.ChromePdfRenderer()

' Use RenderUrlAsPdf method to convert a given URL to a PDF document
Dim Pdf = Renderer.RenderUrlAsPdf("https://ironpdf.com/")

' Save the generated PDF document
Pdf.SaveAs("url.pdf")
$vbLabelText   $csharpLabel

Ciąg znaków z pola HTML do pliku PDF

Poniższy fragment kodu pokazuje, w jaki sposób ciąg znaków HTML może zostać wykorzystany do renderowania strony PDF. Można używać prostego kodu HTML lub łączyć go z CSS, obrazami i treścią JavaScript, która jest wykonywana przed konwersją.

var Renderer = new IronPdf.ChromePdfRenderer();

// Render HTML as a PDF
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
PDF.SaveAs("pixel-perfect.pdf");

// Load external HTML assets: images, css, and javascript
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='logo_square.png'>", @"e:\site\assets\");
AdvancedPDF.SaveAs("html-with-assets.pdf");
var Renderer = new IronPdf.ChromePdfRenderer();

// Render HTML as a PDF
using var PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>");
PDF.SaveAs("pixel-perfect.pdf");

// Load external HTML assets: images, css, and javascript
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
using var AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='logo_square.png'>", @"e:\site\assets\");
AdvancedPDF.SaveAs("html-with-assets.pdf");
Imports IronPdf

Dim Renderer As New ChromePdfRenderer()

' Render HTML as a PDF
Using PDF = Renderer.RenderHtmlAsPdf("<h1>Html with CSS and Images</h1>")
    PDF.SaveAs("pixel-perfect.pdf")
End Using

' Load external HTML assets: images, css, and javascript
' An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
Using AdvancedPDF = Renderer.RenderHtmlAsPdf("<img src='logo_square.png'>", "e:\site\assets\")
    AdvancedPDF.SaveAs("html-with-assets.pdf")
End Using
$vbLabelText   $csharpLabel

Oto wynik:

PorównanieIronPDFi PDFium.NET, rysunek 6:IronPDFGenerowanie pliku PDF z adresu URL i ciągu znaków HTML

3.2. Korzystanie z PDFium.NET

PDFium.NET generuje dokumenty PDF w locie, wykorzystując obrazy i obiekty tekstowe. Jego proces renderowania opiera się na niskopoziomowej kompozycji stron, a nie na konwersji opartej na HTML, więc przepływy pracy związane z przekształcaniem adresów URL i ciągów znaków HTML do formatu PDF wykraczają poza jego obecny zakres.

Poniżej znajduje się przykładowy kod służący do generowania plików PDF przy użyciu biblioteki PDFium.NET:

public void CreatePDF()
{
    // Step 1: Initialize PDF library and create an empty document
    PdfCommon.Initialize();
    var doc = PdfDocument.CreateNew();  // Create a new PDF document

    // Step 2: Add a new page
    // Arguments: page width: 8.27", page height: 11.69", Unit of measure: inches
    //  The PDF unit of measure is a point. There are 72 points in one inch.
    var page = doc.Pages.InsertPageAt(doc.Pages.Count, 8.27f * 72, 11.69f * 72);

    // Step 3: Add graphics and text contents to the page
    // Insert image from file using the standard System.Drawing.Bitmap class
    using (PdfBitmap logo = PdfBitmap.FromFile(@"e:\site\assets\logo_square.png"))
    {
        PdfImageObject imageObject = PdfImageObject.Create(doc, logo, 0, 0);
        // Set image resolution to 300 DPI and location to 1.69 x 10.0 inches
        imageObject.Matrix = new FS_MATRIX(logo.Width * 72 / 300, 0, 0, logo.Height * 72 / 300, 1.69 * 72, 10.0 * 72);
        page.PageObjects.Add(imageObject);
    }

    // Create fonts for text objects
    PdfFont calibryBold = PdfFont.CreateFont(doc, "CalibriBold");
    // Insert text objects at 7.69"; 11.02" and font size is 25
    PdfTextObject textObject = PdfTextObject.Create("Sample text", 7.69f * 72, 11.02f * 72, calibryBold, 25);
    textObject.FillColor = FS_COLOR.Black;
    page.PageObjects.Add(textObject);

    // Step 5: Generate page content and save PDF file
    // Argument: PDF file name
    page.GenerateContent();
    doc.Save(@"e:\site\sample_document.pdf", SaveFlags.NoIncremental);
}
public void CreatePDF()
{
    // Step 1: Initialize PDF library and create an empty document
    PdfCommon.Initialize();
    var doc = PdfDocument.CreateNew();  // Create a new PDF document

    // Step 2: Add a new page
    // Arguments: page width: 8.27", page height: 11.69", Unit of measure: inches
    //  The PDF unit of measure is a point. There are 72 points in one inch.
    var page = doc.Pages.InsertPageAt(doc.Pages.Count, 8.27f * 72, 11.69f * 72);

    // Step 3: Add graphics and text contents to the page
    // Insert image from file using the standard System.Drawing.Bitmap class
    using (PdfBitmap logo = PdfBitmap.FromFile(@"e:\site\assets\logo_square.png"))
    {
        PdfImageObject imageObject = PdfImageObject.Create(doc, logo, 0, 0);
        // Set image resolution to 300 DPI and location to 1.69 x 10.0 inches
        imageObject.Matrix = new FS_MATRIX(logo.Width * 72 / 300, 0, 0, logo.Height * 72 / 300, 1.69 * 72, 10.0 * 72);
        page.PageObjects.Add(imageObject);
    }

    // Create fonts for text objects
    PdfFont calibryBold = PdfFont.CreateFont(doc, "CalibriBold");
    // Insert text objects at 7.69"; 11.02" and font size is 25
    PdfTextObject textObject = PdfTextObject.Create("Sample text", 7.69f * 72, 11.02f * 72, calibryBold, 25);
    textObject.FillColor = FS_COLOR.Black;
    page.PageObjects.Add(textObject);

    // Step 5: Generate page content and save PDF file
    // Argument: PDF file name
    page.GenerateContent();
    doc.Save(@"e:\site\sample_document.pdf", SaveFlags.NoIncremental);
}
Public Sub CreatePDF()
	' Step 1: Initialize PDF library and create an empty document
	PdfCommon.Initialize()
	Dim doc = PdfDocument.CreateNew() ' Create a new PDF document

	' Step 2: Add a new page
	' Arguments: page width: 8.27", page height: 11.69", Unit of measure: inches
	'  The PDF unit of measure is a point. There are 72 points in one inch.
	Dim page = doc.Pages.InsertPageAt(doc.Pages.Count, 8.27F * 72, 11.69F * 72)

	' Step 3: Add graphics and text contents to the page
	' Insert image from file using the standard System.Drawing.Bitmap class
	Using logo As PdfBitmap = PdfBitmap.FromFile("e:\site\assets\logo_square.png")
		Dim imageObject As PdfImageObject = PdfImageObject.Create(doc, logo, 0, 0)
		' Set image resolution to 300 DPI and location to 1.69 x 10.0 inches
		imageObject.Matrix = New FS_MATRIX(logo.Width * 72 \ 300, 0, 0, logo.Height * 72 \ 300, 1.69 * 72, 10.0 * 72)
		page.PageObjects.Add(imageObject)
	End Using

	' Create fonts for text objects
	Dim calibryBold As PdfFont = PdfFont.CreateFont(doc, "CalibriBold")
	' Insert text objects at 7.69"; 11.02" and font size is 25
	Dim textObject As PdfTextObject = PdfTextObject.Create("Sample text", 7.69F * 72, 11.02F * 72, calibryBold, 25)
	textObject.FillColor = FS_COLOR.Black
	page.PageObjects.Add(textObject)

	' Step 5: Generate page content and save PDF file
	' Argument: PDF file name
	page.GenerateContent()
	doc.Save("e:\site\sample_document.pdf", SaveFlags.NoIncremental)
End Sub
$vbLabelText   $csharpLabel

Oto wynik:

PorównanieIronPDFi PDFium.NET, rysunek 7: PDFium.NET Generuj PDF

Porównując oba wyniki, podejścieIronPDFdo renderowania HTML automatycznie obsługuje umieszczanie obrazów — nie jest wymagane ręczne skalowanie, a w razie potrzeby można również konwertować pojedyncze obrazy bezpośrednio do dokumentów PDF. PDFium.NET daje podobny efekt, choć opiera się na jawnym kodzie skalowania obrazów, aby poprawnie pozycjonować treść. Jeśli pominie się następujący wiersz w kodzie:

imageObject.Matrix = new FS_MATRIX(logo.Width * 72 / 300, 0, 0, logo.Height * 72 / 300, 1.69 * 72, 10.0 * 72);
imageObject.Matrix = new FS_MATRIX(logo.Width * 72 / 300, 0, 0, logo.Height * 72 / 300, 1.69 * 72, 10.0 * 72);
imageObject.Matrix = New FS_MATRIX(logo.Width * 72 \ 300, 0, 0, logo.Height * 72 \ 300, 1.69 * 72, 10.0 * 72)
$vbLabelText   $csharpLabel

Wynik będzie następujący:

PorównanieIronPDFi PDFium.NET, rysunek 8: Wynik działania PDFium.NET bez skalowania obrazów PDF

4. Tworzenie pliku PDF z wielu obrazów

4.1. Korzystanie z IronPDF

Łączenie dwóch lub więcej plików PDF jest łatwe w IronPDF. Korzystając z metody Merge, można połączyć dwa lub więcej plików PDF, przy czym każdy plik jest oddzielony przecinkiem. Kod wygląda następująco:

using IronPdf;

var html_a = @"<p> [PDF_A] </p>
                <p> [PDF_A] 1st Page </p>
                <div style = 'page-break-after: always;'></div>
                <p> [PDF_A] 2nd Page</p>";

var html_b = @"<p> [PDF_B] </p>
                <p> [PDF_B] 1st Page </p>
                <div style = 'page-break-after: always;'></div>
                <p> [PDF_B] 2nd Page</p>";

var Renderer = new IronPdf.ChromePdfRenderer();

// Render HTML documents as PDFs
var pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b);

// Merge the documents into one PDF
var merged = IronPdf.PdfDocument.Merge(pdfdoc_a, pdfdoc_b);

// Save the merged document
merged.SaveAs("Merged.PDF");
using IronPdf;

var html_a = @"<p> [PDF_A] </p>
                <p> [PDF_A] 1st Page </p>
                <div style = 'page-break-after: always;'></div>
                <p> [PDF_A] 2nd Page</p>";

var html_b = @"<p> [PDF_B] </p>
                <p> [PDF_B] 1st Page </p>
                <div style = 'page-break-after: always;'></div>
                <p> [PDF_B] 2nd Page</p>";

var Renderer = new IronPdf.ChromePdfRenderer();

// Render HTML documents as PDFs
var pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a);
var pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b);

// Merge the documents into one PDF
var merged = IronPdf.PdfDocument.Merge(pdfdoc_a, pdfdoc_b);

// Save the merged document
merged.SaveAs("Merged.PDF");
Imports IronPdf

Dim html_a As String = "<p> [PDF_A] </p>
                <p> [PDF_A] 1st Page </p>
                <div style = 'page-break-after: always;'></div>
                <p> [PDF_A] 2nd Page</p>"

Dim html_b As String = "<p> [PDF_B] </p>
                <p> [PDF_B] 1st Page </p>
                <div style = 'page-break-after: always;'></div>
                <p> [PDF_B] 2nd Page</p>"

Dim Renderer As New IronPdf.ChromePdfRenderer()

' Render HTML documents as PDFs
Dim pdfdoc_a = Renderer.RenderHtmlAsPdf(html_a)
Dim pdfdoc_b = Renderer.RenderHtmlAsPdf(html_b)

' Merge the documents into one PDF
Dim merged = IronPdf.PdfDocument.Merge(pdfdoc_a, pdfdoc_b)

' Save the merged document
merged.SaveAs("Merged.PDF")
$vbLabelText   $csharpLabel

4.2. Korzystanie z PDFium.NET

Korzystając z PDFium.NET, można nie tylko połączyć wiele plików PDF w jeden plik, ale także wybrać konkretne strony z plików źródłowych i połączyć je w jeden dokument PDF.

Poniższy kod pokazuje, jak można to zrobić przy użyciu metody ImportPages:

public void MergePDF()
{
    // Initialize the SDK library.
    PdfCommon.Initialize();

    // Open and load a PDF document into which other files will be merged 
    using (var mainDoc = PdfDocument.Load(@"c:\test001.pdf")) // Read source PDF File #1
    {
        // Open one PDF document.
        using (var doc = PdfDocument.Load(@"c:\doc1.pdf")) // Read PDF File #2
        {
            // Import all pages from the document
            mainDoc.Pages.ImportPages(
                doc,
                string.Format("1-{0}", doc.Pages.Count),
                mainDoc.Pages.Count
                );
        }

        // Open another PDF document.
        using (var doc = PdfDocument.Load(@"c:\doc2.pdf"))
        {
            // Import all pages from the document
            mainDoc.Pages.ImportPages(
                doc,
                string.Format("1-{0}", doc.Pages.Count),
                mainDoc.Pages.Count
                );
        }

        // Save the merged document
        mainDoc.Save(@"c:\ResultDocument.pdf", SaveFlags.NoIncremental);
    }
}
public void MergePDF()
{
    // Initialize the SDK library.
    PdfCommon.Initialize();

    // Open and load a PDF document into which other files will be merged 
    using (var mainDoc = PdfDocument.Load(@"c:\test001.pdf")) // Read source PDF File #1
    {
        // Open one PDF document.
        using (var doc = PdfDocument.Load(@"c:\doc1.pdf")) // Read PDF File #2
        {
            // Import all pages from the document
            mainDoc.Pages.ImportPages(
                doc,
                string.Format("1-{0}", doc.Pages.Count),
                mainDoc.Pages.Count
                );
        }

        // Open another PDF document.
        using (var doc = PdfDocument.Load(@"c:\doc2.pdf"))
        {
            // Import all pages from the document
            mainDoc.Pages.ImportPages(
                doc,
                string.Format("1-{0}", doc.Pages.Count),
                mainDoc.Pages.Count
                );
        }

        // Save the merged document
        mainDoc.Save(@"c:\ResultDocument.pdf", SaveFlags.NoIncremental);
    }
}
Public Sub MergePDF()
	' Initialize the SDK library.
	PdfCommon.Initialize()

	' Open and load a PDF document into which other files will be merged 
	Using mainDoc = PdfDocument.Load("c:\test001.pdf") ' Read source PDF File #1
		' Open one PDF document.
		Using doc = PdfDocument.Load("c:\doc1.pdf") ' Read PDF File #2
			' Import all pages from the document
			mainDoc.Pages.ImportPages(doc, String.Format("1-{0}", doc.Pages.Count), mainDoc.Pages.Count)
		End Using

		' Open another PDF document.
		Using doc = PdfDocument.Load("c:\doc2.pdf")
			' Import all pages from the document
			mainDoc.Pages.ImportPages(doc, String.Format("1-{0}", doc.Pages.Count), mainDoc.Pages.Count)
		End Using

		' Save the merged document
		mainDoc.Save("c:\ResultDocument.pdf", SaveFlags.NoIncremental)
	End Using
End Sub
$vbLabelText   $csharpLabel

5. Podpisywanie plików PDF cyfrowo

5.1. Korzystanie z IronPDF

Jedną z najważniejszych funkcji w dzisiejszych czasach jest cyfrowe podpisywanie dokumentów PDF za pomocą certyfikatów PFX.IronPDFzapewnia taką możliwość. Kod wygląda następująco:

using IronPdf;

// Cryptographically sign an existing PDF in 1 line of code!
new IronPdf.Signing.PdfSignature("Iron.p12", "123456").SignPdfFile("any.pdf");

/***** Advanced example for more control *****/

// Step 1. Create a PDF
var Renderer = new IronPdf.ChromePdfRenderer();
var doc = Renderer.RenderHtmlAsPDF("<h1>Testing 2048 bit digital security</h1>");

// Step 2. Create a Signature.
// You may create a .pfx or .p12 PDF signing certificate using Adobe Acrobat Reader.

var signature = new IronPdf.Signing.PdfSignature("Iron.pfx", "123456");

// Step 3. Handwritten signature graphic
signature.LoadSignatureImageFromFile("handwriting.png");

// Step 4. Sign the PDF with the PDFSignature. Multiple signing certificates may be used
doc.SignPdfWithDigitalSignature(signature);

// Step 4. The PDF is not signed until saved to file, stream, or byte array.
doc.SaveAs("signed.pdf"); 
using IronPdf;

// Cryptographically sign an existing PDF in 1 line of code!
new IronPdf.Signing.PdfSignature("Iron.p12", "123456").SignPdfFile("any.pdf");

/***** Advanced example for more control *****/

// Step 1. Create a PDF
var Renderer = new IronPdf.ChromePdfRenderer();
var doc = Renderer.RenderHtmlAsPDF("<h1>Testing 2048 bit digital security</h1>");

// Step 2. Create a Signature.
// You may create a .pfx or .p12 PDF signing certificate using Adobe Acrobat Reader.

var signature = new IronPdf.Signing.PdfSignature("Iron.pfx", "123456");

// Step 3. Handwritten signature graphic
signature.LoadSignatureImageFromFile("handwriting.png");

// Step 4. Sign the PDF with the PDFSignature. Multiple signing certificates may be used
doc.SignPdfWithDigitalSignature(signature);

// Step 4. The PDF is not signed until saved to file, stream, or byte array.
doc.SaveAs("signed.pdf"); 
Imports IronPdf

' Cryptographically sign an existing PDF in 1 line of code!
Call New IronPdf.Signing.PdfSignature("Iron.p12", "123456").SignPdfFile("any.pdf")

'/***** Advanced example for more control *****/

' Step 1. Create a PDF
Dim Renderer As New IronPdf.ChromePdfRenderer()
Dim doc = Renderer.RenderHtmlAsPdf("<h1>Testing 2048 bit digital security</h1>")

' Step 2. Create a Signature.
' You may create a .pfx or .p12 PDF signing certificate using Adobe Acrobat Reader.

Dim signature = New IronPdf.Signing.PdfSignature("Iron.pfx", "123456")

' Step 3. Handwritten signature graphic
signature.LoadSignatureImageFromFile("handwriting.png")

' Step 4. Sign the PDF with the PDFSignature. Multiple signing certificates may be used
doc.SignPdfWithDigitalSignature(signature)

' Step 4. The PDF is not signed until saved to file, stream, or byte array.
doc.SaveAs("signed.pdf")
$vbLabelText   $csharpLabel

Podpis cyfrowy wykracza poza obecny zakres PDFium.NET, więc zespoły wymagające tej funkcji musiałyby zintegrować dodatkową bibliotekę lub rozważyć narzędzie takie jak IronPDF, które zawiera ją jako operację pierwszorzędną.

6. Ceny i licencje

Ceny i licencje IronPDF

IronPDF jest bezpłatny do tworzenia prostych aplikacji, a licencję na użycie komercyjne można kupić w dowolnym momencie. Dostępne są licencje na pojedynczy projekt, dla pojedynczego programisty, dla agencji oraz dla międzynarodowych organizacji. Oferuje również licencje na redystrybucję SaaS i OEM oraz wsparcie techniczne.

Wszystkie licencjeIronPDFsą dostępne z 30-dniową gwarancją zwrotu pieniędzy oraz rocznym wsparciem technicznym i aktualizacjami oprogramowania. Co najważniejsze, jest to Licencja wieczysta (jednorazowy zakup). Dostępny jest pakiet Lite. W przypadku produktówIronPDFnie ma absolutnie żadnych opłat cyklicznych. Bardziej szczegółowe informacje na temat dostępnych licencji znajdują się na stronie Licencjonowanie IronPDF.

A Comparison betweenIronPDFand PDFium.NET, Figure 9:IronPDFLicensing

Ceny i licencje PDFium.NET

PDFium.NET zapewnia Licencję wieczystą. Możesz korzystać z tej obsługiwanej wersji SDK wraz z kluczem rejestracyjnym bezterminowo. Klucz działa jednak tylko z niektórymi wersjami SDK, które zależą od daty zakupu lub odnowienia licencji. Możesz zainstalować dowolną nową wersję produktu za darmo, pod warunkiem, że została wydana przed lub w ciągu roku od zakupu. PDFium.NET oferuje również 3 różne pakiety licencyjne:

  • Licencja na pojedynczy projekt jest przeznaczona dla pojedynczych programistów i małych zespołów pracujących nad jednym projektem. Ceny od 720 USD.
  • Licencja organizacyjna jest przeznaczona dla zespołów programistów pracujących nad wieloma projektami.
  • Licencja dla pojedynczego programisty jest przeznaczona dla pojedynczych programistów i freelancerów pracujących dla wielu klientów.

Pełne informacje na temat cen można znaleźć na stronie zakupu PDFium.NET.

Oprócz kosztów licencji, całkowity koszt projektu obejmuje godziny pracy programistów poświęcone na układ strony oparty na współrzędnych, ręczne skalowanie obrazów oraz integrację oddzielnych bibliotek zapewniających takie funkcje, jak podpis cyfrowy i konwersja HTML do PDF. Dla zespołów oceniających koszty w perspektywie wieloletniego cyklu życia projektu godziny poświęcone na integrację i utrzymanie często przewyższają różnicę między cenami katalogowymi obu bibliotek.

Którą bibliotekę wybrać?

IronPDF zapewnia zaawansowany interfejs API do tworzenia dokumentów PDF od podstaw bez konieczności stosowania kodu układu opartego na współrzędnych. Wbudowany silnik Chromium konwertuje HTML, JS, CSS, JPG, PNG, GIF i SVG na pliki PDF z pełną obsługą CSS3 i nowoczesnych układów.

PDFium.NET SDK to biblioteka klas .NET zaprojektowana tak, aby zaspokoić najczęstsze potrzeby programistów za więcej niż przystępną cenę. Dzięki PDFium.NET SDK Twoje aplikacje mogą wyświetlać i edytować dokumenty PDF bez żadnych problemów. To właśnie specjalny interfejs API do edycji obiektów Page sprawia, że ta biblioteka jest szczególnie potężna.

Licencje PDFium.NET są dostępne w trzech wersjach, jak wspomniano powyżej. Licencja na pojedynczy projekt zapewnia dostęp dla jednego programisty oraz dla maksymalnie trzech programistów, a jej cena zaczyna się odpowiednio od 720 USD i 900 USD. Jest to nieco tańsze niż IronPDF, który ma wersję Lite dostępną w niższej cenie.

IronPDF oferuje Unlimited License w konkurencyjnej cenie, natomiast PDFium.NET posiada licencję organizacyjną dla nieograniczonej liczby programistów w wyższym pakiecie. W przypadku średnich zespołów Professional LicenseIronPDFobejmuje do 10 programistów i kosztuje mniej więcej połowę ceny porównywalnej oferty PDFium.NET.

W powyższych przykładachIronPDFtworzy i modyfikuje dokumenty PDF przy użyciu mniejszej liczby linii kodu w porównaniu z PDFium.NET — na przykład konwersja HTML do PDF zajmuje 3 linie, podczas gdy podejście oparte na współrzędnych w PDFium.NET wymaga około 20 linii, aby uzyskać porównywalny wynik.IronPDFoferuje wiele metod konwersji formatów takich jak HTML, adresy URL i strony ASPX do formatu PDF. PDFium.NET koncentruje się na kompozycji opartej na obrazach i tekście, co daje programistom większą kontrolę nad układem strony, ale wymaga więcej pracy ręcznej przy typowych zadaniach konwersji.

Teraz możesz kupić wszystkie biblioteki produktów Iron Software za cenę zaledwie dwóch z nich. Dodatkowo dostępna jest bezpłatna wersja próbna, która pozwala przetestować funkcjonalność.

Zwróć uwagęPDFium.NET jest zastrzeżonym znakiem towarowym odpowiedniego właściciela. Ta strona nie jest powiązana z PDFium.NET, 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. Dodatkowo możesz konwertować pliki HTML na pliki PDF za pomocą metody RenderHtmlFileAsPdf.

Jakie są główne funkcje IronPDF do przetwarzania plików PDF?

IronPDF pozwala programistom tworzyć dokumenty PDF przy użyciu HTML, CSS i JavaScript. Oferuje konwersję adresów URL do formatu PDF, wyodrębnianie tekstu i grafiki, niestandardowe nagłówki i stopki, łączenie i dzielenie plików PDF oraz możliwość drukowania plików PDF bez programu Adobe Acrobat Reader.

Czy IronPDF umożliwia cyfrowe podpisywanie dokumentów PDF?

Tak, IronPDF obsługuje podpisy cyfrowe, umożliwiając zabezpieczenie dokumentów PDF za pomocą podpisu kryptograficznego.

Jakie są opcje instalacji IronPDF?

IronPDF można zainstalować za pośrednictwem Visual Studio, wiersza poleceń programisty, pobierając pakiet NuGet lub uzyskując bibliotekę IronPdf.DLL.

Jakie opcje licencyjne i cenowe oferuje IronPDF?

IronPDF oferuje wiele opcji licencyjnych, w tym licencje na pojedynczy projekt, dla pojedynczego programisty, dla agencji oraz dla organizacji międzynarodowych. Oferuje również licencje SaaS i OEM na redystrybucję, a wszystkie z 30-dniową gwarancją zwrotu pieniędzy.

W jaki sposób IronPDF poprawia wydajność programowania?

IronPDF został zaprojektowany tak, aby tworzenie i modyfikowanie dokumentów PDF wymagało mniejszego nakładu kodu w porównaniu z innymi bibliotekami, takimi jak PDFium.NET, co zwiększa wydajność programistów.

Czy IronPDF obsługuje funkcje PDF na różnych platformach?

Tak, IronPDF obsługuje różne systemy operacyjne i frameworki, co czyni go wszechstronnym wyborem dla wieloplatformowych funkcji PDF.

Jakie są zalety korzystania z IronPDF w porównaniu z innymi bibliotekami PDF?

IronPDF oferuje łatwość obsługi, bogaty zestaw funkcji, takich jak konwersja HTML do PDF, oraz konkurencyjne ceny, co sprawia, że jest preferowanym wyborem dla wielu programistów w porównaniu z innymi bibliotekami PDF.

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

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie