Jak rysować tekst i bitmapę na PDF-ach używając C
IronPDF umożliwia rysowanie tekstu i obrazów na istniejących plikach PDF przy użyciu metod DrawText i DrawBitmap, co pozwala na personalizację za pomocą znaków wodnych, logo, adnotacji oraz 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ę. Włączając tekst i obrazy, możesz dostosować pliki PDF za pomocą znaków wodnych, logotypów i adnotacji, poprawiając wizualny wygląd dokumentu i robienie brandingu. 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
Rozpocznij ulepszanie swoich dokumentów PDF tekstem i obrazami szybko i efektywnie. Korzystając z metod DrawText i DrawBitmap, można łatwo dostosować pliki PDF, dodając do nich znaki wodne, logo lub adnotacje. Ten przykład pokazuje, jak rysować tekst w określonych współrzędnych i wstawiać obraz bezproblemowo do Twojego 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 w obiekcie PdfDocument pozwala na dodanie tekstu do istniejącego pliku 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")
Jakie czcionki mogę użyć?
Metoda DrawText obsługuje obecnie wszystkie czcionki standardowe w IronPDF, w tym Courier, Arial (lub Helvetica), TimesNewRoman, Symbol oraz ZapfDingbats. Odwiedź sekcję 'standardowe czcionki w IronPDF' w artykułe 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. To przydatne, gdy dodajesz wielolinijkowe adnotacje lub tworzysz strukturalne układy tekstowe.
Aby to osiągnąć, dodaj newline characters (\n) do ciągu 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 za pomocą metody DrawText, co rozszerza możliwości typograficzne poza standardowe czcionki. Ta funkcja jest niezbędna, gdy chcesz zachować spójność marki lub pracujesz 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: Oprócz podstawowych kolorów należy używać wartości RGB:
Color.FromArgb(255, 100, 100)
Jak rysować obrazy na PDF-ie?
Metoda DrawBitmap programu IronPDF umożliwia dodawanie obrazów bitmapowych 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 działa najlepiej w przypadku dużych obrazów. Podczas używania obrazów mniejszej rozdzielczości, możesz napotkać 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, skorzystaj 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 koloru dla mapy bitowej, kontrolując przede wszystkim obsługę przezroczystości. Wartością domyślną jestFormat32bppArgb. Wybierz między formatami wyliczeniowymi pikseliFormat32bppRgbiFormat32bppArgb, przekazują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 mapy bitowej. Domyślnie wartość ta wynosi false. Szczególnie przydatne 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
Podczas pracy 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ść
Gotowy, aby sprawdzić, co jeszcze możesz zrobić? Zapoznaj się z naszą stroną z samouczkami tutaj: Edytuj pliki PDF
Często Zadawane Pytania
Jakie metody mogę użyć, aby dodać tekst i obrazy do istniejących PDF?
IronPDF oferuje dwie główne metody dodawania treści do istniejących PDF: metodę DrawText do dodawania tekstu i metodę DrawBitmap do dodawania obrazów. Te metody pozwalają dostosować PDF-y z wodnymi znakami, logotypami i adnotacjami bez zmiany oryginalnej zawartości dokumentu.
Jak działa system współrzędnych PDF podczas rysowania tekstu?
W IronPDF, system współrzędnych PDF ma swoje źródło (0,0) w dolnym-lewym rogu strony. Wartości X rosną przesuwając się w prawo, a wartości Y rosną przesuwając się do góry. To różni się od wielu systemów graficznych, gdzie źródło znajduje się w górnym-lewym rogu.
Jakie czcionki są obsługiwane podczas rysowania tekstu na PDF?
Metoda DrawText IronPDF obsługuje wszystkie Czcionki Standardowe, w tym Courier, Arial (Helvetica), Times New Roman, Symbol i ZapfDingbats. Te czcionki są dostępne również w wersjach italic, bold i oblique. Czcionka ZapfDingbats może być używana do wyświetlania specjalnych symboli.
Czy mogę dodać zarówno tekst, jak i obrazy do PDF w jednej operacji?
Tak, IronPDF pozwala na łączenie metod. Możesz użyć ChromePdfRenderer do stworzenia PDF, a następnie zastosować metody DrawText i DrawBitmap kolejno w jednej linii kodu, co czyni dodawanie wielu elementów do dokumentu PDF efektywnym.
Jakie są typowe zastosowania dla rysowania tekstu i obrazów na PDF-ach?
Funkcje rysowania w IronPDF są powszechnie używane do dodawania znaków wodnych w celu ochrony dokumentów, wstawiania logotypów firmowych dla brandingu, tworzenia adnotacji do przeglądu dokumentu, poprawy wrażeń wizualnych, ułatwiania wizualizacji danych i tworzenia interaktywnych formularzy.

