PORóWNANIE

Pdfium vs IronPDF: Przewodnik po porównaniu technicznym

Kiedy programiści .NET potrzebują funkcji związanych z plikami PDF, często natrafiają na Pdfium.NET (lub PdfiumViewer) — nakładkę .NET na silnik renderujący PDFium firmy Google. W niniejszym porównaniu przeanalizowano Pdfium oraz IronPDF, oceniając różnice w ich architekturze, kompletność funkcji oraz przydatność w kontekście współczesnych wymagań aplikacji.

Czym jest Pdfium?

Pdfium.NET to nakładka .NET na bibliotekę PDFium firmy Google, pierwotnie opracowaną dla Chromium. Biblioteka wyróżnia się w renderowaniu plików PDF — wyświetla dokumenty PDF z wysoką wiernością w aplikacjach .NET. Zapewnia możliwości przeglądania plików PDF, wyodrębniania tekstu oraz renderowania stron do obrazów.

Jednak możliwości Pdfium są zasadniczo ograniczone przez jego architekturę skoncentrowaną na renderowaniu. Biblioteka została zaprojektowana do wyświetlania plików PDF, a nie do ich tworzenia lub edycji. Powoduje to znaczne luki w aplikacjach wymagających generowania plików PDF, scałania dokumentów lub modyfikacji treści.

Najważniejsze cechy Pdfium.NET to:

  • Skupienie na wyświetlaniu i renderowaniu: Doskonale radzi sobie z wyświetlaniem treści PDF z wysoką wiernością
  • Wydajność: Wykorzystuje bibliotekę PDFium firmy Google do wydajnego renderowania
  • Natywne zależności binarne: Wymaga plików binarnych PDFium specyficznych dla platformy (x86/x64)
  • Złożoność wdrożenia: Konieczne jest pakowanie i zarządzanie natywnymi bibliotekami DLL dla każdej platformy

Czym jest IronPDF?

IronPDF to kompletna biblioteka .NET zapewniająca pełne zarządzanie cyklem życia plików PDF. Klasa ChromePdfRenderer wykorzystuje nowoczesny silnik oparty na Chromium do tworzenia plików PDF z HTML, CSS i JavaScript, podczas gdy klasa PdfDocument zapewnia rozbudowane możliwości manipulacji.

W przeciwieństwie do Pdfium, które skupia się wyłącznie na renderowaniu,IronPDFobsługuje tworzenie, edycję, scałanie, znakowanie wodnym, zabezpieczanie i wyodrębnianie tekstu z plików PDF — wszystko w ramach jednej biblioteki. W pełni zarządzana architektura eliminuje natywne zależności binarne, upraszczając wdrażanie na różnych platformach.

Porównanie architektury

Podstawowa różnica między Pdfium aIronPDFpolega na ich zakresie: rozwiązanie służące wyłącznie do renderowania kontra kompletne rozwiązanie PDF.

Aspekt Pdfium.NET IronPDF
Główny cel Renderowanie/wyświetlanie Kompletne rozwiązanie PDF
Tworzenie plików PDF ✓(HTML, URL, obrazy)
Manipulacja plikami PDF ✓(scal, podziel, edytuj)
HTML do PDF ✓(silnik Chromium)
Znaki wodne
Nagłówki/stopki
Wypełnianie formularzy
Bezpieczeństwo
Zależności natywne Wymagane Brak (w pełni zarządzane)
Wielopłatformowe Złożona konfiguracja Automatyczne

W przypadku aplikacji wymagających jedynie przeglądania plików PDF wystarczające może być oprogramowanie Pdfium. Natomiast dla aplikacji wymagających generowania, edycji lub tworzenia plików PDF kompletnym rozwiązaniem jest IronPDF.

Konwersja HTML do PDF

Konwersja HTML do PDF pokazuje podstawową różnicę w możliwościach tych bibliotek.

Podejście Pdfium do konwersji HTML na PDF:

// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System.IO;
using System.Drawing.Printing;

