分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

在.net Core 使用PDF模板文件生成PDF文件,代替WEB打印控件!

发布时间:2023-09-06 01:14责任编辑:顾先生关键词:暂无标签

这几天找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打印控件!

原文地址:http://www.cnblogs.com/kismet82/p/7607147.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved