[.Net] - 使用 iTextSharp 生成基于模板的 PDF,生成新文件并保留表单域
2024-08-26 23:21:01
背景
基于 PDF Template 预填充表单项,生成一份新的 PDF 文件,并保留表单域允许继续修改。
代码段
using iTextSharp.text.pdf; /* Code Snippet */
using (var dia = new SaveFileDialog())
{
dia.Filter = @"PDF files|*.pdf";
dia.FileName = string.Format("PDF_{0}", DateTime.Today.ToString("yyyy-MM-dd"));
if (dia.ShowDialog() == DialogResult.OK)
{
using (FileStream fsWrite = new FileStream(dia.FileName, FileMode.OpenOrCreate, FileAccess.Write))
{
using (var reader = new PdfReader(@"\Templates\PDFTemplate\Template01.pdf"))
{
using (var stamper = new PdfStamper(reader, fsWrite))
{
stamper.Writer.CloseStream = false; // 保留表单域,允许继续编辑
stamper.FormFlattening = false; // 更新表单域字段
var form = stamper.AcroFields;
form.SetField("form1[0].#subform[0].flt_txtUserName[0]", "username");
stamper.Close();
}
}
}
MessageBox.Show("Report has been exported", Resources.Common_Successed, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
最新文章
- 使用maven下载jar包的source和javadoc
- The Unique MST(次小生成树)
- JAVA 新手问题: Request 编码编译出错,Unhandled exception type UnsupportedEncodingException
- Mac 安装终端软件
- Android中的三种XML解析方式
- DB、ETL、DW、OLAP、DM、BI关系结构图
- Oracle数据库——触发器的创建与应用
- (转)if语句优化
- Java注释模板设置详解
- json-smart 使用示例
- BZOJ_2529_[Poi2011]Sticks_贪心
- Git使用九:合并和删除分支
- [LeetCode] Serialize and Deserialize N-ary Tree N叉搜索树的序列化和去序列化
- struts2 升级至2.3.32时访问页面报错 File ";/struts-tags"; not found
- Marriage Match IV HDU - 3416(最短路 + 最大流)
- python实现求最大公约数与最小公倍数
- Executor线程池的简单使用
- linux查找大文件命令
- Windows 下MySql Replication(复制)配置
- SpringBoot入门 (十四) Security安全控制
热门文章
- Pytest权威教程15-运行Nose用例
- php md5算法
- kubernetes架构和组件
- SpringCloud服务Gradle本地jar配置
- 【转】反编译获取任何微信小程序源码(完)
- GWAS这十年 | 10 Years of GWAS Discovery: Biology, Function, and Translation
- OGC定义的几何要素
- 一个机器绑两个IP可能存在的问题
- https://pingcap.com/blog-cn/flame-graph/
- Sizes of integer types 整形字节长度 系统字节