// Note: PdfiumViewer is primarily for viewing/rendering PDFs, not creating them from HTML
// For HTML to PDF with Pdfium.NET, you would need additional libraries
// This example shows a limitation of Pdfium.NET
class Program
{
    static void Main()
    {
        // Pdfium.NET does not have native HTML to PDF conversion
        // You would need to use a separate library to convert HTML to PDF
        // then use Pdfium for manipulation
        string htmlContent = "<h1>Hello World</h1>";

        // This functionality is not directly available in Pdfium.NET
        Console.WriteLine("HTML to PDF conversion not natively supported in Pdfium.NET");
    }
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System.IO;
using System.Drawing.Printing;

// Note: PdfiumViewer is primarily for viewing/rendering PDFs, not creating them from HTML
// For HTML to PDF with Pdfium.NET, you would need additional libraries
// This example shows a limitation of Pdfium.NET
class Program
{
    static void Main()
    {
        // Pdfium.NET does not have native HTML to PDF conversion
        // You would need to use a separate library to convert HTML to PDF
        // then use Pdfium for manipulation
        string htmlContent = "<h1>Hello World</h1>";

        // This functionality is not directly available in Pdfium.NET
        Console.WriteLine("HTML to PDF conversion not natively supported in Pdfium.NET");
    }
}
Imports PdfiumViewer
Imports System.IO
Imports System.Drawing.Printing

' Note: PdfiumViewer is primarily for viewing/rendering PDFs, not creating them from HTML
' For HTML to PDF with Pdfium.NET, you would need additional libraries
' This example shows a limitation of Pdfium.NET
Class Program
    Shared Sub Main()
        ' Pdfium.NET does not have native HTML to PDF conversion
        ' You would need to use a separate library to convert HTML to PDF
        ' then use Pdfium for manipulation
        Dim htmlContent As String = "<h1>Hello World</h1>"

        ' This functionality is not directly available in Pdfium.NET
        Console.WriteLine("HTML to PDF conversion not natively supported in Pdfium.NET")
    End Sub
End Class
$vbLabelText   $csharpLabel

PodejścieIronPDFdo konwersji HTML na PDF:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string htmlContent = "<h1>Hello World</h1>";

        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF created successfully");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        var renderer = new ChromePdfRenderer();
        string htmlContent = "<h1>Hello World</h1>";

        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("output.pdf");

        Console.WriteLine("PDF created successfully");
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim renderer = New ChromePdfRenderer()
        Dim htmlContent As String = "<h1>Hello World</h1>"

        Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
        pdf.SaveAs("output.pdf")

        Console.WriteLine("PDF created successfully")
    End Sub
End Class
$vbLabelText   $csharpLabel

Pdfium nie może tworzyć plików PDF z HTML — po prostu nie obsługuje tej funkcji. Aplikacje wymagające konwersji HTML do PDF musiałyby łączyć Pdfium z dodatkowymi bibliotekami, co powodowałoby złożoność i potencjalne problemy z kompatybilnością.

ChromePdfRendererIronPDFwykorzystuje nowoczesny silnik Chromium do konwersji zawartości HTML z pełnym wsparciem dla CSS3, Flexbox, Grid oraz wykonywania JavaScript, produkując wysokiej jakości wyjście PDF z zawartości sieci.

Łączenie plików PDF

Łączenie dokumentów pokazuje kolejną istotną lukę w możliwościach.

Podejście do scałania plików PDF:

// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.IO;
using System.Collections.Generic;

// Note: PdfiumViewer does not have native PDF merging functionality
// You would need to use additional libraries or implement custom logic
class Program
{
    static void Main()
    {
        List<string> pdfFiles = new List<string> 
        { 
            "document1.pdf", 
            "document2.pdf", 
            "document3.pdf" 
        };

        // PdfiumViewer is primarily for rendering/viewing
        // PDF merging is not natively supported
        // You would need to use another library like iTextSharp or PdfSharp

        Console.WriteLine("PDF merging not natively supported in PdfiumViewer");
    }
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.IO;
using System.Collections.Generic;

// Note: PdfiumViewer does not have native PDF merging functionality
// You would need to use additional libraries or implement custom logic
class Program
{
    static void Main()
    {
        List<string> pdfFiles = new List<string> 
        { 
            "document1.pdf", 
            "document2.pdf", 
            "document3.pdf" 
        };

        // PdfiumViewer is primarily for rendering/viewing
        // PDF merging is not natively supported
        // You would need to use another library like iTextSharp or PdfSharp

        Console.WriteLine("PDF merging not natively supported in PdfiumViewer");
    }
}
Imports PdfiumViewer
Imports System
Imports System.IO
Imports System.Collections.Generic

' Note: PdfiumViewer does not have native PDF merging functionality
' You would need to use additional libraries or implement custom logic
Class Program
    Shared Sub Main()
        Dim pdfFiles As New List(Of String) From {
            "document1.pdf",
            "document2.pdf",
            "document3.pdf"
        }

