私はXHTMLをPDFファイルに変換するためにフライングソーサーを使用しています。私の問題は、私はいくつかのPDFに欠けているトルコ語の文字を持っているということです。しかし、私は理解していない、私はjunitテストでは何の問題もありません。私は問題なしでXHTMLファイルをすべてのトルコ文字でPDFに変換できます。しかし、もしTomcatに展開されたApplicatonで同じことをすると、すべてのトルコ人が行方不明になります。フライングソーサーが埋め込みフォントを追加して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は、次の適用を加えます。しかし、同じ結果です。 arialuni.tffが見つかりましたが、Tomcatで使用されていない理由を
@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;
}
は誰もが、知っていますか?
解決策(EDITの後ろのすべて)を別の回答として追加し、それを受け入れてください。そうでなければ、人々は答えられていないと思います... – Lonzak