Pregunta

Quiero crear un Documento de Word 2007 sin utilizar modelo de objetos. Así que yo preferiría para crearlo usando el formato XML abierto. Hasta ahora he sido capaz de crear el documento. Ahora quiero agregar un control de contenido en ella y asignarla a XML. Me puede guiar a nadie en relación con el mismo ???

¿Fue útil?

Solución

Anoop,

Usted ha dicho que usted es capaz para conformar el documento utilizando OpenXmlSdk. Con este supuesto, puede utilizar el siguiente código para crear el control de contenido para agregar al elemento Wordprocessing.Body del 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 responde a una parte de su pregunta. No entendía lo que usted ción por "Map a XML". Quiso decir que decir que desea crear y añadir la CustomXmlBlock ContentControl a ella?

Otros consejos

Tenga una mirada para el contenido Control Toolkit Word en www.codeplex.com.

Aquí hay una muy breve explicación sobre cómo hacer lo que intenta realizar.

  1. Es necesario tener acceso a la ficha Programador en la cinta Palabra. Para conseguir este trabajo, haga clic en la Oficina (cosita redonda) en la esquina superior izquierda y seleccione Opciones de Word 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 de desarrollador.

  2. Utilice la barra de herramientas de desarrolladores añadir los controles de contenido que desee en la página. Haga clic en el botón de propiedades en la sección de controles de contenido de la barra de desarrollador y establecer el nombre de la etiqueta y propiedades (me quedo con el nombramiento de los campos de nombre y etiqueta con el mismo nombre).

  3. Guarde y cierre el documento de Word.

  4. Abra la caja de herramientas de control de contenido y luego abrir el documento con el kit de herramientas. Utilizar el dolor de la mano izquierda para crear algo de XML personalizado para vincular a sus controles.

  5. Ahora utilice la vista se unen para arrastrar y soltar las asignaciones entre el XML personalizado y los controles personalizados que se muestran en el panel derecho de la caja de herramientas.

  6. Puede utilizar el SDK OpenXML 1.0 o 2.0 (aún en CTP) para abrir el documento de Word en el código y para descargar el archivo XML personalizado que se incluye como parte del documento de Word.

Si usted quiere tener un vistazo a cómo el documento de Word se ve como XML. Hacer una copia de su documento de Word y luego cambiar el nombre con decir "a.zip". Haga doble clic en el archivo zip y luego navegar por la estructura de carpetas. El contenido principal del documento de Word se lleva a cabo bajo la carpeta de la palabra en un archivo llamado "document.xml". El elemento XML personalizado del documento se lleva a cabo bajo la carpeta customXml y generalmente se encuentra en el archivo llamado "item1.xml".

Espero que esta breve explicación que pueda ponerse en marcha.

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