Przejdź do treści stopki
KORZYSTANIE Z IRONPDF

Przeglądarka PDF w ASP.NET Core: Wyświetlaj PDF-y w trybie inline z C#

IronPDF to konwerter HTML na PDF dla platformy .NET, który wykorzystuje silnik renderujący przeglądarki Chrome do przekształcania ciągów znaków HTML, plików i stron internetowych w wysokiej jakości dokumenty PDF z dokładnym renderowaniem CSS i obsługą wykonywania kodu JavaScript.

Konwersja HTML do PDF stanowi stałe wyzwanie w programowaniu w środowisku .NET. Potrzebujesz biblioteki, która obsługuje nowoczesne układy CSS, poprawnie wykonuje JavaScript i tworzy wysokiej jakości dokumenty — a wszystko to przy zachowaniu łatwości integracji. IronPDF odpowiada na te wyzwania dzięki renderowaniu opartemu na przeglądarce Chrome, umożliwiając konwersję plików HTML, ciągów znaków i stron internetowych z wiernością na poziomie przeglądarki. Biblioteka działa na platformie .NET 10 i jest przeznaczona dla systemów Windows, Linux, macOS oraz Azure, nie wymagając oddzielnych silników renderujących dla każdej platformy.

W tym artykułe wyjaśniono, jak wdrożyć profesjonalne generowanie plików PDF, od podstawowych konwersji po zaawansowane funkcje, takie jak podpisy cyfrowe i ochrona hasłem. Zajmiesz się instalacją, konfiguracją, podstawowymi metodami konwersji oraz kwestiami związanymi z wdrażaniem. Każda sekcja zawiera działający kod w języku C# wykorzystujący instrukcje najwyższego poziomu, zgodny z projektami .NET 10.

Baner strony glownej biblioteki PDF IronPDF w C# pokazujacy kluczowe funkcje, w tym konwersje HTML do PDF, mozliwosci edycji PDF, elastyczne opcje wdrazania oraz oferte darmowej wersji probnej

Jak wybrać odpowiednią bibliotekę do konwersji HTML na PDF dla .NET?

Wybór biblioteki PDF ma wpływ na jakość renderowania, koszty utrzymania i długoterminową kompatybilność. Najważniejsze pytanie brzmi: czy biblioteka nadąża za współczesną siecią? Siatki CSS, flexbox, treści renderowane przez JavaScript i czcionki internetowe są dziś standardem — biblioteka, która nie radzi sobie z nimi niezawodnie, zmusza do stosowania obejść w postaci przetwarzania wstępnego, co spowalnia rozwój i wprowadza niestabilność w momencie ewolucji szablonów HTML.

IronPDF wykorzystuje ten sam silnik Blink, który napędza przeglądarkę Google Chrome. Twoje pliki PDF wyświetlają się dokładnie tak, jak w podglądzie wydruku w przeglądarce Chrome — bez brakujących stylów, zepsutych układów siatki i pominiętych czcionek niestandardowych. Ta spójność eliminuje ręczne debugowanie stylu, które zazwyczaj towarzyszy innym bibliotekom PDF. Możesz porównać możliwości renderowania przeglądarki Chrome ze starszymi alternatywami, aby ocenić wierność renderowania dla konkretnych typów dokumentów.

Nowoczesne aplikacje internetowe opierają się na zaawansowanym CSS i JavaScript. IronPDF zapewnia natywną obsługę CSS3, w tym flexbox, systemy siatek, transformacje i animacje. Silnik przetwarza kod JavaScript przed przechwyceniem danych wyjściowych, zapewniając prawidłowe wyświetlanie treści generowanych dynamicznie w ostatecznym pliku PDF. Niezależnie od tego, czy konwertujesz statyczne pliki HTML, czy strony oparte na renderowaniu po stronie klienta, biblioteka przechwytuje ostateczny stan obliczeniowy — a nie pośredni zrzut ekranu.

Klasa ChromePdfRenderer udostepnia inteligentne ustawienia domyslne, zapewniajac jednoczesnie szczegolowa kontrole za pomoca wlasciwosci RenderingOptions. Proces integracji jest krótszy niż w przypadku alternatywnych rozwiązań, takich jak QuestPDF lub Syncfusion, które wymagają więcej powtarzalnych czynności konfiguracyjnych w celu wygenerowania pierwszego dokumentu wyjściowego.

