Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
添加图像时phpWord文件增长问题_Php_Phpword - Fatal编程技术网

添加图像时phpWord文件增长问题

添加图像时phpWord文件增长问题,php,phpword,Php,Phpword,好的,下面是场景。我需要根据数据库中收集和存储的数据生成大约200 MS Word文档。生成包含或不包含照片的word文档是一个用户选项。在Word文档生成之后,我想创建一个包含所有生成文件的zip文件。zip部分已经完成,大部分的word文件生成已经完成 当用户选择生成没有照片的报告时,站点查询数据库并返回大约200条报告记录,然后通过foreach循环我运行PHPWord编码生成文件并将其写入临时文件夹,然后在foreach循环之后我运行代码将其全部压缩,然后删除临时文件。效果很好。但是,当

好的,下面是场景。我需要根据数据库中收集和存储的数据生成大约200 MS Word文档。生成包含或不包含照片的word文档是一个用户选项。在Word文档生成之后,我想创建一个包含所有生成文件的zip文件。zip部分已经完成,大部分的word文件生成已经完成

当用户选择生成没有照片的报告时,站点查询数据库并返回大约200条报告记录,然后通过foreach循环我运行PHPWord编码生成文件并将其写入临时文件夹,然后在foreach循环之后我运行代码将其全部压缩,然后删除临时文件。效果很好。但是,当选择“生成带有照片的报告”选项时,它会开始生成Word文档,但每次创建文件时,文件大小都会增加。第一个文件是70k,第二个文件是140k,第三个文件是210k,依此类推,其中每个文件应该只有70k。这两种操作的唯一区别在于将addImage命令包含在表格单元格中,如下所示:

$table->addCell()->addImage('photos/thumb_image.jpg, $imageStyle);

救命啊

在自0.10.0以来可用的循环之间使用
Media::resetElements()

发布更多代码会很有帮助,我可能应该添加一点。如果我修改foreach循环所基于的初始查询,一次只输出一条记录,而让其他代码完全相同,那么站点将完美地生成Word文件。而且,如果我比较应该相同的文件(正常文件大小与膨胀文件大小),它们是相同的。相同的文本、相同的图像、相同的页数,等等。我可以发布大量的代码,但我已经将问题缩小到PHPWord的addImage函数上。@Bill\u VA:您使用的PHPWord版本是什么?似乎第一个文件有一个图像,第二个文件存储两个图像,依此类推。。。你能给我们两个文件吗?@Bill_VA:比如,你能给我们更多的循环代码吗?这将帮助我们帮助你。