IRONSOFTWAREHOME
NARZĘDZIA PDF

Jak redagować PDF bez Adobe Pro

Curtis Chau
Curtis Chau
Updated: 23 kwietnia 2026

IronPDF oferuje prostsze dodawanie obrazów z mniejszą liczbą linii kodu i licencję wieczystą, podczas gdy iText zapewnia bardziej szczegółową kontrolę, ale wymaga większej ilości kodu i ma złożone licencjonowanie pod AGPL do użytku komercyjnego.

Podczas pracy z plikami PDF w środowisku .NET dodawanie obrazów do dokumentów jest częstym wymaganiem wielu aplikacji. Niezależnie od tego, czy generujesz faktury z logo firmy, tworzysz raporty z osadzonymi wykresami, czy też przygotowujesz niestandardowe dokumenty z znakami wodnymi, możliwość osadzania obrazów w plikach PDF jest niezbędna. Dwie popularne biblioteki PDF w języku C# to IronPDF i iText. W tym artykułe porównano obie biblioteki pod kątem możliwości dodawania obrazów do plików PDF, biorąc pod uwagę łatwość użytkowania, wydajność, modele licencyjne oraz zaawansowane funkcje, takie jak kompresja obrazów i obsługa formatów.

Jakie są kluczowe różnice między IronPDF a iText?

Jakie funkcje oferuje każda z bibliotek?

iText: iText oferuje osadzanie obrazów za pomocą swojego niższego poziomu API. Zapewnia elastyczny interfejs obsługujący formaty JPG i PNG. Jednak do dostosowania potrzeba więcej kodu, zwłaszcza przy precyzyjnym pozycjonowaniu obrazów lub wdrażaniu przezroczystości i obracania. Biblioteka wymaga ręcznej obsługi układów współrzędnych i obliczeń skalowania. Często konieczne jest wdrożenie własnych elementów sterujących oknem wyświetlania w celu zapewnienia responsywnego dostosowywania rozmiaru.

Jak radzą sobie z dużymi plikami i złożonymi operacjami?

iText: iText może działać wolniej z dużymi plikami lub złożonymi operacjami na obrazach. Zużycie pamięci staje się problemem podczas jednoczesnego przetwarzania wielu obrazów lub pracy z obrazami o wysokiej rozdzielczości. Jednak po odpowiedniej konfiguracji nadal nadaje się do większości zastosowań. Biblioteka nie posiada wbudowanej optymalizacji kompresji dla operacji wsadowych.

Jakie są konsekwencje finansowe w przypadku wykorzystania komercyjnego?

iText: iText wykorzystuje AGPL do użytku open-source, wymagając udostępnienia kodu źródłowego. Licencje komercyjne nie podlegają temu wymogówi. Złożoność licencji może stanowić wyzwanie dla zastosowań komercyjnych. Zrozumienie aktualizacji i przedłużeń licencji wymaga starannego planowania.

Jak dodawać obrazy do plików PDF za pomocą IronPDF?

Jak zainstalować i skonfigurować IronPDF?

Zainstaluj IronPDF w swoim projekcie C# lub Visual Basic za pomocą NuGet. Biblioteka obsługuje wiele metod instalacji, w tym instalator Windows Installer i wdrożenie w Dockerze:

PM > Install-Package IronPdf

Po zainstalowaniu możesz zacząć dodawać obrazy, korzystając z Dokumentacji API IronPDF. Biblioteka działa płynnie na platformach Windows, Linux i macOS.

Jak wygląda podstawowe dodawanie obrazów w IronPDF?

Szybki start: Dodaj obraz do pliku PDF za pomocą IronPDF

Dodawanie obrazów do plików PDF za pomocą IronPDF wymaga minimalnej ilości kodu przy użyciu interfejsu API stemplowania.

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Skopiuj i uruchom ten fragment kodu.

    using IronPdf;
    using IronPdf.Editing;
    
    class Program
    {
        public static void Main(string[] args)
        {
            // Create a renderer to convert HTML to PDF
            ChromePdfRenderer renderer = new ChromePdfRenderer();
            
            // Render a basic PDF with some HTML content
            PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
            
            // Create an ImageStamper with the image URL
            ImageStamper stamper = new ImageStamper(new Uri("___PROTECTED_URL_61___"));
            
            // Configure image position and size
            stamper.HorizontalAlignment = HorizontalAlignment.Center;
            stamper.VerticalAlignment = VerticalAlignment.Middle;
            stamper.Width = 200;  // Width in pixels
            stamper.Height = 100; // Height in pixels
            
            // Apply the stamp (image) to the PDF document
            pdf.ApplyStamp(stamper);
            
            // Save the modified PDF to a file
            pdf.SaveAs("output.pdf");
        }
    }
    C#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

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

