En iyi yanıtlayıcılar
c# pdf-e aktarma ile ilgili

Soru
-
Yanıtlar
-
Öyle bir kural yok. Ama bize şöyle şöyle farklılıklar oluyor diye göstermelisiniz. Ben bu iş için datagridview gerektiğini de düşünmüyorum.
- Düzenleyen Cihan YakarMVP 9 Nisan 2018 Pazartesi 16:14
- Yanıt Olarak İşaretleyen vusal.nurehmedov 10 Nisan 2018 Salı 11:50
- Yanıt İşaretini Geri Alan vusal.nurehmedov 10 Nisan 2018 Salı 12:41
- Yanıt Olarak İşaretleyen vusal.nurehmedov 11 Nisan 2018 Çarşamba 17:59
-
Doğrudan list üzerinden yapmanız uygun olmuş. Benim ilgili kütüphane ile ilgili hiç tecrübem yok, bu sebeple bu soruya yanıt veremem. Ama ben olsam HTML olarak çıkartıp onu PDF'e dönüştürmeye bakardım hem html templateler hazırladım böylece ufak tefek değişiklikler için kod yazmak gerekmezdi. Tabi daha önce yapmadığım için örnek kod gönderemiyorum ve çok kolay olur diyemiyorum.
- Düzenleyen Cihan YakarMVP 10 Nisan 2018 Salı 13:06
- Yanıt Olarak İşaretleyen vusal.nurehmedov 11 Nisan 2018 Çarşamba 17:59
Tüm Yanıtlar
-
Öyle bir kural yok. Ama bize şöyle şöyle farklılıklar oluyor diye göstermelisiniz. Ben bu iş için datagridview gerektiğini de düşünmüyorum.
- Düzenleyen Cihan YakarMVP 9 Nisan 2018 Pazartesi 16:14
- Yanıt Olarak İşaretleyen vusal.nurehmedov 10 Nisan 2018 Salı 11:50
- Yanıt İşaretini Geri Alan vusal.nurehmedov 10 Nisan 2018 Salı 12:41
- Yanıt Olarak İşaretleyen vusal.nurehmedov 11 Nisan 2018 Çarşamba 17:59
-
report isminde bir list oluşturdum verileri oraya aktardım. Sonra listdeki verileri bu şekilde pdf -e aktardım. Sorun yok . Pdf -e aktarmasına aktarıyor ama döngü kısmı bana hatalı gibi geldi. Dogrumu? Bir de yapamadığım tablonun en sonuda tablo dışında sol köşede bir text yazdırmaq (mesela doktorun ismi) Bunu nasıl yapa bilirim?
private void btnPdf_Click(object sender, EventArgs e) { BaseFont bf = BaseFont.CreateFont(Environment.GetEnvironmentVariable("windir") + @"\fonts\ARIALUNI.TTF", BaseFont.IDENTITY_H, true); Font NormalFont = new iTextSharp.text.Font(bf, 12, Font.NORMAL, BaseColor.BLACK); if (report != null) { string _path = @"D:\gorsel.pdf"; System.IO.FileStream fs = new FileStream(_path, FileMode.Create, FileAccess.Write, FileShare.None); Document document = new Document(); document.SetPageSize(iTextSharp.text.PageSize.A4); PdfWriter writer = PdfWriter.GetInstance(document, fs); document.Open(); //picture iTextSharp.text.Image resim = iTextSharp.text.Image.GetInstance(appPath + "/icons/logo.png"); resim.Alignment = iTextSharp.text.Image.ALIGN_CENTER; resim.ScaleToFit(585, 635f); resim.SetAbsolutePosition(10, 740); document.Add(resim); // //Add a line seperation Paragraph line = new Paragraph(new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(1.0F, 100.0F, new BaseColor(0, 0, 0), Element.ALIGN_CENTER, -60))); document.Add(line); // // Name Surname PdfContentByte cb = writer.DirectContent; BaseFont bf = BaseFont.CreateFont(Environment.GetEnvironmentVariable("windir") + @"\fonts\ARIALUNI.TTF", BaseFont.IDENTITY_H, true); cb.SetColorFill(BaseColor.BLACK); cb.SetFontAndSize(bf, 8); cb.BeginText(); cb.SetTextMatrix(32, 712); cb.ShowText(pacient); cb.EndText(); // // ServiceName PdfContentByte cbService = writer.DirectContent; BaseFont bfService = BaseFont.CreateFont(Environment.GetEnvironmentVariable("windir") + @"\fonts\ARIALUNI.TTF", BaseFont.IDENTITY_H, true); cbService.SetColorFill(BaseColor.BLACK); cbService.SetFontAndSize(bfService, 15); cbService.BeginText(); cbService.SetTextMatrix(250, 700); cbService.ShowText(serviceName); cbService.EndText(); // //Table float[] columnWidths = { 5.7f, 4, 4 }; PdfPTable table = new PdfPTable(columnWidths); table.HorizontalAlignment = Element.ALIGN_CENTER; table.SpacingBefore = 100; table.WidthPercentage = 100; addCell(table, "Müayinə", 1); addCell(table, "Nəticə", 1); addCell(table, "Norma", 1); // table for (int i = 0; i < report.Count; i++) { table.AddCell(new Phrase(report[i].xidmet.ToString(), NormalFont)); PdfPCell cell2 = new PdfPCell(new Phrase(new Phrase(report[i].netice.ToString(), NormalFont))); PdfPCell cell3 = new PdfPCell(new Phrase(new Phrase(report[i].norma.ToString(), NormalFont))); cell2.HorizontalAlignment = Element.ALIGN_CENTER; cell3.HorizontalAlignment = Element.ALIGN_CENTER; table.AddCell(cell2); table.AddCell(cell3); } document.Add(table); document.Close(); } } public void addCell(PdfPTable table, string text, int rowspan) { BaseFont bf = BaseFont.CreateFont(Environment.GetEnvironmentVariable("windir") + @"\fonts\ARIALUNI.TTF", BaseFont.IDENTITY_H, true); Font NormalFont = new iTextSharp.text.Font(bf, 12, Font.NORMAL, BaseColor.BLACK); PdfPCell cell = new PdfPCell(new Phrase(text, NormalFont)); cell.BackgroundColor = new iTextSharp.text.BaseColor(51, 102, 102); cell.Rowspan = rowspan; cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER; cell.VerticalAlignment = PdfPCell.ALIGN_MIDDLE; table.AddCell(cell); }
- Düzenleyen vusal.nurehmedov 10 Nisan 2018 Salı 12:52
-
Doğrudan list üzerinden yapmanız uygun olmuş. Benim ilgili kütüphane ile ilgili hiç tecrübem yok, bu sebeple bu soruya yanıt veremem. Ama ben olsam HTML olarak çıkartıp onu PDF'e dönüştürmeye bakardım hem html templateler hazırladım böylece ufak tefek değişiklikler için kod yazmak gerekmezdi. Tabi daha önce yapmadığım için örnek kod gönderemiyorum ve çok kolay olur diyemiyorum.
- Düzenleyen Cihan YakarMVP 10 Nisan 2018 Salı 13:06
- Yanıt Olarak İşaretleyen vusal.nurehmedov 11 Nisan 2018 Çarşamba 17:59