Phpword $ objWriter属性

时间:2016-02-01 17:14:39

标签: php composer-php

我在项目中使用PHPWord

我正在尝试找出有关$objWriter

的属性的一些信息
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');

具体来说,最后使用的'Word2007'是什么?我试过搜索$objWriter但找不到任何信息。我试过用“Word2013”​​或“Word2016”代替它,但我得到了:

  

“Word2016”不是有效的作家。在第29行的wamp ... \ vendor \ phpoffice \ phpword \ src \ PhpWord \ IOFactory.php

1 个答案:

答案 0 :(得分:1)

第二个参数用于您为其创建作者的文档类型。有5种允许的类型:

  1. 'ODText'
  2. 'RTF'
  3. '的Word2007'
  4. 'HTML'
  5. 'PDF'
  6. 您可以在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的格式与应用程序版本不同。)