Example #1
0
        public void ParagraphAlignment()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                doc.AddParagraph().AppendBold("Default (Left)");

                doc.AddParagraph().Append(LoremIpsum);

                doc.AddParagraph().AppendBold("Right");

                doc.AddParagraph().Append(LoremIpsum).SetAlignment(Align.Right);

                doc.AddParagraph().AppendBold("Center");

                var paragraph = doc.AddParagraph();
                paragraph.SetAlignment(Align.Center);
                paragraph.Append(LoremIpsum);

                doc.AddParagraph().AppendBold("Both");

                doc.AddParagraph().Append(LoremIpsum).SetAlignment(Align.Both);

                Validate(doc);

                doc.Close();
            }
        }
Example #2
0
        public void TableInHeader()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                doc.AddHeaders();

                var table = doc.DefaultHeader.AddTable(3);

                for (int i = 0; i < 3; i++)
                {
                    var row = table.AddRow();
                    row.SetBorders(Units.HalfPt, BorderValue.Single);

                    if (i == 0)
                    {
                        row.SetShading(ShadingPattern.Clear, "E7E6E6");

                        row.HeaderRow = true;
                    }

                    for (int j = 0; j < 3; j++)
                    {
                        row.Cells[j].Paragraphs[0].Append($"Cell {(j + 1)}");
                    }
                }

                Validate(doc);

                doc.Close();
            }
        }
Example #3
0
        public void TableWidthsTwips()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                var col1 = Units.InchToTwips(3.9).ToString();
                var col2 = Units.InchToTwips(1.3).ToString();

                var table = doc.AddTable(3, col1, col2, col2);

                for (int i = 0; i < 3; i++)
                {
                    var row = table.AddRow();
                    row.SetBorders(Units.HalfPt, BorderValue.Single);

                    if (i == 0)
                    {
                        row.SetShading(ShadingPattern.Clear, "E7E6E6");

                        row.HeaderRow = true;
                    }

                    for (int j = 0; j < 3; j++)
                    {
                        row.Cells[j].Paragraphs[0].Append($"Cell {(j + 1)}");
                    }
                }

                Validate(doc);

                doc.Close();
            }
        }
Example #4
0
        public void TableWithMultipleMergeRight()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                var table = doc.AddTable(9);

                var row = table.AddRow();
                row.HeaderRow = true;

                for (int i = 0; i < 9; i++)
                {
                    row.Cells[i].SetBoldText((i + 1).ToString());
                }

                row           = table.AddRow();
                row.HeaderRow = true;

                // this should merge cells 2, 3 and 4
                row.Cells[1].MergeRight = 2;

                // this should merge cells 5 and 6
                row.Cells[4].MergeRight = 1;

                row.SetBoldText(1, "Test1", Align.Center);
                row.SetBoldText(4, "Test2", Align.Center);

                row.Underline(1, 4);

                Validate(doc);

                doc.Close();
            }
        }
Example #5
0
        public void AddSingleImage()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                var width  = 0d;
                var height = 0d;

                using (System.Drawing.Image img = System.Drawing.Image.FromStream(GetEmbeddedResourceStream("Peggys_Cove_Nova_Scotia_01.jpg"), useEmbeddedColorManagement: false, validateImageData: false))
                {
                    width  = img.Width;
                    height = img.Height;
                }

                double ratio = height / width;

                var inchWidth  = 2;
                var inchHeight = inchWidth * ratio;

                var drawing = doc.AddImage(GetEmbeddedResourceStream("Peggys_Cove_Nova_Scotia_01.jpg"), "image/jpg", Units.InchToEMU(inchWidth), Units.InchToEMU(inchHeight));
                doc.AddParagraph().Append(drawing);

                Validate(doc);

                doc.Close();
            }
        }
Example #6
0
        public void SectionPageBreakLandscapePortraitLandscape()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                doc.Orientation = PageOrientation.Landscape;

                doc.AddParagraph().Append("Landscape");

                doc.InsertSectionPageBreak();
                doc.Orientation = PageOrientation.Portrait;

                doc.AddParagraph().Append("Portrait");

                doc.InsertSectionPageBreak();
                doc.Orientation = PageOrientation.Landscape;

                doc.AddParagraph().Append("Landscape");

                Validate(doc);

                doc.Close();
            }
        }
