PdfSharp:v1.50.5147,.NET Framework:v4.5.1


一、PDF模板

在开始前,我觉得有必要简单说一下PDF模板

制作PDF模板的工具有很多,随便找一款就行(我这里用迅捷PDF编辑器免费试用版,带水印)

添加文本(字段名)

1、选择工具栏 添加

2、选择 添加文本工具

3、在拖出来的类似文本框的东西里面输入文本即可

表单制作

1、选择工具栏上的编辑表单

2、选择要添加的表单控件(文本框、单选框、多选框和下拉列表等)

3、选择属性

4、在属性面板输入域名(控件名,在代码里面根据这个写入文本)

这样一个可在代码中写入文本的控件就做好了

其他的以此类推,就不一一说明了

很多东西都在属性面板里面,找找就有

大概出来一个这个模样的模板

二、导出PDF

导入PdfSharp,用NuGget就行

代码很简单,就是根据给出的PDF路径初始化PdfSharp.Pdf.PdfDocument

然后拿到他的Form(PdfSharp.Pdf.AcroForms.PdfAcroForm)

根据字段名实例化一个字段,给他赋值就可以了

可以在form.Fields.Names找到PDF里面的所有控件的字段名

代码如下

using System;
using System.IO;namespace PrintPDF
{class Program{static void Main(string[] args){string templateFilePath = @"E:\TestData\t\Temp211014.pdf";PdfSharp.Pdf.PdfDocument doc = PdfSharp.Pdf.IO.PdfReader.Open(templateFilePath, PdfSharp.Pdf.IO.PdfDocumentOpenMode.Modify);PdfSharp.Pdf.AcroForms.PdfAcroForm form = doc.AcroForm;if (form.Elements.ContainsKey("/NeedAppearances")){form.Elements["/NeedAppearances"] = new PdfSharp.Pdf.PdfBoolean(true);}else{form.Elements.Add("/NeedAppearances", new PdfSharp.Pdf.PdfBoolean(true));}PdfSharp.Pdf.AcroForms.PdfTextField txtName = (PdfSharp.Pdf.AcroForms.PdfTextField)(form.Fields["txtName"]);txtName.Value = new PdfSharp.Pdf.PdfString("郑小晨");PdfSharp.Pdf.AcroForms.PdfTextField txtAge = (PdfSharp.Pdf.AcroForms.PdfTextField)(form.Fields["txtAge"]);txtAge.Value = new PdfSharp.Pdf.PdfString("18");PdfSharp.Pdf.AcroForms.PdfTextField txtAddress = (PdfSharp.Pdf.AcroForms.PdfTextField)(form.Fields["txtAddress"]);txtAddress.Value = new PdfSharp.Pdf.PdfString("广州市天河区xx村1001号");PdfSharp.Pdf.AcroForms.PdfTextField txtEmail = (PdfSharp.Pdf.AcroForms.PdfTextField)(form.Fields["txtEmail"]);txtEmail.Value = new PdfSharp.Pdf.PdfString("zxc@163.com");PdfSharp.Pdf.AcroForms.PdfTextField txtMobile = (PdfSharp.Pdf.AcroForms.PdfTextField)(form.Fields["txtMobile"]);txtMobile.Value = new PdfSharp.Pdf.PdfString("13888888888");PdfSharp.Pdf.AcroForms.PdfCheckBoxField cbxMan = (PdfSharp.Pdf.AcroForms.PdfCheckBoxField)(form.Fields["cbxMan"]);cbxMan.Checked = true;doc.Save(@"E:\TestData\t\s" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".pdf");//byte[] fileContents = null;//using (MemoryStream stream = new MemoryStream())//{//    doc.Save(stream, true);//    fileContents = stream.ToArray();//}}}
}

打印出来的PDF

在WPS打开PDF


PDFsharp Samples - PDFsharp and MigraDoc Wikihttp://www.pdfsharp.net/wiki/PDFsharpSamples.ashx

PdfSharp -- 根据PDF模板导出PDF相关推荐

  1. Java 根据模板导出PDF

    文章目录 前言 思路一:直接导出pdf 使用itext模板导出pdf 思路二:先导出word再转成pdf 1)导出word 2)word转pdf 最终方案 ~~docx4j~~ spire.doc.f ...

  2. java按照模板导出pdf或者word

    一.java按照模板导出pdf (一)制作模板 1.在word里制作模板 因为PDF常用的软件不支持编辑,所以先用Word工具,如WPS或者Office新建一个空白Word文档,里面制作出自己想要的样 ...

  3. java 制作pdf模板,Java-pdf模板制作流程-使用pdf 模板生成pdf文件

    Java 使用pdf 模板生成pdf文件 --制作流程 1.      使用工具 adobe acrobat dc.word 2015 2.      使用 word 繪制一個 3*5 的表格並保存, ...

  4. java pdf工具类_Java PDF工具类(一)| 使用 itextpdf 根据PDF模板生成PDF(文字和图片)...

    Java PDF工具类(一)| 使用 itextpdf 根据设置好的PDF模板填充PDF(文字和图片) 相关文章: Java PDF工具类(二)| 使用 wkhtmltox 实现 HTML转PDF(文 ...

  5. 制作PDF模板实现PDF文件生成

    制作PDF模板实现PDF文件生成 最近开发的需求的时候,突然发现需要制作PDF,并且需要根据不同的用户制作不同的PDF,所以,为了提高效率,就想到了,制作PDF模板,然后赋值的这种方法,所幸,效果不错 ...

  6. java pdf模板_java通过PDF模板填写PDF表单

    本文实例为大家分享了java通过PDF模板填写PDF表单的具体代码,包括图片,供大家参考,具体内容如下 需要用到的java包: itext.jar.iTextAsian.jar的JAR包.这个包里面定 ...

  7. itextpdf通过pdf模板生成pdf文件

    itextpdf通过pdf模板生成pdf文件,设置粗体字体 1.创建pdf模板 2.使用模板生成pdf 3.itext自带的字体列表 4.遇到的坑 1.创建pdf模板 可以使用PDFFescape网站 ...

  8. java根据模板导出pdf,java开发面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  9. java根据模板导出pdf,并将多个pdf合成一个

    前言 项目中,遇到这么一个需求:根据单个模板批量导出pdf,批量导出的pdf要合并成一个pdf进行打印.两个问题点:1.根据模板生成pdf.2.pdf合并 一.前期准备工作(准备pdf模板) 这个问题 ...

最新文章

  1. 数据库的UNDO和REDO
  2. Nacos 发布 v0.8.0 Pre-GA版本,安全稳定上生产
  3. python 单继承的实现
  4. 《系统集成项目管理工程师》必背100个知识点-70合同索赔流程
  5. Android实现蝴蝶动画,Android中的动画具体解释系列——飞舞的蝴蝶
  6. toAppendStream doesn‘t support consuming update changes which is produced by node GroupAggregate
  7. 科技部成立新一代人工智能发展研究中心
  8. 二进制状态压缩相关操作
  9. 从代码里提取的测试需求
  10. 清除B/S开发时页面缓存
  11. 零基础学习前端开发,怎么自学javascript?
  12. 1、两数之和(python)
  13. JVM调优--04---dump文件分析 、arthas在线排查工具
  14. 如何去除win 10右键菜单的“使用skype共享”
  15. android 支付宝登录界面,模仿支付宝登录页的实现(android)
  16. 投影仪家用推荐最新?投影仪什么牌子性价比比较高
  17. SQL (十五)更新和删除数据(updata语句,delete语句)
  18. big_6d77fbb7bde4011fdf01df45fef8d0dd9ddcbdd5.jpg
  19. 基于proteus的计数器设计
  20. 转载 测试开发岗--高频知识整理

热门文章

  1. 数字逻辑——卡诺图化简练习题
  2. 中国民商·商人第一村水稻专属种植基地落户永吉县
  3. 拉丁超立方采样的思想和代码
  4. 简图-一款聚合图床源码
  5. 三个数差的平方公式推导过程_平方差公式证明推导过程及运用详解(数学简便计算方法之一)...
  6. 教育机构客户管理系统功能方案详解!
  7. 医疗机构如何成功实施CRM?如下几点是关键因素
  8. chrome浏览器收藏夹恢复
  9. 复变函数-复指数形式
  10. WIN7下VirtualBox “指令引用的0x0000000内存”报错问题