internal override void VisitFootnote(Footnote footnote) { Document document = footnote.Document; ParagraphFormat format = null; Style style = document._styles[footnote._style.Value]; if (style != null) { format = ParagraphFormatFromStyle(style); } else { footnote.Style = StyleNames.Footnote; format = document._styles[StyleNames.Footnote]._paragraphFormat; } if (footnote._format == null) { footnote._format = format.Clone(); footnote._format._parent = footnote; } else { FlattenParagraphFormat(footnote._format, format); } }
private static void SetOneRow([JetBrains.Annotations.NotNull] ParagraphFormat format, [JetBrains.Annotations.NotNull] Table table, [ItemNotNull][JetBrains.Annotations.NotNull] string[] values) { var row = table.AddRow(); for (var i = 0; i < values.Length; i++) { var cell = row.Cells[i]; cell.AddParagraph(values[i]); cell.Format = format.Clone(); } }
public void MakePage(Document doc, string dstdir, bool requireAll, List <string> pngFiles, Section tocSection) { var di = new DirectoryInfo(dstdir); var files = di.GetFiles("Persons.*.txt"); if (files.Length == 0) { if (requireAll) { throw new LPGException("Missing Persons files"); } return; } var sec = doc.AddSection(); // Add a single paragraph with some text and format information. var para = sec.AddParagraph(); para.Format.Alignment = ParagraphAlignment.Justify; para.Format.Font.Name = "Times New Roman"; para.Format.Font.Size = 20; para.Format.Font.Bold = true; para.Format.SpaceAfter = "1cm"; para.Format.SpaceBefore = "1cm"; para.Format.Font.Color = Colors.DarkGray; para.AddText("Persons"); ChartPageBase.MakeTocEntry(tocSection, "Persons"); para.AddBookmark("Persons"); var format1 = new ParagraphFormat { Font = { Size = 14 }, SpaceBefore = "0.2cm", SpaceAfter = "0.2cm", ListInfo = { ListType = ListType.BulletList1 } }; var format2 = new ParagraphFormat { Font = { Size = 12 }, ListInfo = { ListType = ListType.BulletList2 }, LeftIndent = "3cm" }; foreach (var file in files) { var household = file.Name.Substring(file.Name.IndexOf(".", StringComparison.Ordinal) + 1); household = household.Substring(0, household.IndexOf(".", StringComparison.Ordinal)); var para1 = sec.AddParagraph(); para1.Format.Alignment = ParagraphAlignment.Left; para1.Format = format1.Clone(); para1.AddText(household); var persons = PersonsReader(file.FullName); foreach (var person in persons) { var para2 = sec.AddParagraph(); para2.Format.Alignment = ParagraphAlignment.Left; para2.Format = format2.Clone(); para2.AddText(person); } } }
internal override void VisitParagraph(Paragraph paragraph) { Document document = paragraph.Document; ParagraphFormat format = null; DocumentObject currentElementHolder = GetDocumentElementHolder(paragraph); Style style = document.styles[paragraph.style.Value]; if (style != null) { format = ParagraphFormatFromStyle(style); } else if (currentElementHolder is Cell) { paragraph.style = ((Cell)currentElementHolder).style; format = ((Cell)currentElementHolder).format; } else if (currentElementHolder is HeaderFooter) { HeaderFooter currHeaderFooter = ((HeaderFooter)currentElementHolder); if (currHeaderFooter.IsHeader) { paragraph.Style = "Header"; format = document.styles["Header"].paragraphFormat; } else { paragraph.Style = "Footer"; format = document.styles["Footer"].paragraphFormat; } if (currHeaderFooter.format != null) { FlattenParagraphFormat(paragraph.Format, currHeaderFooter.format); } } else if (currentElementHolder is Footnote) { paragraph.Style = "Footnote"; format = document.styles["Footnote"].paragraphFormat; } else if (currentElementHolder is TextArea) { paragraph.style = ((TextArea)currentElementHolder).style; format = ((TextArea)currentElementHolder).format; } else { if (paragraph.style.Value != "") { paragraph.Style = "InvalidStyleName"; } else { paragraph.Style = "Normal"; } format = document.styles[paragraph.Style].paragraphFormat; } if (paragraph.format == null) { paragraph.format = format.Clone(); paragraph.format.parent = paragraph; } else { FlattenParagraphFormat(paragraph.format, format); } }
private static void MakeTable([JetBrains.Annotations.NotNull] string headline, [JetBrains.Annotations.NotNull] Section sec, [JetBrains.Annotations.NotNull] out ParagraphFormat format, [JetBrains.Annotations.NotNull] out Table table, TableColumnType tableColumnType) { var para = sec.AddParagraph(); para.Format.Alignment = ParagraphAlignment.Justify; para.Format.Font.Name = "Times New Roman"; para.Format.Font.Size = 16; para.Format.Font.Bold = true; para.Format.SpaceAfter = "0.5cm"; para.Format.SpaceBefore = "1cm"; para.Format.Font.Color = Colors.DarkGray; para.AddText(headline); format = new ParagraphFormat { Font = { Size = 12 }, SpaceBefore = "0.2cm", SpaceAfter = "0.2cm" }; table = new Table { Borders = { Width = 0.75 } }; int[] measurements; bool[] alignments; string[] headers; switch (tableColumnType) { case TableColumnType.Values: alignments = new[] { false, true, false }; measurements = new[] { 5, 5, 5 }; headers = new[] { "Load Type", "Value", "Unit" }; break; case TableColumnType.SettlementValues: measurements = new[] { 4, 5, 3, 3 }; alignments = new[] { false, false, true, false }; headers = new[] { "Household", "Load Type", "Value", "Unit" }; break; case TableColumnType.MinMax: measurements = new[] { 5, 3, 3, 3 }; alignments = new[] { false, true, true, false }; headers = new[] { "Household", "Minimum", "Maximum", "Unit" }; break; default: throw new LPGException("Forgotten TableColumnType"); } for (var i = 0; i < measurements.Length; i++) { var column0 = table.AddColumn(Unit.FromCentimeter(measurements[i])); if (alignments[i]) { column0.Format.Alignment = ParagraphAlignment.Right; } else { column0.Format.Alignment = ParagraphAlignment.Left; } } var row = table.AddRow(); row.Shading.Color = Colors.AliceBlue; for (var i = 0; i < headers.Length; i++) { var cell = row.Cells[i]; cell.AddParagraph(headers[i]); cell.Format = format.Clone(); } }