Biorąc pod uwagę długoterminową konserwację, renderowanie oparte na przeglądarce Chrome oznacza, że biblioteka korzysta z bieżących ulepszeń przeglądarki bez konieczności ręcznej aktualizacji silnika z Państwa strony. Starsze biblioteki oparte na WebKit mają stały zestaw funkcji, który nie rozwija się wraz z platformą internetową, co powoduje problem kompatybilności, gdy szablony front-endowe przyjmują nowe właściwości CSS lub wzorce JavaScript. Dla zespołów zaznajomionych już z HTML i CSS nie ma potrzeby uczenia się nowego języka ani modelu układu — dokument projektuje się w taki sam sposób, jak stronę internetową, a następnie renderuje go jako plik PDF.

Deska rozdzielcza przegladu funkcji pokazujaca cztery glówne zdolnosci PDF: Tworzenie PDF, Konwersja PDF, Edycja PDF oraz Podpisywanie i zabezpieczanie PDF, z szczegółowym przeglądem pod kazda kategorią.

Jak zainstalować i skonfigurować bibliotekę?

Instalacja za pośrednictwem NuGet

Konfiguracja IronPDF zajmuje kilka minut. Użyj konsoli menedżera pakietów w Visual Studio lub interfejsu CLI .NET:

Install-Package IronPdf
dotnet add package IronPdf

Te polecenia pobierają pakiet i jego zależności, automatycznie konfigurując odwołania do projektu. Pakiet zawiera pliki binarne specyficzne dla platformy, rozpoznawane w czasie wykonywania, więc nie musisz osobno zarządzać bibliotekami natywnymi. W przypadku środowisk kontenerowych zapoznaj się z wdrażaniem Docker oraz zaawansowanymi opcjami instalacji.

Konfiguracja klucza licencyjnego i ustawień globalnych

Skonfiguruj klucz licencyjny i ustawienia globalne w Program.cs przed wywolaniem jakiejkolwiek metody IronPDF. Korzystanie z instrukcji najwyższego poziomu w .NET 10:

using IronPdf;

IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY")!;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.TempFolderPath = @"C:\Temp\IronPdf";
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.Run();
using IronPdf;

IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY")!;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.TempFolderPath = @"C:\Temp\IronPdf";
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.Run();
Imports IronPdf

IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY")
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
IronPdf.Installation.TempFolderPath = "C:\Temp\IronPdf"
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True
IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All

Dim builder = WebApplication.CreateBuilder(args)
Dim app = builder.Build()
app.Run()
$vbLabelText   $csharpLabel

Przechowywanie klucza w zmiennej środowiskowej pozwala uniknąć umieszczania go w systemie kontroli wersji. Bezpłatny 30-dniowy okres próbny zapewnia pełną funkcjonalność do oceny. W dokumentacji licencji można znaleźć wszystkie opcje konfiguracyjne, w tym przełączanie kluczy w czasie wykonywania dla scenariuszy wielodostępnych.

Jak przekonwertować ciągi znaków HTML na PDF?

Wykonanie podstawowej konwersji

Metoda RenderHtmlAsPdf przyjmuje lancuch HTML i zwraca obiekt PdfDocument, który mozesz zapisac, strumieniowac lub dalej modyfikowac. Jest to główny punkt wyjścia do generowania faktur, raportów i listów na podstawie szablonów po stronie serwera:

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>");
pdf.SaveAs("invoice.pdf");

// Get binary data for an HTTP response or cloud storage
byte[] pdfBytes = pdf.BinaryData;
using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>");
pdf.SaveAs("invoice.pdf");

// Get binary data for an HTTP response or cloud storage
byte[] pdfBytes = pdf.BinaryData;
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.MarginTop = 50
renderer.RenderingOptions.MarginBottom = 50
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20

Dim pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>")
pdf.SaveAs("invoice.pdf")

' Get binary data for an HTTP response or cloud storage
Dim pdfBytes As Byte() = pdf.BinaryData
$vbLabelText   $csharpLabel

Wynik zawiera tekst, który można zaznaczyć, co zapewnia zgodność z zasadami dostępności. Zapoznaj się z opcjami niestandardowych marginesów i rozmiarów papieru, aby dostosować wymiary wydruku do swojego projektu.

PDF viewer showing a simple invoice with number 12345 and total amount $99.99 displayed at 100% zoom

Stosowanie stylów CSS, czcionek internetowych i zasobów zewnętrznych

