如何使用PhpWord读取文档文件


How can I read a Doc file with PhpWord?

最近我从github下载了php word,但我不知道如何通过它读取word文件?这个库没有任何帮助。我看到了一个类似php-excel-bbut不知道如何使用的文件。下面的文件:simple01 sample.php

<?php
error_reporting(E_ALL);
if(php_sapi_name() == 'cli' && empty($_SERVER['REMOTE_ADDR'])) {
    define('EOL', PHP_EOL);
}
else {
    define('EOL', '<br />');
}
require_once '../src/PHPWord.php';
// New Word Document
echo date('H:i:s') , " Create new PHPWord object" , EOL;
$PHPWord = new PHPWord();
// New portrait section
$section = $PHPWord->createSection();
// Add text elements
$section->addText('Hello World!');
$section->addTextBreak(2);
$section->addText('I am inline styled.', array('name'=>'Verdana', 'color'=>'006699'));
$section->addTextBreak(2);
$PHPWord->addFontStyle('rStyle', array('bold'=>true, 'italic'=>true, 'size'=>16));
$PHPWord->addParagraphStyle('pStyle', array('align'=>'center', 'spaceAfter'=>100));
$section->addText('I am styled by two style definitions.', 'rStyle', 'pStyle');
$section->addText('I have only a paragraph style definition.', null, 'pStyle');
// Save File
echo date('H:i:s') , " Write to Word2007 format" , EOL;
$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'Word2007');
$objWriter->save(str_replace('.php', '.docx', __FILE__));
echo date('H:i:s') , " Write to OpenDocumentText format" , EOL;
$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'ODText');
$objWriter->save(str_replace('.php', '.odt', __FILE__));
echo date('H:i:s') , " Write to RTF format" , EOL;
$objWriter = PHPWord_IOFactory::createWriter($PHPWord, 'RTF');
$objWriter->save(str_replace('.php', '.rtf', __FILE__));

// Echo memory peak usage
echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL;
// Echo done
echo date('H:i:s') , " Done writing file" , EOL;
?>

此致,Ahsan

PHPWord0.8为读取DOCX提供了基本支持。请参阅此处的代码示例。

https://github.com/PHPOffice/PHPWord/blob/develop/composer.json

你需要src文件夹,否则它不起作用。你可以从复制src文件夹https://github.com/PHPOffice/PHPWord/tree/develop/src.

<?php
try
{
    require 'vendor/autoload.php';
    $name = basename(__FILE__, '.php');
    $name="file-name";
    $source = __DIR__ . "/{$name}.docx";
    $phpWord = 'PhpOffice'PhpWord'IOFactory::load($source);
    // Adding an empty Section to the document...
    $section = $phpWord->addSection();
    // Adding Text element to the Section having font styled by default...
    $section->addText($data);
    $name=basename(__FILE__, '.php');
    $source = __DIR__ . "/results/{$name}.html";
    // Saving the document as HTML file...
    $objWriter = 'PhpOffice'PhpWord'IOFactory::createWriter($phpWord, 'HTML');
    $objWriter->save($source);

}catch(Exception $e)
{
    echo $e->getLine();
    echo "<br>/";
    echo $e->getMessage();
    echo "<br/>";
    echo $e->getFile();
    exit;
}
echo "Generated successfully";