未找到图像或未知类型(使用带有dompdf的tinymce来显示以pdf格式存储在tinymce textarea中的html)

我正在使用“laravel-tinymce-simple-imageupload”包中的图像上传。 当用户在textarea中输入一些内容并单击表单提交按钮时,我想将内容放在textarea中的pdf文件中。 我有下面的代码。

问题是在pdf文件中,如果在textarea中插入图像,则图像不会出现在pdf中,并且在pdf中出现“未找到图像或未知类型”。

你知道这可能是什么问题吗?

图像存储在证书表的内容列中:

test

获取pdf的代码:

 $certificateContent = RegistrationType::with('certificate')->where('id', $request->registrationType)->first(); $pdf = app()->make('dompdf.wrapper'); $pdf->loadHTML($certificateContent->certificate->content); return $pdf->download('test.pdf'); 

Tinymce代码将relative_urls视为false:

 tinymce.init({ selector:'textarea', plugins: 'image code link', relative_urls: false, file_browser_callback: function(field_name, url, type, win) { // trigger file upload form if (type == 'image') $('#formUpload input').click(); } }); 

我已经使用“setOptions([‘isHtml5ParserEnabled’=> true,’isRemoteEnabled’=> true])”但也不能使用它,它显示相同的错误。

似乎问题可能是因为需要更改图像的url路径。 但我不明白如何做到这一点,因为用户只选择tinymce textarea中的图像如何更改该图像的绝对路径。

这是一个报道的问题: https : //github.com/dompdf/dompdf/issues/1659 。

建议你:

  1. 将relative_urls设置为true(这会将图像设置为img/image_15zdbBr.jpeg ,并且
  2. set $dompdf->setBasePath($base_path)其中$ base_path是文件所在的位置。 ( http://sofzh.miximages.com/php/Usage ,这意味着“从”基本目录开始,返回一个,返回一个,返回一个,进入img /,查找文件“所以”基础目录“需要先于文件,才能为你回归的事实做好准备。

工作范例:

  • 您的实际文件位于/home/john/projects/proj/public/img/image.jpeg (真实的)
  • 相对文件路径(已提供)= ../../../img/image.jpeg
  • 所以你配置你的setBasedirectory = /home/john/projects/proj/public/a/b/c/
  • 结合这个给你/home/john/projects/proj/public/a/b/c/../../../img/image.jpeg
  • /home/john/projects/proj/public/a/b/../../img/image.jpeg相同
  • /home/john/projects/proj/public/a/../img/image.jpeg相同
  • /home/john/projects/proj/public/img/image.jpeg = Bingo相同。

如果这不起作用,请调整setBaseDirectory,直到找到正确的路径。

Interesting Posts