How to Use Web Assets & Optimize PDFs in C# for Performance

This article was translated from English: Does it need improvement?
Translated
View the article in English

Z ponad 100 funkcjami, IronPDF jest zaprojektowany, aby uprościć generowanie i manipulację plikami PDF dla programistów .NET. Ta biblioteka to kompleksowe rozwiązanie dla wszystkich potrzeb związanych z PDF, eliminujące konieczność instalowania jakichkolwiek narzędzi innych firm lub Adobe Acrobat.

Jeden z kluczowych aspektów, na które zwraca uwagę IronPDF, to jego szerokie wsparcie dla zasobów internetowych. Te narzędzia umożliwiają płynne użycie HTML, JavaScript, czcionek internetowych i innych elementów w dokumentach PDF. Dzięki temu można tworzyć naprawdę unikalne dokumenty PDF.

IronPDF zapewnia również imponującą wydajność podczas generowania i pracy z plikami PDF. To zapewnia płynne operacje PDF bez przeciążenia systemu, zwłaszcza podczas pracy z zadaniami PDF wymagającymi dużej wydajności, takimi jak przetwarzanie dużych partii, dużych plików i więcej.

Szybki start: Zintegrowanie zasobów internetowych i efektywne optymalizowanie plików PDF

Ten przewodnik szybkiego startu pokazuje, jak wzbogacić pliki PDF, dodając zasoby internetowe, takie jak obrazy i czcionki, używając IronPDF. Zaledwie kilka linii kodu znacznie poprawi wydajność i jakość wizualną dokumentów PDF. Niezależnie od tego, czy osadzane jest logo firmy, czy niestandardowe czcionki, IronPDF sprawia, że proces jest szybki i prosty, zapewniając, że pliki PDF są zarówno zoptymalizowane, jak i atrakcyjne wizualnie.

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf
  2. Skopiuj i uruchom ten fragment kodu.

    var pdf = new IronPdf.ChromePdfRenderer().RenderHtmlAsPdf("<h1>Hello Performance</h1>");
    pdf.Flatten();
    pdf.CompressAndSaveAs("fast-optimized.pdf", 50);
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer

Spis treści

Wprowadź zasoby internetowe do swoich plików PDF

Silne wsparcie IronPDF dla zasobów internetowych daje deweloperom pełną kontrolę nad wyglądem ich dokumentów PDF. Od kompleksowego wsparcia dla HTML, CSS i JavaScript dla perfekcyjnego renderowania zawartości HTML do PDF, aż po możliwość wprowadzania niestandardowych czcionek i obrazów dla atrakcyjnych wizualnie elementów w dokumencie, wsparcie IronPDF dla nowoczesnych standardów i zasobów internetowych pozwala deweloperom na łatwe produkowanie wysokiej jakości, atrakcyjnych wizualnie plików PDF.

Praca z dynamiczną treścią internetową

Zacznijmy od zbadania, jak IronPDF upraszcza proces tworzenia dokumentów PDF z zawartości HTML, kompletnej z stylizacją CSS i elementami JavaScript. Ten prosty proces napełnia deweloperów pewnością, wiedząc, że mogą łatwo przekształcić swoje zasoby internetowe w PDF.

Debug HTML z Chrome

Potężny silnik renderujący IronPDF zapewnia perfekcyjne pikselowe renderowanie każdej zawartości HTML. Oznacza to, że pliki PDF renderowane z zawartości HTML będą wyglądać dokładnie tak, jak HTML w przeglądarce Chrome, zapewniając niezawodne i spójne doświadczenie renderowania.

:path=/static-assets/pdf/content-code-examples/how-to/pixel-perfect-html-to-pdf-1.cs
// Pixel Perfect HTML Formatting Settings
IronPdf.ChromePdfRenderer renderer = new IronPdf.ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print; // or Screen
' Pixel Perfect HTML Formatting Settings
Dim renderer As New IronPdf.ChromePdfRenderer()
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print ' or Screen
$vbLabelText   $csharpLabel

Aby uzyskać bardziej szczegółowe wyjaśnienie tego kawałka kodu i poznać jego dodatkowe funkcjonalności, zapoznaj się z naszym kompleksowym przewodnikiem.

