首先,这是我在网站上的第一个问题,我只想感谢大家帮助像我这样的新手。我在这个网站上发现了很多宝贵的信息!它在我的编程之旅中帮助了我很多。
所以这是我的问题。我已经使用 OpenTBS(PHP 类)用动态数据填充 .docx 模板并在文档中插入图像。
通过在图像的替代文本中输入以下命令来插入图像:
[onshow.logo_location;ope=changepic;tagpos=inside;adjust=100%;]
我有一个变量,我设置为 $logo_location 指向要插入的图像。
此步骤完美运行。使用正确位置的适当图像创建 docx 文件。
当我尝试使用 phpdocx 将此 docx 文件转换为 PDF 时,出现错误。生成pdf的代码如下:
require_once '../bbms/classes/phpdocx/classes/TransformDoc.inc';
require_once '../bbms/classes/phpdocx/classes/CreateDocx.inc';
$docx = new CreateDocx();
$document = new TransformDoc();
$document->setStrFile('199.docx');
$document->generatePDF();
我得到的错误如下:
无法生成 PDF 文件。带有消息“未知图像类型:?image=opentbs1.”的异常“DOMPDF_Exception” 在 C:\wamp\www\bbms\classes\phpdocx\pdf\include\image_cache.cls.php:188 堆栈跟踪:#0 C:\wamp\www\bbms\classes\phpdocx\pdf\include\image_frame_decorator.cls .php(88): Image_Cache::resolve_url('?image=opentbs1', NULL, '', '') #1 C:\wamp\www\bbms\classes\phpdocx\pdf\include\frame_factory.cls.php (199): Image_Frame_Decorator->__construct(Object(Frame), Object(DOMPDF)) #2 C:\wamp\www\bbms\classes\phpdocx\pdf\include\dompdf.cls.php(606): Frame_Factory::装饰框架(对象(框架),对象(DOMPDF))#3 C:\wamp\www\bbms\classes\phpdocx\classes\TransformDoc.inc(328): DOMPDF->render() #4 C:\wamp\www \discount_database\test.php(23): TransformDoc->generatePDF() #5 {main}
出于某种原因,docx 文件中新图像的位置被传递为“?image=opentbs1”。到 image_cache.cls.php 中的静态函数 resolve_url()。
当我尝试转换不是使用 OpenTBS 创建的普通 docx 文件时,我没有收到此错误。我检查了发送到 resolve_url() 的有效 url 是什么样子的,它看起来像这样:
“文件/files_invoice_template.docx/media/word/media/image1.png”
有没有办法配置 openTBS 以正确设置插入图像的 url / 位置?
谢谢!!