2017-01-02 2 views
0

Ich benutze iText PDF, um PDF-Dateien in Android zu erstellen. Ich muss das '€' Symbol in der PDF schreiben. Ich habe den folgenden Code: -iText PDF-Schrift ändern sich nicht. Rupie-Symbol wird nicht angezeigt

public static final String FONT1 = "/main/assets//PlayfairDisplay-Regular.ttf"; 
public static final String FONT2 = "/main/assets/PT_Sans-Web-Regular.ttf"; 
public static final String FONT3 = "/main/assets/FreeSans.ttf"; 
public static final String RUPEE = "The Rupee character \u20B9 and the Rupee symbol \u20A8"; 

Diese werden als Klassenvariablen deklariert. Ich habe eine Funktion createPDF(), die in das PDF-Dokument schreibt. Ich habe die folgenden Codezeilen in der Funktion: -

File pdfFile = new File(filePath); 
    OutputStream output = new FileOutputStream(pdfFile); 
    Document document = new Document(PageSize.A4); 
    PdfWriter.getInstance(document, output); 
    document.open(); 
    Font f1 = FontFactory.getFont(FONT1, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 12); 
    Font f2 = FontFactory.getFont(FONT2, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 12); 
    Font f3 = FontFactory.getFont(FONT3, BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 12); 
    Font f4 = FontFactory.getFont(FONT3, BaseFont.WINANSI, BaseFont.EMBEDDED, 12); 
    document.add(new Paragraph(RUPEE, f1)); 
    document.add(new Paragraph(RUPEE, f2)); 
    document.add(new Paragraph(RUPEE, f3)); 
    document.add(new Paragraph(RUPEE, f4)); 
    document.close(); 

jedoch weder die Schrift in der PDF-Datei noch das Rupie Symbol reflektiert wird. Mein PDF sieht wie folgt: -

Resulting PDF

ich Schritte befolgt haben die unten stehenden Links verwenden: - iText Developers Tutorial und StackOverflow Question on where to place Assets folder

Ich kenne eine andere ähnliche Frage auf SO: - Rupee symbol is not showing in android aber das hat mir auch nicht geholfen.

Mache ich hier etwas falsch? Sind meine Schriftarten am falschen Ort platziert?

+0

Der Pfad zu Ihren Schriftart ist falsch. Wie soll ich wissen? Der gesamte in Ihrem PDF angezeigte Text ist in Helvetica (die Standardschriftart). –

+0

Versuchen Sie, entfernen Sie alle/main/nur wie Assets/PlayfairDisplay-Regular.ttf so weiter ... und in der ersten Schriftart, die Sie haben, // entfernen Sie auch diese und versuchen Sie – Raghavendra

+0

@BrunoLowagie. Danke das geholfen :) –

Antwort

2

Versuch, entfernen alle/main/halten wie assets/PlayfairDisplay-Regular.ttf so weiter ... und in der ersten Schrift haben Sie // dass man entfernen zu und versuchen