        ' PdfiumViewer is primarily for rendering/viewing
        ' PDF merging is not natively supported
        ' You would need to use another library like iTextSharp or PdfSharp

        Console.WriteLine("PDF merging not natively supported in PdfiumViewer")
    End Sub
End Class
$vbLabelText   $csharpLabel

PodejścieIronPDFdo scałania:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<string> pdfFiles = new List<string> 
        { 
            "document1.pdf", 
            "document2.pdf", 
            "document3.pdf" 
        };

        var pdf = PdfDocument.Merge(pdfFiles);
        pdf.SaveAs("merged.pdf");

        Console.WriteLine("PDFs merged successfully");
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        List<string> pdfFiles = new List<string> 
        { 
            "document1.pdf", 
            "document2.pdf", 
            "document3.pdf" 
        };

        var pdf = PdfDocument.Merge(pdfFiles);
        pdf.SaveAs("merged.pdf");

        Console.WriteLine("PDFs merged successfully");
    }
}
Imports IronPdf
Imports System
Imports System.Collections.Generic

Module Program
    Sub Main()
        Dim pdfFiles As New List(Of String) From {
            "document1.pdf",
            "document2.pdf",
            "document3.pdf"
        }

        Dim pdf = PdfDocument.Merge(pdfFiles)
        pdf.SaveAs("merged.pdf")

        Console.WriteLine("PDFs merged successfully")
    End Sub
End Module
$vbLabelText   $csharpLabel

Pdfium nie może łączyć dokumentów PDF — biblioteka całkowicie nie posiada tej funkcji. Aplikacje wymagające łączenia plików PDF wymagałyby dodatkowych bibliotek, co zwiększyłoby zależności i złożoność.

Metoda PdfDocument.Merge()IronPDFakceptuje listę ścieżek plików lub obiektów PdfDocument, łącząc je w jeden dokument za pomocą pojedynczego wywołania metody.

Wyodrębnianie tekstu

Pobieranie tekstu to obszar, w którym obie biblioteki oferują funkcjonalność, choć mają różne podejścia i możliwości.

Podejście do ekstrakcji tekstu w Pdfium:

// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.IO;
using System.Text;

class Program
{
    static void Main()
    {
        string pdfPath = "document.pdf";

        using (var document = PdfDocument.Load(pdfPath))
        {
            StringBuilder text = new StringBuilder();

            for (int i = 0; i < document.PageCount; i++)
            {
                // Note: PdfiumViewer has limited text extraction capabilities
                // Text extraction requires additional work with Pdfium.NET
                string pageText = document.GetPdfText(i);
                text.AppendLine(pageText);
            }

            Console.WriteLine(text.ToString());
        }
    }
}
// NuGet: Install-Package PdfiumViewer
using PdfiumViewer;
using System;
using System.IO;
using System.Text;

class Program
{
    static void Main()
    {
        string pdfPath = "document.pdf";

        using (var document = PdfDocument.Load(pdfPath))
        {
            StringBuilder text = new StringBuilder();

            for (int i = 0; i < document.PageCount; i++)
            {
                // Note: PdfiumViewer has limited text extraction capabilities
                // Text extraction requires additional work with Pdfium.NET
                string pageText = document.GetPdfText(i);
                text.AppendLine(pageText);
            }

            Console.WriteLine(text.ToString());
        }
    }
}
Imports PdfiumViewer
Imports System
Imports System.IO
Imports System.Text

