Array
(
)

Inserir imagem dentro de uma tabela num documento .doc?

Iober Cruz
   - 16 abr 2014

Boa tarde, alguém ai já precisou inserir uma imagem dentro de uma tabela no cabeçalho de um documento .doc que já estava pronto?
Tenho um documento .doc que é um formulário, dentro dele tem o cabeçalho com 1 linha e 3 colunas, preciso por 2 logos nas colunas dos cantos. Estou usando o Spire.doc e meu código por enquanto está assim. Consigo fazer o que quero com o documento sem tabela, mas preciso por dentro de uma tabela os logos....
#Código

 static void Main(string[] args)
        {
            Spire.Doc.Document document = new Spire.Doc.Document();
            document.LoadFromFile(@"C:\documentos\teste.doc", FileFormat.Doc);
            Console.WriteLine("Digite o nome da Prefeitura:");
            String nome = Console.ReadLine();
            Console.WriteLine("\nDigite o caminho do logo:");
            String logo1 = Console.ReadLine();

            Image image = Image.FromFile(@"" + logo1 + ".jpg");
            DocPicture picture1 = document.Sections[0].Paragraphs[0].AppendPicture(image);
            picture1.VerticalAlignment = ShapeVerticalAlignment.Top;
            picture1.HorizontalAlignment = ShapeHorizontalAlignment.Left;
            picture1.TextWrappingStyle = TextWrappingStyle.Square;

            Console.WriteLine("\nDeseja adicionar mais um logo? Digite S/N");
            String addlogo = Console.ReadLine();

            if (addlogo.Equals("S") || addlogo.Equals("s"))
            {
                Console.WriteLine("\nDigite o caminho do outro logo:");
                String logo2 = Console.ReadLine();
                Image image2 = Image.FromFile(@"" + logo2 + ".jpg");
                DocPicture picture2 = document.Sections[0].Paragraphs[0].AppendPicture(image2);
                picture2.VerticalAlignment = ShapeVerticalAlignment.Top;
                picture2.HorizontalAlignment = ShapeHorizontalAlignment.Right;
                picture2.TextWrappingStyle = TextWrappingStyle.Square;

                Spire.Doc.Section section = document.AddSection();
                document.Replace("<nomeprefeitura>", nome, false, true);
                document.SaveToFile(@"C:\documentos\Replace.doc", FileFormat.Doc);
                Console.WriteLine("\nArquivos criados com sucesso\n");
            }
            else
            {
                Spire.Doc.Section section = document.AddSection();
                document.Replace("<nomeprefeitura>", nome, false, true);
                document.Replace("Evaluation Warning : The document was created with Spire.Doc for .NET.", "", false, true);
                document.SaveToFile(@"C:\documentos\Replace.doc", FileFormat.Doc);
                Console.WriteLine("\nArquivos criados com sucesso\n");
            }  

Rafael Lucena
|
MVP
    22 abr 2014

Em cada célula da do DataRow vc insere um parágrafo e em seguida usa o método appendpicture do parágrafo inserido.

Como trabalhar com tables... segue abaixo..
http://www.e-iceblue.com/Tutorials/Spire.Doc/Spire.Doc-Program-Guide/NET-Create-Table-Create-Word-Table-in-C-and-VB.NET.html