извлечь файл документа из WYSIWYG - PullRequest
0 голосов
/ 29 декабря 2010

На прошлой неделе, когда я работал над WYSIWYG - cKeditor. у меня возник вопрос Есть ли способ извлечь или вытащить содержимое doc или docx файла в текстовую область blogger или wordpress. Например, нам не нужно выделять и копировать текст или изображения из файла doc (x). Все, что нам нужно сделать, это передать файл в WYSIWYG, и содержимое файла doc (x) будет вставлено в сообщение.

Любое предложение будет оценено. Спасибо Фаваз

1 Ответ

1 голос
/ 29 декабря 2010

Редактировать: Или, альтернативно, см. этот плагин .

Этот плагин будет обрабатывать загруженный файл .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>

, в котором есть текст документа.

Похоже, что при использовании этого метода будет много работы, если вы захотите перенести все форматирование.Намного больше работы, чем копирование и вставка в текстовое поле.

...