Module Program
    Sub Main()
        Dim pdfPath As String = "document.pdf"

        Using document = PdfDocument.Load(pdfPath)
            Dim text As New StringBuilder()

            For i As Integer = 0 To document.PageCount - 1
                ' Note: PdfiumViewer has limited text extraction capabilities
                ' Text extraction requires additional work with Pdfium.NET
                Dim pageText As String = document.GetPdfText(i)
                text.AppendLine(pageText)
            Next

            Console.WriteLine(text.ToString())
        End Using
    End Sub
End Module
$vbLabelText   $csharpLabel

PodejścieIronPDFdo ekstrakcji tekstu:

// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string pdfPath = "document.pdf";

        var pdf = PdfDocument.FromFile(pdfPath);
        string text = pdf.ExtractAllText();

        Console.WriteLine(text);
    }
}
// NuGet: Install-Package IronPdf
using IronPdf;
using System;

class Program
{
    static void Main()
    {
        string pdfPath = "document.pdf";

        var pdf = PdfDocument.FromFile(pdfPath);
        string text = pdf.ExtractAllText();

        Console.WriteLine(text);
    }
}
Imports IronPdf
Imports System

Class Program
    Shared Sub Main()
        Dim pdfPath As String = "document.pdf"

        Dim pdf = PdfDocument.FromFile(pdfPath)
        Dim text As String = pdf.ExtractAllText()

        Console.WriteLine(text)
    End Sub
End Class
$vbLabelText   $csharpLabel

Pdfium zapewnia ekstrakcję tekstu przez GetPdfText(), wymagając ręcznej iteracji przez strony i konkatenacji za pomocą StringBuilder. W dokumentacji zaznaczono, że PdfiumViewer ma "ograniczone możliwości wyodrębniania tekstu", co może wymagać dodatkowej pracy.

Metoda ExtractAllText()IronPDFwyodrębnia cały tekst ze wszystkich stron w jednym wywołaniu, oferując prostsze API dla typowych przypadków użycia. Do dostępu na poziomie stron,IronPDFrównież oferuje pdf.Pages[index].Text.

Przewodnik po mapowaniu API

Dla zespołów rozważających migrację z Pdfium doIronPDFzrozumieniuiuiuiuie mapowań API pomaga oszacować nakład pracy.

Ładowanie dokumentów

Pdfium.NET IronPDF
PdfDocument.Load(path) PdfDocument.FromFile(path)
PdfDocument.Load(stream) PdfDocument.FromStream(stream)
document.PageCount document.PageCount
document.Pages[index] document.Pages[index]

Wyodrębnianie tekstu

Pdfium.NET IronPDF
document.GetPdfText(pageIndex) document.Pages[index].Text
(pętla ręczna) document.ExtractAllText()

Zapisywanie dokumentów

Pdfium.NET IronPDF
document.Save(path) document.SaveAs(path)
(niedostępne) document.BinaryData

Funkcje niedostępne w Pdfium

FunkcjaIronPDF Opis
ChromePdfRenderer.RenderHtmlAsPdf() Utwórz plik PDF z HTML
ChromePdfRenderer.RenderUrlAsPdf() Utwórz plik PDF z adresu URL
PdfDocument.Merge() Łączenie wielu plików PDF
pdf.CopyPages() Wyodrębnij konkretne strony
pdf.ApplyWatermark() Dodaj znaki wodne
pdf.SecuritySettings Ochrona hasłem
pdf.SignWithDigitalSignature() Podpisy cyfrowe

Natywne zależności binarne

Istotna różnica architektoniczna polega na zarządzaniu zależnościami.

Struktura wdrożenia Pdfium:

