Przejdź do treści stopki
KORZYSTANIE Z IRONPDF

Jak otworzyć PDF w nowej karcie w Blazor

Wielu programistów .NET poszukujących zestawu SDK do obsługi plików PDF napotyka ten sam problem: biblioteki wymagające rozbudowanej konfiguracji, nieprzejrzyste poziomy licencji oraz interfejsy API, które zostały wyraźnie zaprojektowane w oparciu o specyfikację PDF, a nie ergonomię programisty. IronPDF to biblioteka PDF dla platformy .NET stworzona w celu wyeliminowania tych utrudnień. Umożliwia tworzenie i edycję plików PDF, obsługę formularzy oraz zabezpieczanie dokumentów za pomocą jednego pakietu NuGet, który działa w środowiskach .NET Framework, .NET Core i .NET 10.

Bezpłatna próba i dołącz do zespołów w NASA, Tesli i 3M, które polegają na IronPDF w swoich procesach obiegu dokumentów.

Jakie kryteria mają znaczenie przy wyborze biblioteki .NET PDF SDK?

Wybór biblioteki PDF do użytku produkcyjnego wymaga oceny kompromisów, których nie ujawni szybki test instalacji NuGet. Cztery kryteria konsekwentnie odróżniają biblioteki odpowiednie od tych gotowych do użycia w produkcji.

Dokładność renderowania i jakość silnika HTML

Najważniejszym wyborem jest to, czy biblioteka korzysta z prawdziwego silnika przeglądarki (Chromium lub WebKit), czy z niestandardowego renderera HTML-do-PDF. Niestandardowe renderery obsługują podzbiór CSS2 — podstawowa typografia i elementy float działają, ale flexbox, CSS Grid i treści renderowane przez JavaScript nie działają. Silnik oparty na Chromium renderuje HTML dokładnie tak samo jak Chrome, więc istniejące widoki Razor, szablony raportów i JavaScript po stronie klienta generują dokładne wyniki bez konieczności ręcznego dostosowywania układu. Aby sprawdzić dokładność renderowania, należy wyrenderować dokument wykorzystujący CSS Grid i treści generowane przez JavaScript; Biblioteki z ograniczoną obsługą CSS będą nieprawidłowo rozmieszczać elementy lub wyświetlać wyniki bez stylizacji.

Obsługa wielu platform i kontenerów Linux

Pakiet .NET PDF SDK musi działać w systemie Linux bez konieczności korzystania z pakietu Microsoft Office lub automatyzacji COM. Biblioteki, które przekazują renderowanie HTML do interoperacyjności z programem WORD, nie mogą działać w kontenerze Docker w systemie Linux. Biblioteki oparte na Chromium dostarczają silnik renderujący jako natywny plik binarny i wymagają tylko standardowych pakietów systemowych (libgdiplus, fontconfig) na hostach Debian lub Ubuntu. Dokumentacja .NET dotycząca wdrażania międzyplatformowego obejmuje konwencje identyfikatorów środowiska uruchomieniowego istotne w przypadku obrazów Docker dla systemów Linux lub Alpine.

Bezpieczeństwo wątków i współbieżność w ASP.NET Core

Wiele bibliotek PDF dokumentuje bezpieczeństwo wątków jedynie w przypisie. W przypadku aplikacji .NET Core generujących pliki PDF na żądanie HTTP ma to bezpośrednie znaczenie. Funkcja ChromePdfRenderer IronPDF nie jest bezpieczna w obsłudze wątków — każdy równoległy proces musi posiadać swoją własną instancję. Użycie Parallel.ForEach z jednym renderem na iterację i limitem równoległości unika konfliktów i odpowiada wytycznym zawartym w przewodniku jak-to o asynchroniczności i wielowątkowości. W przypadku zadań wsadowych jeden renderer na wątek roboczy skaluje się liniowo wraz z liczbą rdzeni procesora.

Dostosowanie modelu licencyjnego

Struktury licencji wpływają na całkowity koszt posiadania w skali. Licencje na programistę (IronPDF, Syncfusion) są rozliczane na podstawie liczby programistów, którzy tworzą i wdrażają aplikację. Licencje AGPL (iText Core) wymagają udostępnienia kodu źródłowego aplikacji, chyba że zakupiono licencję komercyjną. Licencje MIT (QuestPDF, PDFsharp) nie nakładają ograniczeń dystrybucyjnych, ale nie zapewniają wsparcia komercyjnego. W przypadku środowisk podlegających regulacjom, wymagających długoterminowej archiwizacji, zgodność z normą ISO 19005 PDF/A jest wymogiem odrębnym od modelu licencji — należy to zweryfikować osobno.

