Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Вскрытие DOC


Автор: Snusmumrick 29.2.2012, 14:58
Доброго времени суток!

У меня такая задача - написать скрипт, распознающий doc-файлы (2003 года) и выводящий их. Нужно, чтобы кроме текста распознавались абзацы, ссылки и (очень желательно) изображения. С абзацами и ссылками проблем не возникло, а вот с изображениями и заголовками непонятки...
На одном сайте нашла, что нужно вставить такие строки:

Код

    // заменяем внедренные объекты:
    $text = preg_replace("/HYPER13 *INCLUDEPICTURE *\"(.*)\".*HYPER14(.*)HYPER15/iU", "<img src=\"\\1\" border=0 />", $text);     //это изображение
    $text = preg_replace("/HYPER13 *HYPERLINK *\"(.*)\".*HYPER14(.*)HYPER15/iU", "<a href=\"\\1\">\\2</a>", $text);     //это ссылка



И вот для ссылок оно работает, а изображения вообще не видит. На другом сайте писали, что только через смещения и потоки, как и текст. Читала документацию по формату - безуспешно. Не могу понять, откуда считывать данные. Вроде написано, что из потока DataStream, но вот смещение не указано... (или я проглядела).

Помогите пожалуйста!!!

Автор: vfz4z 16.3.2012, 16:11
разбирать doc регулярками это конечно круто) Лично я использовал http://phpword.codeplex.com/ правда для создания... Рекомендую использовать уже готовые классы. 
Так-же можно использовать COM объект офиса, но могут быть траблы из-за nix хостига... Что-то типа такго:
Код

$word = new COM("word.application") or die("Unable to instanciate Word");
$word->Documents->Open("file.doc");

Я сейчас не помню конкретных названий классов, но их множество и выдернуть картинки из офиса с ними дело 3 строчек) 

ЗЫ без обид, но с профи ты погорячилась)) гугль в помошники)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)