MyApp/
├── bin/
│   ├── MyApp.dll
│   ├── Pdfium.NET.dll
│   ├── x86/
│   │   └── pdfium.dll
│   └── x64/
│       └── pdfium.dll
├── runtimes/
│   ├── win-x86/native/
│   │   └── pdfium.dll
│   └── win-x64/native/
│       └── pdfium.dll

Struktura wdrożenia IronPDF:

MyApp/
├── bin/
│   ├── MyApp.dll
│   └── IronPdf.dll  # Wszystko w zestawie

Pdfium wymaga pakietowania i zarządzania natywnymi plikami binarnymi specyficznymi dla danej platformy. Powoduje to złożoność wdrożenia, zwłaszcza w przypadku aplikacji wielopłatformowych lub środowisk kontenerowych. Każda platforma docelowa wymaga odpowiedniej natywnej biblioteki DLL, a aplikacja musi poprawnie załadować odpowiednią wersję w czasie wykonywania.

W pełni zarządzana architekturaIronPDFeliminuje te obawy. Biblioteka wewnętrznie zarządza swoimi zależnościami, co upraszcza wdrażanie w systemach Windows, Linux i macOS.

Podsumowanie porównania funkcji

Różnica w zakresie możliwości między Pdfium aIronPDFobejmuje praktycznie każdą operację na plikach PDF wykraczającą poza podstawowe przeglądanie.

Funkcja Pdfium.NET IronPDF
Pobierz plik PDF
Renderuj do obrazu
Wyodrębnij tekst ✓(podstawowe) ✓(zaawansowane)
Informacje o stronie
Utwórz z HTML
Utwórz z adresu URL
Łączenie plików PDF
Podział plików PDF
Dodaj znaki wodne
Nagłówki/stopki
Wypełnianie formularzy
Podpisy cyfrowe
Ochrona hasłem
Zależności natywne Wymagane None
Wielopłatformowe Złożone Automatyczne

Aplikacje wymagające znaków wodnych, nagłówków i stopek lub ustawień zabezpieczeń nie mogą tego osiągnąć przy użyciu samego Pdfium.

Kiedy zespoły rozważają przejście z Pdfium na IronPDF

Kilka czynników skłania zespoły do rozważeniaIronPDFjako alternatywy dla Pdfium:

Wymagania dotyczące tworzenia plików PDF: Pdfium nie może tworzyć plików PDF. Aplikacje wymagające generowania plików PDF na podstawie szablonów HTML, raportów lub treści internetowych wymagają dodatkowych bibliotek.IronPDFzapewnia kompleksowe tworzenie plików PDF dzięki nowoczesnemu silnikowi Chromium.

Wymagania dotyczące manipulacji dokumentami: Pdfium nie może łączyć, dzielić ani modyfikować treści plików PDF. W miarę dojrzewania aplikacji wymagania często wykraczają poza zwykłe przeglądanie i obejmują tworzenie dokumentów, wyodrębnianie stron lub modyfikację treści.

Uproszczenie wdrażania: Zarządzanie natywnymi plikami binarnymi PDFium na różnych platformach zwiększa złożoność procesów kompilacji, wdrażania i konteneryzacji. Architektura zarządzanaIronPDFeliminuje tę złożoność.

Rozszerzenie funkcji: Aplikacje, których podstawową funkcją jest przeglądanie, często wymagają funkcji znaków wodnych, ustawień zabezpieczeń lub wypełniania formularzy. Dodanie tych funkcji do aplikacji opartej na Pdfium wymaga dodatkowych bibliotek, podczas gdyIronPDFzapewnia je natywnie.

Spójność między platformami: Pdfium wymaga zarządzania plikami binarnymi specyficznymi dla platformy dla każdego środowiska docelowego. Kod zarządzanyIronPDFdziała spójnie w systemach Windows, Linux i macOS bez konieczności konfiguracji specyficznej dla danej platformy.

Porównanie instalacji

Instalacja Pdfium:

Install-Package PdfiumViewer
Install-Package PdfiumViewer
SHELL

Plus ręczne zarządzanie natywnymi plikami binarnymi.

Instalacja IronPDF:

