2015-03-18 25 views
0

Я попытался отобразить ⇒ ⇔ € © → в HTML с помощью XMLWorker и iText. Только символ авторского права и евро отображается в формате PDF. Я использовал шрифт dafault и Arial, но безуспешно.Определенные объекты HTML (стрелки) не отображаются в PDF (iText)

Есть ли способ получить данные объекты? И там есть альтернативный способ визуализации стрелок в тексте?

ответ

2

Как вы можете видеть в ParseHtml3 примере, это работает для меня:

enter image description here

Это мой код для создания PDF:

public void createPdf(String file) throws IOException, DocumentException { 
    // step 1 
    Document document = new Document(); 
    // step 2 
    PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(file)); 
    // step 3 
    document.open(); 
    // step 4 
    String str = "<html><head></head><body style=\"font-size:12.0pt; font-family:Arial\">"+ 
      "<p>Special symbols: &larr; &darr; &harr; &uarr; &rarr; &euro; &copy;</p>" + 
      "</body></html>"; 

    XMLWorkerHelper worker = XMLWorkerHelper.getInstance(); 
    InputStream is = new ByteArrayInputStream(str.getBytes()); 
    worker.parseXHtml(writer, document, is); 
    // step 5 
    document.close(); 
} 

Обратите внимание, что все объекты записываются в строчные.

+0

У меня была опечатка в стиле, использующем шрифт по умолчанию все время. Он работает, как вы описали. Это зависит от шрифта. – aggsol

+0

Да, шрифт по умолчанию - Helvetica, а Helvetica не знает, как писать эти специальные символы. Это объясняет проблему. Спасибо за ваш отзыв! –

+0

Что относительно других объектов, у которых нет имени? Они, похоже, не работают – StackExploded

Смежные вопросы