From 2ff89e17c58deb3071cfdf277206da7b4c4c15ac Mon Sep 17 00:00:00 2001 From: Krzysztof Famulski Date: Wed, 12 Mar 2025 22:42:26 +0100 Subject: [PATCH] commit 1 tabliczki --- ZPDuszynska/Controllers/HomeController.cs | 168 ++++++++++++++++++++++ ZPDuszynska/Models/Tabliczka1Model.cs | 42 ++++++ ZPDuszynska/Views/Home/Tabliczki.cshtml | 69 +++++++++ ZPDuszynska/Views/Shared/_Layout.cshtml | 3 + 4 files changed, 282 insertions(+) create mode 100644 ZPDuszynska/Models/Tabliczka1Model.cs create mode 100644 ZPDuszynska/Views/Home/Tabliczki.cshtml diff --git a/ZPDuszynska/Controllers/HomeController.cs b/ZPDuszynska/Controllers/HomeController.cs index cfcde8d..a5f421d 100644 --- a/ZPDuszynska/Controllers/HomeController.cs +++ b/ZPDuszynska/Controllers/HomeController.cs @@ -67,6 +67,50 @@ namespace ZPDuszynska.Controllers return View(model); } + [Authorize] + public IActionResult Tabliczki() + { + Tabliczka1Model model = new Tabliczka1Model(); + model.Line1_1 = "Z głębokim żalem zawiadamiamy, że dnia "; + model.Line1_2 = "1 stycznia "; + model.Line1_3 = "2025 roku"; + + model.Line2_1 = "odszedł od nas na zawsze w wieku "; + model.Line2_2 = "66 "; + model.Line2_3 = "lat"; + + model.Line3_1 = "ŚP. "; + model.Line3_2 = "JAN"; + + model.Line4_1 = "KOWALSKI"; + + model.Line11_1 = ""; + model.Line11_2 = ""; + + model.Line5_1 = "Dom Żałoby: "; + + model.Line6_1 = "Wystawienie Zmarłego w Kościele o godz. "; + model.Line6_2 = "13.30"; + + model.Line7_1 = "Msza Święta Żałobna odprawiona zostanie w Kościele w Milejowie"; + + model.Line8_1 = "dnia "; + model.Line8_2 = "8 marca "; + model.Line8_3 = "2025r. ("; + model.Line8_4 = "sobota"; + model.Line8_5 = ") o godz. "; + model.Line8_6 = "14.00"; + model.Line8_7 = ", po której nastąpi"; + + model.Line9_1 = "odprowadzenie Zmarłego na miejscowy cmentarz rzymskokatolicki"; + + model.Line10_1 = "Pogrążona w smutku "; + model.Line10_2 = "NAJBLIŻSZA RODZINA"; + + + return View(model); + } + [HttpPost] [Authorize] public ActionResult Nekrologi(Nekrolog1Model model) @@ -190,6 +234,130 @@ namespace ZPDuszynska.Controllers return File(result.ToArray(), "application/pdf"); } + [HttpPost] + [Authorize] + public ActionResult Tabliczki(Tabliczka1Model model) + { + string inputPath = "nekrolog_template.pdf"; + + iTextSharp.text.pdf.PdfReader reader = new iTextSharp.text.pdf.PdfReader(inputPath); + Rectangle size = reader.GetPageSizeWithRotation(1); + iTextSharp.text.Document document = new iTextSharp.text.Document(size); + MemoryStream ms = new MemoryStream(); + PdfWriter writer = PdfWriter.GetInstance(document, ms); + document.Open(); + + PdfContentByte cb = writer.DirectContent; + PdfImportedPage page = writer.GetImportedPage(reader, 1); + cb.AddTemplate(page, 0, 0); + + MyTextLine l1 = new MyTextLine + { + texts = new List() { + new MyText { text = model.Line1_1, fontBold = false, fontSize = 34 }, + new MyText { text = model.Line1_2, fontBold = true, fontSize = 34 }, + new MyText { text = model.Line1_3, fontBold = false, fontSize = 34 } } + }; + MyTextLine l2 = new MyTextLine + { + texts = new List() { + new MyText { text = model.Line2_1, fontBold = false, fontSize = 34 }, + new MyText { text = model.Line2_2, fontBold = true, fontSize = 44 }, + new MyText { text = model.Line2_3, fontBold = false, fontSize = 34 } } + }; + MyTextLine l3 = new MyTextLine + { + texts = new List() { + new MyText { text = model.Line3_1, fontBold = false, fontSize = 50 }, + new MyText { text = model.Line3_2, fontBold = true, fontSize = 90 } } + }; + MyTextLine l5 = new MyTextLine + { + texts = new List() { + new MyText { text = model.Line5_1, fontBold = false, fontSize = 32 } } + }; + MyTextLine l6 = new MyTextLine + { + texts = new List() { + new MyText { text = model.Line6_1, fontBold = false, fontSize = 32 }, + new MyText { text = model.Line6_2, fontBold = true, fontSize = 32 } } + }; + MyTextLine l7 = new MyTextLine + { + texts = new List() { + new MyText { text = model.Line7_1, fontBold = false, fontSize = 32 } } + }; + MyTextLine l8 = new MyTextLine + { + texts = new List() { + new MyText { text = model.Line8_1, fontBold = false, fontSize = 32 }, + new MyText { text = model.Line8_2, fontBold = true, fontSize = 32 }, + new MyText { text = model.Line8_3, fontBold = false, fontSize = 32 }, + new MyText { text = model.Line8_4, fontBold = true, fontSize = 32 }, + new MyText { text = model.Line8_5, fontBold = false, fontSize = 32 }, + new MyText { text = model.Line8_6, fontBold = true, fontSize = 32 }, + new MyText { text = model.Line8_7, fontBold = false, fontSize = 32 } } + }; + MyTextLine l9 = new MyTextLine + { + texts = new List() { + new MyText { text = model.Line9_1, fontBold = false, fontSize = 32 } } + }; + MyTextLine l10 = new MyTextLine + { + texts = new List() { + new MyText { text = model.Line10_1, fontBold = false, fontSize = 20 }, + new MyText { text = model.Line10_2, fontBold = true, fontSize = 20 } } + }; + + if (!string.IsNullOrWhiteSpace(model.Line11_1 + model.Line11_2)) + { + MyTextLine l4 = new MyTextLine + { + texts = new List() { + new MyText { text = model.Line4_1, fontBold = true, fontSize = 110 } } + }; + MyTextLine l11 = new MyTextLine + { + texts = new List() { + new MyText { text = model.Line11_1, fontBold = false, fontSize = 30 }, + new MyText { text = model.Line11_2, fontBold = true, fontSize = 40 } } + }; + AddTextToPdf(cb, PdfPCell.ALIGN_CENTER, 70, 415, 700, l4); + AddTextToPdf(cb, PdfPCell.ALIGN_CENTER, 70, 290, 700, l11); + } + else + { + MyTextLine l4 = new MyTextLine + { + texts = new List() { + new MyText { text = model.Line4_1, fontBold = true, fontSize = 150 } } + }; + AddTextToPdf(cb, PdfPCell.ALIGN_CENTER, 70, 415, 700, l4); + } + + AddTextToPdf(cb, PdfPCell.ALIGN_CENTER, 70, 550, 700, l1); + AddTextToPdf(cb, PdfPCell.ALIGN_CENTER, 70, 523, 700, l2); + AddTextToPdf(cb, PdfPCell.ALIGN_CENTER, 70, 490, 600, l3); + AddTextToPdf(cb, PdfPCell.ALIGN_CENTER, 70, 240, 700, l5); + AddTextToPdf(cb, PdfPCell.ALIGN_CENTER, 70, 215, 700, l6); + AddTextToPdf(cb, PdfPCell.ALIGN_CENTER, 70, 190, 700, l7); + AddTextToPdf(cb, PdfPCell.ALIGN_CENTER, 70, 165, 700, l8); + AddTextToPdf(cb, PdfPCell.ALIGN_CENTER, 70, 140, 700, l9); + AddTextToPdf(cb, PdfPCell.ALIGN_RIGHT, 70, 102, 720, l10); + + document.Close(); + var result = ms.ToArray(); + + ms.Close(); + writer.Close(); + reader.Close(); + + Response.Headers["Content-Disposition"] = "inline; filename=Nekrolog.pdf"; + return File(result.ToArray(), "application/pdf"); + } + + public IActionResult Privacy() { return View(); diff --git a/ZPDuszynska/Models/Tabliczka1Model.cs b/ZPDuszynska/Models/Tabliczka1Model.cs new file mode 100644 index 0000000..7722722 --- /dev/null +++ b/ZPDuszynska/Models/Tabliczka1Model.cs @@ -0,0 +1,42 @@ +namespace ZPDuszynska.Models +{ + public class Tabliczka1Model + { + public string Line1_1 { get; set; } + public string Line1_2 { get; set; } + public string Line1_3 { get; set; } + + public string Line2_1 { get; set; } + public string Line2_2 { get; set; } + public string Line2_3 { get; set; } + + public string Line3_1 { get; set; } + public string Line3_2 { get; set; } + + public string Line4_1 { get; set; } + + public string Line11_1 { get; set; } + public string Line11_2 { get; set; } + + public string Line5_1 { get; set; } + + public string Line6_1 { get; set; } + public string Line6_2 { get; set; } + + public string Line7_1 { get; set; } + + public string Line8_1 { get; set; } + public string Line8_2 { get; set; } + public string Line8_3 { get; set; } + public string Line8_4 { get; set; } + public string Line8_5 { get; set; } + public string Line8_6 { get; set; } + public string Line8_7 { get; set; } + + public string Line9_1 { get; set; } + + public string Line10_1 { get; set; } + public string Line10_2 { get; set; } + + } +} diff --git a/ZPDuszynska/Views/Home/Tabliczki.cshtml b/ZPDuszynska/Views/Home/Tabliczki.cshtml new file mode 100644 index 0000000..4dc39dd --- /dev/null +++ b/ZPDuszynska/Views/Home/Tabliczki.cshtml @@ -0,0 +1,69 @@ +@model Tabliczka1Model + +@* @{ + ViewData["Title"] = "Home Page"; +} + *@ +
+

Tworzenie tabliczki

+
+
+
+
+
+
+ + + +
+
+ + + +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + + + + + + +
+
+ +
+
+ + +
+ +
+ +
+
+
+ +
+
diff --git a/ZPDuszynska/Views/Shared/_Layout.cshtml b/ZPDuszynska/Views/Shared/_Layout.cshtml index 50477c1..6a5823a 100644 --- a/ZPDuszynska/Views/Shared/_Layout.cshtml +++ b/ZPDuszynska/Views/Shared/_Layout.cshtml @@ -24,6 +24,9 @@ + } @*