OpenHTMLToPDFを使用し、HTMLページをPDF出力できるようにしようとしています。
現在、日本語を出力しようとすると、文字化けしてしまい正しく出力できない状態になっています。
お手数をおかけしますが、知識がある方のご意見をお聞きしたいです。
java
1public static void main(String [] args) throws Exception { 2 3 W3CDom w3cDom = new W3CDom(); 4 Document w3cDoc = w3cDom.fromJsoup(Jsoup.parse(readFile())); 5 OutputStream outStream = new FileOutputStream("output/test.pdf"); 6 7 PdfRendererBuilder pdfBuilder = new PdfRendererBuilder(); 8 pdfBuilder.useFastMode(); 9 pdfBuilder.useFont(new File("src/main/resources/fonts/NotoSerif-Regular.ttf"), "noto"); 10 11 pdfBuilder.withW3cDocument(w3cDoc, "/"); 12 pdfBuilder.toStream(outStream); 13 14 pdfBuilder.run(); 15 outStream.close(); 16 17 18 19 } 20 21 private static String readFile() throws IOException { 22 23 InputStream inputStream = new FileInputStream("src/main/resources/test.html"); 24 StringBuilder sb = new StringBuilder(); 25 Reader r = new InputStreamReader(Objects.requireNonNull(inputStream), "UTF-8"); 26 char[] buf = new char[1024]; 27 int amt = r.read(buf); 28 while(amt > 0) { 29 sb.append(buf, 0, amt); 30 amt = r.read(buf); 31 } 32 return sb.toString(); 33 }
html
1 2<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 3<html lang="ja"> 4<head> 5<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> 6<link rel="stylesheet" href="style.css" type="text/css"> 7<link rel="stylesheet" href="color_ptn1.css" type="text/css"> 8<title>テスト</title> 9<style> 10@font-face { 11 font-family: 'noto'; /* Note: No trailing format tag is allowed. */ 12 src: url(fonts/NotoSerif-Regular.ttf); 13 font-weight: normal; 14 font-style: normal; 15} 16 17body { 18 /* Fallback fonts are supported. */ 19 font-family: 'noto'; 20} 21</style> 22</head> 23<body> 24 テスト用ページ 25</body> 26<br> 27</html> 28
あなたの回答
tips
プレビュー