Ciao a tutti, sto facendo qualche prova con iTextSharp, tutto ok ... è molto semplice da usare, ho però qualche dubbio e vorrei avere un vostro suggerimento


primo problemino:

Per quale motivo il testo nell'header viene visualizzato correttamente solo dalla seconda pagina?? nella prima pagina vedo il testo AAAA ma senza barra superiore e inferiore del testo (del titolo), dalla seconda vedo correttante una riga sopra e sotto il titolo ... dove sbaglio???

secondo problemino:

il codice sotto genera un'etichetta, come posso fare in modo che ne vengano stampate 4 (una per pagina) aggiungendo anche un indicatore per ogni pagina 1/4, 2/4, 3/4, 4/4 ... so di dover creare un ciclo ma non so come gestire l'interruzione di pagina ed il contatore

terzo problemino:

come posso gestire il grassetto oppure cambiare le dimensioni per particolari testi:
paragraph = new iTextSharp.text.Paragraph(testo);


questo è il mio codice:


string pdfFileName = "Etichetta.pdf";
Document document = new Document(PageSize.A4.Rotate(), 50, 50, 50, 50); //margins: left, right, top, bottom
PdfWriter.GetInstance(document, new FileStream(Server.MapPath(pdfFileName), FileMode.Open));
document.Open();

//page header
Phrase headerPhrase = new Phrase("AAAAAA", FontFactory.GetFont("Verdana", 24));
HeaderFooter header = new HeaderFooter(headerPhrase, false);
header.Alignment = Element.ALIGN_LEFT;
document.Header = header;
document.Add(headerPhrase);


//page footer
HeaderFooter footer = new HeaderFooter(new Phrase("Page "), true);
document.Footer = footer;

string testo = " ";
iTextSharp.text.Paragraph paragraph = new iTextSharp.text.Paragraph(testo);
document.Add(paragraph);

.....

testo = "Utente: " + SessionWrapper.CurrentUser.Cognome;
paragraph = new iTextSharp.text.Paragraph(testo);
document.Add(paragraph);

testo = tblClienti.anagrafica[0].campo1;
paragraph = new iTextSharp.text.Paragraph(testo);
document.Add(paragraph);




testo = tblSpedizioni.anagrafica[0].campo2;
paragraph = new iTextSharp.text.Paragraph(testo);
document.Add(paragraph);



. .....


testo = " ";
paragraph = new iTextSharp.text.Paragraph(testo);
document.Add(paragraph);



document.Close();


Grazie per l'aiuto!