CSS (Ekran i Druk)

CSS kontroluje projektowanie i układ zawartości HTML. Dzięki wsparciu dla stylizacji CSS, IronPDF potrafi tworzyć estetyczne dokumenty PDF, jednocześnie zachowując oryginalny układ i stylizację konwertowanej zawartości HTML.

:path=/static-assets/pdf/content-code-examples/how-to/html-to-pdf-responsive-css-table-header.cs
using IronPdf;
using IronPdf.Rendering;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Change the paper size to small
renderer.RenderingOptions.SetCustomPaperSizeinPixelsOrPoints(600, 400);

// Choose screen or print CSS media
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("tableHeader.html");

pdf.SaveAs("tableHeader.pdf");
Imports IronPdf
Imports IronPdf.Rendering

Private renderer As New ChromePdfRenderer()

' Change the paper size to small
renderer.RenderingOptions.SetCustomPaperSizeinPixelsOrPoints(600, 400)

' Choose screen or print CSS media
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print

' Render HTML to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("tableHeader.html")

pdf.SaveAs("tableHeader.pdf")
$vbLabelText   $csharpLabel

Dla bardziej szczegółowego wyjaśnienia tego fragmentu kodu i jego dodatkowej funkcjonalności, proszę zobaczyć nasz kompleksowy przewodnik.

Obrazy (jpg, png, svg, gif, itp.)

Ulepsz pliki PDF za pomocą elementów wizualnych, używając obrazów. Kiedy obrazy są osadzane w dokumencie PDF z IronPDF, będą widoczne bez konieczności łączenia się z internetem lub korzystania z działających łączy. Oznacza to, że można dodać wizualnie atrakcyjne obrazy, aby przyciągnąć uwagę czytelników, dodać obrazy zawierające więcej informacji na temat danego PDF i więcej.

:path=/static-assets/pdf/content-code-examples/how-to/add-images-to-pdfs-embed-image.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