Example #7
0
        public void BoldParagraphs()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                doc.AddParagraph().Append("Append normal paragraph");

                doc.AddParagraph().Append("Append then set bold").Bold();

                doc.AddParagraph().AppendBold("Append bold paragraph");

                var paragraph = doc.AddParagraph();
                paragraph.Bold();
                paragraph.Append("Add paragraph, set bold then append text.");

                doc.AddParagraph().Append("Append normal paragraph").AppendBold("Then append bold paragraph");

                doc.AddParagraph("Append using AddParagraph overload then set bold").Bold();

                Validate(doc);

                doc.Close();
            }
        }
Example #8
0
        public void TableWithHeaderRow()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                var table = doc.AddTable(5);

                for (int i = 0; i < 50; i++)
                {
                    var row = table.AddRow();
                    row.SetBorders(Units.HalfPt, BorderValue.Single);

                    if (i == 0)
                    {
                        // shade the first row and set as a header
                        row.SetShading("E7E6E6");

                        row.HeaderRow = true;
                    }

                    for (int j = 0; j < 5; j++)
                    {
                        row.Cells[j].Paragraphs[0].Append($"Cell {(j + 1)}");
                    }
                }

                Validate(doc);

                doc.Close();
            }
        }
Example #9
0
        public void ThreeByThreeTable()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                var table = doc.AddTable(3);

                var row = table.AddRow();
                row.HeaderRow = true;

                row.Cells[0].Paragraphs[0].Append("Cell 1");
                row.Cells[1].Paragraphs[0].Append("Cell 2").SetAlignment(Align.Center);
                row.Cells[2].Paragraphs[0].Append("Cell 3").SetAlignment(Align.Right);

                row.Cells[0].Borders.Set(Units.HalfPt, BorderValue.Single);

                row.SetShading(ShadingPattern.Clear, "E7E6E6");

                row = table.AddRow();

                row.SetBorders(Units.HalfPt, BorderValue.Single);

                row.Cells[0].Paragraphs[0].Append("Cell 1");
                row.Cells[1].Paragraphs[0].Append("Cell 2").SetAlignment(Align.Center);
                row.Cells[2].Paragraphs[0].Append("Cell 3").SetAlignment(Align.Right);

                row = table.AddRow();

                row.Cells[0].Paragraphs[0].Append("Cell 1");
                row.Cells[1].Paragraphs[0].Append("Cell 2").SetAlignment(Align.Center);
                row.Cells[2].Paragraphs[0].Append("Cell 3").SetAlignment(Align.Right);

                row.Cells[1].Shading.Set(ShadingPattern.Clear, "F2F2F2");
                row.Cells[2].Shading.Set(ShadingPattern.Clear, "auto");

                var rows = table.Rows.ToList();

                for (int i = 0; i < rows.Count(); i++)
                {
                    row = rows[i];

                    row.Height           = Units.UHalfInch;
                    row.BreakAcrossPages = true;

                    for (int j = 0; j < row.Cells.Count(); j++)
                    {
                        var cell = row.Cells[j];

                        cell.SetVerticalAlignment(TableVerticalAlignment.Center);
                    }
                }

                Validate(doc);

                doc.Close();
            }
        }
Example #10
0
        public void Portrait()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                Validate(doc);

                doc.Close();
            }
        }
Example #11
0
        public void Landscape()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                doc.Orientation = PageOrientation.Landscape;

                Validate(doc);

                doc.Close();
            }
        }