Jak mogę dodać znaki wodne i obrazy tła?

IronPDF doskonale sprawdza się w dodawaniu znaków wodnych i obrazów tła do istniejących plików PDF. Biblioteka obsługuje wiele operacji stemplowania i niestandardowe pozycjonowanie:

using IronPdf;
using IronPdf.Editing;

// Load an existing PDF
PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");

// Create a watermark with transparency
ImageStamper watermark = new ImageStamper("watermark.png")
{
    Opacity = 30,  // 30% opacity for subtle watermarking
    Rotation = -45, // Diagonal watermark
    HorizontalAlignment = HorizontalAlignment.Center,
    VerticalAlignment = VerticalAlignment.Middle
};

// Apply watermark to all pages
pdf.ApplyStamp(watermark);

// Add a header logo
ImageStamper logo = new ImageStamper("company-logo.png")
{
    HorizontalOffset = Length.Millimeters(10),
    VerticalOffset = Length.Millimeters(10),
    Width = 150,
    Height = 50
};

pdf.ApplyStamp(logo, PageSelection.FirstPage);
pdf.SaveAs("watermarked-invoice.pdf");

Można również tworzyć złożone układy zawierające wiele obrazów:

// Add images from Base64 strings
string base64Image = Convert.ToBase64String(File.ReadAllBytes("signature.png"));
HtmlStamper signatureStamp = new HtmlStamper($"<img src='data:image/png;base64,{base64Image}'/>");
signatureStamp.HorizontalAlignment = HorizontalAlignment.Right;
signatureStamp.VerticalAlignment = VerticalAlignment.Bottom;
pdf.ApplyStamp(signatureStamp);

Przeglądarka PDF wyświetlająca prosty dokument z tekstem

W tym przykładzie wykorzystano klasę ChromePdfRenderer do renderowania nowego pliku PDF na podstawie ciągu znaków HTML. Korzystając z narzędzia do stemplowania obrazów IronPDF, można utworzyć obraz na podstawie podanego adresu URL i zastosować go w pliku PDF. Poniżej przedstawiono przykład dodawania obrazów do strony PDF przy użyciu minimalnej ilości kodu. Opcje renderowania zapewniają pełną kontrolę nad jakością wyniku.

Jak mogę kontrolować położenie i wymiary obrazów w IronPDF?

IronPDF zapewnia szerokie możliwości dostosowania rozmieszczenia obrazów. Lokalizację strony określa się, ustawiając wyrównanie i przesunięcie za pomocą funkcji pozycjonowania narzędzia do stemplowania. Biblioteka obsługuje zarówno pozycjonowanie absolutne za pomocą współrzędnych, jak i pozycjonowanie względne z wykorzystaniem opcji wyrównania. Zaawansowane funkcje obejmują niestandardowe rozmiary papieru i kontrolę marginesów, co pozwala na precyzyjne tworzenie układów.

Jak dodawać obrazy do PDF-ów używając iText?

Jak zainstalować i skonfigurować iText?

Zainstaluj iText przez NuGet. W przeciwieństwie do kompletnego wsparcia platformy IronPDF, iText ma ograniczone opcje wdrożenia:

PM > Install-Package itext7

Po skonfigurowaniu, przejdź do dodawania obrazów za pomocą funkcji manipulacji dokumentem iText. Biblioteka wymaga dodatkowej konfiguracji w zakresie zarządzania czcionkami i obsługi UTF-8.

Jak wygląda podstawowe dodawanie obrazów w iText?

Oto jak wstawić obraz używając iText:

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;

class Program
{
    public static void Main(string[] args)
    {
        // Initialize PDF writer
        var pdfWriter = new PdfWriter("output.pdf");
        
        // Initialize PDF document
        var pdfDocument = new iText.Kernel.Pdf.PdfDocument(pdfWriter);
        
        // Initialize document
        var document = new Document(pdfDocument);
        
        // Create ImageData from image file
        ImageData imageData = ImageDataFactory.Create("iText.png");
        
        // Create an Image instance
        Image image = new Image(imageData);
        
        // Set fixed position for the image in the PDF
        image.SetFixedPosition(50, 100);  // x, y coordinates
        
        // Scale image to fit within specified dimensions
        image.ScaleToFit(200, 200);  // Width, Height
        
        // Add image to document
        document.Add(image);
        
        // Close the document
        document.Close();
    }
}

