Кто-нибудь нашел хороший класс или другой файл, который преобразует файл .doc в html или что-то, что я могу прочитать и превратить в html?
Я искал пару часов и нашел только те, которые требуют msword на сервере для преобразования файла. Я почти уверен, что это не вариант, но я на самом деле не говорил об этом со своим хостинг-провайдером.
Цель состоит в том, чтобы пользователь мог загрузить файл на мой сервер, а сервер обрабатывал преобразование, а затем отображал его как html, так же, как просмотр googles как функция html.






Проект под названием phpLiveDocx делает то, что вы хотите. Это сервис на основе SOAP, но его можно использовать бесплатно. Для базового введения см.: http://www.phplivedocx.org/articles/brief-introduction-to-phplivedocx/
Установите open office в вашей системе и запустите его в командной строке:
/ usr / bin / soffice -headless "макрос: ///Standard.Convert.SaveAsHtml (test.doc)"
установите и используйте abiword, например:
AbiWord --to=html archivo.doc
вы можете вызвать эту команду из php.
Могу ли я использовать его вместе с моим веб-сервером для быстрого преобразования?
@Papa_Jay да, можно (я использовал его несколько лет назад в плагине joomla ...)
Хорошо, спасибо, чувак.
Возникли проблемы с некоторыми файлами документов. Решение не на 100%.
Вы можете сделать это через 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>";
}
?>
извините, но ваша функция выдает что-то нечитаемое: "<br> Gino / 1Af3TI SWY <br> 5Ng2yyu1UIJCC o5uGGg1vQesK, Vq5toYon8oOcwt6_j-yct / _z ...."
и будет ли дан только план текста, можем ли мы получить с форматированием?
спасибо Энтони, но я не смог найти никакой документации по этому поводу. не могли бы вы дать ссылку?