コード例 #1
0
 public ParagraphBuilder LeftBorder(uint size = 1U, BorderValues lineStyle = BorderValues.Single)
 {
     return(this.Chain(p => p._config.Borders.LeftBorder = new LeftBorder
     {
         Val = lineStyle,
         Size = size
     }));
 }
コード例 #2
0
        private static void GetBorderProperties(string borderStyle, out BorderValues borderType, out string color, out UInt32 width)
        {
            string _width = GetBorderWidth(ref borderStyle);

            borderType = GetBorderStyle(ref borderStyle);

            UInt32.TryParse(_width, out width);
            color = DocxColor.GetHexColor(borderStyle.Trim().ToLower());
        }
コード例 #3
0
 public CellBuilder BottomBorder(uint size = 1U, BorderValues lineStyle = BorderValues.Single, string color = null)
 {
     return(this.Chain(p => p._config.Borders.BottomBorder = new BottomBorder
     {
         Val = lineStyle,
         Size = size,
         Color = color
     }));
 }
コード例 #4
0
 public TableBuilder TopBorder(uint size = 1U, BorderValues lineStyle = BorderValues.Single, string color = null)
 {
     return(this.Chain(p => p._config.Borders.TopBorder = new TopBorder
     {
         Val = lineStyle,
         Size = size,
         Color = color
     }));
 }
コード例 #5
0
ファイル: CellBorders.cs プロジェクト: mathewsun/My
        /// <summary>
        /// Стиль нижней линии окрас линия размер линии и т. д.
        /// </summary>
        /// <param name="lineValues">Линия какя должна быть нарисована</param>
        /// <param name="size">Размер нарисованной линии</param>
        /// <param name="space">Растояние от линии до текста</param>
        /// <param name="color">Цвет линии</param>
        /// <returns></returns>
        public static TableCellBorders GenerateBorder(BorderValues lineValues = BorderValues.Single, int size = 4, int space = 0, string color = "000000")
        {
            TableCellBorders bordercell = new TableCellBorders();

            bordercell.Append(new BottomBorder()
            {
                Val = lineValues, Color = color, Size = Convert.ToUInt32(size), Space = Convert.ToUInt32(space)
            });
            return(bordercell);
        }
コード例 #6
0
 internal static void Set(this BorderType Border,
                          int Size,
                          string Color       = "auto",
                          BorderValues Value = BorderValues.Single,
                          int Space          = 0)
 {
     Border.Val   = Value;
     Border.Color = Color;
     Border.Size  = UInt32Value.FromUInt32((uint)Size);
     Border.Space = UInt32Value.FromUInt32((uint)Space);
 }
コード例 #7
0
 public static TableCell BorderRight(this TableCell Cell,
                                     int Size           = 6,
                                     string Color       = "auto",
                                     BorderValues Value = BorderValues.Single,
                                     int Space          = 0)
 {
     Cell.GetBorderProperties()
     .Content()
     .GetOrAppend <RightBorder>().Set(Size, Color, Value, Space);
     return(Cell);
 }
コード例 #8
0
ファイル: DocumentService.cs プロジェクト: caneq/Warehouse
        private static Table CreateTable(BorderValues border = BorderValues.Single)
        {
            TableProperties properties = new TableProperties();

            //table borders
            TableBorders borders = new TableBorders();

            borders.TopBorder = new TopBorder()
            {
                Val = new EnumValue <BorderValues>(border)
            };
            borders.BottomBorder = new BottomBorder()
            {
                Val = new EnumValue <BorderValues>(border)
            };
            borders.LeftBorder = new LeftBorder()
            {
                Val = new EnumValue <BorderValues>(border)
            };
            borders.RightBorder = new RightBorder()
            {
                Val = new EnumValue <BorderValues>(border)
            };
            borders.InsideHorizontalBorder = new InsideHorizontalBorder()
            {
                Val = border
            };
            borders.InsideVerticalBorder = new InsideVerticalBorder()
            {
                Val = border
            };

            properties.Append(borders);

            //set the table width to page width
            TableWidth tableWidth = new TableWidth()
            {
                Width = "5000", Type = TableWidthUnitValues.Pct
            };

            properties.Append(tableWidth);

            //add properties to table
            Table table = new Table();

            table.Append(properties);
            return(table);
        }