Możesz osadzić pełne arkusze stylów bezpośrednio w ciągu HTML. IronPDF przetwarza reguly @import oraz odniesienia do czcionek przed rendererowaniem. Gdy kod HTML odwołuje się do ścieżek względnych — lokalnych arkuszy stylów, obrazów lub skryptów — należy podać ścieżkę bazową jako drugi argument, aby silnik mógł je rozpoznać:

using IronPdf;

var styledHtml = $@"
    <style>
        body {{font-family: Arial, sans-serif; margin: 40px; line-height: 1.6;}}
        .header {{color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 10px;}}
        .amount {{font-size: 24px; font-weight: bold; color: #059669;}}
    </style>
    <div class='header'>
        <h1>Professional Invoice</h1>
        <p>Invoice Date: {DateTime.Now:MMMM dd, yyyy}</p>
    </div>
    <p class='amount'>$1,234.56</p>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500);

// Provide a base path if the HTML references local assets
var pdf = renderer.RenderHtmlAsPdf(styledHtml, @"C:\assets\");
pdf.SaveAs("styled-invoice.pdf");
using IronPdf;

var styledHtml = $@"
    <style>
        body {{font-family: Arial, sans-serif; margin: 40px; line-height: 1.6;}}
        .header {{color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 10px;}}
        .amount {{font-size: 24px; font-weight: bold; color: #059669;}}
    </style>
    <div class='header'>
        <h1>Professional Invoice</h1>
        <p>Invoice Date: {DateTime.Now:MMMM dd, yyyy}</p>
    </div>
    <p class='amount'>$1,234.56</p>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500);

// Provide a base path if the HTML references local assets
var pdf = renderer.RenderHtmlAsPdf(styledHtml, @"C:\assets\");
pdf.SaveAs("styled-invoice.pdf");
Imports IronPdf

Dim styledHtml As String = $"
    <style>
        body {{font-family: Arial, sans-serif; margin: 40px; line-height: 1.6;}}
        .header {{color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 10px;}}
        .amount {{font-size: 24px; font-weight: bold; color: #059669;}}
    </style>
    <div class='header'>
        <h1>Professional Invoice</h1>
        <p>Invoice Date: {DateTime.Now:MMMM dd, yyyy}</p>
    </div>
    <p class='amount'>$1,234.56</p>"

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(500)

' Provide a base path if the HTML references local assets
Dim pdf = renderer.RenderHtmlAsPdf(styledHtml, "C:\assets\")
pdf.SaveAs("styled-invoice.pdf")
$vbLabelText   $csharpLabel

CSS wyświetla się dokładnie tak samo jak w przeglądarce Chrome. Zapoznaj się z opcjami renderowania i obsługą czcionek internetowych dla Google Fonts oraz integracją czcionek hostowanych samodzielnie.

Przegladarka PDF wyswietla logo IronPDF for .NET na bialym tle, pokazujac strone 1 z 1 przy 100% powiekszeniu

Jak konwertować pliki HTML i aktywne adresy URL do formatu PDF?

Konwersja plików lokalnych i stron internetowych

Metoda RenderHtmlFileAsPdf czyta lokalny plik i automatycznie rozwiazuje wszystkie powiazane zasoby wzgledem katalogu pliku. Metoda RenderUrlAsPdf przechwytuje publiczne lub uwierzytelnione strony www, wykonujac JavaScript i czekajac na zaladowanie tresci przed rendererowaniem:

using IronPdf;

// Convert a local HTML file
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

var filePdf = renderer.RenderHtmlFileAsPdf("complex-report.html");
filePdf.MetaData.Title = "Monthly Sales Report";
filePdf.SaveAs("report-output.pdf");

// Convert a live URL with authentication
var secureRenderer = new ChromePdfRenderer();
secureRenderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    Username = "user@example.com",
    Password = "secure-password"
};
secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500);

var urlPdf = secureRenderer.RenderUrlAsPdf("https://app.example.com/dashboard");
urlPdf.SaveAs("dashboard-snapshot.pdf");
using IronPdf;

// Convert a local HTML file
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

var filePdf = renderer.RenderHtmlFileAsPdf("complex-report.html");
filePdf.MetaData.Title = "Monthly Sales Report";
filePdf.SaveAs("report-output.pdf");

// Convert a live URL with authentication
var secureRenderer = new ChromePdfRenderer();
secureRenderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    Username = "user@example.com",
    Password = "secure-password"
};
secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500);

var urlPdf = secureRenderer.RenderUrlAsPdf("https://app.example.com/dashboard");
urlPdf.SaveAs("dashboard-snapshot.pdf");
Imports IronPdf

' Convert a local HTML file
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PrintHtmlBackgrounds = True

Dim filePdf = renderer.RenderHtmlFileAsPdf("complex-report.html")
filePdf.MetaData.Title = "Monthly Sales Report"
filePdf.SaveAs("report-output.pdf")

' Convert a live URL with authentication
Dim secureRenderer As New ChromePdfRenderer()
secureRenderer.LoginCredentials = New ChromeHttpLoginCredentials With {
    .Username = "user@example.com",
    .Password = "secure-password"
}
secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500)

Dim urlPdf = secureRenderer.RenderUrlAsPdf("https://app.example.com/dashboard")
urlPdf.SaveAs("dashboard-snapshot.pdf")
$vbLabelText   $csharpLabel

Dla ogolnodostepnych stron, calkowicie pomin konfiguracje LoginCredentials. Dowiedz się więcej o uwierzytelnianiu i zarządzaniu plikami cookie w witrynach opartych na sesjach. Aby poprawnie uchwycic projekty responsywne, skonfiguruj szerokosc obszaru widoku za pomoca renderer.RenderingOptions.ViewPortWidth i sprawdz dokumentacje obszaru widoku.

Jak dodawać nagłówki, znaki wodne i zabezpieczenia?

Dodawanie profesjonalnych nagłówków i stopek

Nagłówki i stopki zawierające numery stron, daty lub elementy brandingowe sprawiają, że dokumenty wielostronicowe są znacznie bardziej czytelne i profesjonalne. IronPDF przetwarza je jako fragmenty HTML, dzięki czemu można używać pełnego stylu CSS, w tym obrazów i kolorów marki:

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 50,
    HtmlFragment = "<div style='text-align:center;font-size:12px;'>Annual Report 2025 -- Confidential</div>",
    BaseUrl = new Uri(@"file:///C:/assets/")
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 30,
    HtmlFragment = "<div style='text-align:center;font-size:10px;'>Page {page} of {total-pages}</div>",
    DrawDividerLine = true
};

renderer.RenderingOptions.MarginTop = 60;
renderer.RenderingOptions.MarginBottom = 40;

var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Body text here.</p>");
pdf.SaveAs("report-with-headers.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 50,
    HtmlFragment = "<div style='text-align:center;font-size:12px;'>Annual Report 2025 -- Confidential</div>",
    BaseUrl = new Uri(@"file:///C:/assets/")
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 30,
    HtmlFragment = "<div style='text-align:center;font-size:10px;'>Page {page} of {total-pages}</div>",
    DrawDividerLine = true
};

renderer.RenderingOptions.MarginTop = 60;
renderer.RenderingOptions.MarginBottom = 40;

var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Body text here.</p>");
pdf.SaveAs("report-with-headers.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .MaxHeight = 50,
    .HtmlFragment = "<div style='text-align:center;font-size:12px;'>Annual Report 2025 -- Confidential</div>",
    .BaseUrl = New Uri("file:///C:/assets/")
}

renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
    .MaxHeight = 30,
    .HtmlFragment = "<div style='text-align:center;font-size:10px;'>Page {page} of {total-pages}</div>",
    .DrawDividerLine = True
}