Przewodnik po przypadkach użycia

Jeśli głównym wymaganiem jest konwersja istniejących szablonów HTML lub widoków Razor do formatu PDF, właściwym wyborem jest biblioteka oparta na Chromium. Układ graficzny przygotowany dla stron internetowych przekłada się bezpośrednio na format PDF bez konieczności oddzielnego projektowania.

Jeśli wymagane jest generowanie dokumentów strukturalnych na podstawie danych bez szablonu HTML, QuestPDF (na licencji MIT) jest rozsądnym rozwiązaniem dla narzędzi wewnętrznych o niewielkiej skali. Nie obsługuje on wprowadzania danych w formacie HTML i nie może odczytywać ani edytować istniejących plików PDF, ale eliminuje zależność od środowiska uruchomieniowego Chromium.

Jeśli wymagana jest obróbka istniejących plików PDF — scałanie, dzielenie, redagowanie lub podpisywanie dokumentów wygenerowanych przez inne systemy — większość komercyjnych bibliotek .NET do obsługi plików PDF radzi sobie z tym zadaniem odpowiednio. Cechą wyróżniającą jest koszt licencji i ergonomia API, a nie możliwości renderowania.

Jak zainstalować IronPDF w projekcie .NET?

Dodanie IronPDF do projektu zajmuje mniej niż minutę za pomocą menedżera pakietów NuGet. Otwórz konsolę menedżera pakietów w Visual Studio i uruchom:

PM> Install-Package IronPdf
PM> Install-Package IronPdf
SHELL

Alternatywnie, dodaj pakiet poprzez GUI NuGet, wyszukując IronPdf. Pakiet jest przeznaczony dla .NET Standard 2.0, więc działa z .NET Framework 4.6.2 i nowszymi wersjami, .NET Core 2.0 i nowszymi wersjami oraz wszystkimi nowoczesnymi wydaniami .NET aż do .NET 10.

Po instalacji należy zastosować klucz licencyjny przed renderowaniem. Aby dokonać oceny, wywołaj IronPdf.License.LicenseKey = "IRONPDF-TRIAL-KEY"; przy uruchomieniu aplikacji lub skorzystaj z bezpłatnej licencji próbnej dostępnej na stronie IronPDF. Nie jest wymagany klucz licencyjny do uruchamiania biblioteki lokalnie podczas rozwoju.

IronPDF zawiera gotowy silnik Chromium w postaci natywnego pliku binarnego. Gdy silnik uruchamia się po raz pierwszy na nowym komputerze, wyodrębnia swoje środowisko uruchomieniowe do folderu tymczasowego, co zajmuje kilka sekund. Kolejne wywołania są szybkie. Na Linuxie i w Dockerze upewnij się, że libgdiplus oraz pakiety czcionek są zainstalowane - przewodnik wdrażania na Linuxie obejmuje wymagania specyficzne dla dystrybucji.

Jak utworzyć plik PDF z HTML w języku C#?

Konwersja HTML do PDF jest najczęstszym punktem wyjścia dla procesów pracy z .NET PDF SDK. IronPDF wykorzystuje silnik renderujący oparty na Chromium do konwersji ciągów HTML, plików lokalnych lub aktywnych adresów URL na pliki PDF o pikselowej dokładności, zachowując układy CSS3, czcionki Google Fonts oraz treści renderowane przez JavaScript.

using IronPdf;

// Apply license key (omit for trial watermarked output)
// IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

var renderer = new ChromePdfRenderer();

// Configure page layout
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 15;
renderer.RenderingOptions.MarginRight = 15;