string html = @"<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>";

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// Export PDF
pdf.SaveAs("embedImage.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private html As String = "<img src='https://ironsoftware.com/img/products/ironpdf-logo-text-dotnet.svg'>"

' Render HTML to PDF
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

' Export PDF
pdf.SaveAs("embedImage.pdf")
$vbLabelText   $csharpLabel

Dla bardziej szczegółowego wyjaśnienia tego fragmentu kodu i jego dodatkowej funkcjonalności, proszę zobaczyć nasz kompleksowy przewodnik.

JavaScript (Opóźnienia renderowania niestandardowego)

Często zawartość HTML może zawierać interaktywne i dynamiczne elementy, które mogą zostać utracone podczas procesu konwersji niektórymi bibliotekami PDF. Wsparcie IronPDF dla JavaScript zapewnia, że konwertowana zawartość zachowuje swoje oryginalne elementy interaktywne.

:path=/static-assets/pdf/content-code-examples/how-to/javascript-to-pdf-render-javascript.cs
using IronPdf;

string htmlWithJavaScript = @"<h1>This is HTML</h1>
<script>
    document.write('<h1>This is JavaScript</h1>');
    window.ironpdf.notifyRender();
</script>";

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Enable JavaScript
renderer.RenderingOptions.EnableJavaScript = true;
// Set waitFor for JavaScript
renderer.RenderingOptions.WaitFor.JavaScript(500);

// Render HTML contains JavaScript
var pdfJavaScript = renderer.RenderHtmlAsPdf(htmlWithJavaScript);

// Export PDF
pdfJavaScript.SaveAs("javascriptHtml.pdf");
Imports IronPdf

Private htmlWithJavaScript As String = "<h1>This is HTML</h1>
<script>
    document.write('<h1>This is JavaScript</h1>');
    window.ironpdf.notifyRender();
</script>"

' Instantiate Renderer
Private renderer = New ChromePdfRenderer()

' Enable JavaScript
renderer.RenderingOptions.EnableJavaScript = True
' Set waitFor for JavaScript
renderer.RenderingOptions.WaitFor.JavaScript(500)

' Render HTML contains JavaScript
Dim pdfJavaScript = renderer.RenderHtmlAsPdf(htmlWithJavaScript)

' Export PDF
pdfJavaScript.SaveAs("javascriptHtml.pdf")
$vbLabelText   $csharpLabel

Dla bardziej szczegółowego wyjaśnienia tego fragmentu kodu i jego dodatkowej funkcjonalności, proszę zobaczyć nasz kompleksowy przewodnik.

Użyj WaitFor, aby opóźnić renderowanie PDF

Podczas renderowania dokumentów PDF czasami zdarza się, że niezbędne zasoby nie zostały jeszcze pobrane, co skutkuje niekompletnym renderowaniem. Dzięki IronPDF możemy określić opóźnienie renderowania, aby upewnić się, że wszystkie zasoby zostaną pobrane przed renderowaniem.

:path=/static-assets/pdf/content-code-examples/how-to/waitfor-pageload.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render as soon as the page is loaded
renderer.RenderingOptions.WaitFor.PageLoad();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Render as soon as the page is loaded
renderer.RenderingOptions.WaitFor.PageLoad()

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
$vbLabelText   $csharpLabel

Dla bardziej szczegółowego wyjaśnienia tego fragmentu kodu i jego dodatkowej funkcjonalności, proszę zobaczyć nasz kompleksowy przewodnik.

Czcionki (Web i Ikona)

Dodając niestandardowe czcionki do dokumentów PDF, można tworzyć naprawdę unikalne pliki PDF, które pasują do potrzeb danego rodzaju dokumentu. IronPDF upraszcza ten proces, umożliwiając przyciągnięcie uwagi użytkowników czystymi, ale jednocześnie atrakcyjnymi wizualnie rodzajami czcionek, lub wykorzystanie czcionek webowych, aby zapewnić spójny tekst na różnych maszynach, niezależnie od dostępności lokalnych czcionek na danym komputerze.

:path=/static-assets/pdf/content-code-examples/how-to/webfonts-webicons-render-webfont.cs
using IronPdf;

// HTML contains webfont
var html = @"<link href=""https://fonts.googleapis.com/css?family=Lobster"" rel=""stylesheet"">
<p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Wait for font to load
renderer.RenderingOptions.WaitFor.AllFontsLoaded(2000);

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// Export the PDF
pdf.SaveAs("font-test.pdf");
Imports IronPdf

' HTML contains webfont
Private html = "<link href=""https://fonts.googleapis.com/css?family=Lobster"" rel=""stylesheet"">
<p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>"

Private renderer As New ChromePdfRenderer()

' Wait for font to load
renderer.RenderingOptions.WaitFor.AllFontsLoaded(2000)

' Render HTML to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

' Export the PDF
pdf.SaveAs("font-test.pdf")
$vbLabelText   $csharpLabel

Dla bardziej szczegółowego wyjaśnienia tego fragmentu kodu i jego dodatkowej funkcjonalności, proszę zobaczyć nasz kompleksowy przewodnik.

Użyj grafik SVG

Poza renderowaniem obrazów do PDF, IronPDF oferuje również możliwość renderowania grafik SVG do plików PDF.

:path=/static-assets/pdf/content-code-examples/how-to/SVGs-render.cs
using IronPdf;

string html = "<img src='https://ironsoftware.com/img/svgs/new-banner-svg.svg' style='width:100px'>";

ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderingOptions.WaitFor.RenderDelay(1000);

PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("svgToPdf.pdf");
Imports IronPdf

Private html As String = "<img src='https://ironsoftware.com/img/svgs/new-banner-svg.svg' style='width:100px'>"

Private renderer As New ChromePdfRenderer()
renderer.RenderingOptions.WaitFor.RenderDelay(1000)

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("svgToPdf.pdf")
$vbLabelText   $csharpLabel

Dla bardziej szczegółowego wyjaśnienia tego fragmentu kodu i jego dodatkowej funkcjonalności, proszę zobaczyć nasz kompleksowy przewodnik.

Zarządzaj czcionkami

Wybór odpowiedniej czcionki oraz możliwość jej dostosowania i osadzenia są kluczowymi aspektami podczas tworzenia plików PDF. Dzięki IronPDF można zarządzać, pobierać i dodawać czcionki wszystko w jednym pakiecie za pomocą intuicyjnych metod.

:path=/static-assets/pdf/content-code-examples/how-to/manage-font-retrieve-font.cs
using IronPdf;
using IronPdf.Fonts;
using System.Collections.Generic;

// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Retreive font
PdfFontCollection fonts = pdf.Fonts;
Imports IronPdf
Imports IronPdf.Fonts
Imports System.Collections.Generic

' Import PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Retreive font
Private fonts As PdfFontCollection = pdf.Fonts
$vbLabelText   $csharpLabel

Dla bardziej szczegółowego wyjaśnienia tego fragmentu kodu i jego dodatkowej funkcjonalności, proszę zobaczyć nasz kompleksowy przewodnik.

Wsparcie dla UTF-8 i języków międzynarodowych

Dzięki swojemu dotrzymywaniu standardom Chrome, IronPDF wspiera użycie kodowania UTF-8 w dokumentach PDF. To zapewnia, że dowolne użyte znaki są prawidłowo renderowane, w tym wszelkie obce języki użyte w oryginalnej zawartości. Wszystko to zostanie prawidłowo renderowane w końcowym dokumencie PDF.

:path=/static-assets/pdf/content-code-examples/how-to/utf-8.cs
using IronPdf;

const string html_with_utf_8 =
    @"<p>周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。
    文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。
    失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。
    陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。</p>
    <p>
    أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملاً المنتصر,
    ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط,
    زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل.
    </p>
    <p>
    ภคันทลาพาธสตาร์เซฟตี้ แชมป์ มาร์เก็ตติ้งล้มเหลวโยเกิร์ต แลนด์บาบูนอึมครึม รุสโซ แบรนด์ไคลแม็กซ์ พิซซ่าโมเดลเสือโคร่ง ม็อบโซนรายชื่อ
    แอดมิชชั่น ด็อกเตอร์ พะเรอ มาร์คเจไดโมจิราสเบอร์รี เอนทรานซ์ออดิชั่นศิลปวัฒนธรรมเปราะบาง โมจิซีเรียสวอลนัตทริปลีเมอร์ ทิป วาไรตี้บิ๊กเมเปิล
    </p>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8;

var pdf = renderer.RenderHtmlAsPdf(html_with_utf_8);
pdf.SaveAs("Unicode.pdf");
Imports IronPdf

Private Const html_with_utf_8 As String = "<p>周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。
    文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。
    失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。
    陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。</p>
    <p>
    أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملاً المنتصر,
    ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط,
    زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل.
    </p>
    <p>
    ภคันทลาพาธสตาร์เซฟตี้ แชมป์ มาร์เก็ตติ้งล้มเหลวโยเกิร์ต แลนด์บาบูนอึมครึม รุสโซ แบรนด์ไคลแม็กซ์ พิซซ่าโมเดลเสือโคร่ง ม็อบโซนรายชื่อ
    แอดมิชชั่น ด็อกเตอร์ พะเรอ มาร์คเจไดโมจิราสเบอร์รี เอนทรานซ์ออดิชั่นศิลปวัฒนธรรมเปราะบาง โมจิซีเรียสวอลนัตทริปลีเมอร์ ทิป วาไรตี้บิ๊กเมเปิล
    </p>"

Private renderer = New ChromePdfRenderer()
renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8

Dim pdf = renderer.RenderHtmlAsPdf(html_with_utf_8)
pdf.SaveAs("Unicode.pdf")
$vbLabelText   $csharpLabel

Dla bardziej szczegółowego wyjaśnienia tego fragmentu kodu i jego dodatkowej funkcjonalności, proszę zobaczyć nasz kompleksowy przewodnik.

Bazowe URL i Kodowanie zasobów

IronPDF pozwala na ustawienie Bazowego URL, co umożliwia względnym ścieżkom w HTML, takim jak obrazy, CSS lub JavaScript, załadowanie się poprawnie podczas renderowania do PDF. Można także osadzić zasoby z kodowaniem base64, aby wszystko pozostało samowystarczalne i bez internetu.

:path=/static-assets/pdf/content-code-examples/how-to/base-urls-baseurl.cs
using IronPdf;

// Instantiate ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

string baseUrl = @"C:\site\assets\";
string html = "<img src='icons/iron.png'>";

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html, baseUrl);

