Pergunta

Eu quero criar um Word 2007 documento sem usar o modelo de objeto. Então, eu preferiria para criá-lo usando o formato Open XML. Até agora tenho sido capaz de criar o documento. Agora eu quero adicionar um controle de conteúdo nele e mapeá-lo para xml. Pode orientar alguém me sobre o mesmo ???

Foi útil?

Solução

Anoop,

Você disse que você é capaz de creat o documento usando OpenXmlSdk. Com essa suposição, você pode usar o seguinte código para criar o controle de conteúdo para adicionar ao elemento Wordprocessing.Body do 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 isso responde uma parte da sua pergunta. Eu não entendi o que você mento pela "mapeá-lo para XML". você quis dizer que você deseja criar CustomXmlBlock e adicione o ContentControl para ele?

Outras dicas

Tenha um olhar para o conteúdo da Palavra Control Toolkit em www.codeplex.com.

Aqui está uma breve explicação sobre como fazer o que você está tentando.

  1. Você precisa ter acesso à guia desenvolvedor na faixa de opções do Word. Para conseguir isso, clique trabalhando no escritório (coisinha redonda) na esquerda canto superior e selecione Opções do Word na parte inferior do menu. Na primeira página opções, há uma caixa de seleção para mostrar a barra de ferramentas do desenvolvedor.

  2. Use a barra de ferramentas desenvolvedor adicionar os controles de conteúdo que deseja na página. Clique no botão Propriedades na seção Controles de conteúdo da barra de desenvolvedor e definir o nome e tag propriedades (me ater ao nomear o nome e os tag campos com o mesmo nome).

  3. Salvar e fechar a palavra documento.

  4. Abra a caixa de ferramentas de controle de conteúdo e, em seguida, abrir o documento com o kit de ferramentas. Utilizar a dor na mão esquerda para criar algum xml personalizado para link para seus controles.

  5. Agora, usar a exibição de ligação para arrastar e soltar os mapeamentos entre o XML personalizado e os controles personalizados que são exibidas no painel direito da caixa de ferramentas.

  6. Você pode usar o SDK OpenXML 1.0 ou 2.0 (ainda em CTP) para abrir o documento do Word no código e acesso a arquivo XML personalizado que está contido como parte do documento do Word.

Se você quiser ter um olhar em como a sua aparência documento do Word como xml. Faça uma cópia do documento do Word e, em seguida, renomeá-lo para dizer "a.zip". Clique duas vezes no arquivo zip e, em seguida, navegar na estrutura de pastas. O conteúdo principal do documento do Word é realizada sob a pasta palavra em um arquivo chamado "document.xml". A parte XML personalizada do documento é mantido na pasta customXml e geralmente é encontrada no arquivo chamado "item1.xml".

Espero que esta breve explicação chegar até você e em execução.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top