Pergunta

Que soluções existem? Sei apenas soluções para a substituição de Bookmarks em arquivos do Word (.doc) com Apache POI?

Há também possibilidades para imagens mudança, layouts, texto-estilos em .doc e .ppt documentos?

Eu penso sobre substituição de áreas em documentos do Word e PowerPoint para processamento em massa.

Plataforma: MS-Office 2003

Foi útil?

Solução

Quais são as suas limitações da plataforma?

Apache POI vai chegar pelo menos parte do caminho até lá.

próprios da COM API da Microsoft são bastante poderosos e estão documentadas aqui . Eu recomendaria usá-los se a) você não está rodando em um servidor (muitos usuários, multithreaded) ambiente; b) você pode ter uma versão adequada do PowerPoint instalado na máquina de produção; e c) você pode codificar contra um modelo de objeto COM.

Outras dicas

É um pouco caro, mas Aspose.Slides é uma biblioteca muito poderosa para manipular arquivos de PowerPoint

Se você incluir o uso de outros processos de escritório como uma opção, aqui está uma lista de soluções possíveis:

Usando POI você não pode editar .pptx formato de arquivo, mas você não dependem dos aplicativos instalados no sistema. Outras duas opções, pelo contrário, fazer uso de outros aplicativos, mas eles estão definitivamente melhor para lidar com apresentações. OpenOffice tem melhor compability com formatos mais antigos, pelo caminho. Além disso, se você usar UNO, você terá uma grande variedade de línguas, existe UNO para Java, C ++, Python e outras linguagens.

A minha experiência não é diretamente com Power Point, mas eu realmente rolou meu próprio gerador WordML (XML). É a) removeu todas as dependências no Word, b) foi muito rápido c) e deixe-me construir documentos a partir do zero.

Mas era um monte de trabalho a criar. E eu só estava criando uma gravação única implementação.

Eu não sou tão familiarizado com Power Point, então isso é conjectura, mas você pode ser capaz de lançar seu próprio através da leitura XML (Power Point 2003 ??) e / ou fissuras, o arquivo XML Office Open XML (zipado) , em seguida, usando XPath para manipular os dados, e em seguida, salvando tudo de volta para o disco.

Isso não vai funcionar em mais velho OLE Composto documento baseado arquivos Power Point embora.

Eu fiz algo assim antes: apresentações em PowerPoint programaticamente acessados ??e manipulados. Voltar quando eu fiz isso, foi tudo em C ++ usando COM, mas princípios semelhantes aplicam-se a C # / VB .NET aplicativos, uma vez que eles fazem interoperabilidade com muita facilidade.

O que você está procurando é chamado o Modelo Documento do Office. Basicamente, as aplicações do Office expor seus documentos de programação, como árvores de objetos que definem o seu conteúdo. Esses objetos são acessíveis através de uma API, e você pode manipulá-los, adicionar novos, e fazer o outro processamento que quiser. É extremamente poderoso; você pode usá-lo para manipular praticamente todos os aspectos de um documento. Mas você vai precisar de uma instalação do Office e Visual Studio para ser capaz de usá-lo.

Alguns links:

Espero que isso ajude!

Aparentemente, os novos usuários podem incluir apenas um link por postagem. Como coxo! :)

Aqui está outro link que significa incluir:

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top