c#在.net4.6.1的iTextSharp向pdf添加文字
时间: 2024-11-04 20:14:11 浏览: 69
在.NET Framework 4.6.1版本的iTextSharp库中,向PDF文件添加文字主要包括以下几个步骤:
1. 引入必要的命名空间:
```csharp
using iTextSharp.text;
using iTextSharp.text.pdf;
```
2. 创建一个PdfStamper对象,用于在现有的PDF上添加内容:
```csharp
PdfReader reader = new PdfReader("input.pdf"); // 打开已存在的PDF
PdfStamper stamper = new PdfStamper(reader, new FileStream("output.pdf", FileMode.Create));
```
3. 创建一个PdfContentByte对象,它是操作PDF内容的接口:
```csharp
PdfContentByte canvas = stamper.GetOverContent(pageNumber); // pageNumber是你想要添加文字的页码
```
4. 添加文本到PDF:
```csharp
ITextFont font = new Font(Font.FontFamily.HELVETICA, 12, Font.NORMAL); // 设置字体、大小和样式
BaseColor color = BaseColor.BLACK; // 设置颜色
string textToWrite = "Hello, this is sample text"; // 想要在PDF上写的文字
canvas.DrawString(textToWrite, // 文本字符串
new Paragraph(textToWrite).GetPositionOnPage(stamper.GetOverContent(pageNumber)), // 文本的位置
font, // 字体
color); // 颜色
```
5. 保存并关闭资源:
```csharp
stamper.Close();
reader.Close();
```
完整的例子:
```csharp
// ... 其他步骤省略
string[] texts = { "Line 1", "Line 2", "Line 3" };
for (int i = 0; i < texts.Length; i++)
{
int page = i + 1;
canvas.DrawString(texts[i], new Phrase(texts[i]), font, color, 30, 700 - i * 30);
}
// ...
```
这将在每一页的指定位置添加一条新行的文本。
阅读全文