package chiralsoftware.exceltobarcode; import com.itextpdf.text.Font; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellStyle; /** * * @author hh */ public final class DisplayUtilities { private DisplayUtilities() { throw new RuntimeException("Don't instantiate this!"); } /** Find the appropriate CSS style for a given cell. * This finds out the font family, bold, italic, alignment, * and size. * * @param c * @param font * @return */ public static final String getTdStyle(Cell c, Font font) { if(c == null) return ""; if(font == null) return ""; final StringBuilder result = new StringBuilder(); final CellStyle cellStyle = c.getCellStyle(); if(cellStyle.getAlignment() == CellStyle.ALIGN_LEFT) result.append("text-align: left; "); else if(cellStyle.getAlignment() == CellStyle.ALIGN_CENTER) result.append("text-align: center; "); else if(cellStyle.getAlignment() == CellStyle.ALIGN_RIGHT) result.append("text-align: right; "); else result.append("text-align: left; "); if(font.getFamily() == Font.FontFamily.COURIER) result.append("font-family: Courier, monospace; "); else if(font.getFamily() == Font.FontFamily.HELVETICA) result.append("font-family: sans-serif; "); else if(font.getFamily() == Font.FontFamily.SYMBOL) result.append("font-family: sans-serif; "); else if(font.getFamily() == Font.FontFamily.TIMES_ROMAN) result.append("font-family: Times, serif; "); result.append("font-size: ").append(Math.round(font.getSize())).append("pt;"); if(font.isBold()) result.append("font-weight: bold; "); if(font.isItalic()) result.append("font-style: italic; "); return result.toString(); } }