Управление документами word (doc, docx и т. Д.) В linux с помощью php или ruby - PullRequest
1 голос
/ 03 сентября 2011

У меня есть пользователи, загружающие текстовые документы на мою веб-страницу. Мне нужно открыть эти документы, отобразить их в формате html и позволить пользователю загрузить манипулированную версию.

Мой веб-сервер позволяет мне использовать PHP и Rails. Таким образом, решение на любом языке будет приемлемым.

В моем исследовании я обнаружил множество других постов, таких как LiveDocx, которые, кажется, больше ориентированы только на создание текстовых документов с известными шаблонами. И Java POI, который не поддерживается моим веб-сервером. Я также нашел информацию о docx, так что я могу просто распаковать ее и настроить xml-файлы - это было бы здорово, за исключением того, что я хотел бы принять больше расширений, чем один docx.

Это моя последняя попытка найти другое решение этой проблемы. Какие-либо предложения? Должен ли я просто перейти на сервер Windows? (даже с сервером Windows, я могу делать то, что хочу?)

Ответы [ 2 ]

4 голосов
/ 03 сентября 2011

Вы не говорите, какие виды манипуляций вам нужно применить, и не можете ли вы установить что-то новое на сервер, но если вы можете, вы можете установить OpenOffice (или Libreoffice, как указано @Rok) и получить к нему доступ из Ваш скрипт через командную строку.

OoO может конвертировать все виды офисных форматов, включая прошлые и текущие офисные форматы Microsoft, PDF и HTML, и я считаю, что это лучший инструмент для такой работы.

Вы можете отобразить документы в преобразованном представлении HTML или, если это не сработает (я полагаю, это нарушит лот внутри сложных документов, если оно вообще работает!), PDF, встроенный в iframe, который должен быть таким же.

Эта запись на форуме OpenOffice.org предоставляет некоторые отправные точки.

Редактировать: Если вы не можете установить какое-либо программное обеспечение, существуют сторонние веб-службы, которые выполняют преобразования, в основном за плату. Здесь является примером.

0 голосов
/ 03 сентября 2011

Я бы сделал это так:

  1. Установите libreoffice на сервере
  2. Вызовите сценарии libreoffice python с помощью php или ruby ​​

И donне переключайтесь на окна, это не облегчит проблему.

...