コード例 #9
0
        private static void Write(TextWriter writer, string propertyName, BorderValues border)
        {
            switch (border)
            {
            case BorderValues.BasicBlackDashes:
                Write(writer, propertyName, "dash");
                break;

            case BorderValues.BasicBlackDots:
                Write(writer, propertyName, "dot");
                break;

            case BorderValues.BasicThinLines:
                Write(writer, propertyName, "solid");
                break;
            }
        }
コード例 #10
0
 public static void AssertBorder(
     BorderType border,
     CellState cell,
     int d,
     BorderValues style = BorderValues.Single)
 {
     Assert.AreEqual((int)border.Size.Value / 8f, cell.Borders[d].Thickness);
     Assert.AreEqual(style, cell.Borders[d].Style);
     if (border.Color.Value != "auto")
     {
         Assert.AreEqual(border.Color.Value, cell.Borders[d].Color);
     }
     else
     {
         Assert.AreEqual("000000", cell.Borders[d].Color);
     }
 }
コード例 #11
0
        /// <summary>
        /// Set the table properties
        /// </summary>
        /// <param name="borderValues"> Border style </param>
        /// <returns></returns>
        private TableProperties GetTableProperties(string rgbColor, BorderValues borderValues)
        {
            TableProperties tblProperties = new TableProperties();
            TableBorders    tblBorders    = new TableBorders();

            TopBorder topBorder = new TopBorder();

            topBorder.Val   = new EnumValue <BorderValues>(borderValues);
            topBorder.Color = rgbColor;
            tblBorders.AppendChild(topBorder);

            BottomBorder bottomBorder = new BottomBorder();

            bottomBorder.Val   = new EnumValue <BorderValues>(borderValues);
            bottomBorder.Color = rgbColor;
            tblBorders.AppendChild(bottomBorder);

            RightBorder rightBorder = new RightBorder();

            rightBorder.Val   = new EnumValue <BorderValues>(borderValues);
            rightBorder.Color = rgbColor;
            tblBorders.AppendChild(rightBorder);

            LeftBorder leftBorder = new LeftBorder();

            leftBorder.Val   = new EnumValue <BorderValues>(borderValues);
            leftBorder.Color = rgbColor;
            tblBorders.AppendChild(leftBorder);

            InsideHorizontalBorder insideHBorder = new InsideHorizontalBorder();

            insideHBorder.Val   = new EnumValue <BorderValues>(borderValues);
            insideHBorder.Color = rgbColor;
            tblBorders.AppendChild(insideHBorder);

            InsideVerticalBorder insideVBorder = new InsideVerticalBorder();

            insideVBorder.Val   = new EnumValue <BorderValues>(borderValues);
            insideVBorder.Color = rgbColor;
            tblBorders.AppendChild(insideVBorder);

            tblProperties.AppendChild(tblBorders);

            return(tblProperties);
        }
