来自控制器中的mvc资源的文件

时间:2013-12-31 07:59:43

标签: spring-mvc pdf-generation

我想用iText 5.4.4和带有utf-8的剥皮碟生成pdf,特别是抛光变音符号,如ą,ź,ć等。

我有/ WEB-INF / resources / fonts /目录ARIALUNI.TTF字体。

我读了几篇关于创建pdf的教程,我决定使用这个解决方案:

HttpSession session = req.getSession();
ServletContext sc = session.getServletContext();
String p = sc.getResource("/WEB-INF/resources/fonts/ARIALUNI.TTF").toExternalForm();

<html><head>"
        + "<style type=\"text/css\" >"
        + "@font-face {\n" +
"    font-family: arial;\n" +
"    src: url("+p+");" +
"    -fs-pdf-font-embed: embed;" +
"    -fs-pdf-font-encoding: Identity-H;" +
"}</style></head><body><div style=\"width:100%;height:100%;\"><h3 style=\"margin-left:5px;margin-top:40px\">First</h3><div style=\"margin-left:15px;margin-top:15px\"><title>t</title><p>ążźćńółę</p></div>
<h3 style=\"margin-left:5px;margin-top:40px\">The dream</h3><div style=\"margin-left:15px;margin-top:15px\"></div></div></body></html>";

OutputStream os = new     FileOutputStream(System.getProperty("java.io.tmpdir")+"raport.pdf");

ITextRenderer renderer = new ITextRenderer();
renderer.setDocumentFromString(str);
renderer.layout();
renderer.createPDF(os);

os.close();

但它不起作用。我认为问题在于字体的来源,如何在控制器中定义的mvc资源中访问文件,在这种情况下是字体文件?

当然是新年快乐:D

0 个答案:

没有答案