JAVA Servlet 列舉TOMCAT字型 與設定(上傳)客製化字型

因為有個案子是使用百度雲 由於官方並沒有雲端環境字型的清單 因此我自己寫了一個程式 列舉該環境可用的字型 以及上傳自己的字型

以下是列舉


import java.awt.GraphicsEnvironment;
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/getFont")
public class getFont extends HttpServlet {
private static final long serialVersionUID = 1L;
private PrintWriter out;  
 
    public getFont() {
        super();
        // TODO Auto-generated constructor stub
    }


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");
out = response.getWriter();
  String fonts[] =
     GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();

   for ( int i = 0; i < fonts.length; i++ )
   {
     out.println(fonts[i]);
   }
 
out.flush();
out.close();
}

}

新增字型的話
1.在eclipse中設定resource資料夾,並把TTF字型檔放入

可以用以下的程式碼檢查resource path
String path = setFont.class.getResource("").getPath();


2. 透過程式碼註冊字型
try {
 font = Font.createFont(Font.TRUETYPE_FONT, getClass().getResource("/Zfull-GB.ttf").openStream());
} catch (FontFormatException e) {
  out.println( e.toString());
}    
GraphicsEnvironment genv = GraphicsEnvironment.getLocalGraphicsEnvironment();
 genv.registerFont(font);
  
 font = font.deriveFont(12f);

你可以在增加後重掃一遍系統字型
就會看到新增後的字型
完成


See also :

留言

這個網誌中的熱門文章

Office 2021 離線安裝封裝與KMS啟動步驟

Ollama使用心得與模型導入教學

ARC下NSMutableDictionary 無法使用retainCount