当前位置: 首页 > 知识库问答 >
问题:

将. docx文件(带有. emf图像背景)转换为PDF时出错

秦鹏飞
2023-03-14

基于Laravel的应用程序正在将文档(.doc、.docx、.pdf、.png、.otd、html等)转换为pdf,以便将它们全部合并到主pdf文档中。它使用PHPWord和DOMPDF Wrapper等插件的组合来加载和创建文件。每隔一段时间,该进程就会因Word文件而遇到错误。

错误:PhpOffice\PhpWord\Exception\InvalidImageException:无效图像:zip://#word/media/image2。电动势

错误是由文档中的图像背景引起的,该背景像水印一样。错误输出的PHPWord部分是PhpOffice\PhpWord\Element\Image-

Settings::setPdfRendererName(Settings::PDF_RENDERER_DOMPDF);
$pdfWord = IOFactory::load(storage_path() . '/app/uploads/randomfile.docx', 'Word2007');

应用程序如何将嵌入EMF图像的Word文档转换为PDF?

有关如何重新创建错误的更多代码/信息,Github PHPWord库中存在一些问题。

  1. 支持EMF图像#1480
  2. 读取docx错误时包含图像从远程url#1173

与环境有关的信息:

  • 服务器:Windows/IIS
  • PHP: 7.2.11
  • Laravel: 5.7.15
  • PHPWord: 0.15.0

编辑:我也试着从另一个角度来看这个问题,但没有用。我尝试使用PHP的ZipArchive解压docx文件,从文档中删除emf图像(ZipArchive::deleteName()),删除[Content\u Types]中对emf图像的引用。xmlZipArchive::getFromName()),然后将docx文件压缩备份,但这不起作用。我可以打开新的docx文件,看到图像消失了,但是PHPWord错误仍然存在于应用程序中。


共有1个答案

锺离鸿
2023-03-14

看起来PHPWord有一个打开的功能请求来解决这个问题。

https://github.com/PHPOffice/PHPWord/issues/1480

我认为你在文件修改的正确路径上,可能有一个引用到你丢失的图像,PHPWord仍然试图访问。

我将解压您本地驱动器上的文件,并在目录中搜索您要查找的文件。这将向您显示可能需要从文件中删除它的其他位置。

 类似资料:
  • 问题内容: 我想将PDF文档转换为图像。我正在使用Ghost4j。 问题: Ghost4J需要gsdll32.dll文件在运行时,我也 并不 想使用的DLL文件。 问题1: 在ghost4j中,有没有办法在没有dll的情况下转换图像? 问题2: 我在PDFBox API中找到了解决方案。convertToImage()将PDF页面转换为图像格式。 PDF文档上只有文本。运行此代码时出现该异常: 问

  • 我想把PDF文档转换成图像。我用的是Ghost4j。 问题:Ghost4J需要gsdll32。dll文件,我不想使用dll文件。 问题1:是否有任何方法,在ghost4j转换图像没有dll? 问题2:我在PDFBox API中找到了解决方案<代码>组织。阿帕奇。pdfbox。pdmodel。PDPagep具有将PDF页面转换为图像格式的方法convertToImage()。 我只有PDF文档上的文

  • 我正在寻找一些“稳定”的方法来转换从MS WORD到PDF文件的DOCX文件。从现在起,我使用OpenOffice安装作为监听器,但它经常挂起。问题是,当许多用户同时想要将SXW、DOCX文件转换成PDF时,我们会遇到这样的情况。还有其他的可能性吗?我尝试了这个网站上的示例:https://angelozerr.wordpress.com/2012/12/06/how-to-convert-doc

  • 我正试图用Docx4J将一个DOCX文件转换为PDF,并收到两个不同文档的两个不同的异常。 1)对于文档1,第一个文档的org.docx4j.utils.singletRaversAlutilVisitorCallback.apply(SingletRaversAlutilVisitorCallback.java:27)中出现一个NullPointerException。 下面包含的代码是否是在P

  • 我有带有图表的示例docx: 例 当我运行示例项目时:组织.docx4j.samples.转换输出PDF 我有空的pdf。 如何将带有图表的docx转换为pdf?我需要一个免费的工具/库。

  • 我在运行时生成了一个docx文档,我想将其转换为PDF,而无需实际将文件保存在本地 PdfConverter无效。我怎样才能做到这一点?