2009-12-04 8 views

Respuesta

7

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?

+0

¡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

+1

En OpenXML SDK 2, Alias ​​ahora es SdtAlias. –

3

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.

  1. 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.

  2. 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).

  3. Guarde y cierre el documento de Word.

  4. 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.

  5. 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.

  6. 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.

+0

Quiero agregar control de contenido mediante programación usando open xml sdk .... – Anoop

Cuestiones relacionadas