2012-07-06 10 views
11

C'è molto mistero per me su cosa sta succedendo con font e basefont. Soprattutto quando si tratta del costruttore. Il sito iText dà questa linea come esempio di codice per i nuovi fontiText, Che cosa succede con Font, BaseFont e createFont()?

BaseFont unicode = BaseFont.createFont("c:/windows/fonts/arialuni.ttf", 
         BaseFont.IDENTITY_H, 
         BaseFont.EMBEDDED); 

posso ottenere questa chiamata al lavoro:

BaseFont bf = BaseFont.createFont(BaseFont.COURIER, BaseFont.CP1257, 
        BaseFont.EMBEDDED); 

Ma se sostituisco BaseFont.CP1257 con dire BaseFont.HELVETICA allora doesn' lavoro e ottengo una pagina che dice "non è riuscito a caricare il documento pdf".

Ho provato a cercare nel file di classe e non riesco a capire quale sia il secondo parametro (presumo che si tratti di un carattere di backup nel caso in cui il primo carattere non funzioni, come in HTML) e non riesco a capire perché alcuni font funzionerebbero e non altri.

risposta

7

caricarlo da dentro il tuo vaso utilizzare la barra principale altrimenti, basta usare il percorso assoluto del vostro carattere ("C: [...] \ fonts \ Sansation_Regular.ttf"). Per esempio:

Font font = FontFactory.getFont("/fonts/Sansation_Regular.ttf", 
    BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 0.8f, Font.NORMAL, BaseColor.BLACK); 
BaseFont baseFont = font.getBaseFont(); 
+0

Utile, sebbene non risponda alla domanda. –

+0

Che cosa fa il float '0.8f' qui? Questo è il primo di probabilmente 30 riferimenti che ho visto (compresa la documentazione ufficiale) che in realtà mostrano come fare riferimento e utilizzare un carattere in itext. Grazie. –

0

Questo è ciò che ha funzionato per me. Vecchio post, ma non ho trovato una risposta semplice.

//Here you setup the font that you want. I put it under the root/Content/fonts folder in my project 
Font font = FontFactory.GetFont("~/Content/fonts/ARIALN.ttf", BaseFont.CP1252,false, 9); 

//Here I create the paragraph then assign the font to it at the end 
var addressAttn = new Paragraph("Attn: Manager, Billing Services", font); 
Problemi correlati