Deseo crear un documento de Word 2007 sin usar el modelo de objetos. Entonces preferiría crearlo usando el formato xml abierto. Hasta ahora he podido crear el documento. Ahora quiero agregar un control de contenido y asignarlo a xml. ¿Alguien puede guiarme con respecto a lo mismo?Cómo agregar control de contenido en un documento de Word 2007 con OpenXML
Respuesta
Anoop,
Usted dijo que usted es capaz para conformar el documento utilizando OpenXmlSdk. Con esa suposición, puede usar el siguiente código para crear el control de contenido para agregar al elemento Wordprocessing.Body de su documento.
//praragraph to be added to the rich text content control
Run run = new Run(new Text("Insert any text Here") { Space = StaticTextConstants.Preserve });
Paragraph paragraph = new Paragraph(run);
SdtProperties sdtPr = new SdtProperties(
new Alias { Val = "MyContentCotrol" },
new Tag { Val = "_myContentControl" });
SdtContentBlock sdtCBlock = new SdtContentBlock(paragraph);
SdtBlock sdtBlock = new SdtBlock(sdtPr, sdtCBlock);
//add this content control to the body of the word document
WordprocessingDocument wDoc = WordprocessingDocument.Open(path, true); //path is where your word 2007 file is
Body mBody = wDoc.MainDocumentPart.Document.Body;
mBody.AppendChild(sdtBlock);
wDoc.MainDocumentPart.Document.Save();
wDoc.Dispose();
Espero que esto responda una parte de su pregunta. No entendí lo que dice por "Asignarlo a XML". ¿Quiso decir que quiere crear CustomXmlBlock y agregarle ContentControl?
Busque el Word Content Control Toolkit en www.codeplex.com.
Aquí hay una explicación muy breve sobre cómo hacer lo que está intentando.
Debe tener acceso a la pestaña del desarrollador en la cinta de Word. Para hacer esto, haga clic en Office (Round thingy) en la esquina superior izquierda y seleccione Word Options en la parte inferior del menú. En la primera página de opciones hay una casilla de verificación para mostrar la barra de herramientas del desarrollador.
Utilice la barra de herramientas del desarrollador para agregar los controles de Contenido que desee en la página. Haga clic en el botón de propiedades en la sección Controles de contenido de la barra de desarrolladores y establezca el nombre y las propiedades de las etiquetas (me atengo a nombrar los campos de nombre y etiqueta con el mismo nombre).
Guarde y cierre el documento de Word.
Abra el kit de herramientas de control de contenido y luego abra su documento con el kit de herramientas. Use el dolor de la mano izquierda para crear un xml personalizado para vincular a sus controles.
Ahora use la vista de vinculación para arrastrar y soltar las asignaciones entre su xml personalizado y los controles personalizados que se muestran en el panel derecho del juego de herramientas.
Puede usar openxml sdk 1.0 o 2.0 (aún en ctp) para abrir su documento de Word en código y acceder al archivo xml personalizado que se incluye como parte del documento de Word.
Si desea echar un vistazo a cómo su documento de Word se ve como xml. Haga una copia de su documento de Word y luego cambie el nombre para decir "a.zip". Haga doble clic en el archivo zip y luego navegue por la estructura de la carpeta. El contenido principal de la palabra documento se encuentra debajo de la palabra carpeta en un archivo llamado "document.xml". La parte xml personalizada del documento se mantiene en la carpeta customXml y generalmente se encuentra en el archivo llamado "item1.xml".
Espero que esta breve explicación lo ponga en funcionamiento.
Quiero agregar control de contenido mediante programación usando open xml sdk .... – Anoop
- 1. ¿Cómo se cambia el contenido de un control de contenido en Word 2007 con OpenXML SDK 2.0?
- 2. ¿Cómo desbloqueo un control de contenido utilizando OpenXML SDK en un documento de Word 2010?
- 3. documento Duplicación Word utilizando OpenXml y C#
- 4. Obtener un CheckBox en Word usando OpenXML
- 5. Insertar HTML en documento de Word OpenXML (.Net)
- 6. Reemplazo de controles de contenido en OpenXML
- 7. Guardar un documento OpenXML (Word) generado a partir de una plantilla
- 8. Transmitir en la memoria Documento de Word con OpenXML SDK w/ASP.NET da como resultado un documento "corrupto"
- 9. Word/OpenXML - ¿Cómo creo un marcador oculto?
- 10. SDK OpenXML 2 - Documento de Word - Crear lista con viñetas programáticamente
- 11. ¿Cómo compruebo mediante programación si las propiedades de un documento de MS Word 2007 han cambiado?
- 12. Documento de Word en Sharepoint - VSTO
- 13. Agregar encabezado y pie de página a un documento de palabra vacía existente con OpenXML SDK 2.0
- 14. Creando documento Excel con OpenXML sdk 2.0
- 15. ¿Completa un documento de Word en asp.net?
- 16. ¿Cómo se puede editar un documento de Word con Java
- 17. Reemplazar las balas con guiones en un documento de Word
- 18. generando javadoc como un documento de Word
- 19. Convertir documento de Word a XSL-FO
- 20. Problema al escribir contenido HTML en documento de Word en ASP.NET
- 21. ¿Cómo se transmite un archivo de Excel 2007 o Word 2007 utilizando asp.net y C#
- 22. SaveAs2 Para Word 2010 no funciona con PC de cliente que tiene Word 2007
- 23. Word 2007, Open XML: incrustación de una imagen
- 24. ¿Cómo convierto un documento de Latex en Microsoft Word 2003?
- 25. Eliminar espaciado tras párrafo en Word 2007 con VSTO
- 26. Extrayendo tablas de un documento DOCX Word en python
- 27. OpenXML SDK 2.0 vs Aspose para la palabra servidor lado 2007 la generación de documentos en .NET
- 28. En ASP.NET, ¿cómo detecto una contraseña en un archivo de Word 2003 o 2007?
- 29. Documento dañado después de llamar AddAlternativeFormatImportPart utilizando OpenXml
- 30. Cómo eliminar contenido de celda en Word con VBA?
¡Gracias por la respuesta! Aunque ya tengo un buen artículo en MSDN que también explica el mapeo XML ... http://msdn.microsoft.com/en-us/library/dd469465.aspx – Anoop
En OpenXML SDK 2, Alias ahora es SdtAlias. –