renderer.RenderingOptions.MarginTop = 60
renderer.RenderingOptions.MarginBottom = 40

Dim pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Body text here.</p>")
pdf.SaveAs("report-with-headers.pdf")
$vbLabelText   $csharpLabel

Elementy zastepcze jak {page} i {total-pages} sa automatycznie zastepowane podczas renderowania. Zapoznaj sie z samouczkiem hdrów i stopki dotyczacym dynamicznej iniekcji dat, umieszczania logo i naprzemiennego stylu stron.

Stosowanie znaków wodnych, szyfrowania i podpisów cyfrowych

Znaki wodne chronią dokumenty robocze i poufne raporty. Ochrona hasłem i ustawienia uprawnień ograniczają krąg osób, które mogą drukować, kopiować lub edytować plik PDF. Podpisy cyfrowe zapewniają weryfikowalną warstwę autentyczności dla umów i dokumentów podlegających regulacjom. Możesz połączyć wszystkie trzy w jednym przepływie pracy:

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

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms and conditions.</p>");

// Watermark
pdf.ApplyWatermark(
    "<div style='font-size:72px;color:red;opacity:0.3;'>DRAFT</div>",
    rotation: 45,
    opacity: 30
);

// Encryption and permissions
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

// Digital signature
var cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password");
var signature = new PdfSignature(cert)
{
    SigningContact = "Jane Smith",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval"
};
pdf.Sign(signature);
pdf.SaveAsRevision("signed-contract.pdf");
using IronPdf;
using System.Security.Cryptography.X509Certificates;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms and conditions.</p>");

