我们有一个应用程序从表单中获取文本(它最终是一个电子表格)并从数据库中提取它并创建一个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是包含db实体的obj
标题的当前行(必须删除html)
$data->heading = preg_replace("/ /",'',$data->heading);
$this->MultiCell(190, 3, trim(strip_tags($data->heading)), 0, 'L', 0);
$ foo = new foo(); $ foo-> fooBody(巴);添加页面...输出()..等
希望我能做下面的事情
$html2pdf->writeHTML($data34->heading);
$richTextHeading = $html2pdf->output('file.pdf', 'S');
foo->MultiCell(190, 3,$richTextHeading, 0, 'L', 0);
我想使用与fpdf相同的文档,但不知何故包含一些转换后的html用于它的一小部分,但我目前只能拥有一个(当前的doc)或另一个(html doc)。
如果有人遇到这个帖子,我最后只使用TCPDF,并重新编写旧代码以使用TCPDF。令人惊讶的是,我只需要在几个地方更改字体名称(Ariel-> helvetica)并明确说明单元格高度和边距。旧代码主要按原样工作,而且这个
$this->MultiCell(190, 3, trim(strip_tags($data->heading)), 0, 'L', 0);
现在就是这个
$this->writeHTML( $data->heading);