コード例 #12
0
        public static TableProperties getTableProperties(BorderValues bvTop, string colorTop, BorderValues bvBott, string colorBott, BorderValues bvRight, string colorRight, BorderValues bvLeft, string colorLeft, BorderValues bvinsIdeHBorder, string colorInsideHBorder, BorderValues bvInsideVBorder, string colorInsideVBorder)
        {
            TableProperties tblProperties = new TableProperties();
            TableBorders    tblBorders    = new TableBorders();

            TopBorder topBorder = new TopBorder();

            topBorder.Val   = new EnumValue <BorderValues>(bvTop);
            topBorder.Color = colorTop;
            tblBorders.AppendChild(topBorder);

            BottomBorder bottomBorder = new BottomBorder();

            bottomBorder.Val   = new EnumValue <BorderValues>(bvBott);
            bottomBorder.Color = colorBott;
            tblBorders.AppendChild(bottomBorder);

            RightBorder rightBorder = new RightBorder();

            rightBorder.Val   = new EnumValue <BorderValues>(bvRight);
            rightBorder.Color = colorRight;
            tblBorders.AppendChild(rightBorder);

            LeftBorder leftBorder = new LeftBorder();

            leftBorder.Val   = new EnumValue <BorderValues>(bvLeft);
            leftBorder.Color = colorLeft;
            tblBorders.AppendChild(leftBorder);

            InsideHorizontalBorder insideHBorder = new InsideHorizontalBorder();

            insideHBorder.Val   = new EnumValue <BorderValues>(bvinsIdeHBorder);
            insideHBorder.Color = colorInsideHBorder;
            tblBorders.AppendChild(insideHBorder);

            InsideVerticalBorder insideVBorder = new InsideVerticalBorder();

            insideVBorder.Val   = new EnumValue <BorderValues>(bvInsideVBorder);
            insideVBorder.Color = colorInsideVBorder;
            tblBorders.AppendChild(insideVBorder);

            tblProperties.AppendChild(tblBorders);

            return(tblProperties);
        }
コード例 #13
0
        //.....................................................................
        /// <summary>
        /// Create Table Borders
        ///
        /// </summary>
        /// <returns></returns>
        private TableBorders MakeTableBorders(BorderValues btThick, string btColor)
        {
            TableBorders tableborders = new TableBorders( );

            TopBorder    borderTOP = new TopBorder( );
            BottomBorder borderBTM = new BottomBorder( );

            LeftBorder  borderLFT = new LeftBorder( );
            RightBorder borderRGT = new RightBorder( );

            InsideHorizontalBorder borderHorz = new InsideHorizontalBorder( );
            InsideVerticalBorder   borderVert = new InsideVerticalBorder( );

            borderTOP.Val   = new EnumValue <BorderValues>(btThick);    //BorderValues.Thick );
            borderTOP.Color = btColor;                                  // "CC0000";

            borderBTM.Val   = new EnumValue <BorderValues>(btThick);    //BorderValues.Thick );
            borderBTM.Color = btColor;                                  // "CC0000";

            borderLFT.Val   = new EnumValue <BorderValues>(btThick);    //BorderValues.Thick );
            borderLFT.Color = btColor;                                  // "CC0000";

            borderRGT.Val   = new EnumValue <BorderValues>(btThick);    //BorderValues.Thick );
            borderRGT.Color = btColor;                                  // "CC0000";

            borderHorz.Val   = new EnumValue <BorderValues>(btThick);   //BorderValues.Thick );
            borderHorz.Color = btColor;                                 // "CC0000";

            borderVert.Val   = new EnumValue <BorderValues>(btThick);   //BorderValues.Thick );
            borderVert.Color = btColor;                                 // "CC0000";

            tableborders.AppendChild(borderTOP);
            tableborders.AppendChild(borderBTM);
            tableborders.AppendChild(borderRGT);
            tableborders.AppendChild(borderLFT);

            tableborders.AppendChild(borderHorz);
            tableborders.AppendChild(borderVert);

            return(tableborders);
        }
コード例 #14
0
        static private BorderValues GetBorderValue(string borderValue)
        {
            BorderValues value = BorderValues.None;

            switch (borderValue)
            {
            case "Dotted":
                value = BorderValues.Dotted; break;

            case "Dashed":
                value = BorderValues.Dashed; break;

            case "Dot2Dashed":
                value = BorderValues.DotDotDash; break;

            case "DotDashed":
                value = BorderValues.DotDash; break;

            case "DashedSmall":
                value = BorderValues.DashSmallGap; break;

            case "Single":
                value = BorderValues.Single; break;

            case "DashDotStroked":
                value = BorderValues.DashDotStroked; break;

            case "ThreeDEmboss":
                value = BorderValues.ThreeDEmboss; break;

            case "Double":
                value = BorderValues.Double; break;

            default:
                value = BorderValues.None;
                break;
            }
            return(value);
        }
