1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
// Ouverture du document
Document doc = new Document();
PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(filename, FileMode.Create));
doc.Open();
try
{
// Création du template
PdfContentByte cb = writer.DirectContent;
PdfTemplate template = cb.CreateTemplate(50, 50);
BaseFont bf = BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
for (int i = 0; i < nbPages; i++)
{
// Ecriture de la page à partir du modèle
string chemin = "C:\\Modele.pdf";
PdfReader readerModele = new PdfReader(chemin);
string pdfFichier = "C:\\fichier.pdf";
FileStream pdfOutputFileMere = new FileStream(pdfFichier, FileMode.Create);
//Ecriture de la page
(...)
PdfReader rdr = new PdfReader(pdfFichier);
PdfTemplate temp = writer.GetImportedPage(rdr, 1);
cb.AddTemplate(temp, -10, 50);
readerModele.Close();
rdr.Close();
String text = "Page " + writer.PageNumber + " of ";
float len = bf.GetWidthPoint(text, 9);
cb.BeginText();
cb.SetFontAndSize(bf, 9);
cb.SetTextMatrix(280, 45);
cb.ShowText(text);
cb.EndText();
cb.AddTemplate(template, 280 + len, 45);
doc.NewPage();
}
template.BeginText();
template.SetFontAndSize(bf, 9);
template.ShowText((writer.PageNumber - 1).ToString());
template.EndText();
doc.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return null;
} |
Partager