有没有人找到一个好的类,或者其他可以将 .doc 文件转换为 html 或我可以阅读并转换为 html 的文件?
我已经环顾了几个小时,只找到了需要在服务器上使用 msword 才能转换文件的文件。我很确定这不是一个选择,但我实际上并没有与我的托管服务提供商谈过这件事。
目标是让用户能够将文件上传到我的服务器,服务器处理转换,然后将其显示为 html,就像 google 将视图视为 html 功能一样。
安装并使用 abiword,如下所示:
AbiWord --to=html archivo.doc
您可以从 php.ini 调用此命令。
一个名为 phpLiveDocx 的项目可以满足您的需求。它是基于 SOAP 的服务,但可以免费使用。基本介绍见: http ://www.phplivedocx.org/articles/brief-introduction-to-phplivedocx/
在您的系统上安装 open office 并在命令行上运行它:
/usr/bin/soffice -headless "macro:///Standard.Convert.SaveAsHtml(test.doc)"
你可以通过 openoffice 使用 unoconv http://dag.wieers.com/home-made/unoconv/ 非常棒的工具。
此 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>";
}
?>