Question

Comment voulez-vous aller sur la lecture des fichiers ODT en PHP? Je sais que vous pouvez utiliser QueryPath, mais cela semble un peu d'un surpuissant, .. Je veux juste lire le fichier.

Était-ce utile?

La solution

odt, les fichiers sont compressés zip xml.

Si tout ce que vous devez faire est de lire l'état brut de fichier. Il suffit de dézipper et de le lire comme un fichier normal.

Si vous avez besoin pour analyser en texte utilisable, entre alors la nécessité d'QueryPath ou d'un autre analyseur xslt.

Autres conseils

OpenTBS est capable de lire et de modifier les fichiers OpenDocument en PHP.

Étant donné que les fichiers OpenDocument sont des fichiers XML stockés dans une archive zip, vous pouvez également utiliser le TbsZip classe pour lire simplement une archive zip sous PHP sans autre dépendance bibliothèque.

http://pear.php.net/package/OpenDocument peut-être ce dont vous avez besoin . Je n'ai pas utilisé moi-même, cependant.

/*Name of the document file*/
$document = 'Template.odt';

/**Function to extract text*/
function extracttext($filename) {

    $dataFile = "content.xml";     

    //Create a new ZIP archive object
    $zip = new ZipArchive;

    // Open the archive file
    if (true === $zip->open($filename)) {
        // If successful, search for the data file in the archive
        if (($index = $zip->locateName($dataFile)) !== false) {
            // Index found! Now read it to a string
            $text = $zip->getFromIndex($index);
            // Load XML from a string
            // Ignore errors and warnings
            $xml = new DOMDocument;
            $xml->loadXML($text, LIBXML_NOENT | LIBXML_XINCLUDE | LIBXML_NOERROR | LIBXML_NOWARNING);
            // Return XML
            return $xml->saveXML();
        }
        //Close the archive file
        $zip->close();
    }   
    // In case of failure return a message
    return "File no`enter code here`t found";
}

echo extracttext($document);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top