使用iText7操作PDF

Posted farseer1215

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用iText7操作PDF相关的知识,希望对你有一定的参考价值。

遇到一个需求,给PDF增加一个印章,使用iText7可以很方便地实现这个需求,通过Nuget添加iText7的引用。

 1 string sourceFileName = txtFileName.Text;
 2             string destFileName = Path.GetDirectoryName(sourceFileName) + @"" + Path.GetFileNameWithoutExtension(sourceFileName) + "_带印章." + Path.GetExtension(sourceFileName);
 3             PdfDocument pdfDocument = new PdfDocument(new PdfReader(sourceFileName), new PdfWriter(destFileName));        
 4             iText.Layout.Document document = new iText.Layout.Document(pdfDocument);        
 5             ImageData imageData = ImageDataFactory.Create(System.Windows.Forms.Application.StartupPath + @"PASS.png");
 6             for (int i = 1; i <= pdfDocument.GetNumberOfPages(); i++)
 7             {
 8                 iText.Layout.Element.Image image = new iText.Layout.Element.Image(imageData).ScaleAbsolute(55, 55).SetFixedPosition(i, 90, 50);
 9                 document.Add(image);
10             }
11             document.Close();

PdfReader读取源文件,PdfWriter将改动写入新文件。
通过Layout命名空间里的Document对Pdf进行修改。
ScaleAbsolute设置图片的大小。
SetFixedPosition设置图片在PDF页面中的位置,这个方法有多个重载,这里用的是第一个是页码,第二个参数是距离左边的位置,第三个参数是距离页面底部的位置。

以上是关于使用iText7操作PDF的主要内容,如果未能解决你的问题,请参考以下文章

iText7高级教程之html2pdf——2.使用CSS定义样式

使用iText7操作PDF

pdf格式在itext7中为空

使用itext7简单的生成一个pdf,创建一个pdf模板并进行填充

使用饼图生成 PDF -iText7

使用 itext 7 在 PDF 中添加新页面