.net core 通过iTextSharp.LGPLv2.Core(3.4.11)生成pdf文件

本文介绍了如何使用iTextSharp库在Word模板基础上创建PDF文件,通过添加文本域功能实现用户数据的填充,包括普通文本框、复选框和表格。作者提供了创建PDF、填充表单以及处理表格数据的具体代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

应用场景:将用户所填数据填入pdf模板中并生成pdf

        使用word制作模板,然后转为pdf;使用【万兴PDF】工具在需要录入的地方添加文本域(该工具可以自动在录入空白处生成文本域,非常nice)。

        目前实验通了普通文本框,复选框、Table(列表文本域)。辅助类代码如下:

using iTextSharp.text;
using iTextSharp.text.pdf;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;

namespace PDFTest
{
    public class PdfHelp
    {

        private string fontname = $@"D:\Test\simsun.ttc,0";//字体宋体
        //string fontname = $@"D:\Test\simhei.ttf";//黑体
        /// <summary>
        /// 根据模板生成pdf
        /// </summary>
        /// <param name="pdfTemplate">模板路径</param>
        /// <param name="tempFilePath">输出路劲</param>
        /// <param name="parameters">文本域及值 key为文本域名称 value为需要填入的值</param>
        public bool CreatePdfByModule(string pdfTemplate, string tempFilePath, Dictionary<string, object> parameters)
        {
            if (!File.Exists(pdfTemplate))
            {
                return false;    
            }
            PdfReader pdfReader = null;
            PdfStamper stamp = null;
            MemoryStream stream = null;
            try
            {
                //获取中文字体
                BaseFont baseFont = BaseFont.CreateFont(fontname, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
                //读取模板文件
                pdfReader = new PdfReader(pdfTemplate);
                //创建文件流用来保存填充模板后的文件
                stream = new MemoryStream();
                stamp = new PdfStamper(pdfReader, stream);
                AcroFields form = stamp.AcroFields;
                //表单文本框是否锁定
                stamp.FormFlattening = true;
                //填充表单,para为表单的一个(属性-值)字典
                foreach (KeyValuePair<string, object> parameter in parameters)
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值