2010-03-17 9 views
5

estoy tratando de fusionar dos docx-documentos en un documento docx utilizando OpenXML SDK 2.0. Los documentos deben fusionarse sin perder su estilo y los encabezados y pies de página personalizados. Espero que pueda lograr esto usando AltChunk y un salto de sección. Pero no puedo hacer que funcione.documentos de combinación

¿Es posible que lo que estoy tratando de hacer? ¿Alguien puede darme una pista de cómo lograr esto?

Respuesta

1

Uso de la 'herramienta de productividad Open XML' I analizó la estructura de un documento docx-y llegó a la conclusión de que la fusión de documentos con su estilo, encabezados, pies de página, ... no es posible fuera de la caja usando Altchunk. Puede descargar la herramienta por separado desde open xml sdk.

Lo que estoy haciendo ahora, y lo que funciona, es copiar todo manualmente en el documento, asegurándome de que se conservan todas las referencias de estilo, encabezados-referencias, referencias de pie de página, ... Esto significa que les doy una nueva identificación única antes de copiarlos en el documento y cambiar todas las referencias de la identificación anterior a la nueva identificación. Hay un montón de código para hacer esto, pero la herramienta mencionada anteriormente realmente ayudó.

Adición de un salto de sección es también bastante difícil. Usted debe saber que el SectionProperties -tag describe todas las propiedades de la sección y que no puede ser uno SectionProperties -tag bajo la Body -tag, que describe las propiedades de la última sección. Por lo tanto, agregar un nuevo salto de sección significa copiar el último SectionProperties -etiqueta al último párrafo de la sección y agregar un nuevo SectionProperties -etiqueta bajo Body -tag. También obtuve mucha información de la herramienta de productividad.

+0

Puedes publicar código para eso :-) Algunos ejemplos fáciles de entender:> – MadBoy

+0

La experiencia de Jelle refleja la mía. No es una tarea fácil, y requiere mucho más código de lo que piensas. Es especialmente difícil mantener los estilos rectos, ya que debes evitar las colisiones del nombre del Id. –

4

La respuesta anterior no es correcto en absoluto! ¡Esto es EXACTAMENTE para lo que AltChunk ha sido diseñado y funciona de maravilla!

NOTA: (., Obviamente, el archivo tiene que ser guardado o el archivo en el disco no se actualizará) que los documentos no se fusionarán en un solo documento hasta Word abre el archivo por primera vez

Ver este blog para obtener más información sobre cómo hacerlo correctamente: https://blogs.msdn.com/b/ericwhite/archive/2008/10/27/how-to-use-altchunk-for-document-assembly.aspx?Redirected=true

ps En cuanto a examinar Open XML usando la herramienta de productividad, mi opinión es simplemente instalar el complemento oficial de Visual Studio Open XML y abrir los documentos de Office desde Visual Studio para examinarlos, ¡es muy conveniente! :-)

+1

funciona para mí también, aunque en contraste con Word LibreOffice parece ignorar los altChunks. – metalheart