Domanda

Quali soluzioni ci sono? Conosco solo soluzioni per sostituire i file dei segnalibri in Word (.doc) con PDI di Apache?

Esistono anche possibilità di modificare immagini, layout, stili di testo nei documenti .doc e .ppt?

Penso alla sostituzione di aree nei documenti Word e PowerPoint per l'elaborazione in blocco.

Piattaforma: MS-Office 2003

È stato utile?

Soluzione

Quali sono i limiti della tua piattaforma?

Ovviamente PDI di Apache ti porterà almeno in parte lì.

Le API COM di Microsoft sono abbastanza potenti e sono documentate qui . Consiglierei di usarli se a) non si esegue in un ambiente server (molti utenti, multithread); b) è possibile avere una versione corretta di powerpoint installata sulla macchina di produzione; e c) è possibile codificare su un modello a oggetti COM.

Altri suggerimenti

È un po 'caro, ma Aspose.Slides è una libreria molto potente per manipolare i file di PowerPoint

Se includi l'utilizzo di altre tute Office come opzione, ecco un elenco di possibili soluzioni:

Utilizzando PDI non è possibile modificare il formato di file .pptx, ma non si dipende dalle app installate sul sistema. Altre due opzioni, al contrario, fanno uso di altre app, ma sono decisamente migliori per gestire le presentazioni. A proposito, OpenOffice ha una migliore compatibilità con i formati precedenti. Inoltre, se usi UNO, avrai una grande scelta di lingue, UNO esiste per Java, C ++, Python e altre lingue.

La mia esperienza non è direttamente con Power Point, ma in realtà ho lanciato il mio generatore WordML (XML). A) ha rimosso tutte le dipendenze da Word, b) è stato molto veloce c) e mi ha permesso di creare documenti da zero.

Ma è stato molto lavoro da creare. E stavo solo creando un'implementazione di sola scrittura.

Non ho familiarità con Power Point, quindi si tratta di congetture, ma potresti essere in grado di farlo da solo leggendo XML (Power Point 2003 ??) e / o rompendo il file Office Open XML (zippato XML) , quindi utilizzando XPath per manipolare i dati e quindi salvare di nuovo tutto sul disco.

Tuttavia, questo non funziona con i file Power Point basati su documenti composti OLE precedenti.

Ho già fatto qualcosa del genere prima: accesso programmato e manipolazione di presentazioni PowerPoint. Quando l'ho fatto, era tutto in C ++ usando COM, ma principi simili si applicano alle app .NET C # / VB, poiché interagiscono COM molto facilmente.

Quello che stai cercando si chiama Office Document Model. Fondamentalmente, le applicazioni di Office espongono i loro documenti a livello di codice, come alberi di oggetti che ne definiscono il contenuto. Questi oggetti sono accessibili tramite un'API e puoi manipolarli, aggiungerne di nuovi ed eseguire qualsiasi altra elaborazione tu voglia. È estremamente potente; puoi usarlo per manipolare praticamente tutti gli aspetti di un documento. Ma avrai bisogno di un'installazione di Office e Visual Studio per poterlo usare.

Alcuni link:

Spero che questo aiuti!

Apparentemente i nuovi utenti possono includere solo un link per pubblicazione. Che zoppo! :)

Ecco l'altro link che intendevo includere:

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top