Jak rysować tekst i bitmapę na PDF-ach używając C
IronPDF umożliwia rysowanie tekstu i obrazów na istniejących PDF-ach za pomocą metod DrawText oraz DrawBitmap, co pozwala na dostosowanie za pomocą znaków wodnych, logo, adnotacji i poprawę wyglądu wizualnego bez zmiany oryginalnej treści.
Rysowanie tekstu i obrazów na PDF polega na dodawaniu treści do istniejącego dokumentu. IronPDF płynnie umożliwia tę funkcję. Dzięki włączeniu tekstu i obrazów można dostosowywać PDF-y za pomocą znaków wodnych, logo i adnotacji, poprawiając wizualny wygląd dokumentu i branding. Dodatkowo, tekst i obrazy ułatwiają prezentację informacji, wizualizację danych i tworzenie interaktywnych formularzy.
Samouczek: Dodawanie tekstu i obrazów do PDF-ów z IronPDF
Ulepszanie dokumentów PDF tekstem i obrazami jest szybkie i efektywne. Za pomocą metod DrawText oraz DrawBitmap można łatwo dostosowywać PDF-y, dodając znaki wodne, logo lub adnotacje. Ten przykład pokazuje, jak rysować tekst w określonych współrzędnych i wstawiać obraz bezproblemowo do dokumentu PDF.
-
Install IronPDF with NuGet Package Manager
PM > Install-Package IronPdf -
Skopiuj i uruchom ten fragment kodu.
new ChromePdfRenderer() .RenderHtmlAsPdf("<h1>Doc</h1>") .DrawText("Hello World", FontTypes.TimesNewRoman.Name, 12, 0, 100, 100, Color.Black, 0) .DrawBitmap(AnyBitmap.FromFile("logo.png"), 0, 50, 250, 500, 300) .SaveAs("annotated.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ę C# dla IronPDF, aby rysować tekst i obrazy na PDF-ach
- Zaimportuj docelowy dokument PDF
- Użyj metody
DrawText, aby dodać tekst z żądaną czcionką do zaimportowanego PDF - Dodaj obraz do PDF używając metody
DrawBitmap - Eksportuj edytowany dokument PDF
Jak rysować tekst na PDF-ie?
Metoda DrawText dostępna na obiekcie PdfDocument umożliwia dodawanie tekstu do istniejącego PDF bez zmiany jego oryginalnej treści. Ta metoda jest szczególnie przydatna do dodawania dynamicznej treści do PDF-ów, podobnie jak funkcja stemplowania tekstu i obrazu do bardziej złożonych nakładek.
Zrozumienie układu współrzędnych
Przed rozpoczęciem rysowania tekstu, zrozum system współrzędnych PDF. Punkt oryginalny (0,0) znajduje się w lewym dolnym rogu strony, wartości X rosną w prawo, a wartości Y rosną w górę. To różni się od wielu systemów graficznych, gdzie punkt oryginalny jest w lewym górnym rogu.
:path=/static-assets/pdf/content-code-examples/how-to/draw-text-and-bitmap-draw-text.cs
using IronPdf;
using IronSoftware.Drawing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
// Draw text on PDF
pdf.DrawText("Some text", FontTypes.TimesNewRoman.Name, FontSize: 12, PageIndex: 0, X: 100, Y: 100, Color.Black, Rotation: 0);
pdf.SaveAs("drawText.pdf");
Imports IronPdf
Imports IronSoftware.Drawing
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
' Draw text on PDF
pdf.DrawText("Some text", FontTypes.TimesNewRoman.Name, FontSize:=12, PageIndex:=0, X:=100, Y:=100, Color.Black, Rotation:=0)
pdf.SaveAs("drawText.pdf")
Jakich czcionek można użyć?
Metoda DrawText obecnie obsługuje wszystkie standardowe czcionki w IronPDF, w tym Courier, Arial (lub Helvetica), TimesNewRoman, Symbol i ZapfDingbats. Odwiedź sekcję 'standardowe czcionki w IronPDF' w artykule o zarządzaniu czcionkami dla wersji pochyłych, pogrubionych i ukośnych tych typów czcionek.
Czcionka ZapfDingbats może wyświetlać symbole, takie jak ▲. Dla pełnej listy obsługiwanych symboli, odwiedź Wikipedia o Zapf Dingbats.
Przykład czcionek na PDF
Jak dodać tekst z podziałami na linie?
Akcja rysowania tekstu obsługuje znaki nowej linii, umożliwiając renderowanie tekstu z wbudowanymi nowymi liniami dla lepszego formatowania i czytelności wizualnej. Jest to przydatne przy dodawaniu wielolinijkowych adnotacji lub tworzeniu strukturalnych układów tekstowych.
Aby to osiągnąć, dodaj newline characters (\n) do łańcucha tekstowego. Używając powyższego przykładu:
// Multi-line text example with proper spacing
string textWithNewlines = "Some text\nSecond line\nThird line with more content";
pdfDoc.DrawText(textWithNewlines, font, position);
// You can also use Environment.NewLine for platform-specific line breaks
string platformText = $"Line 1{Environment.NewLine}Line 2{Environment.NewLine}Line 3";
pdfDoc.DrawText(platformText, font, position);
// Multi-line text example with proper spacing
string textWithNewlines = "Some text\nSecond line\nThird line with more content";
pdfDoc.DrawText(textWithNewlines, font, position);
// You can also use Environment.NewLine for platform-specific line breaks
string platformText = $"Line 1{Environment.NewLine}Line 2{Environment.NewLine}Line 3";
pdfDoc.DrawText(platformText, font, position);
' Multi-line text example with proper spacing
Dim textWithNewlines As String = "Some text" & vbLf & "Second line" & vbLf & "Third line with more content"
pdfDoc.DrawText(textWithNewlines, font, position)
' You can also use Environment.NewLine for platform-specific line breaks
Dim platformText As String = $"Line 1{Environment.NewLine}Line 2{Environment.NewLine}Line 3"
pdfDoc.DrawText(platformText, font, position)
Jak używać niestandardowych czcionek?
Niestandardowe czcionki są obsługiwane z metodą DrawText, poszerzając możliwości typografii poza standardowe czcionki. Ta funkcja jest niezbędna w celu zachowania spójności marki lub przy pracy z wyspecjalizowanymi czcionkami. Dla zaawansowanego zarządzania czcionkami, zobacz nasz przewodnik o zarządzaniu czcionkami w PDF-ach.
Poniżej znajduje się przykład z dodaną czcionką Pixelify Sans Font do tekstu:
:path=/static-assets/pdf/content-code-examples/how-to/draw-text-and-bitmap-draw-custom-font.cs
using IronPdf;
using IronSoftware.Drawing;
using System.IO;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
// Add custom font to the PDF
byte[] fontByte = File.ReadAllBytes(@".\PixelifySans-VariableFont_wght.ttf");
var addedFont = pdf.Fonts.Add(fontByte);
// Draw text on PDF
pdf.DrawText("Iron Software", addedFont.Name, FontSize: 12, PageIndex: 0, X: 100, Y: 600, Color.Black, Rotation: 0);
pdf.SaveAs("drawCustomFont.pdf");
Imports IronPdf
Imports IronSoftware.Drawing
Imports System.IO
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
' Add custom font to the PDF
Private fontByte() As Byte = File.ReadAllBytes(".\PixelifySans-VariableFont_wght.ttf")
Private addedFont = pdf.Fonts.Add(fontByte)
' Draw text on PDF
pdf.DrawText("Iron Software", addedFont.Name, FontSize:= 12, PageIndex:= 0, X:= 100, Y:= 600, Color.Black, Rotation:= 0)
pdf.SaveAs("drawCustomFont.pdf")
Zaawansowane pozycjonowanie tekstu
Podczas dokładnego pozycjonowania tekstu, rozważ te wskazówki:
- Wymiary strony: Użyj
pdf.Pages[pageIndex].Widthipdf.Pages[pageIndex].Height, aby uzyskać wymiary strony - Obrót: Parametr obrotu akceptuje stopnie (0-360) dla tekstu pod kątem
- Opcje kolorów: Poza podstawowymi kolorami, użyj wartości RGB:
Color.FromArgb(255, 100, 100)
Jak rysować obrazy na PDF-ie?
Metoda DrawBitmap w IronPDF umożliwia dodawanie bitmap do istniejących dokumentów PDF. Ta metoda działa podobnie do funkcji stampla obrazu, pozwalając na stemplowanie obrazów na istniejących PDF-ach. Dla bardziej złożonych potrzeb manipulacji obrazem, zobacz nasz przewodnik o dodawaniu obrazów do PDF-ów.
DrawBitmap najlepiej sprawdza się do dużych obrazów. Podczas używania obrazów mniejszej rozdzielczości może wystąpić następujący wyjątek: IronPdf.Exceptions.IronPdfNativeException: 'Błąd podczas rysowania obrazu: długość danych (567000) jest mniejsza niż oczekiwana (756000)'. Aby rozwiązać ten problem, należy skorzystać z Image Stamper, który obsługuje obrazy wszystkich rozmiarów.Przykładowy obraz
Jak wygląda implementacja?
:path=/static-assets/pdf/content-code-examples/how-to/draw-text-and-bitmap-draw-bitmap.cs
using IronPdf;
using IronSoftware.Drawing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");
// Open the image from file
AnyBitmap bitmap = AnyBitmap.FromFile("ironSoftware.png");
// Draw the bitmp on PDF
pdf.DrawBitmap(bitmap, 0, 50, 250, 500, 300);
pdf.SaveAs("drawImage.pdf");
Imports IronPdf
Imports IronSoftware.Drawing
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")
' Open the image from file
Dim bitmap As AnyBitmap = AnyBitmap.FromFile("ironSoftware.png")
' Draw the bitmap on PDF
pdf.DrawBitmap(bitmap, 0, 50, 250, 500, 300)
pdf.SaveAs("drawImage.pdf")
Wynik w formacie PDF
Jakie dodatkowe parametry są dostępne?
-
PixelFormat: Właściwość
PixelFormatokreśla format danych kolorów dla bitmapy, głównie kontrolując wsparcie dla przezroczystości. Domyślną wartością jestFormat32bppArgb. Wybierz pomiędzy formatami pikseliFormat32bppRgbiFormat32bppArgb, podając parametr jako opcję. To jest przydatne, gdy pracujesz z elementami tła i pierwszego planu w PDF-ach. - IgnorePageRotation: Ta właściwość
boolokreśla, czy metoda ignoruje obrót strony podczas rysowania bitmapy. Domyślnie wartość to false. Jest szczególnie przydatna przy stosowaniu znaków wodnych na wszystkich stronach, niezależnie od obrotu.
Częste zastosowania i najlepsze praktyki
Podczas rysowania tekstu i obrazów na PDF-ach, rozważ te praktyczne zastosowania:
- Dynamiczne znakowanie wodne: Dodawaj logo firmowe lub stemple 'POUFNE' do wrażliwych dokumentów
- Numeracja stron: Rysuj numery stron w spójnych pozycjach na wszystkich stronach
- Umieszczanie podpisów: Dodawaj obrazy podpisów w wyznaczonych miejscach na formularzach
- Ulepszanie nagłówków/stopek: Uzupełniaj istniejące nagłówki dynamiczną treścią
Dla debugowania i monitorowania operacji PDF, wdroż niestandardowe logowanie w celu śledzenia operacji rysowania i zapewnij ich prawidłowe wykonanie.
Rozważania dotyczące wydajności
Pracując z wieloma stronami lub dużymi dokumentami:
- Przeprowadzaj operacje wsadowe, gdy to możliwe, aby zminimalizować zużycie pamięci
- Usuwaj obiekty bitmap po użyciu, aby zwolnić zasoby
- Rozważ wstępne ładowanie często używanych obrazów, aby poprawić wydajność
Zapoznaj się z naszą stroną z samouczkami: Edytuj pliki PDF
Często Zadawane Pytania
What methods can I use to add text and images to existing PDFs?
IronPDF provides two main methods for adding content to existing PDFs: the DrawText method for adding text and the DrawBitmap method for adding images. These methods allow you to customize PDFs with watermarks, logos, and annotations without altering the original document content.
How does the PDF coordinate system work when drawing text?
In IronPDF, the PDF coordinate system has its origin (0,0) at the bottom-left corner of the page. X values increase moving to the right, and Y values increase moving upward. This differs from many graphics systems where the origin is at the top-left corner.
What fonts are supported when drawing text on PDFs?
IronPDF's DrawText method supports all Standard Fonts including Courier, Arial (Helvetica), Times New Roman, Symbol, and ZapfDingbats. These fonts are also available in italic, bold, and oblique variants. The ZapfDingbats font can be used to display special symbols.
Can I add both text and images to a PDF in a single operation?
Yes, IronPDF allows you to chain methods together. You can use ChromePdfRenderer to create a PDF, then apply DrawText and DrawBitmap methods sequentially in a single line of code, making it efficient to add multiple elements to your PDF document.
What are the common use cases for drawing text and images on PDFs?
IronPDF's drawing capabilities are commonly used for adding watermarks to protect documents, inserting company logos for branding, creating annotations for document review, improving visual appearance, facilitating data visualization, and creating interactive forms.

