Я использую летающую тарелку для преобразования моей html-страницы в pdf,
Я ввел что-то вроде:
<a id="link0" href="title0" title="H2">1. Economical multisignal meter DP20 ■ ▲ ■</a>
Я хочу, чтобы шестнадцатеричные объекты отображались в символьном формате, длячто я использую следующий код:
public void convertHtmlToPdf(String html, String css, OutputStream out) {
try {
html = correctHtml(html);
html = getFormedHTMLWithCSS(html, css);
HtmlCleaner cleaner = new HtmlCleaner();
TagNode rootTagNode = cleaner.clean(html);
CleanerProperties cleanerProperties = cleaner.getProperties();
XmlSerializer xmlSerializer = new PrettyXmlSerializer(cleanerProperties);
String cleanedHtml = xmlSerializer.getAsString(rootTagNode);
URL fontResourceURL = getClass().getResource("/Calibri.ttf");
ITextRenderer r = new ITextRenderer();
r.getFontResolver().addFont(fontResourceURL.getPath(), "UTF-8", BaseFont.EMBEDDED);
//or r.getFontResolver().addFont(fontResourceURL.getPath(), BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
r.setDocumentFromString(cleanedHtml);
r.layout();
r.createPDF(out);
r.finishPDF();
} catch (Exception e) {
e.printStackTrace();
logger.error(e.getMessage(), e);
}
}
Я тоже попробовал решение с использованием CSS, которое либо не работает для меня.
@font-face {
src: url('/Calibri.ttf');
-fs-pdf-font-embed: embed;
-fs-pdf-font-encoding: Identity-H;
}
Я не мог разобрать свою ошибку.