iTextSharp.text.html.HtmlWriter.Write C# (CSharp) Метод

Write() защищенный Метод

protected Write ( Font font, Properties styleAttributes ) : void
font iTextSharp.text.Font
styleAttributes System.util.Properties
Результат void
        protected void Write(Font font, Properties styleAttributes) {
            if (font == null || !IsOtherFont(font) /*|| styleAttributes == null*/) return;
            Write(" ");
            Write(HtmlTags.STYLE);
            Write("=\"");
            if (styleAttributes != null) {
                foreach (String key in styleAttributes.Keys) {
                    WriteCssProperty(key, styleAttributes[key]);
                }
            }
            if (IsOtherFont(font)) {
                WriteCssProperty(Markup.CSS_KEY_FONTFAMILY, font.Familyname);
            
                if (font.Size != Font.UNDEFINED) {
                    WriteCssProperty(Markup.CSS_KEY_FONTSIZE, font.Size.ToString() + "pt");
                }
                if (font.Color != null) {
                    WriteCssProperty(Markup.CSS_KEY_COLOR, HtmlEncoder.Encode(font.Color));
                }
            
                int fontstyle = font.Style;
                BaseFont bf = font.BaseFont;
                if (bf != null) {
                    String ps = bf.PostscriptFontName.ToLower(CultureInfo.InvariantCulture);
                    if (ps.IndexOf("bold") >= 0) {
                        if (fontstyle == Font.UNDEFINED)
                            fontstyle = 0;
                        fontstyle |= Font.BOLD;
                    }
                    if (ps.IndexOf("italic") >= 0 || ps.IndexOf("oblique") >= 0) {
                        if (fontstyle == Font.UNDEFINED)
                            fontstyle = 0;
                        fontstyle |= Font.ITALIC;
                    }
                }
                if (fontstyle != Font.UNDEFINED && fontstyle != Font.NORMAL) {
                    switch (fontstyle & Font.BOLDITALIC) {
                        case Font.BOLD:
                            WriteCssProperty(Markup.CSS_KEY_FONTWEIGHT, Markup.CSS_VALUE_BOLD);
                            break;
                        case Font.ITALIC:
                            WriteCssProperty(Markup.CSS_KEY_FONTSTYLE, Markup.CSS_VALUE_ITALIC);
                            break;
                        case Font.BOLDITALIC:
                            WriteCssProperty(Markup.CSS_KEY_FONTWEIGHT, Markup.CSS_VALUE_BOLD);
                            WriteCssProperty(Markup.CSS_KEY_FONTSTYLE, Markup.CSS_VALUE_ITALIC);
                            break;
                    }
                
                    // CSS only supports one decoration tag so if both are specified
                    // only one of the two will display
                    if ((fontstyle & Font.UNDERLINE) > 0) {
                        WriteCssProperty(Markup.CSS_KEY_TEXTDECORATION, Markup.CSS_VALUE_UNDERLINE);
                    }
                    if ((fontstyle & Font.STRIKETHRU) > 0) {
                        WriteCssProperty(Markup.CSS_KEY_TEXTDECORATION, Markup.CSS_VALUE_LINETHROUGH);
                    }
                }
            }
            Write("\"");
        }
    

Same methods

HtmlWriter::Write ( IElement element, int indent ) : void