zoukankan      html  css  js  c++  java
  • 让Flying saucer支持font定义

    在wangEditor里给某段字体加上颜色后,在生成的PDF里无法体现出来,只好打开flying saucer的源码debug,发现XhtmlNamespaceHandler类中没有对font元素的处理,于是依样画瓢:


    public String getNonCssStyling(Element e) {

        if (e.getNodeName().equals("table")) {

            return applyTableStyles(e);            

        } else if (e.getNodeName().equals("td") || e.getNodeName().equals("th")) {

            return applyTableCellStyles(e);

        } else if (e.getNodeName().equals("tr")) {

            return applyTableRowStyles(e);

        } else if (e.getNodeName().equals("img")) {

            return applyImgStyles(e);

        } else if (e.getNodeName().equals("p") || e.getNodeName().equals("div")) {

            return applyBlockAlign(e);

        }else if(e.getNodeName().equalsIgnoreCase("font")){

            return applyFontStyle(e);

        }

        return "";

    }


    然后加上下面的方法:


    private String applyFontStyle(Element e) {

            StringBuffer style = new StringBuffer();

            String s;

            s = getAttribute(e, "color");

            if (s != null) {

                s = s.toLowerCase().trim();

                style.append("color: ");

                style.append(s);

                style.append(";");

            }

            s = getAttribute(e, "size");

            if (s != null) {

                s = s.toLowerCase().trim();

                if(!s.endsWith("px")){

                    s = s + "px";

                }

                style.append("font-size: ");

                style.append(s);

                style.append(";");

            }

            return style.toString();

        }


  • 相关阅读:
    Ubuntu 虚拟机空间不足增加空间笔记
    am335x sd卡启动开启识别emmc kernel 上的改动
    Delphi实现树型结构具体实例
    学习 TTreeView [15]
    delphi中Treeview的使用介绍
    按下F2编辑dxDBTreeView的节点
    dbtreeview
    我的dbtreeview–treeview直接连接数据表_delphi教程
    SqlDbx连接oracle(可用)
    SqlDbx连接oracle(无需安装Oracle客户端)
  • 原文地址:https://www.cnblogs.com/xiuquan/p/6103167.html
Copyright © 2011-2022 走看看