gpt4 book ai didi

php - 未找到图像或类型未知(使用tinymce和dompdf来显示存储在pdf中tinymce文本区域中的html)

转载 作者:行者123 更新时间:2023-12-01 03:59:35 25 4
gpt4 key购买 nike

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

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

你知道问题出在哪里吗?

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

<p>test<img src="/img/image_15zdbBr.jpeg" alt="" width="1200" height="900" /></p>

获取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文本区域中选择图像,如何更改该图像的绝对路径。

最佳答案

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

建议您:

  1. 将relative_urls设置为true(这会将图像设置为img/image_15zdbBr.jpeg,并且
  2. set $dompdf->setBasePath($base_path) 其中 $base_path 是文件所在的位置。 ( https://github.com/dompdf/dompdf/wiki/Usage#setbasepath )

使用聊天中的重要部分进行编辑:

  1. 当您使用 Laravel 的包装器时,您需要获取 domPDF 类的句柄,这将通过 $pdf->getDomPDF()->setBasePath();
  2. 由于相对文件路径为../../../image/file.jpg,这意味着“从”基目录开始,返回一个,返回一个,返回返回一个,进入 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 直到获得正确的路径。

关于php - 未找到图像或类型未知(使用tinymce和dompdf来显示存储在pdf中tinymce文本区域中的html),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51316035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com