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


Автор: Shark 11.4.2009, 15:28
и ещ неболшая проблемка.
есть документ тут.doc
есть функция, которая отображает текстовой файл readfile, но она, так же как и fopen, отображает фйы формата txt, а как вывести в браузер файл формата doc?? а то я вижу одни квадратики 
При отображении файла формата doc, нужно сохранить его форматирование

Автор: enof 11.4.2009, 15:38
Цитата(Shark @  11.4.2009,  16:28 Найти цитируемый пост)
отображает фйы формата txt

бред.
Первая ссылка от гугля:
http://davidwalsh.name/read-pdf-doc-file-php

Автор: Shark 11.4.2009, 15:47
Код

$content = shell_exec('/usr/local/bin/antiword '.$filename);


это я смотрел... он мне сразу WORD открывает, а мне надо чтоб в браузере отображался текст

Автор: SureGOOD 11.4.2009, 16:10
Shark, почитай про file_get_contents

Автор: enof 11.4.2009, 16:37
Цитата(SureGOOD @  11.4.2009,  17:10 Найти цитируемый пост)
Shark, почитай про file_get_contents 

и что дальше?
Shark, Выводите в xml, pdf, txt и потом разбирайте.

Автор: ksnk 11.4.2009, 16:48
Shark, Вообще говоря - никак. Проще забить на задачу. Энергетически выгоднее отдавать юзеру то, что положили...

однако, если надо, то можно пофантазировать.

Потенциально, open office умеет открывать документы Ворда и мог бы при желании сохранить их хоть в HTML'е. То есть, осталось только обнаружить на сайте установленный openoffice, поковырявшись в документации нарыть способ выполнить конвертацию в командной строке, вставить выполнение этой самой команды в интересующее место...

Тут , правда, всплывет тот факт, что совместимость openoffice с Вордом довольно дутая, но другой альтернативы - нет  smile 

Автор: Shark 11.4.2009, 16:54
уверены, что никак?

а если этот текст из Word'a
скопировать в БД и потом возспользовавшись регулярками сохранить форматирование? (т.е. отступы, пробелы и тд.) или то тоже невозможно?
если возможно то как?

Автор: skyboy 11.4.2009, 17:16
Цитата(Shark @  11.4.2009,  15:54 Найти цитируемый пост)
уверены, что никак?

как, как.
но, опять же, куча ньюансов и масса потраченного времени.
базирующийся на XML формат docx - запакованный в zip документ формата http://ru.wikipedia.org/wiki/Microsoft_Office_Open_XML. соответственно, покопавшись в "более 7000 страниц стандарта" можно написать парсер(хоть и на РНР), который будет выдирать текст с форматированием или без.
Но.
1. надо изучить внушительного объема стандарт. при том, что в той же википедии написано, что DOCX-формат не полностью соответствует собственному же формате office openXML, рациональность сего сомнительна.
2. надо учесть кучу ньюансов, вплоть до возможности вставки бинарных данных в этот самый DOCX.
3. все это надо делать самостоятельно(по крайней мере, беглый поиск готовых РНР-библиотек не выявил).
Сделать-то можно, но вот только если google есть резон делать конвертер из любого офисного формата в HTML для отображения в результатах поиска, то компаниям помельче  smile стОит задуматься: а стоит ли овчинка выделки?

Добавлено через 2 минуты и 1 секунду
Цитата(Shark @  11.4.2009,  15:54 Найти цитируемый пост)
если этот текст из Word'a
скопировать в БД и потом возспользовавшись регулярками сохранить форматирование

ты так говоришь, будто это избавит от необходимости поиска и изучения тонн спецификаций(насколько я помню, формат Word до версии 2007 и openXML был закрытым и спеков по нему найти будет очень сложно, разве нет?)

Автор: Shark 11.4.2009, 17:21
это договор однойкомпании, они хотят, чтоб пользователь мог его сначала прочитать (вывести в браузер с схранение форматрования) и при желании скачать.
на колько мне известно формат DOCX это формат Word'овского документа офиса 2007

я не хочу использовать popen и/или shell_exec, т.к. при них открывается сразу этот документ уже через программу.. не выводя в браузере

Добавлено через 9 минут и 44 секунды
я сделаю по другому... 
воспользуюсь JS где просто будет задан вопрос, проитать договор или скачать... тем, самым проблема решиться

Автор: ksnk 11.4.2009, 17:38
Цитата

если google есть резон делать конвертер из любого офисного формата в HTML 

Кстати, imho, они это делают именно openoffice, так как документы, которые не открываются OO, не показываются и в Гугле и наоборот. Так что повторять подвиг OO вГугле не собираются smile

Автор: skyboy 11.4.2009, 18:05
Цитата(Shark @  11.4.2009,  16:21 Найти цитируемый пост)
чтоб пользователь мог его сначала прочитать (вывести в браузер с схранение форматрования) и при желании скачать.

дык, открыть в Word'e, выделить текст и вставить в сайт через какой-нибудь WYSIWYG-редактор(например, TinyMCE). или договор меняется каждый полчаса и конвертирование в HTML есть резон автоматизировать?

Автор: Photon 14.4.2009, 10:30
А не проще сделать два разных файла? smile  Один - HTML, второй - doc? smile

Автор: Shark 15.4.2009, 15:48
Photon, я так и сделал, и добился того, что мне нужно былоsmile

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