我们有一个应用程序,该应用程序从表单(最终是电子表格)中获取文本,并将其从数据库中提取并创建pdf文档。使用fdpf,一切运行良好。但是文档的标头部分当前是从<texarea>
发布的纯文本,我们希望使用tinymce将其升级为富文本。我可以轻松地使用https://github.com/spipu/html2pdf从文本中创建一个漂亮的完整文档,但这仅是文档的一小部分。该标题不是从jpg图片获取的“标题”。
我尝试了几种方法,包括使用富文本(html)部分创建单独的文档,并尝试将两者合并,如果两者是单独的页面,效果很好,但是当尝试将它们放置在另一个页面中时效果不佳一个是大小,形状,线条各异的。我尝试过的另一件事是使用imagemagick将从富文本部分获取的pdf转换为jpg,然后将图像插入另一个pdf。除非标题中大部分都包含文本,否则这会很好用。图像会很好地通过,但是如果图像处理能力出色,文本就会变得不可读,而我会缺乏这种感觉。
使用fpdf
class foo extends FPDF
{
public function fooBody ($bar) {
`````````````````````````````````
$ data是包含数据库实体的obj
该标题的当前行(必须删除html rn)
$data->heading = preg_replace("/ /",'',$data->heading);
$this->MultiCell(190, 3, trim(strip_tags($data->heading)), 0, 'L', 0);
$ foo = new foo(); $ foo-> fooBody(bar); 添加页面... output().. 等
希望我可以做下面的事情
$html2pdf->writeHTML($data34->heading);
$richTextHeading = $html2pdf->output('file.pdf', 'S');
foo->MultiCell(190, 3,$richTextHeading, 0, 'L', 0);
我想使用与fpdf相同的文档,但是以某种方式在其中包含一小部分已转换的html,但目前只能使用一个(当前文档)或另一个(html文档)。
答案 0 :(得分:0)
如果有人遇到此线程,我最终只使用TCPDF,然后重新编写我的旧代码以使用TCPDF。出乎意料的是,我只需要在几个地方更改字体名称(Ariel-> helvetica),并明确说明单元格的高度和边距。旧代码基本上按原样工作,而
$this->MultiCell(190, 3, trim(strip_tags($data->heading)), 0, 'L', 0);
现在就是这个
$this->writeHTML( $data->heading);