2008-10-31 12 views
10

Quelqu'un at-il trouvé une bonne classe, ou un autre fichier qui va convertir un fichier. Doc en HTML ou quelque chose que je peux lire et transformer en HTML?Convertir .doc en html en php

J'ai regardé autour pendant quelques heures maintenant et ai seulement trouvé ceux qui ont besoin de msword sur le serveur afin de convertir le dossier. Je suis assez sûr que ce n'est pas une option mais je n'ai pas vraiment parlé à mon fournisseur d'hébergement à ce sujet.

L'objectif est que l'utilisateur puisse télécharger le fichier sur mon serveur et que le serveur gère la conversion, puis l'affiche en tant que html, un peu comme la fonction Google en mode html.

Répondre

0

Installer bureau ouvert sur votre système et exécuter sur la ligne de commande:

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

+0

merci Anthony, mais je n'ai trouvé aucune documentation à ce sujet. pourriez-vous fournir une référence? – Alexar

6

intall et utiliser AbiWord, comme ceci:

AbiWord --to=html archivo.doc 

vous pouvez appeler cette commande à partir php.

+0

puis-je l'utiliser avec mon serveur web pour une conversion rapide? –

+1

@Papa_Jay oui, vous pouvez (je l'ai utilisé il ya plusieurs années dans un plugin joomla ...) – CronosNull

+0

Très bien, merci l'homme. –

0

Ce PHP télécharge votre fichier * .DOC dans un dossier de téléchargement et l'ouvre 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

désolé mais votre fonction produit quelque chose pas lisible: "
Gino/1Af3TI \t SWY
5Ng2yyu1UIJCC o5uGGg1vQesK, Vq5toYon8oOcwt6_j-YCT/_z ...." –

+0

et il donné juste le texte plan peut nous obtenir avec le formatage? –

Questions connexes