Я использую Flying Saucer для преобразования XHTML в PDF-файлы. Моя проблема в том, что у меня есть некоторые недостающие турецкие символы в PDF. Но я не понимаю, у меня нет проблем в тестах junit. Я могу конвертировать файлы XHTML в PDF со всеми турецкими символами без каких-либо проблем. Но если я сделаю то же самое на Applicaton, развернутом на Tomcat, все турецкие символы пропадут.Flying Saucer добавляет встроенный шрифт, не работающий на tomcat
Я сделал некоторые отладки и выяснил, что '/fonts/arialuni.ttf' встречается в обоих случаях. Я нашел некоторые связанные потоки и itext doc и попробовал их все.
http://developers.itextpdf.com/question/how-can-i-load-font-web-infresourcesfontsfoobarttf
Flying Saucer font for unicode characters
код для новообращенного и добавления шрифта
String path2 = "/fonts/arialuni.ttf";
//FontFactory.register(path2);
ITextRenderer renderer = new ITextRenderer();
// renderer.getFontResolver().addFontDirectory(path2,true);
renderer.getFontResolver().addFont(path2, BaseFont.IDENTITY_H,BaseFont.EMBEDDED);
renderer.setDocumentFromString(docElem.html());
renderer.layout();
renderer.createPDF(os);
renderer.finishPDF();
baoOut.flush();
и применяются также следующие за CSS. Но все тот же результат.
@font-face {
src: url('arialuni.ttf'); <!--src: url('/fonts/arialuni.ttf'); -->
-fs-pdf-font-embed: embed;
-fs-pdf-font-encoding: Identity-H;
}
body {
font-family: Arial Unicode MS, Lucida Sans Unicode, Arial, verdana, arial, helvetica, sans-serif;
font-size: 8.8pt;
}
Кто-нибудь знает, почему arialuni.tff найден, но не используется на сервере Tomcat?
Пожалуйста, добавьте свое решение (все позади EDIT) в качестве отдельного ответа и принимайте его - иначе люди думают, что это без ответа ... – Lonzak