PHPWord-无法在本地工作?

时间:2018-08-14 03:37:57

标签: php phpword

有人有使用PHPWord的经验吗?我像使用其他许多模块一样使用Composer安装了它,但是当我运行“基本用法”示例时,什么也没有发生。 (autoloader.php运行正常)。

如果我将query("pdf") query("epub") // return empty list private fun query(extension: String):List<String> { val columnData = MediaStore.Files.FileColumns.DATA val projection = arrayOf(columnData) val selection = "${MediaStore.Files.FileColumns.MIME_TYPE}=?" val targetMimeType = getMimeTypeFromExtension(extension) val selectionArgs = arrayOf(targetMimeType) val uri = MediaStore.Files.getContentUri("external") val cursor = contentResolver.query(uri, projection, selection, selectionArgs, null) val indexData = cursor.getColumnIndex(columnData) val list = ArrayList<String>() while (cursor.moveToNext()) { list.add(cursor.getString(indexData)) } return list } private fun getMimeTypeFromExtension(extension: String): String? { var type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension) // some android os doesn't have epub type in map if (extension.equals("epub") && type == null) { type = "application/epub+zip" } return type } 更改为$objWriter->save('helloWorld.docx');,至少可以看到正在发生什么(请参阅下文),但是我什么都没下载DOCX,ODT或HTML文件。

enter image description here

通常Composer会下载任何需求/依赖项,我还需要做其他事情吗?

在Windows上使用Ampps。

1 个答案:

答案 0 :(得分:1)

呃,找到了。您需要添加相关的标题才能使其正常工作,不知道为什么所提供的示例未提及此内容:

<?php

require_once("vendor/autoload.php");

$phpWord = new \PhpOffice\PhpWord\PhpWord();

$section = $phpWord->addSection();
$section->addText('Hello World');

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment;filename="HelloWorld.docx"');

$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$objWriter->save('php://output');

?>