这个功能是项目中要用到的,本来也是已经达到了想要的效果,某天浏览国外技术网站,发现一个不错的思路,就优化了一下功能。
我基本上也是个搬运工,但是原作者的代码有点问题,做了改进,顺便自己也留个备用。
里面有一些代码也是我从别处搬来的,时间久了实在是记不着网址了,要是原作者看到了莫怪!
废话不说,进入正题吧。这个HTML转PDF的思路主要是:
第一步,加载一个你已经布局好的HTML模板,在里面设置好变量,然后后台读取HTML内容,给变量赋值即可(可以是列表)。
第二步,将赋值之后的HTML输出,保存到本地目录(根据个人情况,最后生成PDF之后可以删除)。
第三部,将保存后的HTML生成PDF输出。(此处用到iTextSharp)。
现在上代码块,大家可以按照代码块,自己自由组合。
HTML模板:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>
采购订单
</title>
<style type="text/css">
.list table {
width: 100%;
border-collapse: collapse;
border: none;
}
.list table th {
border: solid #000 1px;
text-align: center;
height: 40px;
line-height: 40px;
}
.list table td {
border: solid #000 1px;
text-align: center;
height: 40px;
line-height: 40px;
}
</style>
</head>
<body>
<div id="print">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" style="text-align: center; font-size: 26px; height: 70px; line-height: 60px; font-weight:bold;">
XXXXXXXXXX有限公司<br />
采购单
<br />
</td>
</tr>
<tr>
<td align="left" width="50%" style="height: 60px">
订单生成