コード例 #15
0
 public static TableProperties GetTableProperties(uint pvSize = 10, BorderValues borderValues = BorderValues.Single)
 {
     return(new TableProperties(
                new TableBorders(
                    new TopBorder {
         Val = new EnumValue <BorderValues>(borderValues), Size = pvSize
     },
                    new BottomBorder {
         Val = new EnumValue <BorderValues>(borderValues), Size = pvSize
     },
                    new LeftBorder {
         Val = new EnumValue <BorderValues>(borderValues), Size = pvSize
     },
                    new RightBorder {
         Val = new EnumValue <BorderValues>(borderValues), Size = pvSize
     },
                    new InsideHorizontalBorder {
         Val = new EnumValue <BorderValues>(borderValues), Size = pvSize
     },
                    new InsideVerticalBorder {
         Val = new EnumValue <BorderValues>(borderValues), Size = pvSize
     }
                    )));
 }
コード例 #16
0
        OpenXmlElement GenerateContent(Body Body, DataType DataType, object Obj, TokenParameters TokenParams)
        {
            switch (DataType)
            {
            case DataType.None:
                return(null);

            case DataType.EmbeddedData: {
                EmbeddedData ObjData = (EmbeddedData)Obj;

                switch (ObjData.Type.MediaType)
                {
                case "image/jpeg":
                case "image/jpg":
                case "image/png": {
                    Image Img = ObjData.ParseImageData();
                    Utils.GetSizeInEMU(Img, out long W, out long H);

                    const string WidthName  = "width";
                    const string HeightName = "height";

                    if (TokenParams.Defined(WidthName) && TokenParams.Defined(HeightName))
                    {
                        W = Utils.MilimeterToEmu(TokenParams.Get <int>(WidthName));
                        H = Utils.MilimeterToEmu(TokenParams.Get <int>(HeightName));
                    }
                    else if (TokenParams.Defined(WidthName))
                    {
                        long NewW = Utils.MilimeterToEmu(TokenParams.Get <int>(WidthName));
                        Utils.Scale((float)NewW / W, ref W, ref H);
                    }
                    else if (TokenParams.Defined(HeightName))
                    {
                        long NewH = Utils.MilimeterToEmu(TokenParams.Get <int>(HeightName));
                        Utils.Scale((float)NewH / H, ref W, ref H);
                    }

                    GenerateImagePart(Img, out string ImageID);
                    return(new Run(new RunProperties(), GenerateDrawing(ImageID, W, H)));
                }

                case "text/csv": {
                    string   CSVData  = ObjData.ParseStringData();
                    string[] CSVLines = CSVData.Replace("\r", "").Split(new[] { '\n' }, StringSplitOptions.RemoveEmptyEntries);

                    // https://www.codeproject.com/Articles/1043875/Create-Word-table-using-OpenXML-and-Csharp-Without


                    Table Tab = new Table();
                    //TableProperties TblPr = new TableProperties();
                    //Tab.AppendChild(TblPr);

                    uint         TableBorder = 1;
                    BorderValues BorderType  = BorderValues.BasicThinLines;

                    TableProperties Props = new TableProperties();
                    Tab.AppendChild(Props);

                    PageDimensions Dim;
                    GetPageDimensions(Body, out Dim);

                    Props.AppendChild(new TableStyle()
                            {
                                Val = "0"
                            });
                    Props.AppendChild(new TableWidth()
                            {
                                Width = Dim.FillWidth.ToString(), Type = TableWidthUnitValues.Dxa
                            });
                    Props.AppendChild(new TableIndentation()
                            {
                                Width = 0, Type = TableWidthUnitValues.Dxa
                            });

                    TableBorders Borders = new TableBorders();
                    Borders.AppendChild(new TopBorder()
                            {
                                Val = new EnumValue <BorderValues>(BorderType), Size = TableBorder
                            });
                    Borders.AppendChild(new BottomBorder()
                            {
                                Val = new EnumValue <BorderValues>(BorderType), Size = TableBorder
                            });
                    Borders.AppendChild(new LeftBorder()
                            {
                                Val = new EnumValue <BorderValues>(BorderType), Size = TableBorder
                            });
                    Borders.AppendChild(new RightBorder()
                            {
                                Val = new EnumValue <BorderValues>(BorderType), Size = TableBorder
                            });
                    Borders.AppendChild(new InsideHorizontalBorder()
                            {
                                Val = new EnumValue <BorderValues>(BorderType), Size = TableBorder
                            });
                    Borders.AppendChild(new InsideVerticalBorder()
                            {
                                Val = new EnumValue <BorderValues>(BorderType), Size = TableBorder
                            });
                    Props.AppendChild(Borders);

                    Props.AppendChild(new TableLayout()
                            {
                                Type = TableLayoutValues.Fixed
                            });

                    foreach (var Line in CSVLines)
                    {
                        string[]    Columns = Line.Split(new[] { ';' });
                        TableCell[] Cells   = new TableCell[Columns.Length - 1];

                        for (int i = 0; i < Columns.Length - 1; i++)
                        {
                            string Column = Columns[i];

                            if (Column.StartsWith("\"") && Column.EndsWith("\""))
                            {
                                Column = Column.Substring(1, Column.Length - 2);
                            }

                            Cells[i] = GenerateCell(Column);
                        }

                        Tab.AppendChild(GenerateRow(Cells));
                    }

                    //Body.ReplaceChild(Tab, Root);
                    return(Tab);
                }

                case "text/plain":
                    return(GenerateTextRun(ObjData.ParseStringData()));

                default:
                    throw new NotImplementedException();
                }
            }

            case DataType.String: {
                WordTable.ColumnStyle TokenParamStyle = WordTable.ColumnStyle.NONE;

                if (TokenParams.Defined("bold"))
                {
                    TokenParamStyle |= WordTable.ColumnStyle.BOLD;
                }

                if (TokenParams.Defined("italic"))
                {
                    TokenParamStyle |= WordTable.ColumnStyle.ITALIC;
                }

                if (TokenParams.Defined("underline"))
                {
                    TokenParamStyle |= WordTable.ColumnStyle.UNDERLINE;
                }

                WordTable.ColumnStyle Style = WordTableContext.GetCurrent()?.GetCurrentColumn()?.ParseStyle() ?? TokenParamStyle;
                return(GenerateTextRun(Obj.ToString(), Style));
            }

            case DataType.PageBreak:
                return(new Run(new RunProperties(), new Break()
                {
                    Type = BreakValues.Page
                }));

            default:
                throw new NotImplementedException();
            }
        }
