Example #1
0
        public void SetHeaderFromDocument(string headerFile)
        {
            List <XDocument> headers = WordDocUtilities.ExtractHeaderPart(headerFile);

            List <Header> root = null;

            if (headers != null && headers.Count > 0)
            {
                root = new List <Header>();

                foreach (XDocument header in headers)
                {
                    root.Add(new Header(header.ToString()));
                }
            }

            // Get the Header part for this document.
            IEnumerable <HeaderPart> part =
                WordDocument.MainDocumentPart.HeaderParts;

            // If the Header part does not exist, add it.
            if (part == null)
            {
                WordDocUtilities.AddHeaderPartToPackage(WordDocument, root);
            }
            else
            {
                WordDocument.MainDocumentPart.DeleteParts(WordDocument.MainDocumentPart.HeaderParts);

                // foreach (Header header in root)
                //     header.Save(part);
            }
        }
Example #2
0
 public static void StartNumbering(WordprocessingDocument wordDocument, int abstractId)
 {
     _numberingId = WordDocUtilities.CreateNumberingInstance(wordDocument, abstractId);
     // _numberingId = numberingId;
     _numbering      = true;
     _numberingLevel = 0;
 }
Example #3
0
        public override void ToWordDocument(WordprocessingDocument wordDocument)
        {
            wordDocument.MainDocumentPart.Document.Body.AppendChild(
                WordDocUtilities.CreateParagraphWithStyle(_titulo, _style)
                );

            foreach (Paragrafo p in Paragrafos)
            {
                p.ToWordDocument(wordDocument);
            }
            foreach (Parte p in Children)
            {
                p.ToWordDocument(wordDocument);
            }
        }
        public Comentario(WordprocessingDocument wordDocument, string author, string initials, string style = "Normal")
            : base(style)
        {
            _runList = new List <string>();

            Id = WordDocUtilities.AddCommentPartToPackage(wordDocument);

            _comment =
                new Comment()
            {
                Initials = initials,
                Author   = author,
                Date     = System.Xml.XmlConvert.ToDateTime(
                    DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ"),
                    System.Xml.XmlDateTimeSerializationMode.RoundtripKind
                    ),
                Id = String.Format("{0}", Id)
            };
        }
Example #5
0
        public void SetStylesFromDocument(string stylesFile)
        {
            XDocument styles = WordDocUtilities.ExtractStylesPart(stylesFile, false);

            // Get the Styles part for this document.
            StyleDefinitionsPart part =
                WordDocument.MainDocumentPart.StyleDefinitionsPart;

            Styles root = new Styles(styles.ToString());

            // If the Styles part does not exist, add it.
            if (part == null)
            {
                WordDocUtilities.AddStylesPartToPackage(WordDocument, root);
            }
            else
            {
                root.Save(part);
            }
        }
Example #6
0
        public void SetNumberingFromDocument(string stylesFile)
        {
            XDocument numbering = WordDocUtilities.ExtractNumberingPart(stylesFile);

            // Get the Styles part for this document.
            NumberingDefinitionsPart part =
                WordDocument.MainDocumentPart.NumberingDefinitionsPart;

            Numbering root = new Numbering(numbering.ToString());

            // If the Styles part does not exist, add it.
            if (part == null)
            {
                WordDocUtilities.AddNumberingPartToPackage(WordDocument, root);
            }
            else
            {
                root.Save(part);
            }
        }
