Jak dodawać obrazy do plików PDF w języku C# za pomocą IronPDF
IronPDF umożliwia osadzanie obrazów bezpośrednio w plikach PDF poprzez konwersję kodu HTML zawierającego tagi obrazów do dokumentów PDF, tworząc samodzielne pliki, które wyświetlają obrazy bez zewnętrznych zależności lub połączeń internetowych.
Szybki start: Łatwe osadzanie obrazów w plikach PDF
Zacznij osadzać obrazy w plikach PDF za pomocą IronPDF w .NET C#. Konwertuj obraz na ciag Base64 i osadz go w <img> tagu HTML, aby wygenerowac samodzielny PDF, ktory nie wymaga plikow zewnetrznych. Ta metoda gwarantuje wyświetlanie obrazów bez dostępu do Internetu.
-
Install IronPDF with NuGet Package Manager
PM > Install-Package IronPdf -
Skopiuj i uruchom ten fragment kodu.
new IronPdf.ChromePdfRenderer() .RenderHtmlAsPdf("<img src='data:image/png;base64," + Convert.ToBase64String(File.ReadAllBytes("logo.png")) + "'>") .SaveAs("image-embedded.pdf"); -
Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną
Minimalny proces (5 kroków)
- Pobierz bibliotekę IronPDF C#
- Przygotuj plik graficzny do osadzenia
- Użyj tagu
img,aby osadzić obrazy w HTML - Renderuj HTML do formatu PDF za pomocą metody
RenderHtmlAsPdf - Osadź obraz przy użyciu kodowania Base64
Jak osadzić obrazy w plikach PDF?
Aby osadzic obraz w PDF, najpierw wlacz obraz do HTML, uzywajac tagu <img>. Nastepnie uzyj metody RenderHtmlAsPdf, aby przekonwertowac HTML na PDF. Jeśli masz już plik PDF, umieść obrazek na dokumencie PDF, korzystając z samouczka dotyczącego stemplowania obrazów lub stemplowania HTML. To podejście działa z silnikiem renderującym IronPDF dla przeglądarki Chrome.
Dlaczego metoda RenderHtmlAsPdf działa najlepiej?
Metoda RenderHtmlAsPdf wykorzystuje silnik renderowania Chrome IronPDF, aby przekonwertowac zawartosc HTML, wlaczajac obrazy, na format PDF z zachowaniem ukladu i stylizacji. Ta metoda obsługuje responsywne układy CSS i zapewnia, że obrazy są renderowane tak, jak wyglądają w przeglądarce internetowej. W przypadku złożonych układów graficznych zapoznaj się z naszym przewodnikiem dotyczącym formatowania HTML z zachowaniem idealnej dokładności pikselowej.
Jakie formaty obrazów są obsługiwane?
IronPDF obsługuje wszystkie główne formaty obrazów, w tym PNG, JPG, SVG, GIF i BMP, podczas osadzania poprzez konwersję HTML. Biblioteka skutecznie obsługuje grafikę SVG, umożliwiając tworzenie skalowalnych ilustracji wektorowych. Pracujac z roznymi formatami, upewnij sie, ze HTML wlasciwie okresla typ obrazu w atrybucie src lub w danych URI Base64.
Kiedy należy używać bezpośredniego adresu URL, a kiedy kodowania Base64?
W przypadku obrazów hostowanych online, gdy rozmiar pliku ma znaczenie, należy używać bezpośrednich adresów URL. Wybierz kodowanie Base64 dla samodzielnych plików PDF, które nie wymagają dostępu do Internetu. W przypadku obrazów przechowywanych w usługach chmurowych zapoznaj się z naszym przewodnikiem dotyczącym osadzania obrazów z usługi Azure Blob Storage. Decyzja ta ma wpływ zarówno na rozmiar pliku, jak i na przenośność wygenerowanych plików PDF.
: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")
Jak osadzić obrazy przy użyciu Base64?
Aby uzyc Base64 do osadzenia obrazu w HTML, najpierw uzyskaj dane binarne obrazu przez odczytanie pliku obrazu lub odebranie go za pomoca zadania sieciowego. Uzyj metody Convert.ToBase64String w .NET do konwersji danych binarnych na Base64. Skonstruuj tag obrazu w HTML, uzywajac "data:image/svg+xml;base64," przed danymi Base64. Należy pamiętać, że typ obrazu jest określony przed danymi Base64. Więcej informacji na temat typów formatów obrazów można znaleźć w dokumentacji MDN Web Docs poświęconej formatom obrazów.
Dlaczego warto stosować kodowanie Base64 w przypadku obrazów?
Kodowanie Base64 tworzy samodzielne pliki PDF, które nie są zależne od zasobów zewnętrznych, zapewniając wyświetlanie obrazów nawet bez połączenia z Internetem lub w przypadku przeniesienia lub usunięcia oryginalnych plików graficznych. Technika ta jest przydatna podczas tworzenia plików PDF w aplikacjach Blazor Server lub podczas wdrażania w Azure, gdzie dostęp do plików zewnętrznych może być ograniczony. Zakodowane obrazy stają się częścią ciągu HTML, co sprawia, że idealnie nadają się do konwersji ciągów HTML do formatu PDF.
Jakie są kwestie związane z wydajnością?
Kodowanie Base64 zwiększa rozmiar pliku o około 33%, ale eliminuje zależności zewnętrzne, dzięki czemu idealnie nadaje się do celów archiwizacji lub w środowiskach sieciowych o ograniczonym dostępie. Gdy wydajność ma kluczowe znaczenie, warto rozważyć wykorzystanie asynchronicznego generowania plików PDF w celu jednoczesnej obsługi wielu konwersji obrazów. W przypadku operacji na dużą skalę zapoznaj się z naszym przewodnikiem po optymalizacji wydajności, aby zmaksymalizować przepustowość.
Jak radzić sobie z dużymi plikami graficznymi?
W przypadku dużych obrazów należy je skompresować przed kodowaniem Base64, aby zminimalizować rozmiar pliku PDF, lub użyć zewnętrznych adresów URL, jeśli rozmiar pliku ma kluczowe znaczenie. IronPDF oferuje funkcje kompresji plików PDF, które pozwalają zmniejszyć rozmiar plików nawet o 75%. W przypadku pracy z wieloma obrazami należy zoptymalizować ustawienia renderowania, aby uzyskać najlepszy kompromis między jakością a rozmiarem pliku.
:path=/static-assets/pdf/content-code-examples/how-to/add-images-to-pdfs-base64-image.cs
using IronPdf;
using System;
using System.IO;
ChromePdfRenderer renderer = new ChromePdfRenderer();
// Import image file binary data
byte[] binaryData = File.ReadAllBytes("ironpdf-logo-text-dotnet.svg");
// Convert the binary data to base 64
string imgDataUri = Convert.ToBase64String(binaryData);
// Embed in HTML
string html = $"<img src='data:image/svg+xml;base64,{imgDataUri}'>";
// Convert HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
// Export the PDF
pdf.SaveAs("embedImageBase64.pdf");
Imports IronPdf
Imports System
Imports System.IO
Private renderer As New ChromePdfRenderer()
' Import image file binary data
Private binaryData() As Byte = File.ReadAllBytes("ironpdf-logo-text-dotnet.svg")
' Convert the binary data to base 64
Private imgDataUri As String = Convert.ToBase64String(binaryData)
' Embed in HTML
Private html As String = $"<img src='data:image/svg+xml;base64,{imgDataUri}'>"
' Convert HTML to PDF
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
' Export the PDF
pdf.SaveAs("embedImageBase64.pdf")
Gotowy, aby sprawdzić, co jeszcze możesz zrobić? Zapoznaj się z naszą stroną z samouczkami tutaj: Dodatkowe funkcje
Często Zadawane Pytania
How do I add images to PDF documents in C#?
With IronPDF, you can add images to PDFs by including them in HTML using the tag and then converting the HTML to PDF using the RenderHtmlAsPdf method. This approach leverages IronPDF's Chrome rendering engine to accurately render images within your PDF documents.
What image formats can I embed in PDFs?
IronPDF supports all major image formats including PNG, JPG, SVG, GIF, and BMP when embedding through HTML conversion. The library handles SVG graphics particularly well for scalable vector illustrations, ensuring your images render properly in the generated PDF.
Should I use direct URLs or Base64 encoding for images?
Use direct URLs when images are hosted online and file size is a concern. Choose Base64 encoding with IronPDF when creating self-contained PDFs that don't require internet access. Base64 encoding ensures your PDFs display images without external dependencies.
Can I add images to existing PDF files?
Yes, IronPDF allows you to add images to existing PDFs using either an image stamper or HTML stamper. This feature enables you to overlay images onto specific pages or positions within your existing PDF documents.
How do I convert an image to Base64 for PDF embedding?
Convert your image to a Base64 string and embed it directly in an HTML tag using a data URI. IronPDF's RenderHtmlAsPdf method will then process this Base64-encoded image and embed it into your PDF, creating a self-contained document.
Does image embedding preserve CSS styling and layouts?
Yes, IronPDF's Chrome rendering engine preserves CSS layouts and styling when converting HTML with images to PDF. The library supports responsive CSS layouts, ensuring images render exactly as they would appear in a web browser.

