简要
iTextSharp的功能很强大,之前我也写过使用pdf模板来生成PDF的文章(《使用iText5来处理PDF》),当然这里我还是使用iTextSharp5这个版本,原因是这个版本还是开源免费的。
前面不多说,还是通过nuget来安装iTextSharp5,这里还需要安装itextsharp.xmlworker,之后开始做html模板,及对应的css。这里需要注意的是,div等可以有宽度的标签,css中不能有width/height这种标签,但是可以用max-width,另外如果有图片的话,需要转成base64代码,文件的编码格式需要使用纯净的utf-8编码保存,不能使用其他编码及带BOM的utf-8,css需要是单独的一个文件,或者是在html标签中使用内联的方式。我这里使用的是独立的css文件,另外我的例子里是保存pdf到服务器上,如果生成之后需要直接让用户下载,那么只需要小改动就可以,我这里就不做改动了。
代码using iTextSharp.text;
using System.IO;
using System.Text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;
using iTextSharp.tool.xml.html;
using iTextSharp.tool.xml.pipeline.html;
using iTextSharp.tool.xml.pipeline.css;
using iTextSharp.tool.xml.parser;
using iTextSharp.tool.xml.pipeline.end;<