tcpdf 将网页生成pdf
2015-09-02 14:42
501 查看
需求:需要将HTML页面生成PDF文档
开发语言:PHP
使用TCPDF第三方类库进行生成,下载地址:http://sourceforge.net/projects/tcpdf/
核心代码:
TCPDF存在的问题:
问题:当页面中有表格的时候,有的时候TCPDF不将表格显示出来,或者是一个黑色的区块,导致不能正常的显示。
解决办法:使用TCPDF中的样式即可解决。
问题:汉字显示??或者其他乱码,不能正常显示。
解决办法:
该问题分为两个,一个是PDF标题中汉字出现乱码。方案是设置$pdf->setHeaderFont(array(PDF_FONT_NAME_MAIN,'',PDF_FONT_SIZE_MAIN); 其中PDF_FONT_NAME_MAIN就是设置头部的字体编码。将PDF_FONT_NAME_MAIN设置为msungstdlight即可。
另一个是页面中出现乱码。同样是设置编码。在$pdf->writeHtml();或者$pdf->Cell();等之前设置$pdf->SetFont(msungstdlight,'', 字体大小);即可
开发语言:PHP
使用TCPDF第三方类库进行生成,下载地址:http://sourceforge.net/projects/tcpdf/
核心代码:
public static function writePdf($content) { $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); $pdf->SetCreator(PDF_CREATOR); $pdf->SetHeaderData("logo.jpg", 70, 'wanglibao Agreement' . '', ''); $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); $pdf->AddPage(); $pdf->setPageMark(); $pdf->SetFont('stsongstdlight', '', 13); $title = <<<EOD <h2>标题</h2> EOD; $pdf->writeHTML($content, true, false, false, false, ''); // $pdf->writeHTML($content, true, 0, true, true); // $pdf->writeHTMLCell(0, 0, '', '', $content, 0, 1, 0, true, 'C', true); $pdf->lastPage(); $pdf->Output(date('Y-m-d') . '.pdf', 'I'); }
TCPDF存在的问题:
问题:当页面中有表格的时候,有的时候TCPDF不将表格显示出来,或者是一个黑色的区块,导致不能正常的显示。
解决办法:使用TCPDF中的样式即可解决。
<table cellpadding="1" cellspacing="1" border="1" style="text-align:center;"> <tr> <td>C</td> <td>2C</td> <td>3C</td> <td>4F</td> </tr> <tr> <td>1C</td> <td>2C</td> <td>3C</td> <td>4F</td> </tr> </table>
问题:汉字显示??或者其他乱码,不能正常显示。
解决办法:
该问题分为两个,一个是PDF标题中汉字出现乱码。方案是设置$pdf->setHeaderFont(array(PDF_FONT_NAME_MAIN,'',PDF_FONT_SIZE_MAIN); 其中PDF_FONT_NAME_MAIN就是设置头部的字体编码。将PDF_FONT_NAME_MAIN设置为msungstdlight即可。
另一个是页面中出现乱码。同样是设置编码。在$pdf->writeHtml();或者$pdf->Cell();等之前设置$pdf->SetFont(msungstdlight,'', 字体大小);即可
相关文章推荐
- Linux httpd 配置端口 apache httpd 域名配置
- fget和fput http://www.unixresources.net/linux/clf/linuxK/archive/00/00/69/66/696637.html
- 在线HTTP POST/GET接口测试工具
- HttpURLConnection 直接发送soap消息调用webservice
- HTTP Client使用
- 利用Ihttpmodel实现网站缓存,解决Server.Transfer 直接输出HTML源代码的问题
- SDP协议介绍
- (转)epoll源码分析 http://www.cnblogs.com/debian/archive/2012/02/16/2354454.html
- ASIHTTPRequest使用指南---<<翻译稿>>老外的很有价值
- http协议
- http://downloads.openwrt.org.cn/sources/
- 无源光网络PON的原理
- Node.js 0.12: 正确发送HTTP POST请求
- 如何使用ASIHTTPRequest来进行网络请求的
- HTTP请求报文和HTTP响应报文
- HTTP中的POST和GET请求的本质区别详解
- linux下网络环境配置
- HTTP必死:Google是怎么考虑安全的?
- Android Https相关完全解析 当OkHttp遇到Https
- JAVA发送HTTP请求,并接受返回内容