Вытащить текст из файла ms word (doc)

Дата: Январь 24th, 2013 Автор: tuder

Возникла такая нужда. Автоматически выложить на сайте страницу с текстом, который даётся только в формате MS Office Word.
Файл загружается на сайт, после чего должен быть обработан. Поиск в интернете нашёл прекрасный скрипт на php для выдирания текста из DOC. А заодно из DOCX и ODT. Ну и ещё из RTF.

Попутно из других форматов бинарных файлов: PDF, PPT...

Без проблем получилось вытащить из doc текст. Но только вот в таком формате:

Анонс

Т.е. на странице-то отображалось нормально,

Анонс

но в исходном коде такой вид не устраивал. Поэтому пришлось немного покопаться в исходном скрипте doc.php и изменить там строчку, добавив кодировку (поддерживается с PHP 4.3.0):

$out .= html_entity_decode("&#x".sprintf("%04x", $this->getShort(0, $cd)).";",ENT_NOQUOTES,"UTF-8");

При этом в cfb.php пришлось ещё изменить "protected" на "private" в строке:

  protected function unicode_to_utf8($in, $check = false) {

иначе выдавалась ошибка:

 Fatal error: Access level to doc::unicode_to_utf8() must be protected (as in class cfb)

Теги: , , ,
Рубрика: Новости |






Показать комментарии