コード例 #17
0
        public static TableProperties GetTableProperties(
            string borderColor = "#0000000",
            BorderValues b     = BorderValues.None,
            string tableWidth  = "2500"
            )
        {
            TableProperties tblProperties = new TableProperties();
            TableBorders    tblBorders    = new TableBorders();

            TableCellVerticalAlignment tcVA = new TableCellVerticalAlignment
            {
                Val = TableVerticalAlignmentValues.Center
            };

            tblBorders.AppendChild(tcVA);


            TopBorder topBorder = new TopBorder
            {
                Val   = new EnumValue <BorderValues>(b),
                Color = borderColor
            };

            tblBorders.AppendChild(topBorder);

            BottomBorder bottomBorder = new BottomBorder
            {
                Val   = new EnumValue <BorderValues>(b),
                Color = borderColor
            };

            tblBorders.AppendChild(bottomBorder);

            RightBorder rightBorder = new RightBorder
            {
                Val   = new EnumValue <BorderValues>(b),
                Color = borderColor
            };

            tblBorders.AppendChild(rightBorder);

            LeftBorder leftBorder = new LeftBorder
            {
                Val   = new EnumValue <BorderValues>(b),
                Color = borderColor
            };

            tblBorders.AppendChild(leftBorder);

            InsideHorizontalBorder insideHBorder = new InsideHorizontalBorder
            {
                Val   = new EnumValue <BorderValues>(b),
                Color = borderColor
            };

            tblBorders.AppendChild(insideHBorder);

            InsideVerticalBorder insideVBorder = new InsideVerticalBorder
            {
                Val   = new EnumValue <BorderValues>(b),
                Color = borderColor
            };

            tblBorders.AppendChild(insideVBorder);

            tblProperties.AppendChild(tblBorders);
            TableWidth width = new TableWidth
            {
                Width = tableWidth,
                Type  = TableWidthUnitValues.Pct
            };

            tblProperties.AppendChild(width);
            return(tblProperties);
        }
