0

verdana.ttfこのフォントを使用して Java で RTF レポートを作成しようとしていますが、Linux では機能しません。

誰も私がこれを行う方法を知っていますか?

     String contextPath = FacesUtil.getServletContext().getRealPath("\\");
     try {
          FontFactory.register(contextPath + "WEB-INF\\Fonts\\verdana.ttf");
     } catch (Exception e) {
          e.printStackTrace();
     }

     if (negrito) {
          font = FontFactory.getFont("Verdana", 8, Font.BOLD, new Color(0, 0, 0));
     }
     cell = new Cell(new Paragraph(paragraph, font));
            cell.setBackgroundColor(new Color(255, 255, 255));
            cell.setBorderColor(new Color(255, 255, 255));
            if (center)
                cell.setHorizontalAlignment(Cell.ALIGN_LEFT);

            cell.setRowspan(1);
            cell.setColspan(1);
            return cell;
4

1 に答える 1

2

Linuxで機能しない場合は、ファイルセパレーターをハードコーディングしているためだと思います...

\\Windows専用です。それらを から作成されたフィールドに置き換えSystem.getProperty("file.separator")ます。

例 :

String separator  = System.getProperty("file.separator");
FontFactory.register(contextPath + "WEB-INF"+separator+"Fonts"+separator+"verdana.ttf");
于 2012-06-19T14:27:58.450 に答える