Доступно ли расширение библиотеки для эффективной обработки файлов pptx / docx / xlsx с помощью PHP? На данный момент меня больше интересуют файлы PPTX. благодаря
В соответствии с тем, что я знаю, эти форматы файлов docx, xlsx, pptx являются только zip-файлами. они принадлежат стандарту Office Open XML (OOXML).
В PHP у нас есть эта библиотека для манипулирования этими типами почтовых документов: http://php.net/manual/en/book.zip.php
Вы можете найти всю документацию об этом стандарте ooxml здесь: http://www.ecma-international.org/publications/standards/Ecma-376.htm
Лучший способ проверить структуру этого ooxml-файла – это изменить расширение файла на .zip и извлечь его, чтобы узнать, что внутри.
Если вы не хотите создавать свою собственную библиотеку для обработки файлов ooxml, вы можете обратиться к соответствующему вопросу здесь для получения дополнительной информации: библиотеки PHP OOXML?
Поскольку я прочитал из упомянутого выше связанного вопроса stackoverflow, вы можете использовать phpdocx или несколько другое, называемое PHPWord.
Надеюсь, что это может прояснить некоторые шаги, чтобы помочь вам добиться ваших желаний
Существует не одна библиотека, которая может обрабатывать все три формата, но есть отдельные библиотеки, которые могут читать и / или записывать отдельные форматы.
вот рабочий пример, который может читать только файл docx.
<?php $filename = "file.docx"; // or /var/www/html/file.docx $content = read_file_docx($filename); if($content !== false) { echo nl2br($content); } else { echo 'Couldn\'t the file. Please check that file.'; } function read_file_docx($filename){ $striped_content = ''; $content = ''; if(!$filename || !file_exists($filename)) return false; $zip = zip_open($filename); if (!$zip || is_numeric($zip)) return false; while ($zip_entry = zip_read($zip)) { if (zip_entry_open($zip, $zip_entry) == FALSE) continue; if (zip_entry_name($zip_entry) != "word/document.xml") continue; $content .= zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)); zip_entry_close($zip_entry); }// end while zip_close($zip); //echo $content; //file_put_contents('1.xml', $content); $content = str_replace('</w:r></w:p></w:tc><w:tc>', " ", $content); $content = str_replace('</w:r></w:p>', "\r\n", $content); $striped_content = strip_tags($content); return $striped_content; } ?>
Вы можете создавать документы docx / xlsx / pptx из шаблонов с помощью инструмента OpenTBS PHP.
Версия, находящаяся в разработке, улучшит поддержку XLSX.
Я никогда не использовал те, и их документации не хватает, но вы можете попробовать с .net и COM- библиотеками, если ваш сервер работает на платформе Windows.