Lidar com Doc / Docx Templates em um servidor sem cabeçalho para produzir PDFs de preferência sem usar o OpenOffice.org

3

Em um servidor web de produção, eu tenho que produzir letras baseadas em um template que eu tenho no formato binário MS-Word. Eu uso PHP e para a tarefa de pesquisa e substituição eu encontrei PHPWord, que pode lidar com arquivos Docx, então eu converti o modelo para OpenXML na minha estação de trabalho local. Infelizmente a saída também é Docx.

O objetivo é produzir um único PDF para o usuário fazer o download para que possa imprimir um monte de cartas de uma só vez com muita facilidade.

Agora preciso encontrar uma maneira de:

  • Pesquise e substitua texto em um arquivo PDF
  • Converter Docx para PDF sem perda de formatação
  • Edite o modelo do Doc original sem perda de formatação e sem usar COM
  • Converta Docx para Doc sem perda de formatação (o que parece quase impossível para o modelo parece bom na palavra, mas tecnicamente como a formatação é feita é uma grande pilha de ...) para que eu possa convertê-lo usando wvPDF

O que eu não quero usar além do OpenOffice.org são serviços da web. Estou ciente do PHPLiveDocx, mas não quero depender de um serviço externo por motivos de desempenho, disponibilidade e segurança. Também comprar um software não é uma opção neste caso (não pode influenciá-lo).

Executando em um servidor web voltado para o público Eu não quero puxar o OpenOffice.org - nem mesmo sem cabeça, pois ele puxará cerca de 160MB de binários compactados (!) e a melhor prática não é nenhum binário de carregamento que você não < em> realmente precisa de um servidor voltado para o público. Embora seja um último recurso para usar oo.o, quero ter certeza de que descartei quaisquer outras opções que possam ter existido.

O sistema operacional host é o CentOS 5.5.

Onde eu posso ir daqui?

Atenciosamente, luxifer

    
por luxifer 31.01.2011 / 10:16

4 respostas

10

Até onde sei, não há aplicativos que possam fazer isso sem alguma dependência do Libre Office.

No entanto, você não precisa instalar todo o pacote do office ao executar apenas conversões de linha de comando.

Você pode tentar se a ferramenta unoconv atende às suas necessidades. Tem python e python-uno como dependência. O último também instalará o libreoffice-core como uma dependência, mas não a suíte de escritório inteira.

    
por Takkat 31.01.2011 / 13:29
4

O AbiWord irá converter qualquer formato que conheça a partir da linha de comando, incluindo todos aqueles que você mencionou. Por exemplo,. converter odt para pdf:

abiword --to=pdf filename.odt

para converter .docx em .doc:

abiword --to=doc filename.docx

(Se você quiser pesquisá-lo, basta converter para algo baseado em texto puro como HTML ou RTF ou mesmo TXT e procurar lá; converta de volta se for necessário.)

Mas quais são as razões óbvias para não instalar o OpenOffice para que você possa usar suas bibliotecas com, por exemplo, unoconv?

    
por frabjous 31.01.2011 / 18:15
1

Você poderia tentar o exemplo do lado do servidor do AbiWord dado neste link link

    
por Madhava 01.02.2011 / 08:47
0

Experimente o PyODConverter ( veja aqui )

    
por cupakob 31.01.2011 / 10:51