با سلام و احترام
من از فوتر سفارشی استفاده کردم که مطلبی رو در هر صفحه نمایش داده شود
اما مشکل به این صورت است که در صفحه اول فوتر و جدول اصلی روی هم قرار میگیره اما در بقیه صفحات این مشکل وجود نداره آیا در استفاده من ایرادی وجود داره؟
public void PageFinished(PdfWriter writer, Document document, IList<SummaryCellData> columnCellsSummaryData) { var pageSize = document.PageSize; var text = "صفحه " + writer.PageNumber + " از "; var textLen = _font.BaseFont.GetWidthPoint(text, _font.Size) + 17; var positionX = pageSize.Right - 10; var align = _direction == PdfRunDirection.RightToLeft ? Element.ALIGN_RIGHT : Element.ALIGN_LEFT; ColumnText.ShowTextAligned( canvas: _pdfContentByte, alignment: align, phrase: ReportMethod.SetFont(text, 20), x: positionX, y: pageSize.GetBottom(4), rotation: 0, runDirection: (int)_direction, arabicOptions: 0); var x = _direction == PdfRunDirection.RightToLeft ? positionX - textLen : positionX + textLen; _pdfContentByte.AddTemplate(_template, x, pageSize.GetBottom(4)); //-------------------------------------- if (_Info != null) { var table = new PdfGrid(1) { RunDirection = (int)_direction, WidthPercentage = 100 }; string[] msgField = { "مدیر گروه", _Info.Where(sp => sp.ID == _MemberID).FirstOrDefault().InstKindName, _Info.Where(sp => sp.ID == 0).FirstOrDefault().InstKindName, "امور مالی", "معاون پشتیبانی" }; string[] dataField = { "", _Info.Where(sp => sp.ID == _MemberID).FirstOrDefault().MasterName, _Info.Where(sp => sp.ID == 0).FirstOrDefault().MasterName, "", _Info.Where(sp => sp.ID == 1).FirstOrDefault().MasterName }; var infoTable = new PdfGrid(msgField.Length) { RunDirection = PdfWriter.RUN_DIRECTION_RTL, WidthPercentage = 100 }; foreach (var item in msgField) { infoTable.AddCell(ReportMethod.SetCell(item, PdfPCell.NO_BORDER, 1, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_MIDDLE, true, 20)); } foreach (var item in dataField) { infoTable.AddCell(ReportMethod.SetCell(item, PdfPCell.NO_BORDER, 1, PdfPCell.ALIGN_CENTER, PdfPCell.ALIGN_MIDDLE, true, 20)); } table.AddCell(infoTable); table.SetTotalWidth(new[] { pageSize.Width - document.LeftMargin - document.RightMargin }); table.WriteSelectedRows( rowStart: 0, rowEnd: -1, xPos: document.LeftMargin, yPos: document.BottomMargin - 10, canvas: writer.DirectContent); } }