// Export PDF
pdf.SaveAs("html-with-assets.pdf");
Imports IronPdf

' Instantiate ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

Private baseUrl As String = "C:\site\assets\"
Private html As String = "<img src='icons/iron.png'>"

' Render HTML to PDF
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html, baseUrl)

' Export PDF
pdf.SaveAs("html-with-assets.pdf")
$vbLabelText   $csharpLabel

Dla bardziej szczegółowego wyjaśnienia tego fragmentu kodu i jego dodatkowej funkcjonalności, proszę zobaczyć nasz kompleksowy przewodnik.

Renderowanie stron WebGL

WebGL jest powszechnie używanym narzędziem do tworzenia interaktywnych grafik 3D, ale przekształcenie ich w statyczny PDF może być wyzwaniem. Dzięki IronPDF ten proces jest maksymalnie płynny, dając deweloperom poczucie łatwości i pewności w zdolności do konwersji złożonych zasobów internetowych na PDF.

:path=/static-assets/pdf/content-code-examples/how-to/render-webgl-render-webgl.cs
using IronPdf;

// Configure IronPdf settings
IronPdf.Installation.SingleProcess = true;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Hardware;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Set delay before rendering
renderer.RenderingOptions.WaitFor.RenderDelay(5000);

// Render from URL
PdfDocument pdf = renderer.RenderUrlAsPdf("https://docs.mapbox.com/mapbox-gl-js/example/geojson-layer-in-slot/");