// Render an HTML string to PDF
string htmlContent = @"
    <html>
    <head><style>body { font-family: Arial; } h1 { color: #333; }</style></head>
    <body>
        <h1>Customer Registration</h1>
        <p>Form generated on: <span id='date'></span></p>
        <form>
            <label>Full Name: <input type='text' name='name' /></label><br/>
            <label>Email: <input type='email' name='email' /></label>
        </form>
        <script>document.getElementById('date').textContent = new Date().toLocaleDateString();</script>
    </body>
    </html>";

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("registration-form.pdf");
using IronPdf;

// Apply license key (omit for trial watermarked output)
// IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";

var renderer = new ChromePdfRenderer();

// Configure page layout
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.MarginBottom = 20;
renderer.RenderingOptions.MarginLeft = 15;
renderer.RenderingOptions.MarginRight = 15;

// Render an HTML string to PDF
string htmlContent = @"
    <html>
    <head><style>body { font-family: Arial; } h1 { color: #333; }</style></head>
    <body>
        <h1>Customer Registration</h1>
        <p>Form generated on: <span id='date'></span></p>
        <form>
            <label>Full Name: <input type='text' name='name' /></label><br/>
            <label>Email: <input type='email' name='email' /></label>
        </form>
        <script>document.getElementById('date').textContent = new Date().toLocaleDateString();</script>
    </body>
    </html>";

PdfDocument pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("registration-form.pdf");
Imports IronPdf

' Apply license key (omit for trial watermarked output)
' IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"

Dim renderer As New ChromePdfRenderer()

' Configure page layout
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 15
renderer.RenderingOptions.MarginRight = 15

' Render an HTML string to PDF
Dim htmlContent As String = "
    <html>
    <head><style>body { font-family: Arial; } h1 { color: #333; }</style></head>
    <body>
        <h1>Customer Registration</h1>
        <p>Form generated on: <span id='date'></span></p>
        <form>
            <label>Full Name: <input type='text' name='name' /></label><br/>
            <label>Email: <input type='email' name='email' /></label>
        </form>
        <script>document.getElementById('date').textContent = new Date().toLocaleDateString();</script>
    </body>
    </html>"

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("registration-form.pdf")
$vbLabelText   $csharpLabel

Opcje renderowania i układ strony

Klasa ChromePdfRenderer udostępnia właściwość RenderingOptions, która kontroluje każdy aspekt układu PDF. Ustaw PaperSize na dowolny standardowy rozmiar ISO lub ANSI lub zdefiniuj własne wymiary w milimetrach przy użyciu CustomPaperWidth i CustomPaperHeight. Wartości marginesu są określone w milimetrach, a PrintHtmlBackgrounds zapewnia poprawne renderowanie kolorów tła i obrazów.

W przypadku konwersji URL na PDF, przekaż docelowy adres do RenderUrlAsPdf. Renderer obsługuje pliki cookie, nagłówki HTTP i niestandardowe agenty użytkownika, dzięki czemu nadaje się do stron wymagających uwierzytelnienia oraz aplikacji jednostronicowych. Przewodnik dotyczący konwersji HTML do PDF szczegółowo omawia uwierzytelnianie, warunki oczekiwania w JavaScript oraz treści ładowane leniwie.

IronPDF renderuje fakturę HTML do PDF z dokładnością układu CSS3 w C# Wynik działania IronPDF ChromePdfRenderer: szablon HTML przekształcony do formatu PDF A4 z zachowaniem stylów CSS3

Renderowanie na podstawie ścieżek plików i adresów URL

using IronPdf;

var renderer = new ChromePdfRenderer();

// Render from a URL (async variant for ASP.NET Core)
PdfDocument fromUrl = await renderer.RenderUrlAsPdfAsync("https://example.com/report");
fromUrl.SaveAs("url-report.pdf");

// Render from a local HTML file
PdfDocument fromFile = renderer.RenderHtmlFileAsPdf("templates/invoice.html");
fromFile.SaveAs("invoice.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Render from a URL (async variant for ASP.NET Core)
PdfDocument fromUrl = await renderer.RenderUrlAsPdfAsync("https://example.com/report");
fromUrl.SaveAs("url-report.pdf");

// Render from a local HTML file
PdfDocument fromFile = renderer.RenderHtmlFileAsPdf("templates/invoice.html");
fromFile.SaveAs("invoice.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Render from a URL (async variant for ASP.NET Core)
Dim fromUrl As PdfDocument = Await renderer.RenderUrlAsPdfAsync("https://example.com/report")
fromUrl.SaveAs("url-report.pdf")

' Render from a local HTML file
Dim fromFile As PdfDocument = renderer.RenderHtmlFileAsPdf("templates/invoice.html")
fromFile.SaveAs("invoice.pdf")
$vbLabelText   $csharpLabel

Metoda RenderUrlAsPdfAsync zwraca Task<PdfDocument>, więc integruje się bezpośrednio z wzorcami await w kontrolerach ASP.NET Core i usługach w tle. Przewodnik po renderowaniu asynchronicznym wyjaśnia bezpieczeństwo wątków i konfigurację puli połączeń w scenariuszach wymagających dużej przepustowości.

Jak konwertować obrazy i wyodrębniać zawartość plików PDF?

Wiele aplikacji .NET wymaga konwersji plików graficznych do formatu PDF lub wyodrębniania obrazów i tekstu z istniejących dokumentów. IronPDF obsługuje oba kierunki bez konieczności stosowania pośrednich formatów plików lub narzędzi zewnętrznych.

using IronPdf;

// Convert a list of image files to a single multi-page PDF
var imageFiles = new System.Collections.Generic.List<string>
{
    "scans/page1.png",
    "scans/page2.jpg",
    "scans/page3.tiff"
};

PdfDocument pdfFromImages = ImageToPdfConverter.ImageToPdf(imageFiles);
pdfFromImages.SaveAs("scanned-document.pdf");

// Extract images from an existing document
PdfDocument existing = PdfDocument.FromFile("annual-report.pdf");
var images = existing.ExtractAllImages();
int index = 0;
foreach (var img in images)
{
    img.SaveAs($"extracted/image_{index++}.png");
}

// Extract all text content for indexing or search
string fullText = existing.ExtractAllText();
System.IO.File.WriteAllText("report-text.txt", fullText);
using IronPdf;

// Convert a list of image files to a single multi-page PDF
var imageFiles = new System.Collections.Generic.List<string>
{
    "scans/page1.png",
    "scans/page2.jpg",
    "scans/page3.tiff"
};

PdfDocument pdfFromImages = ImageToPdfConverter.ImageToPdf(imageFiles);
pdfFromImages.SaveAs("scanned-document.pdf");

// Extract images from an existing document
PdfDocument existing = PdfDocument.FromFile("annual-report.pdf");
var images = existing.ExtractAllImages();
int index = 0;
foreach (var img in images)
{
    img.SaveAs($"extracted/image_{index++}.png");
}

// Extract all text content for indexing or search
string fullText = existing.ExtractAllText();
System.IO.File.WriteAllText("report-text.txt", fullText);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Praca z ImageToPdfConverter i ekstrakcją tekstu

Klasa ImageToPdfConverter domyślnie zachowuje oryginalne wymiary obrazów, ale można skalować obrazy do docelowego rozmiaru papieru, określając IronPdf.Imaging.ImageBehavior.CenterImage lub FitToPage. Obsługiwane są formaty JPEG, PNG, GIF, TIFF, BMP i WebP.

Ekstrakcja tekstu poprzez ExtractAllText() zwraca maszynowo odczytywany tekst zarówno z natywnych PDF, jak i dokumentów opartych na obrazach (skanowanych), pod warunkiem że PDF zawiera osadzoną warstwę tekstu. W przypadku zeskanowanych plików PDF bez warstwy tekstowej połączenie IronPDF z IronOCR zapewnia optyczne rozpoznawanie znaków w ramach jednej instalacji NuGet. Metoda ExtractAllImages() zwraca kolekcję obiektów AnyBitmap, które można zapisać, przeskalować lub przekazać bezpośrednio do innych bibliotek przetwarzania obrazów.

IronPDF ImageToPdfConverter konwertuje pliki PNG i JPEG na wielostronicowy PDF Wynik działania ImageToPdfConverter: trzy pliki źródłowe obrazów połączone w jeden wielostronicowy dokument PDF

Jak zabezpieczyć dokumenty PDF hasłami i podpisami cyfrowymi?

Enterprise PDF workflows rutynowo wymagają dokumentów, które są zaszyfrowane, podpisane cyfrowo lub jedno i drugie. IronPDF udostępnia te możliwości poprzez właściwość SecuritySettings i klasę PdfSignature.

using IronPdf;
using IronPdf.Signing;

// Load an existing contract
PdfDocument contract = PdfDocument.FromFile("contracts/service-agreement.pdf");

// Apply AES-256 encryption with separate owner and user passwords
contract.SecuritySettings.OwnerPassword = "owner-admin-2024";
contract.SecuritySettings.UserPassword = "client-readonly";
contract.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
contract.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NieEdit;
contract.SecuritySettings.AllowUserCopyPasteContent = false;

// Apply a digital signature from a .pfx certificate
var signature = new PdfSignature("certs/company.pfx", "cert-password")
{
    SigningContact = "legal@company.com",
    SigningLocation = "Chicago, IL",
    SigningReason = "Contract Authorization"
};

contract.Sign(signature);
contract.SaveAs("contracts/service-agreement-signed.pdf");
using IronPdf;
using IronPdf.Signing;

// Load an existing contract
PdfDocument contract = PdfDocument.FromFile("contracts/service-agreement.pdf");

// Apply AES-256 encryption with separate owner and user passwords
contract.SecuritySettings.OwnerPassword = "owner-admin-2024";
contract.SecuritySettings.UserPassword = "client-readonly";
contract.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights;
contract.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NieEdit;
contract.SecuritySettings.AllowUserCopyPasteContent = false;

// Apply a digital signature from a .pfx certificate
var signature = new PdfSignature("certs/company.pfx", "cert-password")
{
    SigningContact = "legal@company.com",
    SigningLocation = "Chicago, IL",
    SigningReason = "Contract Authorization"
};

contract.Sign(signature);
contract.SaveAs("contracts/service-agreement-signed.pdf");
Imports IronPdf
Imports IronPdf.Signing

' Load an existing contract
Dim contract As PdfDocument = PdfDocument.FromFile("contracts/service-agreement.pdf")

' Apply AES-256 encryption with separate owner and user passwords
contract.SecuritySettings.OwnerPassword = "owner-admin-2024"
contract.SecuritySettings.UserPassword = "client-readonly"
contract.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.FullPrintRights
contract.SecuritySettings.AllowUserEdits = IronPdf.Security.PdfEditSecurity.NieEdit
contract.SecuritySettings.AllowUserCopyPasteContent = False

' Apply a digital signature from a .pfx certificate
Dim signature As New PdfSignature("certs/company.pfx", "cert-password") With {
    .SigningContact = "legal@company.com",
    .SigningLocation = "Chicago, IL",
    .SigningReason = "Contract Authorization"
}

contract.Sign(signature)
contract.SaveAs("contracts/service-agreement-signed.pdf")
$vbLabelText   $csharpLabel

Ustawienia zabezpieczeń i kontrola uprawnień

Właściwość SecuritySettings mapuje się bezpośrednio na uprawnienia PDF, jak zdefiniowano w specyfikacji PDF 1.7. Ustawienie samego OwnerPassword ogranicza edytowanie i drukowanie na poziomie czytnika PDF; dodanie UserPassword wymaga podania hasła do całkowitego otwarcia pliku.

Podpisy cyfrowe wykorzystują certyfikaty X.509 w formacie .pfx, tym samym, który jest używany przez sklepy certyfikatów Windows i większość urzędów certyfikacji. Podpis zawiera pola dotyczące danych kontaktowych, lokalizacji i powodu, widoczne w panelu podpisów programu Adobe Acrobat, co spełnia wiele wymagań dotyczących zgodności podpisów elektronicznych. W przypadku dokumentów PDF, które mogą zawierać skrypty lub osadzone metadane stanowiące zagrożenie dla bezpieczeństwa, metoda sanitize usuwa JavaScript, osadzone pliki i ukryte metadane przed dystrybucją.

Cyfrowy podpis IronPDF zastosowany do umowy PDF z pokazaniem zweryfikowanego podpisu w Adobe Acrobat Wynik działania IronPDF PdfSignature: certyfikat X.509 zastosowany do umowy, panel podpisu widoczny w programie Adobe Acrobat

Jak wypełniać i odczytywać pola formularzy PDF?

Obsługa formularzy AcroForm i XFA jest częstym wymaganiem w procesach związanych z dokumentami ubezpieczeniowymi, medycznymi i prawnymi. IronPDF odczytuje nazwy pól z istniejących formularzy i zapisuje wartości programowo, bez konieczności korzystania z programu Acrobat lub jakiejkolwiek przeglądarki plików PDF.

using IronPdf;

// Open a PDF containing AcroForm fields
PdfDocument form = PdfDocument.FromFile("forms/application-form.pdf");

// List all field names for discovery
foreach (var field in form.Form.Fields)
{
    System.Console.WriteLine($"Field: {field.Name}, Type: {field.GetType().Name}");
}

// Set field values by name
form.Form.FindFormField("applicant_name").Value = "Jane Smith";
form.Form.FindFormField("date_of_birth").Value = "1985-04-12";
form.Form.FindFormField("agree_terms").Value = "true"; // checkbox

// Flatten the form to prevent further editing
form.Form.Flatten();
form.SaveAs("forms/completed-application.pdf");
using IronPdf;

// Open a PDF containing AcroForm fields
PdfDocument form = PdfDocument.FromFile("forms/application-form.pdf");

// List all field names for discovery
foreach (var field in form.Form.Fields)
{
    System.Console.WriteLine($"Field: {field.Name}, Type: {field.GetType().Name}");
}

// Set field values by name
form.Form.FindFormField("applicant_name").Value = "Jane Smith";
form.Form.FindFormField("date_of_birth").Value = "1985-04-12";
form.Form.FindFormField("agree_terms").Value = "true"; // checkbox

// Flatten the form to prevent further editing
form.Form.Flatten();
form.SaveAs("forms/completed-application.pdf");
Imports IronPdf

' Open a PDF containing AcroForm fields
Dim form As PdfDocument = PdfDocument.FromFile("forms/application-form.pdf")

' List all field names for discovery
For Each field In form.Form.Fields
    System.Console.WriteLine($"Field: {field.Name}, Type: {field.GetType().Name}")
Next

' Set field values by name
form.Form.FindFormField("applicant_name").Value = "Jane Smith"
form.Form.FindFormField("date_of_birth").Value = "1985-04-12"
form.Form.FindFormField("agree_terms").Value = "true" ' checkbox

' Flatten the form to prevent further editing
form.Form.Flatten()
form.SaveAs("forms/completed-application.pdf")
$vbLabelText   $csharpLabel

Programowa obsługa formularzy za pomocą AcroForms

Interfejs API formularzy IronPDF wykorzystuje nazwy pól jako identyfikatory, dzięki czemu kod odpowiada bezpośrednio strukturze pól widocznej w programie Acrobat. Metoda Flatten() konwertuje interaktywne pola na statyczną zawartość, tworząc PDF wyłącznie do odczytu, odpowiedni do archiwizacji lub transmisji. Pełne informacje na temat typów formularzy, grup przycisków opcji i list rozwijanych znajdują się w przewodniku po formularzach w formacie PDF.

Aby generować nowe formularze od podstaw, użyj HTML z elementami <input>, <select> i <textarea>. Renderer Chromium automatycznie konwertuje standardowe elementy formularzy HTML na pola AcroForm, co oznacza, że istniejące formularze HTML używane w aplikacjach internetowych mogą generować pliki PDF z możliwością wypełniania bez żadnych zmian strukturalnych. Poradnik tworzenia formularzy PDF przedstawia cały proces, w tym przyciski opcji, selektory daty i pola wielokrotnego wyboru.

Jak IronPDF wypada na tle innych bibliotek PDF dla platformy .NET?

Programiści oceniający bibliotekę PDF SDK dla .NET zazwyczaj biorą pod uwagę jakość renderowania, dostępność API, złożoność wdrożenia oraz warunki licencji. Poniższa tabela przedstawia pozycję IronPDF w stosunku do popularnych alternatyw .NET w oparciu o te kryteria.

Porównanie bibliotek PDF dla platformy .NET według kluczowych kryteriów programistów
Biblioteka HTML do PDF Obsługa .NET 10 Obsługa formularzy Podpisy cyfrowe Model licencji
IronPDF Oparty na Chromium (pełna obsługa CSS3/JS) Tak AcroForm + XFA Tak (.pfx) Na programistę, bez opłat licencyjnych
QuestPDF Nie (silnik układu typu "code-first") Tak Nie Nie MIT (społeczność), komercyjne
iText Core Dostępne wyłącznie jako dodatek Tak AcroForm Tak AGPL lub komercyjne
PDF Syncfusion Częściowe (podzbiór CSS2) Tak AcroForm Tak Na programistę lub na podstawie przychodów
PDFsharp Nie Tak (wersja 6+) Ograniczone Nie MIT

Strona licencyjna IronPDF obejmuje wdrożenie SaaS, redystrybucję OEM oraz pakiet Iron Suite, który zawiera IronPDF wraz z IronOCR, IronBarcode i IronXL, oferując znaczną zniżkę w porównaniu z zakupem każdego produktu osobno.

Głównym czynnikiem wyróżniającym IronPDF jest jakość renderowania HTML. Biblioteki oparte na niskopoziomowych interfejsach API do rysowania w formacie PDF wymagają od programistów ręcznego odtwarzania logiki układu CSS. Gdy istniejące szablony HTML lub widoki Razor już definiują strukturę dokumentu, bezpośrednia konwersja ich do formatu PDF jest szybsza i łatwiejsza w utrzymaniu niż odtwarzanie układów przy użyciu interfejsu API rysowania opartego na kodzie.

Jakie są kluczowe funkcje, na które należy zwrócić uwagę w bibliotece .NET PDF SDK?

Wybór biblioteki PDF do aplikacji produkcyjnej to coś więcej niż tylko sprawdzenie, czy tworzy ona pliki PDF. Aplikacje intensywnie wykorzystujące dokumenty wymagają określonych możliwości, które ujawniają się dopiero wtedy, gdy wstępne prace nad weryfikacją koncepcji zaczynają obejmować rzeczywiste ilości danych i środowiska wdrożeniowe.

Wdrażanie wielopłatformowe

Gotowy do użycia pakiet .NET PDF SDK musi działać na serwerach Windows Server, kontenerach Linux oraz komputerach programistycznych z systemem macOS bez ścieżek kodu specyficznych dla danej platformy. IronPDF obsługuje wszystkie trzy od razu po instalacji; Ten sam pakiet NuGet wdraża się w Azure App Service, AWS Lambda i Docker bez konieczności zmiany platformy w kodzie aplikacji.

Zgodność ze standardami PDF/A i PDF/UA

Branże podlegające regulacjom, w tym administracja publiczna, finanse i opieka zdrowotna, często wymagają zgodności z formatem PDF/A w celu długoterminowej archiwizacji. Nierma ISO 19005 PDF/A definiuje formaty PDF/A-1b i PDF/A-3b, które ograniczają osadzony kod JavaScript i czcionki nieosadzone, zapewniając czytelność dokumentów bez konieczności korzystania z aplikacji, w której zostały utworzone. IronPDF konwertuje istniejące pliki PDF do formatu PDF/A i sprawdza zgodność, zwracając flagę wskazującą, czy wynik spełnia standard. Dostępna jest również zgodność z PDF/UA (dostępność) dla dokumentów, które muszą spełniać wymagania WCAG lub sekcji 508.

Przetwarzanie wsadowe i zarządzanie pamięcią

Generowanie tysięcy plików PDF w ramach zaplanowanego zadania lub przetwarzanie kolejki przesyłania wymaga przewidywalnego zachowania pamięci. Kompresja mieszanej zawartości rastrowej (MRC) firmy IronPDF zmniejsza rozmiar plików dokumentów zawierających zarówno tekst, jak i obrazy o wysokiej rozdzielczości. Dla zadań wsadowych o dużej objętości, przewodnik wielowątkowy pokazuje, jak używać Parallel.ForEach z instancjami ChromePdfRenderer - renderer nie jest bezpieczny w obsłudze wątków, więc każda zadanie powinno mieć swoją własną instancję.

Konwersja plików DOCX i Excel do formatu PDF

Poza HTML, IronPDF konwertuje dokumenty Word (.docx) i arkusze kalkulacyjne bezpośrednio na PDF, co pozwala na wyeliminowanie zależności od automatyzacji interop Microsoft Office lub COM w przepływach pracy eksportu dokumentów. Połączenie IronPDF z IronXL zapewnia pełny proces konwersji arkuszy kalkulacyjnych do formatu PDF bez konieczności instalowania pakietu Office na serwerze.

Jakie są Twoje kolejne kroki?

IronPDF przekształca złożone procesy związane z plikami PDF w łatwy w utrzymaniu kod C#. Od konwersji HTML do PDF z pełną zgodnością z CSS3 po podpisy cyfrowe, obsługę formularzy i archiwizację w formacie PDF/A — biblioteka obejmuje cały cykl życia dokumentu w jednym pakiecie NuGet.

Zacznij od centrum dokumentacji IronPDF, aby zapoznać się z samouczkami, poradnikami i Dokumentacją API. Galeria przykładów zawiera gotowy do uruchomienia kod dla najczęstszych zadań związanych z plikami PDF, w tym scałania plików PDF, dodawania znaków wodnych, umieszczania nagłówków i stopek oraz redagowania poufnych treści.

Kup licencję na wdrożenie produkcyjne lub rozpocznij bezpłatny okres próbny, aby bez żadnych zobowiązań ocenić pełny zestaw funkcji.

Zacznij z IronPDF teraz.
green arrow pointer

Często Zadawane Pytania

Jaki jest najlepszy PDF SDK dla programistów .NET?

IronPDF to mocny wybór dla programistów .NET, którzy potrzebują HTML-to-PDF z pełnym wsparciem dla CSS3 i JavaScript. Instalowany jest jako pojedynczy pakiet NuGet (IronPdf), wspiera .NET 10 i .NET Framework 4.6.2+, i działa na Windows, Linux, macOS, Azure, AWS i Docker bez zmian w konfiguracji. Dla generacji układu z kodu bez HTML, QuestPDF jest darmową alternatywą licencjonowaną na MIT, aczkolwiek nie wspiera odczytu ani edycji istniejących PDF.

Jak zainstalować IronPDF w projekcie .NET?

Uruchom 'Install-Package IronPdf' w konsoli Menedżera Pakietów Visual Studio lub wyszukaj 'IronPdf' w GUI NuGet. Pakiet jest dedykowany dla .NET Standard 2.0, więc działa z .NET Framework 4.6.2+, .NET Core 2.0+ oraz .NET 5 do .NET 10.

Czy IronPDF może konwertować HTML do PDF z CSS3 i JavaScript?

Tak. IronPDF używa silnika opartego na Chromium, który renderuje HTML z pełnym wsparciem dla układu CSS3, Google Fonts, flexbox, grid i JavaScript. Przekaż ciąg HTML do ChromePdfRenderer.RenderHtmlAsPdf, lub URL do RenderUrlAsPdf albo RenderUrlAsPdfAsync.

Czy IronPDF wspiera podpisy cyfrowe?

Tak. Użyj klasy PdfSignature z plikiem certyfikatu .pfx. Ustaw SigningContact, SigningLocation i SigningReason, a następnie wywołaj PdfDocument.Sign(signature). Wynikowy podpis jest widoczny w panelu podpisów Adobe Acrobat i spełnia wiele wymagań zgodności dla podpisów elektronicznych.

Jak wypełnić pola w formularzu PDF za pomocą IronPDF w C#?

Wczytaj PDF za pomocą PdfDocument.FromFile, następnie użyj form.Form.FindFormField("fieldName").Value, aby ustawić wartości. Wywołaj form.Form.Flatten(), aby przekonwertować interaktywne pola na statyczną zawartość przed zapisaniem. IronPDF wspiera tekstowe pola AcroForm, checkboxy, przyciski radiowe i listy rozwijane.

Jakie funkcje bezpieczeństwa PDF oferuje IronPDF?

Właściwość SecuritySettings IronPDF wspiera szyfrowanie AES-256 z oddzielnymi hasłami właściciela i użytkownika. Można niezależnie ograniczyć drukowanie, edycję i kopiowanie. Metoda Sanitize usuwa JavaScript, osadzone pliki i metadane z dokumentów przed dystrybucją.

Czy IronPDF wspiera PDF/A dla zgodności archiwizacji?

Tak. IronPDF może konwertować istniejące PDF do formatu PDF/A-1b lub PDF/A-3b i weryfikować zgodność. Skorzystaj z przewodnika na ironpdf.com/how-to/pdf-a-compliance/dla API konwersji i flag zgodności.

Jak IronPDF wypada w porównaniu z iText dla .NET?

IronPDF i iText Core wspierają zarówno obsługę AcroForm, jak i podpisy cyfrowe. Główne różnice to licencjonowanie i renderowanie HTML. iText Core jest licencjonowane na AGPL (wymaga licencji komercyjnej dla aplikacji zamkniętych) i używa dodatku do konwersji HTML. IronPDF jest licencjonowany komercyjnie z wyceną per programista i używa wbudowanego silnika Chromium do HTML-to-PDF z pełnym wsparciem CSS3.

Czy IronPDF działa na Linux i Docker?

Tak. Ten sam pakiet NuGet działa na Ubuntu, Debian, CentOS i obrazach Dockera opartych na Alpine. Na Linux zainstaluj libgdiplus i pakiety czcionek (np. fontconfig, libfreetype6). Przewodnik wdrożenia na Linux na ironpdf.com/get-started/linux/wymienia wymagania dotyczące pakietów specyficznych dla dystrybucji.

Jak przekonwertować obrazy do PDF za pomocą IronPDF?

Użyj ImageToPdfConverter.ImageToPdf(imageFileList), aby połączyć pliki JPEG, PNG, TIFF, BMP, GIF lub WebP w pojedynczy, wielostronicowy PDF. Określ IronPdf.Imaging.ImageBehavior.FitToPage lub CenterImage, aby kontrolować sposób skalowania.

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