コード例 #18
0
 public static void AssertBorder(BorderType border, BorderState b, BorderValues style = BorderValues.Single)
 {
     Assert.AreEqual((int)border.Size.Value / 8f, b.Thickness);
     Assert.AreEqual(border.Color.Value, b.Color);
     Assert.AreEqual(style, b.Style);
 }
コード例 #19
0
        public static Table createTable(MainDocumentPart mainPart, bool bolds, bool italics, bool underlines, string[] content, JustificationValues justifications, int right, int cell, string rgbColor = "000000", BorderValues borderValues = BorderValues.Thick)
        {
            Table t = new Table();

            t.Append(getTableProperties(rgbColor, borderValues));
            t.Append(CreateHead(mainPart, bolds, italics, underlines, justifications, cell));
            return(t);
        }
コード例 #20
0
        internal static void ApplyBorders(OpenXmlCompositeElement element,
                                          string borderStyle,
                                          string leftBorderStyle,
                                          string topBorderStyle,
                                          string rightBorderStyle,
                                          string bottomBorderStyle,
                                          bool useDefaultBorder)
        {
            BorderValues borderValue = BorderValues.None;
            string       color       = string.Empty;
            UInt32       width       = 0;
            bool         hasBorder   = false;

            if (!string.IsNullOrEmpty(borderStyle))
            {
                hasBorder = true;
                GetBorderProperties(borderStyle, out borderValue, out color, out width);
            }

            if (!string.IsNullOrEmpty(topBorderStyle))
            {
                ApplyBorder <TopBorder>(topBorderStyle, element);
            }
            else if (hasBorder)
            {
                TopBorder topBorder = GetBorderType <TopBorder>(borderValue, color, width);

                if (topBorder != null)
                {
                    element.Append(topBorder);
                }
            }
            else if (useDefaultBorder)
            {
                ApplyDefaultBorder <TopBorder>(element);
            }

            if (!string.IsNullOrEmpty(leftBorderStyle))
            {
                ApplyBorder <LeftBorder>(leftBorderStyle, element);
            }
            else if (hasBorder)
            {
                LeftBorder leftBorder = GetBorderType <LeftBorder>(borderValue, color, width);

                if (leftBorder != null)
                {
                    element.Append(leftBorder);
                }
            }
            else if (useDefaultBorder)
            {
                ApplyDefaultBorder <LeftBorder>(element);
            }

            if (!string.IsNullOrEmpty(bottomBorderStyle))
            {
                ApplyBorder <BottomBorder>(bottomBorderStyle, element);
            }
            else if (hasBorder)
            {
                BottomBorder bottomBorder = GetBorderType <BottomBorder>(borderValue, color, width);

                if (bottomBorder != null)
                {
                    element.Append(bottomBorder);
                }
            }
            else if (useDefaultBorder)
            {
                ApplyDefaultBorder <BottomBorder>(element);
            }

            if (!string.IsNullOrEmpty(rightBorderStyle))
            {
                ApplyBorder <RightBorder>(rightBorderStyle, element);
            }
            else if (hasBorder)
            {
                RightBorder rightBorder = GetBorderType <RightBorder>(borderValue, color, width);

                if (rightBorder != null)
                {
                    element.Append(rightBorder);
                }
            }
            else if (useDefaultBorder)
            {
                ApplyDefaultBorder <RightBorder>(element);
            }
        }
