zoukankan      html  css  js  c++  java
  • 使用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页面中的位置,这个方法有多个重载,这里用的是第一个是页码,第二个参数是距离左边的位置,第三个参数是距离页面底部的位置。

  • 相关阅读:
    javac 小记
    安全专家的工具箱
    MyBatis 缓存机制(十三)
    SpringMVC 环境搭建
    MyBatis 模糊查询的 4 种实现方式
    MyBatis 项目开发中是基于 XML 还是注解?
    MyBatis 动态 SQL 语句中出现 '<' 的问题
    数据库设计的三大范式
    mybatis 同时使用 XML 和注解
    数据库事务
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/13334520.html
Copyright © 2011-2022 走看看