Install-Package IronPdf
Install-Package IronPdf
SHELL

IronPDF wymaga konfiguracji klucza licencyjnego podczas uruchamiania aplikacji:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

Obie biblioteki obsługują .NET Framework oraz nowoczesne wersje .NET, zapewniając kompatybilność z aplikacjami przeznaczonymi dla .NET 10 i C# 14.

Podejmowanie decyzji

Wybór między Pdfium aIronPDFzależy od wymagań aplikacji:

Rozważ Pdfium, jeśli: potrzebujesz jedynie przeglądania i renderowania plików PDF, nie potrzebujesz tworzenia ani edycji plików PDF, nie masz problemów z zarządzaniem natywnymi zależnościami binarnymi i masz proste potrzeby w zakresie wyodrębniania tekstu.

Rozważ IronPDF, jeśli: potrzebujesz tworzyć pliki PDF z HTML lub adresów URL, potrzebujesz edytować pliki PDF (łączyć, dzielić, dodawać znaki wodne), chcesz uproszczonego wdrażania bez zależności natywnych, potrzebujesz zaawansowanych funkcji (formularze, zabezpieczenia, podpisy) lub tworzysz aplikacje z rosnącymi wymaganiami dotyczącymi plików PDF.

W przypadku większości nowoczesnych aplikacji możliwość tworzenia i edycji plików PDF jest niezbędna. Skupienie się Pdfium wyłącznie na renderowaniu sprawia, że bez dodatkowych bibliotek nie nadaje się ono do kompleksowych procesów pracy z plikami PDF. Kompleksowe rozwiązanieIronPDFeliminuje potrzebę łączenia bibliotek, zapewniając jednocześnie ujednolicony interfejs API dla wszystkich operacji związanych z plikami PDF.

Pierwsze kroki z IronPDF

Aby ocenićIronPDFpod kątem swoich potrzeb związanych z plikami PDF:

  1. Zainstaluj pakietIronPDFNuGet: Install-Package IronPdf
  2. Zapoznaj się z samouczkiem dotyczącym tworzenia wzorców z HTML do PDF
  3. Zapoznaj się z możliwościami łączenia plików PDF w celu tworzenia dokumentów
  4. Zapoznaj się z sekcją samouczków, aby uzyskać wyczerpujące przykłady

Dokumentacja IronPDF zawiera szczegółowe wskazówki dotyczące typowych scenariuszy, a Dokumentacja API opisuje wszystkie dostępne klasy i metody.

Wnioski

Pdfium iIronPDFsłużą zasadniczo różnym celom w ekosystemie PDF dla platformy .NET. Pdfium wyróżnia się w renderowaniu plików PDF — wyświetla dokumenty z wysoką wiernością przy użyciu silnika PDFium firmy Google.IronPDFzapewnia kompletne rozwiązanie do obsługi plików PDF, obejmujące tworzenie, edycję i renderowanie w jednej bibliotece.

W przypadku aplikacji wymagających jedynie przeglądania plików PDF, odpowiednie może być ukierunkowane podejście Pdfium. W przypadku aplikacji wymagających generowania plików PDF, scałania dokumentów, dodawania znaków wodnych lub innych funkcji tworzenia,IronPDFzapewnia te funkcje natywnie, bez konieczności korzystania z dodatkowych bibliotek.

Decyzja wykracza poza obecne wymagania i uwzględnia przewidywane potrzeby. Aplikacje często zaczynają się od przeglądania, ale z czasem rozszerzają się o funkcje tworzenia i edycji. WybórIronPDFod samego początku stanowi podstawę dla tych rozszerzonych wymagań, jednocześnie eliminując złożoność zarządzania natywnymi plikami binarnymi, którą wprowadza Pdfium.

Przy wyborze jednej z tych bibliotek należy ocenić wszystkie swoje obecne i przewidywane wymagania dotyczące plików PDF. Fakt, że Pdfium służy wyłącznie do renderowania, powoduje ograniczenia architektoniczne, które stają się widoczne w miarę dojrzewania aplikacji i rozszerzania się wymagań.