如何使用 C# PDF 編輯:在 PDF 上繪製文字和點陣圖
IronPDF可讓您使用 DrawText 和 DrawBitmap 方法在現有 PDF 上繪製文字和圖像,從而可以在不改變原始內容的情況下,透過浮水印、標誌、註釋和改進的視覺外觀進行自訂。
在 PDF 上繪製文字和圖像是指向現有文件添加內容。 IronPDF可以無縫啟用此功能。 透過添加文字和圖像,您可以自訂 PDF,添加浮水印、徽標和註釋,從而改善文件的視覺外觀和品牌形象。 此外,文字和圖像有助於資訊呈現、資料視覺化和互動式表單建立。
快速入門:PDF 編輯 — 使用 IronPDF 為 PDF 新增文字和圖像
快速且有效率地使用文字和圖像增強您的 PDF 文件。 使用 DrawText 和 DrawBitmap 方法,您可以輕鬆地透過新增浮水印、標誌或註釋來自訂 PDF。 本範例示範如何在特定座標處繪製文本,以及如何將影像無縫插入 PDF 。
-
使用NuGet套件管理器安裝https://www.nuget.org/packages/IronPdf
PM > Install-Package IronPdf -
複製並運行這段程式碼。
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"); -
部署到您的生產環境進行測試
今天就在您的專案中開始使用免費試用IronPDF
最簡工作流程(5個步驟)
- 下載IronPDF的 C# 庫,用於在 PDF 上繪製文字和圖像。
- 匯入目標 PDF 文檔
- 使用`DrawText`方法為匯入的 PDF 檔案新增所需字型的文字。
- 使用`DrawBitmap`方法為 PDF 新增影像
- 匯出已編輯的PDF文檔
如何在PDF上繪製文字?
PdfDocument物件上的 DrawText 方法可讓您為現有 PDF 新增文本,而不會變更其原始內容。 這種方法特別適用於在 PDF 中添加動態內容,類似於圖章文字和圖像功能,可以實現更複雜的疊加效果。
理解座標系
繪製文字前,請先了解 PDF 座標系。 原點 (0,0) 位於頁左下角,X 值向右遞增,Y 值向上遞增。 這與許多圖形系統不同,在這些系統中,原點位於左上角。
: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")
我可以使用哪些字體?
DrawText 方法目前支援IronPDF中的所有標準字體,包括 Courier、Arial(或 Helvetica)、TimesNewRoman、Symbol 和 ZapfDingbats。 請造訪"管理字體"文章中的" IronPDF中的標準字體"部分,以了解這些字體類型的斜體、粗體和傾斜變體。
ZapfDingbats 字型可以顯示諸如 ▲ 之類的符號。 有關支持的符號的完整列表,請訪問維基百科上的 Zapf Dingbats 頁面。
在 PDF 上輸出字體範例
如何添加帶有換行符的文字?
繪製文字操作支援換行符,可讓您使用內建換行符渲染文本,以獲得更好的格式和視覺清晰度。 這在添加多行註解或建立結構化文字佈局時非常有用。
要實現這一點,請在文字字串中新增 newline characters (\n)。 以上述例子為例:
// 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)
如何使用自訂字體?
使用 DrawText 方法支援自訂字體,從而擴展您的排版選項,使其超越標準字體。 在保持品牌一致性或使用特殊字體時,此功能至關重要。 有關進階字體管理,請參閱我們的 PDF字體管理指南。
以下是一個新增了Pixelify Sans 字體的範例:
: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")
進階文字定位
精確定位文字時,請參考以下技巧:
-頁面尺寸:使用 pdf.Pages[pageIndex].Width 和 pdf.Pages[pageIndex].Height 取得頁面尺寸
-旋轉:旋轉參數接受角度值(0-360),用於調整文字角度。
-顏色選項:除了基本顏色外,還可以使用 RGB 值:Color.FromArgb(255, 100, 100)
如何在PDF上繪製影像?
IronPDF 的 DrawBitmap 方法可讓您在現有 PDF 文件中新增點陣圖。 此方法的功能與影像蓋章功能類似,可讓您將影像蓋章到現有的 PDF 上。 對於複雜的影像處理需求,請參閱我們關於向 PDF 新增影像的指南。
DrawBitmap 方法最適合處理大型影像。 使用較小解析度影像時,可能會遇到以下異常: IronPDF:'繪製影像時出錯:資料長度 (567000) 小於預期 (756000)'。要解決此問題,請使用圖像標記器,它可以處理所有尺寸的圖像。
範例影像
具體的實施方案是怎樣的?
: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")
輸出 PDF
還有哪些其他參數可用?
-
PixelFormat :
PixelFormat屬性指定位圖的顏色資料格式,主要控制透明度支援。 預設值為Format32bppArgb。 透過傳遞參數作為選項,可以在像素枚舉格式Format32bppRgb和Format32bppArgb之間進行選擇。 這在處理 PDF 中的背景和前景元素時非常有用。 - IgnorePageRotation :此屬性決定方法在繪製點陣圖時是否忽略頁面旋轉。預設值為 false。 尤其適用於無論頁面旋轉與否,都要在所有頁面上一致地套用浮水印的情況。
常見用例和最佳實踐
在 PDF 上繪製文字和圖像時,請考慮以下實際應用:
1.動態浮水印:在敏感文件上新增公司標誌或"機密"印章 2.頁碼:在所有頁面上,頁碼的位置保持一致。 3.簽名位置:在表格上的指定位置新增簽名圖片 4.增強頁首/頁尾:以動態內容補充現有頁眉
為了調試和監控 PDF 操作,實作自訂日誌記錄以追蹤繪圖操作並確保正確執行。
性能考量
處理多頁或大型文件時:
- 盡可能使用批次操作,以最大限度地減少記憶體佔用 使用後釋放位圖物件以釋放資源
- 考慮預先載入常用圖片以提高效能
準備好要看看你還能做什麼了嗎? 請造訪我們的教學頁面:編輯 PDF
常見問題解答
我可以使用哪些方法將文字和圖片新增至現有的 PDF?
IronPDF 提供了兩種主要的方法來為現有的 PDF 添加內容:DrawText 方法用於添加文字,DrawBitmap 方法用於添加圖片。這些方法允許您在不改變原始文件內容的情況下,使用水印、標誌和註釋自訂 PDF。
繪製文字時,PDF 坐標系統如何運作?
在 IronPDF 中,PDF 坐標系的原點 (0,0) 位於頁面的左下角。X 值向右增加,Y 值向上增加。這與許多原點位於左上角的圖形系統不同。
在 PDF 上繪製文字時支援哪些字型?
IronPDF 的 DrawText 方法支援所有標準字體,包括 Courier、Arial (Helvetica)、Times New Roman、Symbol 和 ZapfDingbats。這些字體也有斜體、粗體和斜體等變體。ZapfDingbats 字型可用於顯示特殊符號。
我可以在一次操作中將文字和圖片同時加入 PDF 嗎?
是的,IronPDF 允許您將方法鏈結在一起。您可以使用 ChromePdfRenderer 創建 PDF,然後在一行代碼中依次應用 DrawText 和 DrawBitmap 方法,這樣就可以高效地在 PDF 文件中添加多個元素。
在 PDF 上繪製文字和圖片的常見用例有哪些?
IronPDF 的繪圖功能常用於加入水印以保護文件、插入公司標誌以建立品牌、建立註解以檢閱文件、改善視覺外觀、促進資料可視化,以及建立互動式表格。

