在 C# 中向 PDF 添加文本

PDF 格式廣泛用於生成各種類型的文檔,例如發票、財務報告、簡歷等。在自動化領域,PDF 文檔是在 Web 或桌面應用程序中生成和操作的。因此,在某些情況下,您可能需要以編程方式向現有 PDF 文件添加文本。據此,本文介紹瞭如何使用 C# 向 PDF 文檔添加文本。

將文本添加到 PDF 的 C# API

為了動態地向 PDF 文件添加文本,我們將使用 Aspose.PDF for .NET。它是一個功能豐富的 API,允許您從 .NET 應用程序中創建和操作 PDF 文件。您可以 下載 API 或使用 NuGet 安裝它。

PM> Install-Package Aspose.PDF

使用 C# 將文本添加到 PDF

以下是使用 C# 向 PDF 文件添加文本的步驟。

以下代碼示例顯示瞭如何將文本添加到 PDF 文件。

// 如需完整示例和數據文件,請訪問 https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// 打開文檔
Document pdfDocument = new Document("input.pdf");

// 獲取特定頁面
Page pdfPage = (Page)pdfDocument.Pages[1];

// 創建文本片段
TextFragment textFragment = new TextFragment("main text");
textFragment.Position = new Position(100, 600);

// 設置文本屬性
textFragment.TextState.FontSize = 12;
textFragment.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray);
textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red);

// 創建 TextBuilder 對象
TextBuilder textBuilder = new TextBuilder(pdfPage);

// 將文本片段附加到 PDF 頁面
textBuilder.AppendText(textFragment);

// 保存生成的 PDF 文檔。
pdfDocument.Save("output.pdf");

使用 TextParagraph 將文本添加到 PDF

以下是使用 TextParagraph 向 PDF 文件添加文本的步驟。

以下代碼示例顯示瞭如何使用 TextParagraph 類將文本添加到 PDF。

// 如需完整示例和數據文件,請訪問 https://github.com/aspose-pdf/Aspose.PDF-for-.NET
string fontFile = "font.ttf";

// 加載輸入 PDF 文件
Document doc = new Document("input.pdf");

// 為文檔的第一頁創建文本構建器對象
TextBuilder textBuilder = new TextBuilder(doc.Pages[1]);

// 使用示例字符串創建文本片段
TextFragment textFragment = new TextFragment("Hello world");

if (fontFile != "")
{
    // 將 TrueType 字體加載到流對像中
    using (FileStream fontStream = File.OpenRead(fontFile))
    {
        // 設置文本字符串的字體名稱
        textFragment.TextState.Font = FontRepository.OpenFont(fontStream, FontTypes.TTF);
        
        // 指定文本片段的位置
        textFragment.Position = new Position(10, 10);
        
        // 將文本添加到 TextBuilder,以便它可以放置在 PDF 文件上
        textBuilder.AppendText(textFragment);
    }

    // 保存生成的 PDF 文檔
    doc.Save("output.pdf");
}

C#在PDF中添加透明文本

Aspose.PDF for .NET 還允許向 PDF 文檔添加透明文本,如以下步驟所示。

以下代碼示例顯示瞭如何將透明文本添加到 PDF 文件。

// 如需完整示例和數據文件,請訪問 https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// 創建文檔實例
Document doc = new Document("input.pdf");

// 創建頁面到頁面集合的 PDF 文件
Aspose.Pdf.Page page = doc.Pages.Add();

// 創建圖形對象
Aspose.Pdf.Drawing.Graph canvas = new Aspose.Pdf.Drawing.Graph(100, 400);

// 創建具有特定尺寸的矩形實例
Aspose.Pdf.Drawing.Rectangle rect = new Aspose.Pdf.Drawing.Rectangle(100, 100, 400, 400);

// 從 Alpha 顏色通道創建顏色對象
rect.GraphInfo.FillColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.FromArgb(128, System.Drawing.Color.FromArgb(12957183)));

// 將矩形添加到 Graph 對象的形狀集合
canvas.Shapes.Add(rect);

// 將圖形對象添加到頁面對象的段落集合
page.Paragraphs.Add(canvas);

// 將值設置為不更改圖形對象的位置
canvas.IsChangePosition = false;

// 使用示例值創建 TextFragment 實例
TextFragment text = new TextFragment("transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text ");

// 從 Alpha 通道創建顏色對象
Aspose.Pdf.Color color = Aspose.Pdf.Color.FromArgb(30, 0, 255, 0);

// 為文本實例設置顏色信息
text.TextState.ForegroundColor = color;

// 將文本添加到頁面實例的段落集合
page.Paragraphs.Add(text);

// 保存更新的 PDF 文件
doc.Save("output.pdf");

獲得免費許可證

你可以使用 Aspose.PDF for .NET,沒有評估限制,使用臨時許可證

結論

在本文中,您學習瞭如何使用 C# 向現有 PDF 文件添加文本。此外,您還了解瞭如何動態地將透明文本添加到 PDF。您可以使用 文檔 探索有關 C# PDF API 的更多信息。此外,您可以在我們的 論壇 上發布您的疑問。

也可以看看