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

这几天找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打印的脚本,搞定!

时间: 2024-08-11 07:47:33

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

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

最近在学习curl库时,碰到一个问题,从官网上下载了一个lib版的,却发现只有.dll,没有lib文件,感觉很奇怪,google了之后才知道,原来库作者的用意是让用户自己生成lib文件,下载到的lib文件中含有.def文件.唉,用了vs有几个年头了,却连这么基础的问题都不知道,编译器是变得越来越智能了,只是让我们变得越来越傻了.下边我总结了一下由.def生成lib的方法. 在使用 VC 链接 dll 时,通常需要一个导入库文件(.lib),但有时我们只有一个 dll 文件,怎么办呢? 通常,在链

在KEIL realview MDK下为单一C文件生成.LIB文件

纠结了一天,竟然没有一个网页完整的说清楚的这个问题,莫非太简单了大家不屑于说?看大多数说的都是简单地将整个工程转换成.LIB,在Project->Options for Target->Output下,选择Create Library,就可以了. 不过这样生成的lib文件巨大,我现在编译的工程最后生成的lib有2.6MB. 后来还是从KEIL官网英文资料中找到灵感(http://www.keil.com/support/docs/2610.htm): 1.右键点击工程,假设为a,选Add Gr

Soy文件生成JS文件

1.下载工具包,后解压. http://closure-templates.googlecode.com/files/closure-templates-for-javascript-latest.zip 2.运行命令: java -jar SoyToJsSrcCompiler.jar --outputPathFormat helloworld.js helloworld.soy Soy文件生成JS文件

Sandcastle是微软提供的一个根据XML注释和DLL文件生成帮助文件的工具

Sandcastle是微软提供的一个根据XML注释和DLL文件生成帮助文件的工具,目前是在CodePlex上的一个开源项目,可以去这里下载:Sandcatle 项目Sandcastle 本身是一个console的程序,为了方便使用,我们可以使用他的GUI版本:Sandcastle Help File Builder. 第一步,为你写的代码添加XML注释 我们创建一个简单的ClassLibrary1项目最为示范: using System; using System.Collections.Gen

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

FluentData,它是一个轻量级框架,关注性能和易用性. 下载地址:FlunenData.Model 利用T4模板,[MultipleOutputHelper.ttinclude]批量生成多文件 基本语法: 1. 初始化:获取MultipleOutputHelper.ttinclude文件模板 在T4模板导入 //导入MultipleOutputHelper.ttinclude文件 路径 <#@include file="$(SolutionDir)\ORM.Model\T4\Mult

执行jar文件生成pdf报错,Unsupported URL &lt;file:///home

java -Djava.library.path=/usr/local/lib/ruby/gems/1.8/gems/sharp_office-1.0.1/ext/sigar -jar /usr/local/lib/ruby/gems/1.8/gems/sharp_office-1.0.1/ext/jodconverter-core-3.0-SNAPSHOT.jar [excel文件路径] [pdf路径] Caused by: com.sun.star.lang.IllegalArgumentE

如何利用.snk文件生成DLL文件中的Publickeytoken

1.在该路径下C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin查找是否有sn.exe. 没有的话,从网上下载,注意需要的版本. 2.打开cmd命令板,进入该路径. 3.输入命令sn.exe -k 文件路径\文件名.snk,提示写入成功信息,进入路径确认是否生成指定.snk文件. PS:该文件为私钥文件 4.输入命令sn.exe -p 私钥文件 要生成公钥文件路径 5.输入命令sn.exe -tp 公钥文件路径,查看公钥和Publick

解决proto文件生成pb文件时提示(e.g.&quot;message&quot;)的问题

原因:格式不支持 解决办法:去下个notepad,打开方式选择notepad,文件属性的只读取消掉 打开后会发现最下面显示了文件的格式是unix,utf-8 右键红框处,选择转换为windows格式,会发现可以成功生成pb文件了 原文地址:https://www.cnblogs.com/lucio1128/p/12598728.html

Barcode Professional for Silverlight条码生成和打印控件下载及使用介绍

Barcode Professional for Silverlight是一款轻量级的.NET程序集,为你的SilverLight应用程序生成高质量的基于矢量的条形码,支持条码生成和打印,支持当前大多数1维和2维条形码,包含:Code 39, Code 128, GS1-128, GS1 DataBar (RSS-14), EAN 13 & UPC, Postal (USPS, British Royal Mail, Australia Post, DHL, etc.), Data Matrix