在 C# 中将文本添加到 PDF

PDF 格式广泛用于生成各种类型的文档,例如发票、财务报告、简历等。在自动化领域,PDF 文档是从 Web 或桌面应用程序中生成和操作的。因此,在某些情况下,您可能需要以编程方式将文本添加到现有 PDF 文件中。据此,本文展示了如何使用 C# 向 PDF 文档中添加文本。

C# API 将文本添加到 PDF

为了动态地将文本添加到 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 的更多信息。此外,您可以在我们的 论坛 上发布您的查询。

也可以看看