Example #12
0
        public void TableRows()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                for (int k = 0; k < 5; k++)
                {
                    var columnCount = (k + 1) * 2;

                    var table = doc.AddTable(columnCount);

                    for (int i = 0; i < columnCount; i++)
                    {
                        var row = table.AddRow();
                        row.SetBorders(Units.HalfPt, BorderValue.Single);

                        if (i == 0)
                        {
                            row.SetShading(ShadingPattern.Clear, "E7E6E6");

                            row.HeaderRow = true;
                        }

                        for (int j = 0; j < columnCount; j++)
                        {
                            row.Cells[j].Paragraphs[0].Append($"Cell {(j + 1)}");
                        }
                    }

                    doc.AddParagraph();
                }

                var tables = doc.Tables.ToList();

                for (int i = 0; i < 5; i++)
                {
                    var columnCount = (i + 1) * 2;

                    var table = tables[i];

                    Assert.IsNotNull(table);
                    Assert.IsNotNull(table.Rows);
                    Assert.AreEqual(columnCount, table.Rows.Count());
                }

                Validate(doc);

                doc.Close();
            }
        }
Example #13
0
        public void AddFooter()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                doc.AddFooters();
                doc.DefaultFooter.AddParagraph().Append("Footer Paragraph");

                Validate(doc);

                doc.Close();
            }
        }
Example #14
0
        public void NormalStyleByName()
        {
            using (var doc = new DocX())
            {
                doc.Create();
                doc.Styles.DocumentStyle("Normal").Size = 8;

                doc.AddParagraph().Append("Normal Style");

                Validate(doc);

                doc.Close();
            }
        }
Example #15
0
        public void Paragraphs()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                doc.AddParagraph().Append("Append paragraph");

                doc.AddParagraph().Append("Append paragraph").Append("Append again");

                Validate(doc);

                doc.Close();
            }
        }
Example #16
0
        public void TwoColumnTableWithMergeRight()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                var table = doc.AddTable(2);
                var row   = table.AddRow();
                row.Cells[0].MergeRight = 1;

                Validate(doc);

                doc.Close();
            }
        }
Example #17
0
        public void AddSectionPageBreakSameHeader()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                doc.AddHeaders();

                doc.DefaultHeader.AddParagraph().Append("Header 1");

                doc.InsertSectionPageBreak();

                Validate(doc);

                doc.Close();
            }
        }
Example #18
0
        public void HeaderAndFooterStyle()
        {
            using (var doc = new DocX())
            {
                doc.Create();
                doc.Styles.DocumentStyle("Normal").Size = 8;

                doc.AddHeaders();
                doc.AddFooters();

                doc.DefaultHeader.AddParagraph().Append("Header Paragraph");
                doc.DefaultFooter.AddParagraph().Append("Footer Paragraph");

                Validate(doc);

                doc.Close();
            }
        }
Example #19
0
        public void TableWithMergeDown()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                var table = doc.AddTable(5);

                for (int i = 0; i < 5; i++)
                {
                    var row = table.AddRow();
                    row.SetBorders(Units.HalfPt, BorderValue.Single);

                    if (i == 0)
                    {
                        row.SetShading(ShadingPattern.Clear, "E7E6E6");

                        row.HeaderRow = true;
                    }

                    for (int j = 0; j < 5; j++)
                    {
                        row.Cells[j].Paragraphs[0].Append($"Cell {(j + 1)}");
                    }
                }

                var rows = table.Rows.ToList();

                var firstRow = rows[0];

                for (int i = 0; i < 5; i++)
                {
                    if (i > 0)
                    {
                        firstRow.Cells[i].MergeDown = i;
                    }
                }

                Validate(doc);

                doc.Close();
            }
        }
Example #20
0
        public void Fonts()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                doc.AddParagraph().Append("Append normal paragraph");

                doc.AddParagraph().Append("Append Arial").FontFamily("Arial");

                doc.AddParagraph().Append("Append 20 points").FontSize(40);

                doc.AddParagraph().Append("Append 20 points").StyleName = "Heading1";

                Validate(doc);

                doc.Close();
            }
        }
