2012-10-09 4 views
2

Я пытаюсь добавить символ Ohm в свой PDF как \u2126. Но его не видно в PDF. Есть ли специальный шрифт или тип кодировки, который мне нужно установить?Предел для символов Юникода в iText

Символ Необходим: Ω

+2

* Как * вы пытаетесь это сделать? –

+0

Как и эта новая фраза («Символ Ома \ u2126», новый шрифт (FontFamily.HELVETICA, 10)) ' – Batman

+1

Для использования символов или символов Unicode вам необходимо создать шрифт с BaseFont.EMBEDDED и BaseFont.IDENTITY_H. – VahidN

ответ

0

Check this для установки кодировки в IText

public static final String[][] MOVIES = { 
     { 
      "Cp1252", 
      "A Very long Engagement (France)", 
      "directed by Jean-Pierre Jeunet", 
      "Un long dimanche de fian\u00e7ailles" 
     }, 
     { 
      "Cp1250", 
      "No Man's Land (Bosnia-Herzegovina)", 
      "Directed by Danis Tanovic", 
      "Nikogar\u0161nja zemlja" 
     }, 
     { 
      "Cp1251", 
      "You I Love (Russia)", 
      "directed by Olga Stolpovskaja and Dmitry Troitsky", 
      "\u042f \u043b\u044e\u0431\u043b\u044e \u0442\u0435\u0431\u044f" 
     }, 
     { 
      "Cp1253", 
      "Brides (Greece)", 
      "directed by Pantelis Voulgaris", 
      "\u039d\u03cd\u03c6\u03b5\u03c2" 
     } 
    }; 

    /** 
    * Creates a PDF document. 
    * @param filename the path to the new PDF document 
    * @throws DocumentException 
    * @throws IOException 
    * @throws DocumentException 
    * @throws IOException 
    */ 
    public void createPdf(String filename) throws IOException, DocumentException { 
     // step 1 
     Document document = new Document(); 
     // step 2 
     PdfWriter.getInstance(document, new FileOutputStream(filename)); 
     // step 3 
     document.open(); 
     // step 4 
     BaseFont bf; 
     for (int i = 0; i < 4; i++) { 
      bf = BaseFont.createFont(FONT, MOVIES[i][0], BaseFont.EMBEDDED); 
      document.add(new Paragraph("Font: " + bf.getPostscriptFontName() 
        + " with encoding: " + bf.getEncoding())); 
      document.add(new Paragraph(MOVIES[i][1])); 
      document.add(new Paragraph(MOVIES[i][2])); 
      document.add(new Paragraph(MOVIES[i][3], new Font(bf, 12))); 
      document.add(Chunk.NEWLINE); 
     } 
     // step 5 
     document.close(); 
    } 
+0

Я написал этот пример. Это правильно, но вы не учли самую важную часть: вам нужно рассказать человеку, который задавал вопрос о том, что FONT должен быть путём к программе шрифтов, которая знает, как рисовать символ Ohm. –

+0

Приветствие Бруно .. автор книги "iText в действии" – Anshu

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