ITextSharp对PDF文件的相关操作

首先引入头文件iTextSharp.text.pdf与iTextSharp.text

1.PdfReader reader = new PdfReader(path);  //打来pdf文件,path为参数路径

2.Document document = new Document(reader.GetPageSizeWithRotation(1)); //以reader的第一页创建一个document对象

3.PdfWriter tmp = PdfWriter.GetInstance(document,new FileStream(tempFile,FileMode.Append));  //通过PdfWriter在tempFile路径下创建一个pdf文件

4.PdfContentByte over = tmp.DirectContent;//打开tmp的图片层,创建一个PdfContentByte对象,主要用于旋转,指定位置插入水印

5.PdfImportedPage importedPage = tem.GetImportedPage(reader,j);//以reader的第j页创建一个PdfImportedPage对象

6.over.AddTemplate(importedPage,0f,-1f,1f,0f,0f,reader.getPageSizeWidthRotation(j).Height);//将importedPage旋转90°添加到over中

over.AddTemplate(importedPage,0f,1f,-1f,0f,reader.getPageSizeWidthRotation(j).Width,0f);//将importedPage旋转180°添加到over中

over.AddTemplate(importedPage,-1f,0f,0f,1f,0f,0f);//将importedPage旋转270°添加到over中

over.AddTemplate(importedPage,0f,-1f,1f,0f,0f,reader.getPageSizeWidthRotation(j).Height);//将importedPage添加到over中

over.BeginText();//准备开始插入文本

over.SetTextMartrix(15f,33f);//文本位置(坐标)

over.ShowText(string);//文本内容

over.EndText();//文本插入结束

7.PdfStemper cc = new PdfStamper(readerA,new FileStream(path,fileMode.Append));//以A建立一个PdfStemper对象

cc.ReplacePage(readerB,old,new);//将B的第old页插入到A的new页

posted @   以至千里  阅读(964)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示