2012-05-20 3 views
1

У меня есть следующий фрагмент кода для экспорта PDF в веб-приложение, которое создает PDF-файл с ячейкой таблицы 2x2.Греческие символы и изображения с помощью iText и htmlWorker

public static void myexport2() throws IOException{ 
    try { 
     com.itextpdf.text.Document document = new com.itextpdf.text.Document(PageSize.A4); 
     PdfWriter pdfWriter = PdfWriter.getInstance(document, new FileOutputStream("C://Users/gkarapatis/Desktop/testpdf.pdf")); 
     document.open(); 
     document.addAuthor("Author of the Doc"); 
     document.addCreator("Creator of the Doc"); 
     document.addSubject("Subject of the Doc"); 
     document.addCreationDate(); 
     document.addTitle("This is the title"); 
     HTMLWorker htmlWorker = new HTMLWorker(document); 
     String str="<table height=300, border=\"1\"><tr><td></td><td></td></tr><tr><td>1</td><td></td></tr></table>"  

     htmlWorker.parse(new StringReader(str)); 
     document.close(); 
    } catch(DocumentException e) { 
     e.printStackTrace(); 
    } catch (FileNotFoundException e) { 
     e.printStackTrace(); 
    } catch (UnsupportedEncodingException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

Когда я добавляю греческие символы в ячейку HTML, он не отображается в экспортируемый файл PDF. Что делать, чтобы добавить Unicode в мой экспорт. Это проблема HTMLWorker?

Когда я пытаюсь добавить изображение в ячейку, добавляющий

img src=\"file://C:/Webapp/dsp/public/images/dsp1.jpg\" width=\"80\" height=\"81\" alt=\"\" border=\"0\" 

Он бросает мне исключение. Я использую структуру воспроизведения и исключение, которое он выбрал: «InvocationTargetException: null»

+1

* Который * исключение выбрасывается? – Makoto

+0

Возможно ли, что это вопрос шрифта, который вы используете? Вы пробовали указать шрифт с греческими символами? – nplatis

+0

Я использую play framework и исключение, которое его выбрасывает InvocationTargetException: null – user1392203

ответ

0

Пока вы создаете таблицу лучше для этого, используя PdfPTable.Creating cell проще, так как вы добавляете ячейку по ячейке (каждая ячейка PdfPCell) .Теперь по поводу вашей проблемы две

  1. использовать определенный шрифт для отображения греческого character.As вы встраивать его как юникод лучше попробовать его с помощью Arialuni.ttf.Then если вы нашли определенный шрифт использовать.
  2. Добавить изображение в ячейку также просто использовать метод добавления PdfPCell. Создавая шрифт для реализации, вы должны создать шрифт, используя класс BaseFont. (Просто пойдите для каждой части, чтобы лучше понять.) Экспортированный PDF-файл не отображает эти греческий символ из-за этого не может найти глиф, который представлен кодовой точкой (Unicode).

Если вы можете приложить изображение того, что будет ожидаемым выходом, мы сможем дать некоторое представление.

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