Example #21
0
        public void TableWithMergeRightAndDown()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                var table = doc.AddTable(5);

                for (int i = 0; i < 5; i++)
                {
                    var row = table.AddRow();
                    row.SetBorders(Units.HalfPt, BorderValue.Single);

                    if (i == 0)
                    {
                        row.SetShading(ShadingPattern.Clear, "E7E6E6");

                        row.HeaderRow = true;
                    }

                    for (int j = 0; j < 5; j++)
                    {
                        row.Cells[j].Paragraphs[0].Append($"Cell {(j + 1)}");
                    }
                }

                var rows = table.Rows.ToList();

                var firstRow = rows[0];
                firstRow.Cells[0].MergeRight = 3;
                firstRow.Cells[1].AddParagraph().Append("Should not display.");

                var secondRow = rows[1];
                secondRow.Cells[1].MergeDown = 3;

                var thirdRow = rows[2];
                thirdRow.Cells[1].AddParagraph().Append("Should not display.");

                Validate(doc);

                doc.Close();
            }
        }
Example #22
0
        public void AddFooters()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                doc.AddFooters();

                doc.DefaultFooter
                .AddParagraph()
                .Append("Default (Odd) Footer");

                doc.EvenFooter
                .AddParagraph()
                .Append("Even Footer");

                doc.FirstFooter
                .AddParagraph()
                .Append("First Footer");

                doc.DifferentFirstPage = true;
                doc.EvenAndOddHeaders  = true;

                doc.AddParagraph().Append("Page 1");

                doc.InsertPageBreak();

                doc.AddParagraph().Append("Page 2");

                doc.InsertPageBreak();

                doc.AddParagraph().Append("Page 3");

                doc.InsertPageBreak();

                doc.AddParagraph().Append("Page 4");

                Validate(doc);

                doc.Close();
            }
        }
Example #23
0
        public void UnderlineParagraphs()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                doc.AddParagraph().Append("Append normal paragraph");

                doc.AddParagraph().Append("Append then set Underline").Underline(UnderlineType.Single);

                doc.AddParagraph().AppendUnderline("Append Underline paragraph", UnderlineType.Single);

                var paragraph = doc.AddParagraph();
                paragraph.Underline(UnderlineType.Single);
                paragraph.Append("Add paragraph, set Underline then append text.");

                doc.AddParagraph().Append("Append normal paragraph").AppendUnderline("Then append Underline paragraph", UnderlineType.Single);

                doc.AddParagraph().AppendUnderline("Dash", UnderlineType.Dash);
                doc.AddParagraph().AppendUnderline("DashDotDotHeavy", UnderlineType.DashDotDotHeavy);
                doc.AddParagraph().AppendUnderline("DashDotHeavy", UnderlineType.DashDotHeavy);
                doc.AddParagraph().AppendUnderline("DashedHeavy", UnderlineType.DashedHeavy);
                doc.AddParagraph().AppendUnderline("DashLong", UnderlineType.DashLong);
                doc.AddParagraph().AppendUnderline("DashLongHeavy", UnderlineType.DashLongHeavy);
                doc.AddParagraph().AppendUnderline("DotDash", UnderlineType.DotDash);
                doc.AddParagraph().AppendUnderline("DotDotDash", UnderlineType.DotDotDash);
                doc.AddParagraph().AppendUnderline("Dotted", UnderlineType.Dotted);
                doc.AddParagraph().AppendUnderline("DottedHeavy", UnderlineType.DottedHeavy);
                doc.AddParagraph().AppendUnderline("Double", UnderlineType.Double);
                doc.AddParagraph().AppendUnderline("None", UnderlineType.None);
                doc.AddParagraph().AppendUnderline("Single", UnderlineType.Single);
                doc.AddParagraph().AppendUnderline("Thick", UnderlineType.Thick);
                doc.AddParagraph().AppendUnderline("Wave", UnderlineType.Wave);
                doc.AddParagraph().AppendUnderline("WavyDouble", UnderlineType.WavyDouble);
                doc.AddParagraph().AppendUnderline("WavyHeavy", UnderlineType.WavyHeavy);
                doc.AddParagraph().AppendUnderline("Words Words Words", UnderlineType.Words);

                Validate(doc);

                doc.Close();
            }
        }
