NetCore iText7 根据PDF模板 导出PDF

news/2024/5/19 21:48:49 标签: pdf, .netcore

iText 7 是一个用于处理 PDF 文件的流行的开源库,它提供了丰富的功能,包括创建、编辑和处理 PDF 文档。它支持 .NET 平台,因此可以在 .NET Core 中使用该库来处理 PDF 文件。

使用 iText 7,您可以进行以下操作:

1. 创建新的 PDF 文档
2. 读取、编辑和修改现有的 PDF 文档
3. 添加文本、图像和表单域到 PDF 文档
4. 填充 PDF 表单
5. 提取文本和图像数据
6. 添加水印和数字签名
7. 处理页面布局和格式

iText 7 提供了丰富的 API 和文档,使得在 .NET Core 中处理 PDF 文件变得非常便捷。您可以使用 iText 7 来满足各种需求,包括生成报告、填充表单、数字签名等。

以下代码是使用pdf模板来导出pdf文件。

using System;
using System.IO;
using iText.Kernel.Pdf;
using iText.Forms;
using iText.Forms.Fields;

namespace PdfFillExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // 读取PDF模板
            PdfReader reader = new PdfReader("path_to_your_template.pdf");
            PdfWriter writer = new PdfWriter("output.pdf");
            PdfDocument pdf = new PdfDocument(reader, writer);
            PdfAcroForm form = PdfAcroForm.GetAcroForm(pdf, true);

            // 填充数据到表单域
            //text
            form.GetField("name").SetValue("John Doe");
            //checkbox
            form.GetField("toggle_1").SetValue("On");
            //image
            PdfButtonFormField imageField = (PdfButtonFormField)form.GetField("imageid");			
            String imgPath="";  //图片绝对路径          
            imageField.SetImage(imgPath);

            // 关闭文档
            pdf.Close();

            Console.WriteLine("PDF generated successfully.");
        }
    }
}

注意:NetCore引入itex7组件需要同时引入itext7.bouncy-castle-adapter,itext7.font-asian

以上代码和组件已经在windows和linux系统上成功应用。


http://www.niftyadmin.cn/n/5354733.html

相关文章

计算机设计大赛 深度学习 opencv python 实现中国交通标志识别

文章目录 0 前言1 yolov5实现中国交通标志检测2.算法原理2.1 算法简介2.2网络架构2.3 关键代码 3 数据集处理3.1 VOC格式介绍3.2 将中国交通标志检测数据集CCTSDB数据转换成VOC数据格式3.3 手动标注数据集 4 模型训练5 实现效果5.1 视频效果 6 最后 0 前言 🔥 优质…

TSINGSEE青犀视频智慧电梯管理平台,执行精准管理、提升乘梯安全

一、方案背景 随着城市化进程的不断加快,我国已经成为全球最大的电梯生产和消费市场,电梯也成为人们日常生活中不可或缺的一部分。随着电梯数量的激增,电梯老龄化,维保数据不透明,物业管理成本高,政府监管…

Java 开发环境 全套包含IDEA

一、JDK配置 1.下载 JDK Builds from Oracle 去这边下载open JDK 2.JDK环境变量配置 按win,打开设置 找到环境变量编辑 这边输入的是你下载的那个JDK的bin的路径 检擦配置是否正确在cmd中输入 二、IDEA安装配置 1.下载(社区版) JetBrai…

C++ 数论相关题目 台阶-Nim游戏

现在,有一个 n 级台阶的楼梯,每级台阶上都有若干个石子,其中第 i 级台阶上有 ai 个石子(i≥1 )。 两位玩家轮流操作,每次操作可以从任意一级台阶上拿若干个石子放到下一级台阶中(不能不拿)。 已经拿到地面…

c++入门语法—————引用,内联函数,auto关键字,基于范围的for循环,nullptr

文章目录 一.引用1.引例2.注意事项3.应用场景1.做参数(a:输出型参数b:内容较大参数)2.做返回值(a:修改返回值,b:减少拷贝) 4.引用和指针的区别 二.内联函数1.为什么有内联函数2.用法和底层3.特性 三.auto关键字1.基础示…

下载jar中classes下的文件

问题描述 项目之前被下载的文档是存放在构建后的项目包/{basedir}/manual_file路径下。之后因为项目改为轻门户后端,仅使用jar包方式启动,造成原本的下载文档不可用。对下载文档部分进行了调整,对过程进行一下记录。 原方案 package.xml中配置内容 &l…

企业级大数据安全架构(七)服务安全

作者:楼高 在企业级大数据安全方案中,本节主要介绍服务安全问题,引入kerberos认证机制,目前直接对接kerberos使用较多,这里我们使用FreeIPA来集成kerberos FreeIPA官网下载地址:https://www.freeipa.org/p…

【通信系统】MIMO阵列信号来向DOA估计实现~含FOCUSS、OMP、贝叶斯学习(SBL)等稀疏重构法和常规、子空间法、空间平滑滤波法

MIMO阵列目标信号来向估计原理与实现~基于常规法、子空间变换法和稀疏恢复法 写在最前前言空间谱估计的历史发展 仿真原理离散时间阵列信号模型波束形成矩阵(完备字典)回波生成空间平滑滤波传统方法CBF~常规波束成型Capon~最小方差无失真响应法ML~最大似然估计法 子空间方法MUS…