pdf.SaveAs("webGL.pdf");
Imports IronPdf

' Configure IronPdf settings
IronPdf.Installation.SingleProcess = True
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Hardware

Dim renderer As New ChromePdfRenderer()

' Set delay before rendering
renderer.RenderingOptions.WaitFor.RenderDelay(5000)

' Render from URL
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://docs.mapbox.com/mapbox-gl-js/example/geojson-layer-in-slot/")

pdf.SaveAs("webGL.pdf")
$vbLabelText   $csharpLabel

Dla bardziej szczegółowego wyjaśnienia tego fragmentu kodu i jego dodatkowej funkcjonalności, proszę zobaczyć nasz kompleksowy przewodnik.

Silnik renderowania PDF Chrome

IronPDF wykorzystuje potężny silnik Chromium, umożliwiając tworzenie perfekcyjnych pod względem pikselowym PDF-ów za pomocą CSS i JavaScript. To tworzy scenariusz „to, co widzisz, to dostajesz", dając pewność co do wyniku i eliminując wszelkie wątpliwości podczas konwersji do PDF. Wykorzystanie tego silnika zapewnia wysoką kompatybilność i wydajność w renderowaniu PDF.

:path=/static-assets/pdf/content-code-examples/how-to/ironpdf-2021-chrome-rendering-engine-eap-pixel-perfect.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.PrintHtmlBackgrounds = false;
renderer.RenderingOptions.CreatePdfFormsFromHtml = false;

PdfDocument pdf = renderer.RenderUrlAsPdf("https://www.google.com/");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
renderer.RenderingOptions.PrintHtmlBackgrounds = False
renderer.RenderingOptions.CreatePdfFormsFromHtml = False

Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://www.google.com/")
$vbLabelText   $csharpLabel

Dla bardziej szczegółowego wyjaśnienia tego fragmentu kodu i jego dodatkowej funkcjonalności, proszę zobaczyć nasz kompleksowy przewodnik.

Wydajność i kompresja

Pracując z dużymi plikami PDF lub generując duże partie PDF, wydajność jest kluczem do płynnego procesu. To tu wyróżnia się IronPDF, z imponującymi prędkościami wydajności, pracując z plikami PDF dowolnej wielkości. IronPDF zapewnia spójną, płynnie działającą wydajność dla wszystkich zadań związanych z PDF.

W tej sekcji przyjrzymy się bliżej niektórym funkcjom i narzędziom, które oferuje IronPDF, aby zapewnić płynną wydajność, niezależnie od wykonywanych zadań.

Kompresja PDF