Example #24
0
        public void TableStyle()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                for (int k = 0; k < 5; k++)
                {
                    var columnCount = (k + 1) * 2;

                    var table = doc.AddTable(columnCount);
                    table.TableStyle = "TableGrid";

                    for (int i = 0; i < columnCount; i++)
                    {
                        var row = table.AddRow();
                        row.SetBorders(Units.HalfPt, BorderValue.Single);

                        if (i == 0)
                        {
                            row.SetShading(ShadingPattern.Clear, "E7E6E6");

                            row.HeaderRow = true;
                        }

                        for (int j = 0; j < columnCount; j++)
                        {
                            row.Cells[j].Paragraphs[0].Append($"Cell {(j + 1)}");
                        }
                    }

                    doc.AddParagraph();
                }

                Validate(doc);

                //doc.SaveAs(System.IO.Path.Combine(TempDirectory, "TableStyle.docx"));

                doc.Close();
            }
        }
Example #25
0
        public void SectionPageBreak()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                doc.AddParagraph().Append("Page 1");

                doc.InsertSectionPageBreak();

                doc.AddParagraph().Append("Page 2");

                doc.InsertSectionPageBreak();

                doc.AddParagraph().Append("Page 3");

                Validate(doc);

                doc.Close();
            }
        }
Example #26
0
        public void TableCellMargins()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                var table = doc.AddTable(5);

                var row = table.AddRow();

                row.Cells[0].Margins.LeftMargin.SetInch(.25);
                row.Cells[0].Margins.TopMargin.SetInch(.25);
                row.Cells[0].Margins.BottomMargin.SetInch(.25);
                row.Cells[0].Margins.RightMargin.SetInch(.25);

                row.Cells[0].SetText("1/4\"");

                Validate(doc);

                doc.Close();
            }
        }
Example #27
0
        public void TableMargins()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                var table = doc.AddTable(5);

                table.DefaultMargins.LeftMargin.Width   = System.Convert.ToInt16(Units.InchToTwips(.25).Value);
                table.DefaultMargins.TopMargin.Width    = Units.InchToTwips(.25).ToString();
                table.DefaultMargins.BottomMargin.Width = Units.InchToTwips(.25).ToString();
                table.DefaultMargins.RightMargin.Width  = System.Convert.ToInt16(Units.InchToTwips(.25).Value);

                var row = table.AddRow();

                row.Cells[0].SetText("1/4\"");

                Validate(doc);

                doc.Close();
            }
        }
Example #28
0
        public void ItalicParagraphs()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                doc.AddParagraph().Append("Append normal paragraph");

                doc.AddParagraph().Append("Append then set Italic").Italic();

                doc.AddParagraph().AppendItalic("Append Italic paragraph");

                var paragraph = doc.AddParagraph();
                paragraph.Italic();
                paragraph.Append("Add paragraph, set Italic then append text.");

                doc.AddParagraph().Append("Append normal paragraph").AppendItalic("Then append Italic paragraph");

                Validate(doc);

                doc.Close();
            }
        }
Example #29
0
        public void TableInTable()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                var table = doc.AddTable(2, 50, 50);
                var row   = table.AddRow();

                row.Cells[0].AddParagraph();
                row.Cells[1].AddParagraph();

                var table1 = row.Cells[0].AddTable(3);
                table1.AddRow().Cells[0].SetText("Table 1, Cell 1");

                var table2 = row.Cells[1].AddTable(3);
                table2.AddRow().Cells[0].SetText("Table 2, Cell 1");

                Validate(doc);

                doc.Close();
            }
        }
Example #30
0
        public void ParagraphIndentation()
        {
            using (var doc = new DocX())
            {
                doc.Create();

                doc.AddParagraph().AppendBold("1\" IndentationBefore");

                doc.AddParagraph().Append(LoremIpsum).IndentationBefore = Units.InchToTwips(1);

                doc.AddParagraph().AppendBold("1\" IndentationFirstLine");

                doc.AddParagraph().Append(LoremIpsum).IndentationFirstLine = Units.InchToTwips(1);

                doc.AddParagraph().AppendBold("1\" IndentationHanging");

                doc.AddParagraph().Append(LoremIpsum).IndentationHanging = Units.InchToTwips(1);

                Validate(doc);

                doc.Close();
            }
        }