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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
| protected string strPagesPdf;
protected void Page_Load(object sender, EventArgs e)
{
EcritTitre();
// step 1: Création du document
Document document = new Document();
try
{
//récupération du template et effacement du contenu (FileMode.Create)
PdfWriter.GetInstance(document, new FileStream(Request.PhysicalApplicationPath + "Impressions/Template/Template.pdf", FileMode.Create));
// step 2: Métadonnées
document.AddTitle("Liste des Lieux physiques");
document.AddSubject("Liste extraite depuis l'interface");
document.AddAuthor("Toto");
document.AddCreationDate();
// step 2: Ouverture du document
document.Open();
// step 3: Création du contenu du document
//Titre du pdf
PdfPTable table = new PdfPTable(6);
Paragraph titre = new Paragraph(new Chunk("Liste des lieux physiques", FontFactory.GetFont(FontFactory.TIMES_BOLD, 20)));
PdfPCell cell = new PdfPCell(titre);
cell.Colspan = 6;
cell.HorizontalAlignment = 1; //0=Left, 1=Centre, 2=Right
cell.BorderWidthBottom = 0;
table.AddCell(cell);
cell = new PdfPCell(new Phrase("", FontFactory.GetFont(FontFactory.TIMES_ROMAN, 10)));
cell.Colspan = 6;
cell.BorderWidthTop = 0;
table.AddCell(cell);
document.Add(table);
//Header du tableau
// Definir ici nombre de colonnes
PdfPTable table2 = new PdfPTable(5);
table2.SpacingBefore = 10;
table2.WidthPercentage = 100f;
// definir ici le pourcentage de chaque colonne
float[] widths = new float[] { 10f, 40f, 20f,15f, 15f };
table2.SetWidths(widths);
table2.HorizontalAlignment = 1;
PdfPCell cell2 = new PdfPCell(new Phrase("Code", FontFactory.GetFont(FontFactory.TIMES_ROMAN, 10)));
cell2.BackgroundColor = new BaseColor(187, 187, 187);
table2.AddCell(cell2);
cell2 = new PdfPCell(new Phrase("Libellé", FontFactory.GetFont(FontFactory.TIMES_ROMAN, 10)));
cell2.BackgroundColor = new BaseColor(187, 187, 187);
table2.AddCell(cell2);
cell2 = new PdfPCell(new Phrase("Code postal", FontFactory.GetFont(FontFactory.TIMES_ROMAN, 10)));
cell2.BackgroundColor = new BaseColor(187, 187, 187);
table2.AddCell(cell2);
cell2 = new PdfPCell(new Phrase("Derniere mise à jour", FontFactory.GetFont(FontFactory.TIMES_ROMAN, 10)));
cell2.BackgroundColor = new BaseColor(187, 187, 187);
table2.AddCell(cell2);
cell2 = new PdfPCell(new Phrase("Actif?", FontFactory.GetFont(FontFactory.TIMES_ROMAN, 10)));
cell2.BackgroundColor = new BaseColor(187, 187, 187);
table2.AddCell(cell2);
// Remplissage du tableau
DataSet dtsLieuxPh = LieuPh.ListerLieuPh();
if (dtsLieuxPh.Tables[0].Rows.Count > 0)
{
for (int i = 0; i < dtsLieuxPh.Tables[0].Rows.Count; i++)
{
cell2 = new PdfPCell(new Phrase(dtsLieuxPh.Tables[0].Rows[i]["C_LIEUPH"].ToString(), FontFactory.GetFont(FontFactory.TIMES_ROMAN, 8)));
table2.AddCell(cell2);
cell2 = new PdfPCell(new Phrase(dtsLieuxPh.Tables[0].Rows[i]["L_LIEUPH"].ToString(), FontFactory.GetFont(FontFactory.TIMES_ROMAN, 8)));
table2.AddCell(cell2);
cell2 = new PdfPCell(new Phrase(dtsLieuxPh.Tables[0].Rows[i]["CP_LIEUPH"].ToString(), FontFactory.GetFont(FontFactory.TIMES_ROMAN, 8)));
table2.AddCell(cell2);
string laDate = DateTime.Parse(dtsLieuxPh.Tables[0].Rows[i]["D_DER_MAJ"].ToString()).ToShortDateString();
cell2 = new PdfPCell(new Phrase(laDate, FontFactory.GetFont(FontFactory.TIMES_ROMAN, 8)));
table2.AddCell(cell2);
string Actif = "";
if (dtsLieuxPh.Tables[0].Rows[i]["ACTIF"].ToString().Equals("O"))
Actif = "OUI";
else
Actif = "NON";
cell2 = new PdfPCell(new Phrase(Actif, FontFactory.GetFont(FontFactory.TIMES_ROMAN, 8)));
table2.AddCell(cell2);
}
}
//affichage du tableau
document.Add(table2);
}
catch (DocumentException de)
{
throw (de);
}
// step 4: fermeture du document
document.Close();
GetEdition();
}
private void EcritTitre()
{
lblTitre.Text = "Edition de la liste des lieux physiques";
}
private void GetEdition()
{
try
{
strPagesPdf = "";
strPagesPdf += "<table cellpadding='0' cellspacing='5' width='100%' align='center' class='bordersolidfondgris'>";
DirectoryInfo di = new DirectoryInfo(ConfigurationManager.AppSettings["cheminPhysiquePdf"].ToString());
FileInfo[] fi = di.GetFiles("*.pdf");
if (fi.Length > 0)
{
strPagesPdf += "<tr height='15'><td class='td'> </td></tr>";
strPagesPdf += "<tr height='15'><td align='center' class='titreProfil'>Document(s) généré(s) </td></tr>";
strPagesPdf += "<tr><td class='td'></td></tr>";
for (int i = 0; i < fi.Length; i++)
{
strPagesPdf += "<tr>";
strPagesPdf += "<td class='td'align='center'>";
strPagesPdf += "<a href='#' style='cursor:pointer' onclick='window.open(\"" + ConfigurationManager.AppSettings["cheminWebPdf"].ToString() + "/" + fi[i].Name.Replace("'", "@") + "\");'>" + "Liste des lieux physiques</a>";
strPagesPdf += "</td>";
strPagesPdf += "</tr>";
}
}
strPagesPdf += "</table>";
}
catch (Exception ex)
{
Response.Redirect(Application["pageProblemeApplication"].ToString(), false);
throw (ex);
}
} |
Partager