Zwróć uwagęStarsze metody kompresji jak CompressImages, CompressStructTree, i Compress(CompressionOptions) są przestarzałe.

Kompresja obrazów w ramach PDF jest wygodnym sposobem na znaczne zmniejszenie rozmiaru pliku PDF. Większe pliki PDF często zawierają wiele obrazów, które mogą znacząco zwiększać całkowity rozmiar pliku PDF. Kompresując te pliki, można sprawić, że będą łatwiejsze do udostępniania i przechowywania, oszczędzając czas i zasoby.

:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-image.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");

// Compress images in the PDF
pdf.CompressAndSaveAs("compressed.pdf", 40);
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")

' Compress images in the PDF
pdf.CompressAndSaveAs("compressed.pdf", 40)
$vbLabelText   $csharpLabel

Jeśli potrzebny jest skompresowany wynik bez zapisywania na dysku, należy użyć CompressPdfToBytes, aby uzyskać tablicę bajtów.

byte[] compressed = pdf.CompressPdfToBytes();
byte[] compressed = pdf.CompressPdfToBytes();
Dim compressed As Byte() = pdf.CompressPdfToBytes()
$vbLabelText   $csharpLabel

Lub należy użyć CompressPdfToStream, aby uzyskać strumień.

using var stream = pdf.CompressPdfToStream();
using var stream = pdf.CompressPdfToStream();
$vbLabelText   $csharpLabel

Dla bardziej szczegółowego wyjaśnienia tego fragmentu kodu i jego dodatkowej funkcjonalności, proszę zobaczyć nasz kompleksowy przewodnik.

Async i Wielowątkowość

IronPDF obsługuje asynchroniczne generowanie PDF z użyciem metody RenderHtmlAsPdfAsync. Ta potężna funkcja umożliwia konwersję HTML na PDF bez wpływu na wydajność aplikacji, zapewniając spójne wyniki. Jest to korzystne przy obsługiwaniu wielu dokumentów lub integracji z responsywnymi interfejsami API webowymi, dając pełną kontrolę nad wydajnością aplikacji.

:path=/static-assets/pdf/content-code-examples/how-to/async-async.cs
using IronPdf;
using System.Threading.Tasks;

// Instantiate ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

string[] htmlStrings = {"<h1>Html 1</h1>", "<h1>Html 2</h1>", "<h1>Html 3</h1>"};

// Create an array to store the tasks for rendering
var renderingTasks = new Task<PdfDocument>[htmlStrings.Length];

for (int i = 0; i < htmlStrings.Length; i++)
{
    int index = i; // Capturing the loop variable
    renderingTasks[i] = Task.Run(async () =>
    {
        // Render HTML to PDF
        return await renderer.RenderHtmlAsPdfAsync(htmlStrings[index]);
    });
}

// Wait for all rendering tasks to complete
// await Task.WhenAll(renderingTasks);
Imports IronPdf
Imports System.Threading.Tasks

' Instantiate ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

Private htmlStrings() As String = {"<h1>Html 1</h1>", "<h1>Html 2</h1>", "<h1>Html 3</h1>"}

' Create an array to store the tasks for rendering
Private renderingTasks = New Task(Of PdfDocument)(htmlStrings.Length - 1){}

For i As Integer = 0 To htmlStrings.Length - 1
	Dim index As Integer = i ' Capturing the loop variable
	renderingTasks(i) = Task.Run(Async Function()
		' Render HTML to PDF
		Return Await renderer.RenderHtmlAsPdfAsync(htmlStrings(index))
	End Function)
Next i

' Wait for all rendering tasks to complete
' await Task.WhenAll(renderingTasks);
$vbLabelText   $csharpLabel

Dla bardziej szczegółowego wyjaśnienia tego fragmentu kodu i jego dodatkowej funkcjonalności, proszę zobaczyć nasz kompleksowy przewodnik.

Dzienniki niestandardowe

IronPDF umożliwia prowadzenie dzienników niestandardowych, pozwalając na przekierowanie wiadomości dziennika do własnego logera. Ustawiając LoggingMode na LoggingModes.Custom i przypisując niestandardowy loger do CustomLogger, można kontrolować, jak i gdzie są obsługiwane wiadomości dziennika. Jest to przydatne do integracji dzienników IronPDF z istniejącą infrastrukturą logowania.

