2008-10-31 46 views
10

¿Alguien ha encontrado una buena clase u otro archivo que convierta un archivo .doc en html o algo que pueda leer y convertir en html?Convierte .doc a html en php

He estado buscando por un par de horas y solo he encontrado las que requieren msword en el servidor para poder convertir el archivo. Estoy bastante seguro de que no es una opción, pero en realidad no he hablado con mi proveedor de alojamiento al respecto.

El objetivo es que un usuario pueda cargar el archivo en mi servidor y que el servidor maneje la conversión y luego mostrarlo como html, de manera similar a la vista de Google como función html.

Respuesta

0

instalar Office abierto en su sistema y ejecutar esto en la línea de comandos:

/usr/bin/-headless soffice "macro: ///Standard.Convert. SaveAsHtml (test.doc)"

+0

gracias Anthony, pero no pude encontrar ninguna documentación al respecto. ¿podría proporcionar una referencia? – Alexar

6

intall y utilizar abiword, así:

AbiWord --to=html archivo.doc 

puede llamar a este comando desde php.

+0

¿puedo usarlo junto con mi servidor web para una conversión rápida? –

+1

@Papa_Jay sí, puedes (lo usé hace varios años en un plugin de joomla ...) – CronosNull

+0

Muy bien, gracias amigo. –

0

Este PHP carga su archivo * .DOC en una carpeta de carga y lo abre en HTML.

<?php 
function content($file){ 
$data_array = explode(chr(0x0D),fread(fopen($file, "r"), filesize($file))); 
$data_text = ""; 
foreach($data_array as $data_line){ 
if (strpos($data_line, chr(0x00) !== false)||(strlen($data_line)==0)) 
{} else {if(chr(0)) {$data_text .= "<br>"; 
         $data_text .= preg_replace("/[^a-zA-Z0-9\s\,\.\-\n\r\[email protected]\/\_\(\)]/","",$data_line); 
     } 
    }   
} 
return $data_text;} 
$destination = str_replace('index.php', '', $_SERVER['SCRIPT_FILENAME']); 
$destination.= "upload/"; 
$maxsize = 5120000; 
if (isset($_GET['upload'])) { 
     if($_FILES['userfile']['name'] && $_FILES['userfile']['size'] < $maxsize) { 
     if(move_uploaded_file($_FILES['userfile']['tmp_name'], "$destination/".$_FILES['userfile']['name'])){ 
     $file = $destination."/".$_FILES['userfile']['name']; 
     $data = content($file); 
     echo $data; 
     } 
     } 
}else{ 
     echo "<form enctype='multipart/form-data' method='post' action='index.php?upload'> 
      <input name='userfile' type='file'> 
      <input value='Upload' name='submit' type='submit'> 
      </form>"; 
     } 
?> 
+0

lo siento, pero su función produce algo no se puede leer: "
Gino/1Af3TI \t SWY
5Ng2yyu1UIJCC o5uGGg1vQesK, Vq5toYon8oOcwt6_j-YCT/_z ...." –

+0

y será dada sólo planea texto podemos conseguir con el formato? –

Cuestiones relacionadas