コード例 #21
0
ファイル: CellBorders.cs プロジェクト: mathewsun/My
        /// <summary>
        ///
        /// </summary>
        /// <param name="bordersSelect">Выбор границ для ячейки</param>
        /// <param name="lineValues">Линия какая должна быть нарисована</param>
        /// <param name="size">Размер нарисованной линии</param>
        /// <param name="space">Расстояние от линии до текста</param>
        /// <param name="color">Цвет линии</param>
        /// <returns></returns>
        public static TableCellBorders SelectGenerateBorder(SelectTableCellBorders bordersSelect, BorderValues lineValues = BorderValues.Single, int size = 4, int space = 0, string color = "000000")
        {
            var borderCell = new TableCellBorders();
            var allBorder  = new List <BorderType>
            {
                new TopBorder()
                {
                    Val   = BorderValues.Single,
                    Color = "000000",
                    Size  = Convert.ToUInt32(4),
                    Space = Convert.ToUInt32(0)
                },
                new LeftBorder()
                {
                    Val   = BorderValues.Single,
                    Color = "000000",
                    Size  = Convert.ToUInt32(4),
                    Space = Convert.ToUInt32(0)
                },
                new RightBorder()
                {
                    Val   = BorderValues.Single,
                    Color = "000000",
                    Size  = Convert.ToUInt32(4),
                    Space = Convert.ToUInt32(0)
                },
                new BottomBorder()
                {
                    Val   = BorderValues.Single,
                    Color = "000000",
                    Size  = Convert.ToUInt32(4),
                    Space = Convert.ToUInt32(0)
                }
            };

            allBorder.ForEach(x =>
            {
                var name = x.GetType();
                if (bordersSelect.ToString().Contains(name.Name))
                {
                    borderCell.Append(x);
                }
            });
            return(borderCell);
        }
コード例 #22
0
ファイル: BorderState.cs プロジェクト: kurapica/doc2web
 public BorderState()
 {
     Style = BorderValues.Single;
 }
コード例 #23
0
ファイル: StyleExtractor.cs プロジェクト: npenin/docxtohtml
 private static void Write(TextWriter writer, string propertyName, BorderValues border)
 {
     switch (border)
     {
         case BorderValues.BasicBlackDashes:
             Write(writer, propertyName, "dash");
             break;
         case BorderValues.BasicBlackDots:
             Write(writer, propertyName, "dot");
             break;
         case BorderValues.BasicThinLines:
             Write(writer, propertyName, "solid");
             break;
     }
 }
コード例 #24
0
 public static DocumentFormat.OpenXml.Wordprocessing.BorderValues ToOOxml(this BorderValues value)
 {
     return((DocumentFormat.OpenXml.Wordprocessing.BorderValues)(int) value);
 }
コード例 #25
0
        /// <summary>
        /// Create a personal table
        /// </summary>
        /// <param name="bolds"> Bold for every table elements </param>
        /// <param name="italics"> Italic for every table elements </param>
        /// <param name="underlines"> Underline for every table elements </param>
        /// <param name="texts"> Text for every table elements </param>
        /// <param name="justifications"> Type of justification </param>
        /// <param name="borderValues"> Border style </param>
        /// <returns></returns>
        public Table CreateTable(MainDocumentPart mainPart, bool[] bolds, bool[] italics, bool[] underlines, string[] texts, JustificationValues[] justifications, int rows, int cell, string rgbColor = "000000", BorderValues borderValues = BorderValues.Thick)
        {
            if (bolds.Length == italics.Length && italics.Length == underlines.Length && underlines.Length == texts.Length)
            {
                Table table = new Table();
                // set table properties
                table.AppendChild(GetTableProperties(rgbColor, borderValues));

                // row 1
                int y = 0;
                for (int i = 0; i < rows; i++)
                {
                    TableRow tr = new TableRow();

                    for (int j = 0; j < cell; j++)
                    {
                        AddStyle(mainPart, bolds[y], italics[y], underlines[y], false, $"0{y}", $"Table{y}");
                        TableCell tc = new TableCell();
                        Paragraph p  = CreateParagraphWithStyle($"0{y}", justifications[y]);
                        AddTextToParagraph(p, texts[y]);
                        tc.Append(p);
                        tr.Append(tc);
                        y++;
                    }

                    table.Append(tr);
                }
                return(table);
            }
            else
            {
                throw new Exception("Errore nella tabella! Numero di stili o testi diverso dal numero di paragrafi");
            }
        }