// Watermark
pdf.ApplyWatermark(
    "<div style='font-size:72px;color:red;opacity:0.3;'>DRAFT</div>",
    rotation: 45,
    opacity: 30
);

// Encryption and permissions
pdf.SecuritySettings.UserPassword = "user123";
pdf.SecuritySettings.OwnerPassword = "owner456";
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint;
pdf.SecuritySettings.AllowUserCopyPasteContent = false;

// Digital signature
var cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password");
var signature = new PdfSignature(cert)
{
    SigningContact = "Jane Smith",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval"
};
pdf.Sign(signature);
pdf.SaveAsRevision("signed-contract.pdf");
Imports IronPdf
Imports System.Security.Cryptography.X509Certificates

Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms and conditions.</p>")

' Watermark
pdf.ApplyWatermark(
    "<div style='font-size:72px;color:red;opacity:0.3;'>DRAFT</div>",
    rotation:=45,
    opacity:=30
)

' Encryption and permissions
pdf.SecuritySettings.UserPassword = "user123"
pdf.SecuritySettings.OwnerPassword = "owner456"
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint
pdf.SecuritySettings.AllowUserCopyPasteContent = False

' Digital signature
Dim cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password")
Dim signature As New PdfSignature(cert) With {
    .SigningContact = "Jane Smith",
    .SigningLocation = "New York, NY",
    .SigningReason = "Contract Approval"
}
pdf.Sign(signature)
pdf.SaveAsRevision("signed-contract.pdf")
$vbLabelText   $csharpLabel

Dowiedz się więcej o technikach znakowania wodnego, ustawieniach zabezpieczeń plików PDF oraz podpisywaniu opartym na certyfikatach, w tym o integracji z modułami bezpieczeństwa sprzętowego (HSM).

Jak wdrożyć rozwiązanie na platformach Windows, Linux i Azure?

IronPDF obsługuje systemy Windows, Linux i macOS, a pliki binarne dostosowane do poszczególnych platform są zawarte w pakiecie NuGet. Wynik jest identyczny na wszystkich platformach, więc można tworzyć oprogramowanie w systemie Windows i wdrażać je w kontenerach Linux bez zmiany kodu renderującego. Pakiet automatycznie wykrywa środowisko uruchomieniowe i ładuje odpowiednie komponenty natywne. Ta spójność między platformami upraszcza procesy CI/CD — nie ma potrzeby tworzenia oddzielnych konfiguracji renderowania dla każdego środowiska.

Na Azure App Service przechowuj klucz licencyjny w Ustawieniach Aplikacji i odwoluj sie do niego przez Environment.GetEnvironmentVariable. Takie podejście pozwala uniknąć umieszczania danych uwierzytelniających w repozytorium i umożliwia rotację kluczy bez wdrażania kodu. Pełne ustawienia dotyczące hostingu znajdziesz w kompletnym przewodniku wdrażania platformy Azure, a informacje o tradycyjnym hostingu na serwerach Windows — w przewodniku wdrażania IIS.

W środowiskach Linux i Docker silnik renderujący Chrome wymaga dodatkowych zależności systemowych. Dodaj je do pliku Dockerfile:

FROM mcr.microsoft.com/dotnet/aspnet:10.0
RUN apt-get update && apt-get install -y \
    libgdiplus libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 \
    && apt-get clean
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "MyApp.dll"]

Kiedy LinuxAndDockerDependenciesAutoConfig jest ustawione na true, IronPDF automatycznie zarzadza rozwiazywaniem zaleznosci przy pierwszym uruchomieniu. Pełne listy zależności można znaleźć w przewodniku wdrażania dla systemu Linux oraz przewodniku integracji z Dockerem. W przypadku obciążeń bezserwerowych przewodnik Azure Functions obejmuje konfigurację pamięci i limitów czasu.

Jak zapoznać się z pełnym zestawem funkcji?

