Этот плагин будет обрабатывать загруженный файл .docx, извлекая все содержимое в виде сообщения.*
Я думаю вы можете использовать PHPWord для извлечения содержимого файлов .docx.
(вероятно, следует упомянуть, что файлы .docxпросто .zip файлы с определенной структурой; Open Office XML )
Однако, похоже, он больше предназначен для записи файлов .docx, а не для чтения.
Существуеткласс PHPWord_Template
, содержащий это в __construct
:
$this->_objZip = new ZipArchive();
$this->_objZip->open($this->_tempFileName);
$this->_documentXML = $this->_objZip->getFromName('word/document.xml');
, который возвращает XML-документ, подобный следующему:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml">
<w:body>
<w:p w:rsidR="005B1098" w:rsidRDefault="005B1098"/>
<w:p w:rsidR="005B1098" w:rsidRDefault="005B1098">
...
<w:r w:rsidRPr="00F15611">
<w:rPr>
<w:rFonts w:ascii="Calibri" w:hAnsi="Calibri" w:cs="Calibri"/>
<w:lang w:val="en-GB"/>
</w:rPr>
<w:t xml:space="preserve">The following table contains a few values that can be edited by the PHPWord_Template class.</w:t>
</w:r>
...
</w:body>
</w:document>
, в котором есть текст документа.
Похоже, что при использовании этого метода будет много работы, если вы захотите перенести все форматирование.Намного больше работы, чем копирование и вставка в текстовое поле.