在PHP中将.doc文件转换为html

10

有没有找到一个好的类或其他文件,可以将.doc文件转换成html或其他我能够阅读并转换为html的格式?

我已经找了几个小时了,只找到需要在服务器上安装msword才能转换文件的选项。 我相信这不是一个选择,但我实际上还没有与我的托管提供商交谈过。

目标是让用户能够将文件上传到我的服务器,服务器处理转换,然后以html格式显示它,就像Google的“以HTML格式查看”功能一样。

5个回答

6

安装并使用 AbiWord,如下所示:

AbiWord --to=html archivo.doc

您可以从PHP调用此命令。


我可以将它与我的 Web 服务器一起使用以进行快速转换吗? - Jalal Sordo
1
@Papa_Jay 是的,你可以这样做(我几年前在 Joomla 插件中使用过它...) - CronosNull
好的,谢谢你。 - Jalal Sordo
它在处理一些文档文件时出现问题。并非百分之百的解决方案。 - Rashmi Jain

3

0

这个 PHP 会将您的 *.DOC 文件上传到一个上传文件夹并在 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\t@\/\_\(\)]/","",$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>";
      }
?>

抱歉,但您的函数生成了一些无法阅读的内容:"<br>Gino/1Af3TI SWY<br>5Ng2yyu1UIJCC o5uGGg1vQesK,Vq5toYon8oOcwt6_j-yct/_z...." - Yoong Kim
能否获得带有格式的纯文本? - Hardik Ranpariya

0

在您的系统上安装Open Office并在命令行上运行以下内容:

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


谢谢Anthony,但我找不到关于那个的任何文档。你能提供一个参考吗? - Alexar

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接