这几天找WEB打印控件,要么收费的,要么免费的只能在IE里用!

我只想简单的打个标签纸!百度2天,看到一老兄说可以用PDF,然后又开始百度..找到了一篇文章

http://www.jianshu.com/p/d518d0988621    本文代码全部摘抄至这篇文章,发文只为记录!

不同的是我导入的库是iTextSharp.LGPLv2.Core.Fix

开始

一.先用word制作好模板文件,标签打印的话注意页边距,然后另存为PDF格式文件

二.然后下载adobe acrobat pro,创建时选择pdf表单,并设置好相应key名字

然后就是代码

public FileResult Index()
{
//获取中文字体,第三个参数表示为是否潜入字体,但只要是编码字体就都会嵌入。
BaseFont baseFont = BaseFont.CreateFont(@"C:\Windows\Fonts\simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
//读取模板文件
PdfReader reader = new PdfReader(@"C:\Users\kisme\OneDrive\pdfmoban.pdf"); //创建文件流用来保存填充模板后的文件
System.IO.MemoryStream stream = new System.IO.MemoryStream(); PdfStamper stamp = new PdfStamper(reader, stream);
//设置表单字体,在高版本有用,高版本加入这句话就不会插入字体,低版本无用
//stamp.AcroFields.AddSubstitutionFont(baseFont); AcroFields form = stamp.AcroFields; //表单文本框是否锁定
stamp.FormFlattening = true; Dictionary<string, string> para = new Dictionary<string, string>();
para.Add("username", "国科");
para.Add("usertel","133333333");
para.Add("workservice", "电脑开不机,可能是电源问题,维修前报价(主机缺侧盖,有重要资料,不能重装)");
para.Add("maketime", "2017年12月11日 12:24");
para.Add("recvicename", "某某某");
para.Add("workername", "某某某");
para.Add("weixinpic", ""); //填充表单,para为表单的一个(属性-值)字典
foreach (KeyValuePair<string, string> parameter in para)
{
//要输入中文就要设置域的字体;
form.SetFieldProperty(parameter.Key, "textfont", baseFont, null);
//为需要赋值的域设置值;
form.SetField(parameter.Key, parameter.Value);
} //按顺序关闭io流 stamp.Close();
reader.Close();
//生成文件
FileResult fileResult = new FileContentResult(stream.ToArray(), "application/pdf");
//fileResult.FileDownloadName = "4.pdf";
return fileResult;
}

  

然后百度一个Jquery PDF打印的脚本,搞定!

在.net Core 使用PDF模板文件生成PDF文件,代替WEB打印控件!的更多相关文章

  1. django生成文件txt、pdf(在生成 PDF 文件之前,需要安装 ReportLab 库)

    from django.http import HttpResponse def download_file(request): # Text file #response = HttpRespons ...

  2. 使用jinja2模板引擎生成html文件

    使用jinja2模板引擎生成html文件 jinja2是纯Python的模板引擎,是仿照Django模板的Python模板语言. 它速度快,被广泛使用,提供了可选的沙箱模板执行环境保证安全. 使用pi ...

  3. java根据pdf模版动态生成pdf

    java根据pdf模版动态生成pdf package com.utils; import java.io.ByteArrayOutputStream; import java.io.File; imp ...

  4. ActiveX: 如何用.inf和.ocx文件生成cab文件

    ActiveX: 如何用.inf和.ocx文件生成cab文件  

  5. LINQ to XML 从逗号分隔值 (CSV) 文件生成 XML 文件

    参考:http://msdn.microsoft.com/zh-cn/library/bb387090.aspx 本示例演示如何使用 语言集成查询 (LINQ) 和 LINQ to XML 从逗号分隔 ...

  6. 由.def文件生成lib文件[转]

    最近在学习curl库时,碰到一个问题,从官网上下载了一个lib版的,却发现只有.dll,没有lib文件,感觉很奇怪,google了之后才知道,原来库作者的用意是让用户自己生成lib文件,下载到的lib ...

  7. ffmpeg文件生成m3u8文件及ts切片程序(一)

    ffmpeg文件生成m3u8文件及ts切片程序(一) 实现目标:输入本地文件,实现m3u8切片,功能点请看注释,注意:注释很重要. 参考: http://www.cnblogs.com/mystory ...

  8. FluentData-新型轻量级ORM 利用T4模板 批量生成多文件 实体和业务逻辑 代码

    FluentData,它是一个轻量级框架,关注性能和易用性. 下载地址:FlunenData.Model 利用T4模板,[MultipleOutputHelper.ttinclude]批量生成多文件 ...

  9. Java 编辑html模板并生成pdf

    1.工具类 import com.hujiang.project.zhgd.Util; import com.itextpdf.text.BaseColor; import com.itextpdf. ...

随机推荐

  1. TZOJ 5280 搜索引擎(模拟字符串)

    描述 谷歌.百度等搜索引擎已经成为了互连网中不可或缺的一部分.在本题中,你的任务也是设计一个搜索论文的搜索引擎,当然,本题的要求比起实际的需求要少了许多. 本题的输入将首先给出一系列的论文,对于每篇论 ...

  2. 移动端bug之解决方式

    1.Android中元素被点击时产生的边框: * { -webkit-tap-highlight-color: rgba(250,250,250,0);   /*更改点击事件的焦点色*/} 2.去除移 ...

  3. Laravel 根据任务的性质和要求决定处理的方式(Cron or Job)

    1 前言 一般地,我们在应用的开发中,会碰到各种各样的任务解决需求.我的原则是,选择合适的方法做正确的事. 2 任务分类 在开发中, 一般会有以下几种性质的任务. 2.1 实时任务 一般是指,任务间的 ...

  4. ubuntu and centos各种上网代理设置

    1.Ubuntu 一. apt-get 代理设置 由于公司通过代理上网,firefox的代理设置很容易就搞定了,但是通过apt-get安装软件还是不行,于是,查阅了很多资料,最多的方法就是网上流传的三 ...

  5. java bulid path 和 WEB-INF/lib 下jar 包区别

    用Java Build Path导入包和把包复制到lib下是有区别的,它俩其实不会冲突,也没有什么关系的, Java Build Path是我们编译需要的包, 导入到lib下是程序运行时需要的包 ,  ...

  6. db2 存储过程中的玩意

    aix的top是topas.vmstat也是一个玩意,但是不懂. AND C_DEP_CDE  like  substr(I_C_DPT_CDE,1,2)||'%';--db2中字符串的加法用||这个 ...

  7. python函数、装饰器、迭代器、生成器

    目录: 函数补充进阶 函数对象 函数的嵌套 名称空间与作用域 闭包函数 函数之装饰器 函数之迭代器 函数之生成器 内置函数 一.函数补充进阶 1.函数对象:  函数是第一类对象,即函数可以当作数据传递 ...

  8. 594. Longest Harmonious Subsequence

    方法一:用一个map来辅助,代码简单,思路清晰 static int wing=[]() { std::ios::sync_with_stdio(false); cin.tie(NULL); ; }( ...

  9. 2018.10.14 NOIP训练 圣诞树(简单dp)

    传送门 sbDP题. 曾经一直TLE不知道为什么. 这次发现输入有坑233. 代码

  10. 一致性哈希Java源码分析

    首次接触一致性哈希是在学习memcached的时候,为了解决分布式服务器的负载均衡或者说选路的问题,一致性哈希算法不仅能够使memcached服务器被选中的概率(数据分布)更加均匀,而且使得服务器的增 ...