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();
}
}
以下是列舉
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 :
留言