Pregunta

¿Cómo haría usted para la lectura de archivos odt en PHP? Sé que usted puede utilizar QueryPath, pero que parece un poco de una exageración, .. sólo quiero leer el archivo.

¿Fue útil?

Solución

xml ODT, los archivos son comprimidos ZIP.

Si todo lo que necesita hacer es leer el archivo en bruto. Sólo descomprimir y leerlo como un archivo normal.

Si necesita analizar fuera de texto utilizable, a continuación, entra en la necesidad de QueryPath o algún otro analizador XSLT.

Otros consejos

OpenTBS es capaz de leer y modificar archivos OpenDocument en PHP.

Dado que los archivos OpenDocument se almacenan los archivos XML en un archivo zip, también se puede utilizar el TbsZip clase para simplemente leer un archivo zip bajo PHP sin ninguna otra dependencia de la biblioteca.

http://pear.php.net/package/OpenDocument puede ser lo que necesita . no han utilizado yo mismo, sin embargo.

/*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);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top