Oprócz konwersji HTML, IronPDF obsługuje cały proces pracy z plikami PDF. Poniższa tabela zawiera podsumowanie kluczowych obszarów funkcjonalności:

Obszary funkcjonalności IronPDF
KategoriaFunkcjeDokumentacja
Tworzenie dokumentówNagłówki, stopki, formularze do wypełnienia, tłaPrzewodnik po formularzach
BezpieczeństwoPodpisy cyfrowe, szyfrowanie, oczyszczanie danychPrzewodnik po podpisywaniu
Zarządzanie dokumentamiŁączenie, dzielenie, kompresja, zgodność z PDF/APrzewodnik po scałaniu
Manipulacja treściąStemplowanie, wykonywanie kodu JavaScript, operacje asynchronicznePrzewodnik po pieczątkach

Pełny opis metod znajduje się w dokumentacji API oraz bibliotece przykładów kodu, która zawiera działające projekty w języku C# dla każdego obszaru funkcjonalności. Sekcja samouczków zawiera przewodniki dotyczące typowych scenariuszy, takich jak generowanie faktur, automatyzacja raportów i archiwizacja dokumentów.

Jakie są kolejne kroki, aby rozpocząć pracę?

IronPDF przeksztalca konwersje HTML do PDF w proces trzyetapowy: zainstaluj pakiet z NuGet, skonfiguruj klucz licencyjny i wywolaj RenderHtmlAsPdf. Silnik Chrome zapewnia dokładne renderowanie, a konstrukcja API sprawia, że integracja jest prosta nawet w przypadku złożonych, wielostronicowych dokumentów z niestandardowymi nagłówkami, znakami wodnymi i podpisami cyfrowymi.

Bezpłatny 30-dniowy okres próbny zapewnia pełny dostęp bez żadnych ograniczeń funkcjonalności. Kiedy jesteś gotowy do przejścia na produkcję, elastyczne licencjonowanie skalowane od indywidualnych deweloperów do zespołów korporacyjnych z wymaganiami dotyczącymi ilości. Można również zapoznać się z dokumentacją Microsoft .NET, aby uzyskać kontekst dotyczący wzorców generowania dokumentów w ekosystemie, oraz z oficjalną specyfikacją formatu PDF, aby lepiej zrozumieć możliwości i ograniczenia tego formatu.

Strona licencjonowania IronPDF pokazujaca cztery poziomy licencji wieczystych (Lite, Plus, Professional i Unlimited) z cennikiem i funkcjami dla roznych wielkosci zespolow.

Zapoznaj się z dziennikiem zmian, aby zobaczyć najnowsze dodatki i zaplanować, które funkcje odpowiadają wymaganiom Twojego projektu.

Często Zadawane Pytania

Do czego służy IronPDF?

IronPDF służy do konwersji HTML na PDF w aplikacjach .NET. Obsługuje nowoczesne CSS i JavaScript oraz generuje wysokiej jakości dokumenty PDF.

W jaki sposób IronPDF radzi sobie ze złożonymi układami HTML?

IronPDF wykorzystuje silnik renderujący oparty na przeglądarce Chrome do dokładnego przetwarzania złożonych układów HTML, zapewniając, że plik PDF odpowiada temu, co widzisz w przeglądarce.

Czy IronPDF może wykonywać kod JavaScript podczas konwersji plików PDF?

Tak, IronPDF może wykonywać kod JavaScript, co ma kluczowe znaczenie dla dokładnego renderowania treści dynamicznych w pliku PDF.

Czy IronPDF jest łatwy do wdrożenia w aplikacjach .NET?

IronPDF został zaprojektowany tak, aby był prosty we wdrożeniu i uruchomieniu, dzięki czemu jest dostępny dla programistów pracujących z platformą .NET.

Jakie typy plików HTML może IronPDF konwertować do formatu PDF?

IronPDF może konwertować pliki HTML, ciągi znaków HTML oraz całe strony internetowe do formatu PDF.

Czy IronPDF zachowuje jakość oryginalnego kodu HTML w pliku PDF?

Tak, IronPDF tworzy wysokiej jakości dokumenty PDF o takiej samej wierności jak oryginalna treść HTML.

Czym IronPDF różni się od innych konwerterów PDF?

IronPDF zapewnia płynną konwersję dzięki silnikowi renderowania opartemu na przeglądarce Chrome, gwarantując zgodność z nowoczesnymi standardami internetowymi.

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