2010-08-06 11 views
10

Esiste un kit di sviluppo/lib (scritto in c o C++) per scrivere file docx? Microsoft ha un kit di sviluppo, ma è scritto in C#.Esiste un kit di sviluppo/lib (scritto in c o C++) per scrivere file docx?

+0

Un file docx è solo un ZIP di un albero di cartelle contenente file XML. Non può essere così difficile da gestire, giusto? Suppongo che tu abbia bisogno solo di alcuni file XML per far sì che Word lo apra. Molti di questi forniscono metadati e supportano funzionalità avanzate. – RBerteig

+0

Sì, è quello che probabilmente finirò per fare. Speravo solo di riuscire a trovare una libreria completa (non via automazione) che potesse farcela per me ... – Kevin

+0

risponde qui sotto? –

risposta

0

Non un kit, ma è possibile provare la classe di automazione di Word, che potrebbe funzionare anche per Word 2007/2010. Dettagli su this answer.

1

Non conosco la risposta direttamente ma se non riesci a trovarne uno, puoi semplicemente scrivere un oggetto com gestito in C# che espone ciò che ti serve e quindi chiamare CoCreateInstance per accedere alla libreria dei tipi da c o C++?

1

Data la complessità dello schema XML dietro OOXML (il formato di file XML Open Office dietro i file .docx), è possibile prendere in considerazione l'utilizzo di uno strumento per creare un foglio di stile XSLT in grado di generare l'XML di output richiesto. Quindi utilizzare uno dei motori XSLT basati su C (XT o Xalan-c dalla memoria) per eseguire le trasformazioni prima di comprimerle.

Altova's Stylevision sembra avere un buon supporto per la creazione dei fogli di stile ma non l'ho usato da solo. Potrebbe meritare un'occhiata.

Altova StyleVision's Word XSLT support

0

Credo Microsoft intende a fare una delle seguenti cose:

1) Avere l'output strumento/manipolare file RTF, che possono poi essere letti in per Word 2007.

2) Richiama programmaticamente Word per creare il documento stesso, utilizzando la sua API di automazione.

Non penso che il formato del file stesso sia qualcosa a cui generalmente espone l'API.

Problemi correlati