SuiteCRM二次开发——PDF报价/合同模板编辑

肯定很多使用SuiteCRM的用户都会抱怨“生成一个像样的PDF模板为何如此困难?”,难道真有你想想的那么困难吗?有没有更加简单的方法编辑PDF模板?

并没有你想象的那么难。只是需要你懂得东西稍微多一些,但是没有前端开发经验的需要你现在去学习了。因为想要编辑好PDF模板,你可能要有一些基本的Html+CSS知识。

开始之前再列举几个常见问题:

1、我们时常去修改编辑器中的代码,发现修改之后保存,再去查看时发现和我们之前修改的不一样,代码残缺了不少。

2、代码修改使用了bootstrap的样式,预览是bootstrap效果,但是生成PDF时却一团糟。(SuiteCRM本身是引用了bootstrap样式了!)

3、在编辑器中明明写了<style>....</style><script>....</script> 但是保存后消失了。

下面我们就拿一个SuiteCRM生成的一个PDF模板导出的合同范本举例。

一个导出的PDF
一个导出的PDF

上面其实是两个表格,上面表格挺好看(带边框和背景),另一个表格很乱!

首先分享上面两个表格的代码,供大家分析

上表格代码:

<table style="font-family: verdana, arial, sans-serif; font-size: 11px; color: #333333; border-width: 1px; border-color: #999999; border-collapse: collapse; width: 800px;">
<tbody>
<tr><th style="background: #b5cfd2; border-width: 1px; padding: 8px; border-style: solid; border-color: #999999;">Info Header 1</th><th style="background: #b5cfd2; border-width: 1px; padding: 8px; border-style: solid; border-color: #999999;">Info Header 2</th><th style="background: #b5cfd2; border-width: 1px; padding: 8px; border-style: solid; border-color: #999999;">Info Header 3</th></tr>
<tr>
<td style="background: #dcddc0; border-width: 1px; padding: 8px; border-style: solid; border-color: #999999;">Text 1A</td>
<td style="background: #dcddc0; border-width: 1px; padding: 8px; border-style: solid; border-color: #999999;">Text 1B</td>
<td style="background: #dcddc0; border-width: 1px; padding: 8px; border-style: solid; border-color: #999999;">Text 1C</td>
</tr>
<tr>
<td style="background: #dcddc0; border-width: 1px; padding: 8px; border-style: solid; border-color: #999999;">Text 2A</td>
<td style="background: #dcddc0; border-width: 1px; padding: 8px; border-style: solid; border-color: #999999;">Text 2B</td>
<td style="background: #dcddc0; border-width: 1px; padding: 8px; border-style: solid; border-color: #999999;">Text 2C</td>
</tr>
</tbody>
</table>

下面表格的代码:(是从word中直接复制粘贴到编辑器中的!)

<table class="table table-bordered" style="border-spacing: 0px; border-color: #333333; height: 512px; width: 589px;" cellspacing="0">
<thead>
<tr align="center" valign="middle">
<td valign="top" width="83">
<p align="center"><strong>服务套餐</strong></p>
</td>
<td valign="top" width="227">
<p align="center"><strong>服务内容</strong></p>
</td>
<td valign="top" width="76">
<p align="center"><strong>服务时长</strong></p>
</td>
<td valign="top" width="76">
<p align="center"><strong>服务价格</strong></p>
</td>
<td valign="top" width="107">
<p align="center"><strong>服务形式</strong></p>
</td>
</tr>
</thead>
<tbody>
<tr>
<td style="width: 83px;">
<p align="center"><strong>商务版</strong></p>
</td>
<td valign="top" width="227">
<p align="left">1.软件所需环境安装;2.软件安装调试;3.基本信息配置;4.域名配置;5.邮箱配置;6.自定义菜单配置;7.产品远程演示;8.一般用户培训;9.数据导入培训;10.提供升级包;11. SSL加密; 12.权限设置;13.管理员培训;14.自定义字段数量≤20个;15.PDF模板定制数量≤2个;电子邮件模板定制数量≤1个;新模块开发数量≤1个;整体备份≤1次;数据库安全备份≤1次;SuiteCRM迁移服务≤1次。</p>
</td>
<td width="76">
<p align="center">1年</p>
</td>
<td width="76">
<p align="center">6800元</p>
</td>
<td width="107">
<p align="center">乙方在工作时间内随时为甲方以电话、微信、QQ、电子邮件方式提供 SuiteCRM产品的服务与技术支持维护。</p>
</td>
</tr>
<tr>
<td valign="top" width="83">
<p align="center"><strong>合同金额</strong></p>
</td>
<td colspan="2" valign="top" width="302">
<p align="left">大写:陆仟捌佰元整</p>
</td>
<td colspan="2" valign="top" width="183">
<p align="left">小写:¥6800元</p>
</td>
</tr>
<tr>
<td colspan="5" valign="top" width="568">
<p align="center">套餐价格(不含服务器\虚拟空间费用,如需请另行咨询)</p>
</td>
</tr>
<tr>
<td width="83">
<p align="center"><strong>付款方式</strong></p>
</td>
<td colspan="4" valign="top" width="485">
<p align="left"><strong>企业名称:</strong>苏州听可网络科技有限公司</p>
<p align="left"><strong>开户行:</strong>农业银行(吴中新城支行)</p>
<p align="left"><strong>账号:</strong>10540901040013050</p>
</td>
</tr>
</tbody>
</table>

自己比较后肯定会发现什么吧?

总结:如果生成SuiteCRM的PDF模板,其中模板中带有表格的,参照第一篇代码写!!!

滚动至顶部