За последние 24 часа нас посетили 17839 программистов и 1637 роботов. Сейчас ищут 2006 программистов ...

Подскажите библиотеку doc, docx => текст

Тема в разделе "PHP для профи", создана пользователем MadHarper, 29 янв 2018.

  1. MadHarper

    MadHarper Новичок

    С нами с:
    29 янв 2018
    Сообщения:
    1
    Симпатии:
    0
    Все доброго дня. Подскажите библиотеку для конвертации doc (docx) в текст. Понятно, что есть PhpWord, но у неё вроде проблемы с кириллицей.
     
  2. Poznakomlus

    Poznakomlus Активный пользователь

    С нами с:
    12 сен 2014
    Сообщения:
    96
    Симпатии:
    19
    Адрес:
    Киев
    docx представляет собой zip архив
    переименуйте расширение файла вместо docx в zip
    внутри лежат файлы с расширением xml
    document.xml нужный вам текст, это как вариант решения
     
  3. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    https://stackoverflow.com/questions/5540886/extract-text-from-doc-and-docx
    PHP:
    1. <?php
    2. function docx2text($filename) {
    3.    return readZippedXML($filename, "word/document.xml");
    4. }
    5.  
    6. function readZippedXML($archiveFile, $dataFile) {
    7. // Create new ZIP archive
    8. $zip = new ZipArchive;
    9.  
    10. // Open received archive file
    11. if (true === $zip->open($archiveFile)) {
    12.     // If done, search for the data file in the archive
    13.     if (($index = $zip->locateName($dataFile)) !== false) {
    14.         // If found, read it to the string
    15.         $data = $zip->getFromIndex($index);
    16.         // Close archive file
    17.         $zip->close();
    18.         // Load XML from a string
    19.         // Skip errors and warnings
    20.         $xml = new DOMDocument();
    21.     $xml->loadXML($data, LIBXML_NOENT | LIBXML_XINCLUDE | LIBXML_NOERROR | LIBXML_NOWARNING);
    22.         // Return data without XML formatting tags
    23.         return strip_tags($xml->saveXML());
    24.     }
    25.     $zip->close();
    26. }
    27.  
    28. // In case of failure return empty string
    29. return "";
    30. }
    31.  
    32. echo docx2text("1.docx"); // Save this contents to file
     
    denis01 нравится это.