:path=/static-assets/pdf/content-code-examples/how-to/custom-logging-custom-logging.cs
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom;
IronSoftware.Logger.CustomLogger = new CustomLoggerClass("logging");
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom
IronSoftware.Logger.CustomLogger = New CustomLoggerClass("logging")
$vbLabelText   $csharpLabel

Dla bardziej szczegółowego wyjaśnienia tego fragmentu kodu i jego dodatkowej funkcjonalności, proszę zobaczyć nasz kompleksowy przewodnik.

Spłaszcz PDF

Metoda Flatten w IronPDF to potężne narzędzie, które pozwala sprawić, że interaktywne i wypełnialne widżety PDF staną się nieedytowalne do różnych celów. Spłaszcza ona PDF, zachowując jego wizualny układ, jednocześnie zapobiegając jakiejkolwiek dalszej edycji, zapewniając integralność dokumentów.

:path=/static-assets/pdf/content-code-examples/how-to/pdf-image-flatten-csharp-flatten-pdf.cs
using IronPdf;

// Select the desired PDF File
PdfDocument pdf = PdfDocument.FromFile("before.pdf");

// Flatten the pdf
pdf.Flatten();

// Save as a new file
pdf.SaveAs("after_flatten.pdf");
Imports IronPdf

' Select the desired PDF File
Private pdf As PdfDocument = PdfDocument.FromFile("before.pdf")

' Flatten the pdf
pdf.Flatten()

' Save as a new file
pdf.SaveAs("after_flatten.pdf")
$vbLabelText   $csharpLabel

Dla bardziej szczegółowego wyjaśnienia tego fragmentu kodu i jego dodatkowej funkcjonalności, proszę zobaczyć nasz kompleksowy przewodnik.

Oglądanie i drukowanie PDF

Drukuj na drukarce fizycznej

Ta funkcjonalność pozwala użytkownikom generować pliki PDF zamiast wysyłać dokumenty bezpośrednio do drukarki. Kiedy używana jest Print, system tworzy plik PDF, który jest zapisywany na lokalnej maszynie. Można także określić inną drukarkę, podając jej nazwę do metody Print.

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

// Send the document to "Microsoft Print to PDF" printer
pdf.Print("Microsoft Print to PDF");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")

' Send the document to "Microsoft Print to PDF" printer
pdf.Print("Microsoft Print to PDF")
$vbLabelText   $csharpLabel

Dla bardziej szczegółowego wyjaśnienia tego fragmentu kodu i jego dodatkowej funkcjonalności, proszę zobaczyć nasz kompleksowy przewodnik.

Wnioski

IronPDF daje programistom .NET elastyczność w tworzeniu profesjonalnych, wysokiej jakości plików PDF. Bezproblemowo integruje nowoczesne zasoby internetowe i zapewnia wydajność na najwyższym poziomie. Niezależnie od tego, czy renderowana jest dynamiczna zawartość HTML, osadzane są niestandardowe czcionki i obrazy, czy optymalizowane jest masowe generowanie plików PDF poprzez kompresję i wielowątkowość, IronPDF oferuje elastyczność i moc potrzebną do realizacji każdego zadania — wszystko to bez zewnętrznych zależności.

Łącząc bogate wsparcie zasobów z narzędziami nastawionymi na wydajność, jak renderowanie asynchroniczne i logowanie niestandardowe, IronPDF zapewnia, że aplikacje pozostają szybkie, skalowalne i wizualnie spójne. Niezależnie od tego, czy budowany jest prosty raport, czy system automatyzacji dokumentów na poziomie Enterprise, IronPDF ułatwia dostarczanie pięknych i efektywnych dokumentów PDF za każdym razem.

Teraz, gdy widać, co potrafi IronPDF, nadszedł czas, aby zacząć budować inteligentniejsze, szybsze przepływy pracy z PDF-ami w projektach .NET.

Często Zadawane Pytania

Jak mogę zoptymalizować wydajność plików PDF za pomocą IronPDF?

