使用第三方开源库iText7.pdfHtml,将html和css转成pdf,官方:https://itextpdf.com/en/demos/convert-html-css-to-pdf-free-online;

官方示例:

usingSystem.IO;usingiText.Html2pdf;namespaceWebsiteDemoPdfHtml

{classProgram

{private static string ORIG = "/uploads/input.html";private static string OUTPUT_FOLDER = "/myfiles/";static void Main(string[] args)

{string pdfDest = OUTPUT_FOLDER + "output.pdf";

HtmlConverter.ConvertToPdf(new FileStream(ORIG, FileMode.Open), newFileStream(pdfDest, FileMode.Create));

}

}

}

官方可以下载到详细的使用说明文档:

设置默认打印纸张大小:

var pdfDest = "hello.pdf";var pdfWriter = newPdfWriter (pdfDest);var pdf = newPdfDocument (pdfWriter);var pageSize = PageSize.A4; //设置默认打印纸张大小,css @page规则可覆盖这个

pdf.SetDefaultPageSize (pageSize);

支持css @page规则控制打印设置选项,例如css @page设置A3打印纸,横向打印,这些规规将覆盖上面的设置默认打印纸张大小:

@page{size:A3 landscape;

}

如果需要引入其他资源,比如插入图片,需要设置根目录,将资源文件放入根目录或子文件夹下:

var properties = newConverterProperties ();

properties.SetBaseUri ("wwwroot"); //设置根目录

默认不支持中文字体,需要修改默认字体提供者,使其支持系统字体:

var provider = new DefaultFontProvider (true, true, true); //第三个参数为True,以支持系统字体,否则不支持中文

properties.SetFontProvider (provider);

支持css @media规则,使其在不同设备上显示不同效果,比如在预览时使用Screen设备显示彩色效果,在打印时使用Print设备增强黑白效果:

var mediaDeviceDescription = new MediaDeviceDescription (MediaType.PRINT); //指当前设备类型,如果是预览使用SCREEN

mediaDeviceDescription.SetWidth (pageSize.GetWidth ());

properties.SetMediaDeviceDescription (mediaDeviceDescription);

最后是以html作为打印模板,加载数据,再转成pdf;

官方推荐的是使用XSL转换(xmlns:xsl="http://www.w3.org/1999/XSL/Transform"),将xml转换成html,但该示例目前仅支持java,c#找不到相关源码,并且该方式不支持模板预览,不方便用户修改模板:

所以还是推荐使用正则替换规则导入数据,下面是示例html:

@page{size:A4 landscape;

}ul{margin-left:0;padding-left:0;

}ul li{list-style:none;

}ul li:after{content:"";display:block;clear:both;

}ul li p{float:left;margin-left:2em;

}ul li p:first-child{margin-left:0;

}ul li p img{width:36px;height:36px;

}

使用第三方库iText7.pdfHtml,将Html转换成Pdf,以及如何以Html作为打印模板

{{ListOfNames}}
  • 姓名:{{Name}}

    年龄:{{Age}}

    性别:{{Sex}}