Jak mogę dodać wiele obrazów i obsłużyć złożone układy?

W przypadku złożonych scenariuszy, takich jak tworzenie katalogów produktów lub albumów ze zdjęciami, układ stron należy zarządzać ręcznie. Funkcja spisu treści oraz obsługa zakładek w IronPDF umożliwiają porządkowanie dokumentów wielostronicowych:

using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
using iText.IO.Image;
using iText.Layout.Properties;

// Create a grid of images
var pdfWriter = new PdfWriter("catalog.pdf");
var pdfDocument = new PdfDocument(pdfWriter);
var document = new Document(pdfDocument);

// Add images in a grid layout
float xPosition = 50;
float yPosition = 750;
int imagesPerRow = 3;
int currentImage = 0;

string[] imageFiles = { "product1.jpg", "product2.jpg", "product3.jpg", 
                       "product4.jpg", "product5.jpg", "product6.jpg" };

foreach (string imagePath in imageFiles)
{
    ImageData imageData = ImageDataFactory.Create(imagePath);
    Image image = new Image(imageData);
    
    // Calculate position
    int column = currentImage % imagesPerRow;
    int row = currentImage / imagesPerRow;
    
    float x = xPosition + (column * 180);
    float y = yPosition - (row * 250);
    
    image.SetFixedPosition(x, y);
    image.ScaleToFit(150, 200);
    
    document.Add(image);
    currentImage++;
}

document.Close();

Podgląd PDF pokazujący wyśrodkowane logo iText z tekstem 'CORE' na pustej stronie - przykład wyniku wstawienia obrazu w iText, demonstrujący podstawowe możliwości pozycjonowania i skalowania

Obraz jest dodawany w współrzędnych (50, 100) i skalowany tak, aby zmieścił się w obszarze 200x200 pikseli. PdfWriter tworzy plik wyjściowy, umożliwiając funkcjonalność pisania PDF do obsługi obrazów. Aby zapewnić lepszą organizację tekstu, warto rozważyć użycie numerów stron oraz nagłówków i stopek.

Jak mogę kontrolować pozycję i wymiary obrazów w iText?

iText zapewnia kontrolę nad pozycjonowaniem i wielkością dzięki ręcznym obliczeniom współrzędnych. Można skalować obrazy, zachowując proporcje lub rozciągając je do określonych wymiarów. Metoda SetFixedPosition oferuje precyzyjną kontrolę umiejscowienia, a także możesz manipulować wyrównaniem oraz obrotem. Brakuje jednak w nim elementów sterujących oknem podglądu oraz opcji responsywnego dostosowywania rozmiaru, które oferuje IronPDF.

Jak IronPDF i iText porównują się w wydajności?

Obie biblioteki obsługują dodawanie obrazów do plików PDF, ale istnieją między nimi znaczące różnice:

  • IronPDF poprawiony pod kątem wydajności, efektywnie obsługujący duże dokumenty z wieloma obrazami. Szybciej renderuje pliki PDF, zwłaszcza w przypadku dokumentów zawierających dużo grafiki. Biblioteka obsługuje operacje asynchroniczne i przetwarzanie równoległe w celu zwiększenia przepustowości. Operacje strumienia pamięci zmniejszają obciążenie wejścia/wyjścia dysku, zapewniając lepszą wydajność.

  • iText oferuje dobrą wydajność, ale może mieć problemy z bardzo dużymi PDF-ami lub licznymi obrazami o wysokiej rozdzielczości. Chociaż jest to wydajne rozwiązanie, niektórzy programiści zgłaszają dłuższy czas renderowania w porównaniu z IronPDF w złożonych przypadkach użycia obejmujących operacje na wielu stronach. Biblioteka nie posiada wbudowanej obsługi linearyzacji do optymalizacji stron internetowych.

Jakie zaawansowane funkcje obrazów są dostępne?

Jak radzą sobie z różnymi formatami obrazów?

IronPDF obsługuje wszystkie formaty obrazów:

iText obsługuje standardowe formaty:

  • JPEG/JPG
  • Plik PNG z kanałem alfa
  • GIF (tylko pierwsza klatka)
  • TIFF (pojedyncza strona)
  • BMP i inne formaty bitmapowe

A co z jakością obrazu i kompresją?

IronPDF oferuje wbudowane opcje kompresji, które pozwalają zachować równowagę między rozmiarem pliku a jakością. Biblioteka oferuje funkcje czyszczenia danych oraz możliwości spłaszczania:

