如何在PDF上繪製文字和位圖

This article was translated from English: Does it need improvement?
Translated
View the article in English

查克尼思·賓

在PDF上繪製文字和圖像包括將文字和圖像添加到現有文件中。 IronPDF 無縫地啟用了此功能。 透過結合文字和圖像,使用者可以自訂PDF文件,添加浮水印、標誌和註釋,以改善文件的視覺外觀和品牌形象。 此外,文字和圖像有助於信息展示、數據可視化以及互動表單的創建。

開始使用 IronPDF

立即在您的專案中使用IronPDF,並享受免費試用。

第一步:
green arrow pointer



在 PDF 上繪製文字範例

透過使用 PdfDocument 物件可用的 DrawText 方法,您可以在不更改原始內容的情況下向現有的 PDF 添加文本。

: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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

FontTypes 類別中可用的字體

DrawText 方法目前支持所有IronPDF中的標準字體,包括 Courier、Arial(或 Helvetica), Times New Roman, Symbol, 和 ZapfDingbats。 訪問 'IronPDF中的標準字體在「管理字體」文章的章節中,針對這些字體類型的斜體、粗體和傾斜變體進行介紹。

ZapfDingbats 字體尤其可以用來顯示符號,如 ✖❄▲❪ ❫。 您可以造訪以下網址以查看支持的符號的全面清單。維基百科上的 Zapf Dingbats.

PDF 上的輸出字體範例

PDF 字體範例
在繪製圖片時更改文字字體

對於標準字體,我們可以將我們想要使用的字體名稱傳遞給 DrawText 方法。以下是一個使用 TimesNewRoman 的示例。

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("testing");
pdf.DrawText("Iron Software", IronSoftware.Drawing.FontTypes.TimesNewRoman, FontSize: 24, PageIndex: 0, X: 100, Y: 500, IronSoftware.Drawing.Color.Black, Rotation: 0);
pdf.SaveAs("output.pdf");
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("testing");
pdf.DrawText("Iron Software", IronSoftware.Drawing.FontTypes.TimesNewRoman, FontSize: 24, PageIndex: 0, X: 100, Y: 500, IronSoftware.Drawing.Color.Black, Rotation: 0);
pdf.SaveAs("output.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("testing")
pdf.DrawText("Iron Software", IronSoftware.Drawing.FontTypes.TimesNewRoman, FontSize:= 24, PageIndex:= 0, X:= 100, Y:= 500, IronSoftware.Drawing.Color.Black, Rotation:= 0)
pdf.SaveAs("output.pdf")
VB   C#

在繪製圖像時添加自訂文字字體

我們也支持使用 DrawText 方法自定義字體; 下面是一個添加了 PixelifySans 字體的文字範例。

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("testing");

byte[] fontBytes = File.ReadAllBytes(@"\fonts\PixelifySans-VariableFont_wght.ttf");
var addedFont = pdf.Fonts.Add(fontBytes);
pdf.DrawText("Iron Software", addedFont.Name, FontSize: 24, PageIndex: 0, X: 100, Y: 500, IronSoftware.Drawing.Color.Black, Rotation: 0);

pdf.SaveAs("output.pdf");
ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("testing");

byte[] fontBytes = File.ReadAllBytes(@"\fonts\PixelifySans-VariableFont_wght.ttf");
var addedFont = pdf.Fonts.Add(fontBytes);
pdf.DrawText("Iron Software", addedFont.Name, FontSize: 24, PageIndex: 0, X: 100, Y: 500, IronSoftware.Drawing.Color.Black, Rotation: 0);

pdf.SaveAs("output.pdf");
Dim renderer As New ChromePdfRenderer()

Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf("testing")

Dim fontBytes() As Byte = File.ReadAllBytes("\fonts\PixelifySans-VariableFont_wght.ttf")
Dim addedFont = pdf.Fonts.Add(fontBytes)
pdf.DrawText("Iron Software", addedFont.Name, FontSize:= 24, PageIndex:= 0, X:= 100, Y:= 500, IronSoftware.Drawing.Color.Black, Rotation:= 0)

pdf.SaveAs("output.pdf")
VB   C#

繪製圖像範例

使用 IronPDF 的 DrawBitmap 方法,您可以輕鬆地將位圖添加到現有的 PDF 文件中。 此方法的功能類似於圖像蓋章功能,允許您將圖像蓋章到現有的PDF上。

[{我(DrawBitmap 方法最適合用於大圖像。 在嘗試使用較小解析度的圖片時,你可能會遇到以下異常:IronPdf.Exceptions.IronPdfNativeException: '繪製圖片時出錯:數據長度(567000)比預期少(756000)'. 為了解決這個問題,您可以使用圖像蓋章工具,它可以無縫處理所有尺寸的圖像。)}]

示例圖片

1200 x 627 圖片

代碼

: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");
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

輸出 PDF

Chaknith related to 輸出 PDF

查克尼思·賓

軟體工程師

Chaknith 是開發者界的夏洛克福爾摩斯。他第一次意識到自己可能有個軟體工程的未來,是在他為了娛樂而參加程式挑戰的時候。他的重點是 IronXL 和 IronBarcode,但他也引以為豪的是,他幫助客戶解決所有產品的問題。Chaknith 利用他與客戶直接對話中獲得的知識,以進一步改進產品。他的實際反饋超越了 Jira 工單,並支持產品開發、文件撰寫和行銷,以提升客戶的整體體驗。不在公司時,他通常在學習機器學習、寫程式和徒步旅行。