itextdef将动态html转为pdf,[C#]使用第三方开源库iText7.pdfHtml,将Html转换成Pdf,以及如何以Html作为打印模板...相关推荐

  1. PHP 把ofd格式文件转PDF,打开OFD格式文件及将OFD格式文件转换成PDF文件

    今天收到一张浙江开具的ofd格式发票,便在网上找相关的软件来打开方便打印出来给财务做账,但是找了一大圈没有解决方案,有些收费的解决方法,大部分所谓的OFD软件是骗人的,下载安装后根本打不开OFD格式的 ...

  2. matlab 函数pdf怎么用_办公小技巧:图片怎么转换成pdf格式?这个转换方法超好用,用过的都说好...

    阅读本文前,请您先点击上面的"蓝色字体",再点击"关注",这样您就可以继续免费收到文章了.每天都会有分享,都是免费订阅,请您放心关注. 注:本文转载自网络,不代 ...

  3. python 怎么将数组转为列表_图片转换成pdf格式怎么操作?什么软件能将图片转为pdf?...

    伙伴们好,你们知道如何把图片转为pdf格式吗?前一阵子我参加了一个家居行业大会,在会议上拍摄了不少会议照片,包括主持人讲话.嘉宾出席.观众提问.产品推广等环节都拍摄了不同的角度.拍摄好后,需要传送给写 ...

  4. html5把word转为pDF,在线word转pdf 如何将word转换成pdf

    日常办公常接触到pdf.word文件,在打印或发送文件时也有需要word转成稳定性较好的pdf,那 一起来看看是如何将word转换成pdf的吧.打开安装好的word to pdf软件,如下图,界面很简 ...

  5. 怎样将jpg转换成pdf软件

    为什么80%的码农都做不了架构师?>>> 怎样将jpg转换成pdf软件 序言:        企业或个人通常会遇到设备终端软件的兼容性和支持性问题,比如,JPG转PDF文本,这给等于 ...

  6. ppt转换成pdf转换器免费版

    为什么80%的码农都做不了架构师?>>> ppt转换成pdf转换器免费版 ppt文件怎么转换为pdf文件?这样的问题对于很多电脑新手来说,显然不是一件容易的事情.大部分的用户遇到此类 ...

  7. ppt转换成pdf免费软件

    为什么80%的码农都做不了架构师?>>> ppt转换成pdf免费软件 导读:使用 ppt转换成pdf转换器当然是转换ppt文件的一个方法,但毕竟好的转换工具并不多,对于从事大量文案处 ...

  8. jpg图片转换成pdf文件,方法步骤

    如何把jpg图片转换成pdf文件?近期有不少小伙伴问我,能不能把jpg图片转换成pdf文件,让自己的jpg图片文件能稳定的在不同系统查看使用,这样也就避免了因jpg图片多和格式问题而导致的的打开慢或打 ...

  9. 比较好的ppt转换成pdf转换器

    比较好的ppt转换成pdf转换器 教学中我们通常需要用到PPT幻灯片,利用幻灯片动态的动漫设置让教学显得更加生动活泼,然而,如将PPT作为复习资料供给学生使用,则是不可取的,将PPT转换成可供观赏的P ...

最新文章

  1. 编译器设计-代码生成
  2. 42所双一流大学校长情况简介(2019年)
  3. 版本控制系统客户端VisualSVN的安装与使用(for Visual Studio)
  4. PHP超级配置模块--PHP4,PHP5,module,cgi任你玩转--应用于Apache
  5. css3 - target
  6. 【bzoj 4390】 [Usaco2015 dec]Max Flow(树上差分)
  7. LeetCode动态规划系列教程(上)
  8. 立林门禁读卡器接线图_立林楼宇对讲维修方法—常见故障的解决方法
  9. java 如何执行dig 命令_linux dig 命令使用方法
  10. Android——GSON解析JSON
  11. uni-app表情包实现
  12. asp.net入门教程
  13. 向量坐标相乘的计算算法
  14. Google搜索关键字
  15. ArcGIS空间统计——点密度计算
  16. 网络芯片比较:DP83848、DM9000、enc28j60、RLD8019、w5100
  17. 常见 SQL 面试题:经典 50 例
  18. 安卓课程设计之记账本_基于Android个人用户记账本系统课程设计报告
  19. Linux实战教学笔记28:企业级LNMP环境应用实践
  20. tableau各种精典示例经验总结01

热门文章

  1. CSS的样式小计(1)
  2. springboot细节挖掘(jar和war打包)
  3. 对scala函数总结
  4. python sphinx_Python Sphinx使用实例及问题解决
  5. itext生成pdf间距_使用itext生成pdf
  6. mysql作业是什么意思_MySQL 作业七
  7. 电子助力方向机控制模块_17款路虎揽胜:偶发性电子助力失效
  8. html post请求 渲染,FastAPI框架入门 基本使用, 模版渲染, form表单数据交互, 上传文件, 静态文件配置...
  9. Unity2018新功能抢鲜 | ShaderGraph入门教程
  10. OpenCV基本函数使用--Python