Pregunta

Tengo varias etiquetas <body> de un documento de Word. Lo hago con el SDK de XML abierto. Por lo que el nuevo documento debe generado con OpenXML

El cuerpo proviene de

WordprocessingDocument.Open("C:\Temp\Test.docx").MainDocumentPart.Document.Body.OuterXml

Tengo tan diferente del cuerpo en una lista. Con Al valores diferentes. Cambiado algún texto en el código XML. Y las guardó en una nueva lista.

Ahora se debe a que la lista en un nuevo documento de Word. ¿Cómo puedo hacer eso? Probé altChunk. Pero mi documento de la palabra siempre es corrupto.

Alguien que me puede ayudar?

¿Fue útil?

Solución

Se puede crear un WordDocument utilizando el SDK. Creo que es

WordProcessingDocument.Create("path_and_name_with_.docx").MainDocumentPart.Document.append(yourBodyList);

También podría llevar los documentos resultantes que no trabajo y la mirada en ella de XML utilizando la herramienta SDK o simplemente cambiar el nombre del documento a la extensión .zip y ver por qué doens't trabajo.

Otros consejos

Esta función arrojará una excepción si está agregando yourbodylist de otro documento sin clonar. Tenemos que usar CloneNode(deep:true) para cada elemento del cuerpo.

WordProcessingDocument.Create("path_and_name_with_.docx").MainDocumentPart.Document.append(yourBodyList); Esto podría causar una excepción. Consulte este post: no puede insertar el OpenXmlElement "newChild", porque es parte de un árbol

CloneNode (verdadero) creará clon del elemento y sin ningún tipo de enlaces o referencias a los padres. Y para su problema de múltiples cuerpo. obtener los elementos secundarios de cada cuerpo y añadirlo a un nuevo elemento de cuerpo (). Espero que esto ayude!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top