Manipulando documentos do MS Office no Linux sem acesso root

0

Eu tenho uma conta de hospedagem Linux com Godaddy (Centos 5.5), e estou desenvolvendo um aplicativo para processar documentos de usuários do MS Office.

Eu encontrei soluções como antiword, unoconv, catdoc, Apach POI / tika que podem ler documentos do Office a partir da linha de comando.

O problema é que eu não tenho acesso root para instalar qualquer um desses pacotes, e o POI / tike requer que o Java seja instalado, o que também não é o caso aqui. Eu não posso usar yum ou apt-get ou mesmo RPM ou make. Eu posso usar python easy_install embora.

Então, minha pergunta é:

  • Você conhece alguma biblioteca Python ou Perl que possa ler documentos do MS Office sem a necessidade de instalar mais alguma coisa?

  • Você conhece algum pacote do Linux que possa ser usado para lidar com documentos do MS Office sem instalação?

  • Existe uma maneira de instalar manualmente um pacote localmente sem o yum ou apt-get ou RPM ou fazer?

  • É possível instalar o yum ou apt-get localmente em uma pasta que eu tenha permissão para usar?

por hmghaly 15.01.2013 / 16:03

2 respostas

0

Você não pode instalar pacotes (apt, yum, etc são gerenciadores de pacotes) porque você não tem root. Você pode, no entanto, compilar e construir seus próprios binários, que podem viver em sua conta de usuário (em ~ / bin, talvez).

Os detalhes exatos variam por pacote, mas basicamente você vai querer:

  • Fonte de download
  • descompactar a origem
  • configura o pacote (geralmente './configure' na árvore de fontes do pacote)
  • compila o pacote (normalmente 'make')
  • install (normalmente 'make install')

Dependendo do pacote, você pode especificar locais de instalação durante a configuração ou, talvez, como uma variável na linha de comando 'make install'. Como exemplo, peguei o tarball de origem do Antiword do Linux no link e dei uma olhada.

Ele não parece ter uma etapa de configuração, mas tem dois destinos de instalação diferentes, e o 'make install' fará uma instalação 'local' (isto é, apenas para o usuário que está fazendo a instalação). Isso não exigiria acesso root.

Isso pode ser um pouco doloroso no pescoço por causa das diferenças em como essas coisas são feitas para diferentes projetos, mas no final você terá tudo o que precisa sem ter raiz.

EDITAR PARA ADICIONAR: Se você não tem as ferramentas básicas de compilação no sistema (make, gcc, etc), então este será um grande problema a ser realizado. Nesse ponto, sua única maneira de fazer isso sozinho é tentar extrair os binários de outro sistema que você controla, mas que poderia ser muito difícil.

Em vez disso, eu começaria a perguntar se esse é o plano de hospedagem certo para você. Você precisa fazer coisas para as quais o provedor obviamente não fez provisão. Se você não conseguir adicionar pacotes, sugiro que encontre um novo provedor que lhe dê um pouco mais de flexibilidade.

    
por 15.01.2013 / 19:08
1

Existem módulos Perl que podem ler arquivos do Excel. Dê uma olhada nestes:

Não conheço nenhum módulo que possa criar arquivos .doc no Linux. Você pode, no entanto, criar documentos do Open / Libre Office com o OpenOffice :: OOBuilder . Escritórios de MS atuais lerão estes, mas eles não são os mesmos.

Para saber como instalar módulos Perl sem raiz, veja estas perguntas:

por 15.01.2013 / 18:27