// Configure compression when rendering
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.JpegQuality = 85; // 0-100 quality scale

// Compress existing PDFs with images
PdfDocument pdf = PdfDocument.FromFile("large-images.pdf");
pdf.CompressImages(60); // Compress to 60% quality
pdf.SaveAs("compressed.pdf");

// Additional optimization options
renderer.RenderingOptions.GrayScale = true; // Convert to grayscale
renderer.RenderingOptions.DPI = 150; // Reduce DPI for web viewing

iText wymaga ręcznego zarządzania kompresją przez manipulację danymi obrazów, co zwiększa złożoność implementacji dla kontroli jakości. Należy samodzielnie zaimplementować konwersję do skali szarości oraz dostosowanie DPI.

Jak mogę wyodrębnić obrazy z istniejących plików PDF?

IronPDF zapewnia niezawodne funkcje wyodrębniania obrazów:

// Extract all images from a PDF
PdfDocument pdf = PdfDocument.FromFile("document.pdf");
var images = pdf.ExtractAllImages();

foreach (var image in images)
{
    // Save extracted images
    image.SaveAs($"extracted_image_{images.IndexOf(image)}.png");
}

// Extract images from specific pages
var pageImages = pdf.ExtractImagesFromPage(0); // First page

Jakie są modele licencyjne i cenowe?

Którą bibliotekę wybrać do dodawania obrazów do plików PDF?

Tabela porównawcza cech pomiędzy bibliotekami PDF IronPDF i iText pokazująca przewagi IronPDF w łatwości użycia, wydajności, elastyczności licencyjnej, pełnym wsparciu formatów obrazów oraz zaawansowanych możliwościach pozycjonowania dla generowania PDF dla firm

Zarówno IronPDF, jak i iText dostarczają efektywnych narzędzi do dodawania obrazów do PDF-ów w C#, z których każde ma swoje specyficzne zalety. IronPDF wyróżnia się łatwością obsługi, wydajnością i elastycznością licencji, dzięki czemu idealnie nadaje się do obsługi złożonych plików PDF i obrazów przy minimalnym nakładzie kodu. Oferuje lepszą skalowalność w przypadku dużych plików PDF oraz licencję na jednorazowy zakup, co pozwala uniknąć powtarzających się kosztów lub skomplikowanych ograniczeń związanych z oprogramowaniem open source.

Obsługa przez bibliotekę nowoczesnych formatów, takich jak SVG i WebP, w połączeniu z wbudowanymi funkcjami kompresji i intuicyjnymi interfejsami API do pozycjonowania, sprawia, że nadaje się ona do zastosowań Enterprise wymagających generowania dokumentów o wysokiej jakości. Silnik renderujący IronPDF dla przeglądarki Chrome zapewnia idealną jakość wydruku na wszystkich platformach.

iText pasuje do projektów open-source, choć wymaga więcej kodu dla osiągnięcia równoważnych rezultatów i może napotykać problemy z wydajnością przy większych PDF-ach. Jego API niższego poziomu zapewnia szczegółową kontrolę, ale zwiększa złożoność procesu tworzenia oprogramowania. Bibliotece brakuje nowoczesnych funkcji, takich jak obsługa responsywnego CSS i renderowanie JavaScript.

W przypadku aplikacji Enterprise zalety IronPDF obejmują obsługę Docker, kompatybilność z AWS Lambda oraz integrację z Azure Functions. Biblioteka zapewnia również zgodność z formatem PDF/A oraz dostępność PDF/UA zgodnie z wymogąmi regulacyjnymi.

Chcesz uprościć obsługę obrazów w plikach PDF? IronPDF umożliwia wydajne dodawanie obrazów do plików PDF przy użyciu minimalnej ilości kodu. Wypróbuj IronPDF i przekonaj się, jak łatwo zintegrować obrazy w swoich projektach C#. Implementacja rozwiązuje skomplikowane kwestie za ciebie, oszczędzając czas i poprawiając proces generowania PDF-ów. Zapoznaj się z pełnym zestawem funkcji i dołącz do tysięcy programistów, którzy uprościli swoje operacje związane z plikami PDF.

Zwróć uwagę: iText jest zarejestrowanym znakiem towarowym jego właściciela. Ta strona nie jest powiązana, wspierana ani sponsorowana przez iText. Wszystkie nazwy produktów, logo i marki są własnością ich odpowiednich właścicieli. Porównania mają charakter wyłącznie informacyjny i odzwierciedlają informacje dostępne publicznie w momencie pisania.
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ęczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta