Я хочу иметь возможность загрузить документ MS Word и экспортировать его на моем сайте.
Есть ли способ сделать это?
//FUNCTION :: read a docx file and return the string function readDocx($filePath) { // Create new ZIP archive $zip = new ZipArchive; $dataFile = 'word/document.xml'; // Open received archive file if (true === $zip->open($filePath)) { // If done, search for the data file in the archive if (($index = $zip->locateName($dataFile)) !== false) { // If found, read it to the string $data = $zip->getFromIndex($index); // Close archive file $zip->close(); // Load XML from a string // Skip errors and warnings $xml = DOMDocument::loadXML($data, LIBXML_NOENT | LIBXML_XINCLUDE | LIBXML_NOERROR | LIBXML_NOWARNING); // Return data without XML formatting tags $contents = explode('\n',strip_tags($xml->saveXML())); $text = ''; foreach($contents as $i=>$content) { $text .= $contents[$i]; } return $text; } $zip->close(); } // In case of failure return empty string return ""; }
ZipArchive и DOMDocument находятся внутри PHP, поэтому вам не нужно устанавливать / включать / требовать дополнительные библиотеки.
Можно использовать PHPDocX .
Он поддерживает практически все стили CSS CSS. Кроме того, вы можете использовать шаблоны для добавления дополнительного форматирования в свой HTML через replaceTemplateVariableByHTML
.
HTML-методы PHPDocX также позволяют прямо использовать стили Word. Вы можете использовать что-то вроде этого:
$docx->embedHTML($myHTML, array('tableStyle' => 'MediumGrid3-accent5PHPDOCX'));
Если вы хотите, чтобы все ваши таблицы использовались в стиле Word среды MediumGrid3-accent5. Метод embedHTML, а также его версия для шаблонов ( replaceTemplateVariableByHTML
) сохраняют наследование, а это значит, что вы можете использовать предопределенный стиль Word и переопределить с CSS любые его свойства.
Вы также можете извлечь выбранные части своего HTML с помощью селекторов типа JQuery.
это может быть полезно для вас. Как конвертировать Docx в HTML
Вы можете конвертировать документы Word docx в html с помощью библиотеки Print2flash. Вот фрагмент PHP с сайта моего клиента, который конвертирует документ в html:
include("const.php"); $p2fServ = new COM("Print2Flash4.Server2"); $p2fServ->DefaultProfile->DocumentType=HTML5; $p2fServ->ConvertFile($wordfile,$htmlFile);
вinclude("const.php"); $p2fServ = new COM("Print2Flash4.Server2"); $p2fServ->DefaultProfile->DocumentType=HTML5; $p2fServ->ConvertFile($wordfile,$htmlFile);
Он преобразует документ, путь которого указан в переменной $ wordfile в файл страницы html, указанный переменной $ htmlFile. Все форматирование, гиперссылки и диаграммы сохраняются. Вы можете получить требуемый файл const.php в целом с более полным образцом из Print2flash SDK .
Если вы не откажетесь от REST API, вы можете использовать:
Пример кода для RawText:
$result = $rawText -> parse($your_file)