2012-06-28 5 views

risposta

6
private PdfContentByte pdfContentByte; 



private string DescriptionToPrint="Hii!! I will be underlined." 
    private Int32 AlignmentofDescription = 3; 
    private float XofDescription = 110; 
    private float YofDescription = 440; 
    private float RotationofDescription = 0; 

a scrivere PDF utilizzando pdfcontentbyte generalmente usiamo il seguente

(inizio testo & testo finale)

formato

pdfContentByte.BeginText(); 
    pdfContentByte.ShowTextAligned(PdfContentByte.ALIGN_LEFT, DescriptionToPrint.ToString(), XofDescription, YofDescription, RotationofDescription); 
    pdfContentByte.EndText(); 

C'è un'alternativa per la tecnica di cui sopra anche , che è anche flessibile.

Questo è se si desidera che la stessa formattazione che si è applicato a pdfcontentbyte utilizzando BaseFont

//ColumnText.ShowTextAligned(pdfContentByte, Element.ALIGN_LEFT, new Phrase(DescriptionToPrint), XofDescription, YofDescription, RotationofDescription); 

Se si vuole sottolineare il testo, poi dentro Phrase posto Chunk

ColumnText.ShowTextAligned(pdfContentByte, Element.ALIGN_LEFT, new Phrase(new Chunk(DescriptionToPrint.ToString(), FontFactory.GetFont(FontFactory.HELVETICA, 8, Font.UNDERLINE))), XofDescription, YofDescription, RotationofDescription); 

qui la linea menzionato sotto è in realtà la correzione.

new Phrase(new Chunk(DescriptionToPrint.ToString(), FontFactory.GetFont(FontFactory.HELVETICA, 8, Font.UNDERLINE))) 

Per ColumnText dobbiamo fornire il testo utilizzando new Phrase in cui siamo in grado di accedere alle proprietà dei font che in realtà base font non permetteva noi di accesso.

Interno PhraseChunk fornisce la formattazione richiesta al testo.

Le loro sono un sacco di esempi disponibili sulla rete riguardo all'uso del chunk

Se si desidera passare valori float come questo (20.25) questi saranno riconosciuti come doppio da questa classe di uso "20.25f " quindi saranno presi come float e funzioneranno ...