我在项目中使用PHPWord。
我正在尝试找出有关$objWriter
:
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
具体来说,最后使用的'Word2007'是什么?我试过搜索$objWriter
但找不到任何信息。我试过用“Word2013”或“Word2016”代替它,但我得到了:
“Word2016”不是有效的作家。在第29行的wamp ... \ vendor \ phpoffice \ phpword \ src \ PhpWord \ IOFactory.php
答案 0 :(得分:1)
第二个参数用于您为其创建作者的文档类型。有5种允许的类型:
您可以在IOFactory类的代码中看到这一点:
public static function createWriter(PhpWord $phpWord, $name = 'Word2007')
{
/**
* Notice the allowed names in the array here.
*/
if ($name !== 'WriterInterface' && !in_array($name, array('ODText', 'RTF', 'Word2007', 'HTML', 'PDF'), true)) {
throw new Exception("\"{$name}\" is not a valid writer.");
}
$fqName = "PhpOffice\\PhpWord\\Writer\\{$name}";
return new $fqName($phpWord);
}
https://github.com/PHPOffice/PHPWord/blob/develop/src/PhpWord/IOFactory.php
如果您想支持以后的MS Word文档格式,则需要实现自己的extends AbstractWriter implements WriterInterface
编写器。但是,此时,there are no later formats已创建。 (请注意,Word 2007的格式与应用程序版本不同。)