Example #7
0
        public override void ToWordDocument(WordprocessingDocument wordDocument)
        {
            MainDocumentPart mainPart = wordDocument.MainDocumentPart;

            ImagePart imagePart = mainPart.AddImagePart(ImagePartType.Jpeg);

            try
            {
                long widthEmus  = 0;
                long heightEmus = 0;

                // Recupera as dimensões da imagem
                {
                    BitmapImage img = new BitmapImage();

                    using (var fs = new FileStream(_fileName, FileMode.Open, FileAccess.Read, FileShare.Read))
                    {
                        img.BeginInit();
                        img.StreamSource = fs;
                        img.EndInit();
                    }

                    var widthPx    = img.PixelWidth;
                    var heightPx   = img.PixelHeight;
                    var horzRezDpi = img.DpiX;
                    var vertRezDpi = img.DpiY;

                    const int emusPerInch = 914400;
                    const int emusPerCm   = 360000;

                    widthEmus  = (long)(widthPx / horzRezDpi * emusPerInch);
                    heightEmus = (long)(heightPx / vertRezDpi * emusPerInch);

                    widthEmus  = (long)(_width * widthEmus);
                    heightEmus = (long)(_width * heightEmus);

                    /***********************************************************************/
                    var maxWidthEmus = (long)(21 * emusPerCm); /***** LARGURA DA PÁGINA *****/
                    /***********************************************************************/

                    if (widthEmus > maxWidthEmus)
                    {
                        var ratio = (heightEmus * 1.0m) / widthEmus;
                        widthEmus  = maxWidthEmus;
                        heightEmus = (long)(widthEmus * ratio);
                    }
                }

                using (FileStream stream = new FileStream(_fileName, FileMode.Open))
                {
                    imagePart.FeedData(stream);
                }

                Paragraph paragraph = base.CreateParagraph();

                if (_numbering)
                {
                    // Create items for paragraph properties
                    var numberingProperties = new NumberingProperties(new NumberingLevelReference()
                    {
                        Val = _numberingLevel
                    }, new NumberingId()
                    {
                        Val = _numberingId
                    });

                    // create paragraph properties
                    var paragraphProperties = new ParagraphProperties(numberingProperties);

                    paragraph.Append(paragraphProperties);
                }

                ParagraphProperties paragraphProperties1 = new ParagraphProperties();
                Justification       justification1       = new Justification()
                {
                    Val = JustificationValues.Center
                };

                // Hanging = "0" => noindent
                Indentation indentation = new Indentation {
                    Hanging = "0"
                };

                paragraphProperties1.Append(justification1);
                paragraphProperties1.Append(indentation);

                string        bookmarkId     = WordDocUtilities.NewBookmark();
                BookmarkStart bookmarkStart1 = new BookmarkStart()
                {
                    Name = "_GoBack", Id = bookmarkId
                };

                Run run1 = new Run();

                RunProperties runProperties1 = new RunProperties();
                NoProof       noProof1       = new NoProof();

                runProperties1.Append(noProof1);

                Drawing drawing1 = AddImageToBody(wordDocument, mainPart.GetIdOfPart(imagePart), widthEmus, heightEmus);

                run1.Append(runProperties1);
                run1.Append(drawing1);

                BookmarkEnd bookmarkEnd1 = new BookmarkEnd()
                {
                    Id = WordDocUtilities.NewBookmark()
                };

                paragraph.Append(paragraphProperties1);
                paragraph.Append(bookmarkStart1);
                paragraph.Append(run1);
                paragraph.Append(bookmarkEnd1);

                // Append the reference to body, the element should be in a Run.
                wordDocument.MainDocumentPart.Document.Body.AppendChild(paragraph);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Example #8
0
        private static Drawing AddImageToBody(WordprocessingDocument wordDoc, string relationshipId, long widthEmus, long heightEmus)
        {
            // Define the reference of the image.
            var element =
                new Drawing(
                    new DW.Inline(
                        new DW.Extent()
            {
                Cx = widthEmus, Cy = heightEmus
            },
                        new DW.EffectExtent()
            {
                LeftEdge   = 0L,
                TopEdge    = 0L,
                RightEdge  = 0L,
                BottomEdge = 0L
            },
                        new DW.DocProperties()
            {
                Id   = (UInt32Value)1U,
                Name = String.Format("Imagem {0}", WordDocUtilities.NewFigureCounter())
            },
                        new DW.NonVisualGraphicFrameDrawingProperties(
                            new A.GraphicFrameLocks()
            {
                NoChangeAspect = true
            }),
                        new A.Graphic(
                            new A.GraphicData(
                                new PIC.Picture(
                                    new PIC.NonVisualPictureProperties(
                                        new PIC.NonVisualDrawingProperties()
            {
                Id   = (UInt32Value)0U,
                Name = "New Bitmap Image.jpg"
            },
                                        new PIC.NonVisualPictureDrawingProperties()),
                                    new PIC.BlipFill(
                                        new A.Blip(
                                            new A.BlipExtensionList(
                                                new A.BlipExtension(
                                                    new A14.UseLocalDpi()
            {
                Val = false
            }
                                                    )
            {
                Uri = String.Format("{{{0}}}", Guid.NewGuid().ToString())
            }
                                                )
                                            )
            {
                Embed            = relationshipId,
                CompressionState = A.BlipCompressionValues.Print
            },
                                        new A.Stretch(
                                            new A.FillRectangle())),
                                    new PIC.ShapeProperties(
                                        new A.Transform2D(
                                            new A.Offset()
            {
                X = 0L, Y = 0L
            },
                                            new A.Extents()
            {
                Cx = widthEmus, Cy = heightEmus
            }),
                                        new A.PresetGeometry(
                                            new A.AdjustValueList()
                                            )
            {
                Preset = A.ShapeTypeValues.Rectangle
            }))
                                )
            {
                Uri = "http://schemas.openxmlformats.org/drawingml/2006/picture"
            })
                        )
            {
                DistanceFromTop    = (UInt32Value)0U,
                DistanceFromBottom = (UInt32Value)0U,
                DistanceFromLeft   = (UInt32Value)0U,
                DistanceFromRight  = (UInt32Value)0U,
                AnchorId           = "63B56EF4",
                EditId             = "50D07946"
            });

            return(element);
        }
Example #9
0
        static void Main(string[] args)
        {
            //string filepath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            // string filepath = @"C:\Users\clalu\source\repos\WordLib";
            string filepath = @"C:\Users\claudio_oliveira\Source\Repos\WordLib";

            WordDoc wordDoc = new WordDoc("Claudio de Oliveira", "CdO");

            // string stylesFile = Path.Combine(filepath, "Minuta de Mecânica (21-02-20).docx");
            // wordDoc.SetHeaderFromDocument(stylesFile);

            // Paragraph p = WordDocUtilities.CreateParagraphWithStyle("Teste do Título 2", "Ttulo2");

            // wordDoc.SetStylesFromDocument(stylesFile);
            WordDocUtilities.AddStyleDefinitionsPartToPackage(wordDoc.WordDocument);
            wordDoc.WordDocument.MainDocumentPart.StyleDefinitionsPart.Styles = WordDocUtilities.GenerateStyleDefinitionsPartContent();

            // wordDoc.SetNumberingFromDocument(stylesFile);
            WordDocUtilities.AddNumberingPartToPackage(wordDoc.WordDocument);
            wordDoc.WordDocument.MainDocumentPart.NumberingDefinitionsPart.Numbering = WordDocUtilities.GenerateNumberingDefinitionsPartContent();

            Capitulo capitulo;
            Secao    secao;
            Texto    texto;
            Tabela   tabela;

            capitulo = TestList(wordDoc);
            texto    = TestRunProperties();
            capitulo.Paragrafos.Add(texto);
            texto = TestComment(wordDoc);
            capitulo.Paragrafos.Add(texto);
            wordDoc.Partes.Add(capitulo);
            tabela = TestTabel();
            capitulo.Paragrafos.Add(tabela);

            capitulo = new Capitulo(
                "Construção, Implantação e consolidação do Projeto Pedagógico de Curso"
                );

            capitulo.Paragrafos.Add(
                new Texto()
                .Append(
                    "O Projeto Pedagógico do Curso (PPC) de Engenharia Civil da Universidade Tiradentes – Unit " +
                    "é resultado da construção das diretrizes organizacionais, " +
                    "estruturais e pedagógicas, com a participação do corpo docente do curso por " +
                    "meio de seus representantes no Núcleo Docente Estruturante (NDE) e Colegiado. " +
                    "Encontra-se articulado com as bases legais e a concepção de formação profissional " +
                    "que favoreça o desenvolvimento de competências e habilidades necessárias ao " +
                    "exercício da profissão, como a capacidade de observação, criticidade e " +
                    "questionamento, sintonizada com a dinâmica da sociedade nas suas demandas " +
                    "locais, regionais e nacionais, assim como com os avanços científicos e " +
                    "tecnológicos. O referido documento surge a partir da criação do curso, autorizado " +
                    "pela Portaria CONSAD nº 008 de 08/04/2010 tendo como objetivo principal o " +
                    "atendimento aos princípios e diretrizes do Projeto Pedagógico Institucional, " +
                    "Diretrizes Curriculares Nacionais, Pareceres do CNE e indicadores de qualidade " +
                    "do Inep/MEC."
                    )
                );
            capitulo.Paragrafos.Add(
                new Texto()
                .Append(
                    "A construção do PPC ocorre, afirmativamente, ancorada em uma ação intencional, refletida e fundamentada no coletivo de sujeitos, agentes interessados em promover a missão da Universidade de inspirar as pessoas a ampliar horizontes por meio do ensino, pesquisa e extensão, com ética e compromisso com o desenvolvimento social. Desta forma, o Projeto Pedagógico do Curso de Graduação em Engenharia Civil da Unit está em conformidade com as Diretrizes Curriculares Nacionais para os cursos de Graduação em Engenharia Civil, Projeto Pedagógico Institucional da Unit – PPI e seu Plano de Desenvolvimento Institucional – PDI, fundamentado nas necessidades socioeconômicas, políticas, educacionais, demandas do mercado de trabalho no Estado de Sergipe e as condições institucionais da IES para expansão da oferta de cursos na área da saúde."
                    )
                );
            capitulo.Paragrafos.Add(
                new Texto()
                .Append(
                    "Cônscia de sua responsabilidade com a sociedade e com o desenvolvimento de Sergipe e do Nordeste, a Unit mantém o curso de Engenharia Civil tendo por base os princípios preconizados na Lei nº 9.394, de 20 de dezembro de 1996, que enfatiza a importância da construção dos conhecimentos mediante políticas e planejamentos educacionais, capazes de garantir o padrão de qualidade no ensino, flexibilizando a ação educativa, valorizando a experiência do aluno, respeitando o pluralismo de ideias e princípios básicos da democracia."
                    )
                );
            capitulo.Paragrafos.Add(
                new Texto()
                .Append(
                    "O PPC está organizado de modo a contemplar os critérios indispensáveis à formação de um profissional dotado das competências essenciais para o exercício profissional frente ao contexto sócio-econômico – cultural e político da região e do país."
                    )
                );
            capitulo.Paragrafos.Add(
                new Texto()
                .Append(
                    "A proposta conceitual e metodológica é entendida como um conjunto de cenários em que há a construção do perfil do estudante a partir da aprendizagem significativa, que promove e produz sentidos.Esta proposta está em conformidade com os princípios da UNESCO, isto é, educar para fazer, para aprender, para sentir e para ser; busca-se a construção de uma visão da realidade e de situações excepcionais e singulares na qual atuará o futuro profissional com o compromisso de transformar a realidade em que vive."
                    )
                );
            capitulo.Paragrafos.Add(
                new Texto()
                .Append(
                    "Nesse contexto, a Unit se compromete com a oferta de um curso de relevância social que assegura a qualidade na formação acadêmica, com vistas a atender as necessidades da população tanto local como nas regiões circunvizinhas como pilares essenciais para a construção da cidadania."
                    )
                );
            wordDoc.Partes.Add(capitulo);

            capitulo = new Capitulo("Dados de identificação");
            capitulo.NovaSecao("Identificação");
            capitulo.NovaSecao("Legislação e normas que regem o curso");
            wordDoc.Partes.Add(capitulo);

            capitulo = new Capitulo("Contextualização e Justificativa de Oferta do Curso");
            wordDoc.Partes.Add(capitulo);

            capitulo.Paragrafos.Add(
                new Figura(@"C:\Users\clalu\OneDrive\Documentos\Imagens\IMG10083.JPG", .3)
                );

            capitulo = new Capitulo("Objetivos do Curso");
            capitulo.NovaSecao("Geral");
            capitulo.NovaSecao("Específicos");
            secao = capitulo.NovaSecao("Campo de Atuação");

            Paragrafo.StartNumbering(wordDoc.WordDocument, 2);
            secao.Paragrafos.Add(
                new Texto()
                .Append("Item 1")
                );
            secao.Paragrafos.Add(
                new Texto()
                .Append("Item 2")
                );
            Paragrafo.IncrementNumbering();
            secao.Paragrafos.Add(
                new Texto()
                .Append("Item 1.1")
                );
            secao.Paragrafos.Add(
                new Texto()
                .Append("Item 1.2")
                );
            Paragrafo.IncrementNumbering();
            secao.Paragrafos.Add(
                new Texto()
                .Append("Item 1.2.1")
                );
            secao.Paragrafos.Add(
                new Texto()
                .Append("Item 1.2.2")
                );
            Paragrafo.DecrementNumbering();
            Paragrafo.DecrementNumbering();
            secao.Paragrafos.Add(
                new Texto()
                .Append("Item 3")
                );
            secao.Paragrafos.Add(
                new Texto()
                .Append("Item 4")
                );
            Paragrafo.EndNumbering();

            wordDoc.Partes.Add(capitulo);

            capitulo = new Capitulo("Perfil do Egresso");
            wordDoc.Partes.Add(capitulo);

            capitulo = new Capitulo("Forma de Acesso ao Curso");
            wordDoc.Partes.Add(capitulo);

            capitulo = new Capitulo("Sistemas de Avaliação");
            capitulo.NovaSecao("Sistema de Avaliação do Projeto do Curso");
            capitulo.NovaSecao("Atividades Complementares");
            secao = capitulo.NovaSecao("Práticas Profissionais e Estágio");
            secao.NovaSubSecao("Estágio Extracurricular");
            wordDoc.Partes.Add(capitulo);

            capitulo = new Capitulo("Corpo Docente");
            wordDoc.Partes.Add(capitulo);

            capitulo = new Capitulo("Estrutura Curricular");
            wordDoc.Partes.Add(capitulo);

            capitulo = new Capitulo("Módulos Curriculares");
            capitulo.NovaSecao("Primeiro Período");
            capitulo.NovaSecao("Segundo Período");
            capitulo.NovaSecao("Terceiro Período");
            capitulo.NovaSecao("Quarto Período");
            capitulo.NovaSecao("Quinto Período");
            capitulo.NovaSecao("Sexto Período");
            capitulo.NovaSecao("Sétimo Período");
            capitulo.NovaSecao("Oitavo Período");
            capitulo.NovaSecao("Nono Período");
            capitulo.NovaSecao("Décimo Período");
            wordDoc.Partes.Add(capitulo);

            string filename = Path.Combine(filepath, "tese.docx");

            wordDoc.SaveToFile(filename);
        }