我讨厌冗长的问题,但因为我是PHP的新手我正在编写完整的代码。请不要我。 我试图在Xampp中生成一个 PHP发票,其中包含" tinymce文本编辑器"在表单中,我用来编辑内容。 这是create.php页面
<script src='js/tinymce.min.js'></script>
<script>
tinymce.init({
selector: '#mytextarea',
plugins: [
'advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker',
'searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking',
'save table contextmenu directionality emoticons template paste textcolor'
],
a_plugin_option: true,
a_configuration_option: 400
});
</script>
我在编辑器中编辑的内容是一个包含nxn单元格的表格,但数据 以HTML代码保存在数据库中。
<table>
<tbody>
<tr>
<td>Sl.NO</td>
<td>Some Text</td>
<td>Some more TExt</td>
</tr>
<tr>
<td>1</td>
<td>Some Text</td>
<td>Some more TExt</td>
</tr>
</tbody>
</table>
当我将数据检索到read.php时,输出正按预期进行。 Image of read.php
但是当我使用fpdf将页面生成为pdf时,输出是这样的, not as expected
我同时尝试了html_entity_decode和strip_tags html_entity_decode(strip_tags($data['content']))
我只是希望pdf与read.php相同..只是帮助我,我需要集中精力来获得我想要的东西, 在此先感谢。
答案 0 :(得分:1)
在尝试将html转换为pdf时,我发现wkhtml
是最好的免费工具。它可以在http://wkhtmltopdf.org/找到,或者通过linux包管理器(通常通过apt-get install wkhtmltopdf
)在许多发行版上安装。这个工具的好处是它使用webkit浏览器引擎来真正渲染网页,就像浏览器一样,包括html和css。这意味着您可以使用所有可用的CSS样式来格式化发票。
如果您的php解释器可以访问并执行wkhtmltopdf文件,那么转换就像这样简单:
wkhtmltopdf http://your.domain/read.php /my/path/invoice.pdf
在php中,您可以使用exec()
$url = escapeshellarg('http://your.domain/read.php');
$filePath = escapeshellarg('/my/path/invoice.pdf');
exec('wkhtmltopdf ' . $url . ' ' . $filePath);
备选方案:
fpdf
这样的库来创建pdf。您必须自己从html创建纯文本值。这将为您提供灵活性,但您必须完全自己处理数据。答案 1 :(得分:0)
实际上这不是一个完整的答案。只是分享一个想法: HTML页面
<div id="htmltable">
<table>....</table>
</div>
在js文件中从div获取内容并将其传递到PDF生成的位置:
htmltable = $( "#htmltable" ).html();
从js获取传递的html数据:
$pdf=new PDF_HTML();
$pdf->AliasNbPages();
$pdf->SetAutoPageBreak(true, 15);
$pdf->AddPage();
$pdf->SetFont('Arial','B',14);
$htmlTable = '<div id="htmltable"><table>....</table></div>';
$pdf->WriteHTML2($htmlTable);
$pdf->Output();