Domanda
Sto cercando di unire due docx-documenti in un unico docx-documento utilizzando OpenXML SDK 2.0. I documenti devono essere uniti senza perdere il loro stile e personalizzati intestazioni e piè di pagina. Spero di poter raggiungere questo obiettivo utilizzando AltChunk
e un'interruzione di sezione. Ma non riesco a farlo funzionare.
E 'possibile quello che sto cercando di fare? Qualcuno può darmi un suggerimento come raggiungere questo obiettivo?
Soluzione 2
Uso della 'Open XML Produttività Tool' ho analizzato la struttura di un DOCX-documenti, e ha concluso che la fusione di documenti con il loro stile, intestazioni, piè di pagina, ... non è possibile, fuori dalla scatola usando Altchunk
. È possibile scaricare lo strumento in modo esclusivo dalla Open XML SDK .
Quello che sto facendo ora, e ciò che sta lavorando, è la copia di tutto manualmente in per documentare, facendo in modo che tutti i riferimenti di stile, Intestazione riferimenti, piè di pagina riferimenti, ... sono conservati. Questo vuol dire che io do loro un nuovo ID univoco prima che io li copio nel documento e cambiare tutti i riferimenti dal vecchio al nuovo id id. C'è un sacco di codice per fare questo, ma lo strumento di cui sopra veramente aiutato.
Aggiunta di un'interruzione di sezione è anche abbastanza difficile. Si deve sapere che il SectionProperties -tag descrive tutte le proprietà della sezione e che non ci può essere una SectionProperties
-tag sotto il Body
-tag, che descrive le proprietà dell'ultimo tratto. Così l'aggiunta di una nuova sectionbreak, significa copiare l'ultimo SectionProperties
-tag per l'ultimo paragrafo della sezione e l'aggiunta di un nuovo SectionProperties
-tag sotto il Body
-tag. Ho anche avuto al sacco di informazioni dal strumento di produttività.
Altri suggerimenti
La risposta di cui sopra non è corretto a tutti! Questo è esattamente ciò AltChunk è stato progettato per fare, e funziona benissimo!
Nota: che i documenti non saranno fusi in un unico documento finché Word apre il file per la prima volta (., Ovviamente, il file deve essere salvato o il file sul disco non verrà aggiornato)
Vedere questo blog per ulteriori informazioni su come farlo correttamente: https://blogs.msdn.com/b/ericwhite/archive/2008/10/27/how-to-use-altchunk-for-document-assembly.aspx?Redirected=true
P.S. Per quanto riguarda l'esame di Open XML utilizzando lo strumento di produttività, il mio parere è quello di installare solo il Visual Studio Open XML add-on ufficiale e aprire i documenti di Office da Visual Studio per esaminarli, è super conveniente! : -)