Aby zoptymalizować wydajność plików PDF za pomocą IronPDF, można wykorzystać wbudowane funkcje optymalizacji, takie jak metoda CompressAndSaveAs do kompresji obrazów i usuwania drzew struktury PDF, a także optymalizację czcionek. Dzięki temu pliki PDF będą się szybciej ładować i działać lepiej.

Czym są zasoby internetowe w kontekście generowania plików PDF?

Zasoby internetowe to zasoby zewnętrzne, takie jak obrazy, arkusze stylów i skrypty, które można dołączyć do dokumentów PDF. Korzystając z IronPDF, można łatwo osadzać te zasoby, aby poprawić wygląd i funkcjonalność plików PDF.

Jak dodać obrazy do pliku PDF za pomocą IronPDF?

Możesz dodawać obrazy do plików PDF za pomocą IronPDF, osadzając je bezpośrednio w kodzie źródłowym HTML lub odwołując się do nich jako do zewnętrznych adresów URL. IronPDF obsługuje różne formaty obrazów, co pozwala na wzbogacenie treści wizualnej w plikach PDF.

Czy IronPDF może pomóc w zmniejszeniu rozmiaru moich plików PDF?

Tak, IronPDF może pomóc zmniejszyć rozmiar plików PDF za pomocą metody CompressAndSaveAs, która kompresuje osadzone obrazy z konfigurowalną jakością JPEG (0–100) i opcjonalnie może usunąć drzewo struktury PDF. Do użytku w pamięci metod CompressPdfToBytes i CompressPdfToStream zwracają skompresowany plik PDF bez zapisywania go na dysku. Dzięki temu powstają mniejsze, łatwiejsze w zarządzaniu dokumenty PDF.

Jakie funkcje oferuje IronPDF w zakresie optymalizacji czcionek w plikach PDF?

IronPDF oferuje funkcje podziału i kompresji czcionek, dzięki czemu w pliku PDF znajdują się tylko niezbędne dane czcionek. Zmniejsza to rozmiar pliku i skraca czas ładowania bez utraty jakości tekstu.

Czy za pomocą IronPDF można dołączać style CSS do generowanych plików PDF?

Tak, IronPDF pozwala na dodawanie stylów CSS do dokumentów PDF. Możesz osadzić CSS bezpośrednio w kodzie HTML lub podłączyć się do zewnętrznych arkuszy stylów, aby zapewnić spójny i profesjonalny wygląd plików PDF.

W jaki sposób IronPDF obsługuje zasoby zewnętrzne w pliku PDF?

IronPDF może integrować zasoby zewnętrzne, takie jak obrazy i arkusze stylów, poprzez ich bezpośrednie osadzanie lub odwołanie do ich adresów URL. Umożliwia to tworzenie dynamicznych i atrakcyjnych wizualnie plików PDF, które zawierają różnorodne zasoby internetowe.

Jakie są zalety optymalizacji plików PDF za pomocą IronPDF?

Optymalizacja plików PDF za pomocą IronPDF oferuje kilka korzyści, w tym szybsze ładowanie, mniejszy rozmiar plików i lepszą wydajność dokumentów. Zoptymalizowane pliki PDF zużywają również mniej przepustowości podczas udostępniania lub pobierania.

Jak mogę zapewnić spójny wygląd pliku PDF na różnych urządzeniach przy użyciu IronPDF?

Aby zapewnić spójność na różnych urządzeniach, należy wykorzystać obsługę zapytań o media oraz techniki responsywnego projektowania oferowane przez IronPDF w kodzie HTML i CSS. Dzięki temu plik PDF dostosowuje swój układ do środowiska wyświetlania.

Nadchodzi .NET 10 — czy IronPDF jest z nim kompatybilny i jakie korzyści to przynosi?

Tak — IronPDF jest w pełni kompatybilny z .NET 10.

Kye Stuart
Autor tekstów technicznych

Kye Stuart łączy pasję do kodowania i umiejętność pisania w Iron Software. Ukończył naukę w Yoobee College w zakresie wdrażania oprogramowania, teraz przekształcając złożone koncepcje technologiczne w jasne materiały edukacyjne. Kye ceni sobie ciągłe naukę i chętnie podejmuje ...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 18,135,201 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPdf
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.