1、需求

前段时间有个需求,要求把网页生成pdf,找了各种插件,才决定使用这个TuesPechkin,这个是后台采用C#代码进行生成

2、做法

我要做的是一个比较简单的页面,采用MVC绑定,数据动态加载,页面上给个按钮,点击后请求后台接口,便可以生成pdf文件了

3、实现方式

引入两个相关DLL,TuesPechkin.Wkhtmltox.XXX  根据你当前的系统来选择对应的DLL(一般添加前两个就行),

4、生成PDF代码段

先在后台将指定HTML页生成为string字符串,然后调用如下方法即可

        /// <summary>
/// 生成pdf
/// </summary>
/// <param name="htmlStr">生成内容</param>
/// <param name="path">生成地址</param>
private static void ConvertHtmlTextToPdf(string htmlStr, string filepath)
{
if (!Directory.Exists(filepath)) //不存在文件夹,创建
Directory.CreateDirectory(filepath); //创建新的文件夹 var fileName = DateTime.Now.ToString("yyyyMMddHHmmssffff") + ".pdf";
var path = filepath + fileName;
var document = new HtmlToPdfDocument
{
GlobalSettings =
{
ProduceOutline = true,
DocumentTitle = "标题",
PaperSize = PaperKind.A4, // Implicit conversion to PechkinPaperSize
Margins =
{
All=0,
Unit = Unit.Centimeters
}
},
Objects =
{
new ObjectSettings
{
HtmlText =htmlStr,
WebSettings =new WebSettings
{
DefaultEncoding="UTF-8",
LoadImages=true,
}
}
},
}; byte[] buf = GetConverter().Convert(document);
//直接把result二进制数据写入文件流
FileStream fs = new FileStream(path, FileMode.OpenOrCreate);
fs.Write(buf, 0, buf.Length);
fs.Close();
IToolset toolset = new PdfToolset();
toolset.Unload();
}

5、备注

此插件对css样式支持比较友好,但是不支持使用外部样式表,必须为嵌入样式,而且生成出来的Pdf整体版面偏小,需要微调样式,细心一点

6、最后来一张效果图

采用TuesPechkin生成Pdf的更多相关文章

  1. html 生成pdf

    HTML生成PDF(c#) 最近因为工作需要,小小的研究了一下HTML生成PDF的方法,这方面的内容很多,但要么是不尽如人意的方法,要么就是那种收费的类库!为了广大.neter的福利,把自己的一点小小 ...

  2. 使用TCPDF插件生成pdf以及pdf的中文处理

    目录(?)[+] 多种多样的pdf开发库 WKHTMLTOPDF 2FPDF 3TCPDF 中文问题   做了这么多年项目,以前只是在别人的项目中了解过PHP生成pdf文件,知道并不难,但是涉及到了p ...

  3. 生成PDF的新选择-Phantomjs

    最近在node.js项目开发中,遇见生成PDF的需求,当然生成PDF不是一个新意的需求:我可以选择利用开源的pdfkit或者其他node pdf模块,或者通过edge.js调用.net/python下 ...

  4. 生成 PDF 全攻略【1】初体验

    经历过多少踩坑,翻看过多少类似博客,下载过多少版本的Jar,才能摸索出正确的代码书写方式,才能实现项目经理需求分析书中的功能点. 本文借一次 JavaEE 生成PDF的颠簸的实现过程,描述中小公司程序 ...

  5. JAVA生成PDF文件

    生成PDF文件是主要应用的是ITEXT插件 import java.awt.Color; import java.io.File; import java.io.FileOutputStream; i ...

  6. 使用PHP生成PDF文档

    原文:使用PHP生成PDF文档 实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TCPDF是一个用于快 ...

  7. java调用wkhtmltopdf生成pdf文件,美观,省事

    最近项目需要导出企业风险报告,文件格式为pdf,于是搜了一大批文章都是什么Jasper Report,iText ,flying sauser ,都尝试了一遍,感觉不是我想要的效果, 需要自己调整好多 ...

  8. (实用篇)使用PHP生成PDF文档

    http://mp.weixin.qq.com/s?__biz=MzIxMDA0OTcxNA==&mid=2654254929&idx=1&sn=8715d008d19af70 ...

  9. iText框架(生成pdf文档)

    1.创建一个itext的简单示例 a.导包(pom.xml文件) <dependencies> <dependency> <groupId>com.lowagie& ...

随机推荐

  1. keep-alive 必须 页面有name 要不缓存不住数据

    keep-alive 必须 页面有name 要不缓存不住数据

  2. 「踩坑记」Android API 判断权限申请结果的闪退问题

    这几天尝试着用Android Studio写一个小工具的时候遇到了一个动态权限申请的问题.权限的申请使用的语句为: ActivityCompat.requestPermissions(this, ne ...

  3. 群辉DS418play体验+经验分享

    群辉DS418play体验+经验分享     群辉DS418play体验+经验分享   购买初衷 近期百度网盘到期,我又需要重复下载很多资源(游戏.电影.毛片),下载没速度&下完没空间怎么办? ...

  4. 快速上手项目远程团队协作--CODING(新手向)

    快速上手项目远程团队协作--CODING(新手向) CODING网址:https://e.coding.net/signin 前言:之前用过github,用过微软的Azure协作(https://az ...

  5. jenkins-gitlab-harbor-ceph基于Kubernetes的CI/CD运用(二)

    一张网图 因为我们使用了Docker in Docker技术,就是把jenkins部署在k8s里.jenkins master会动态创建slave pod,使用slave pod运行代码克隆,项目构建 ...

  6. 2020.3.23 模拟赛游记 & 题解

    这次的模拟赛,实在是水. 数据水,\(\texttt{std}\) 水,出题人水,做题人也水.??? 游记就说一句: 水. T1 metro 弱智题. 人均 \(100pts\). #pragma G ...

  7. word2vec 和 glove 模型的区别

    2019-09-09 15:36:13 问题描述:word2vec 和 glove 这两个生成 word embedding 的算法有什么区别. 问题求解: GloVe (global vectors ...

  8. golang工具之present - 编写go特色的ppt

    简介: Golang Present 是 Golang 社群开发出來的一个简单工具,通过简单的语法可以制作 ppt(语法近似于 Markdown).   默认文件格式是 .slide ,是随着 gol ...

  9. c#委托、泛型委托和匿名方法

    题外话:别指望看第一遍书就能记住和掌握什么——请看第二遍.第三遍. 本人女猿一枚,2年工作经验,喜欢钻研,喜欢创新,闲暇之余喜欢写写博客,深知自身能力薄弱,如表达错误.不当之处请园友们多多指出,互相交 ...

  10. 【深度学习】Neural networks(神经网络)(一)

    神经网络的图解 感知机,是人工设置权重.让它的输出值符合预期. 而神经网络的一个重要性质是它可以自动地从数据中学习到合适的权重参数. 如果用图来表示神经网络,最左边的一列称为输入层,最右边的一列称为输 ...