C# PDF文件右上角添加文字(iTextSharp)
前言
从前有一个甲方(甲正经),两个乙方(分别是乙傲天、乙日天)。一天甲正经说:乙傲天!我们想要在PDF上加文字。乙傲天说:那是乙日天的活,我这只读取乙日天的PDF。乙日天说:给钱就做!甲正经说:不给!乙傲天你做!不管就你做!从此,乙傲天开启了"PDF文件右上角添加文字(iTextSharp)"之路。
一、iTextSharp是什么?
iTextSharp 是用来生成 PDF 文档的 C# 组件,相当于 Java 版的 iText。
二、使用步骤
1.using指令
using iTextSharp.text;
using iTextSharp.text.pdf;
2.代码示例
static void Main(string[] args)
{
//原文件地址
string url = @"D:\workspace\doc\pdf\不自由的小码.pdf";
//最后要保存的文件地址
string urlNew = @"D:\workspace\doc\pdf\[印]不自由的小码.pdf";
//读取原pdf文件
PdfReader reader = new PdfReader(url);
PdfStamper stamper = new PdfStamper(reader, new FileStream(urlNew, FileMode.Create, FileAccess.Write, FileShare.None));
//获取系统的字体
BaseFont baseFont = BaseFont.CreateFont("C:\\Windows\\Fonts\\simhei.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
//字体属性及大小
Font font = new Font(baseFont, 11);
//需要添加的文字
Phrase addName = new Phrase("不自由的小码", font);
//获取pdf总页数
int pagesCount = reader.NumberOfPages;
//获取pdf页面大小
Rectangle pageSize = reader.GetPageSize(1);
//设置pdf的宽
float width = pageSize.Width;
//设置pdf的高
float height = pageSize.Height;
//遍历所有页,从第一页开始
for (int i = 1; i <= pagesCount; i++)
{
//设置当前页
PdfContentByte canvas = stamper.GetOverContent(i);
//将文本添加到每页pdf的右上角
ColumnText.ShowTextAligned(canvas, Element.ALIGN_RIGHT, addName, width - 5, height - 15, 0);
}
//释放
stamper.Close();
}
这不仅仅是我一个人的成果,而是是广大码友的智慧。我只是个散播种子的蒲公英,希望能给大家带来帮助!毕竟乙傲天的漫漫之路还要走下去。