【问题标题】:How can I read a Doc file with PhpWord?如何使用 PhpWord 读取 Doc 文件?
【发布时间】:2013-12-12 21:53:31
【问题描述】:

最近我下载了我从 github 下载的 php word,但我不知道如何通过这个来读取 word 文件? 这个库没有帮助。我看到了一个与 php excel b 相同的文件,但不知道如何使用。下面的文件: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;
?>

问候,阿桑

【问题讨论】:

  • PHPWord 除了基本模板还没有任何阅读能力
  • hmm Ohk 你知道怎么读word文件吗?和你的 phpexcel 阅读器脚本一样。
  • 我想在我的网络上使用 word 文件阅读器
  • 直到我有时间为 PHPWord 编写 Readers 以读取 doc 和 docx 文件时,我才会这样做,这将花费大量时间来处理 MS 文件规范
  • 哦,你最近的作品也很好,我看到非常好..(Y)谢谢你的回答再见:-)

标签: php phpword


【解决方案1】:

PHPWord 0.8 提供了阅读 DOCX 的基本支持。 See the code sample here.

【讨论】:

    【解决方案2】:

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

    你需要src文件夹,否则它不起作用。你可以从https://github.com/PHPOffice/PHPWord/tree/develop/src复制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";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      • 2016-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-06
      • 1970-01-01
      相关资源
      最近更新 更多