من میخواستم بااستفاده از html هدرم رو طراحی کنم ولی با خطاهای زیر روبرو میشم :
[0] = {"Object reference not set to an instance of an object."} [1] = {"The document has no pages."}
نمیدونم چون که نگارش پایین این کتابخانه رو استفاده میکنم این مشکل بوجود میاد یا نه؟
کدهای من :
PdfReport pdfrpt = new PdfReport(); pdfrpt.DocumentPreferences(doc => { doc.RunDirection(PdfRunDirection.RightToLeft); doc.Orientation(PageOrientation.Portrait); doc.PageSize(PdfPageSize.A4); doc.DocumentMetadata(new DocumentMetadata { Author = "Hovze", Application = "PdfRpt", Keywords = "Report", Subject = "Test Rpt", Title = "Report" }); doc.Compression(new CompressionSettings { EnableCompression = true, EnableFullCompression = true }); doc.PrintingPreferences(new PrintingPreferences { ShowPrintDialogAutomatically = true }); }) .DefaultFonts(fonts => { fonts.Path(fontPath + "\\BNAZANIN.ttf", fontPath + "\\BNAZNNBD.ttf"); fonts.Size(13); }) .PagesFooter(footer => { footer.DefaultFooter(PersianDate.ToPersianDateTime(DateTime.Now, "/", false, false)); }) .PagesHeader(header => { header.HtmlHeader(rptheader => { rptheader.PageHeaderProperties(new HeaderBasicProperties { RunDirection = PdfRunDirection.RightToLeft, ShowBorder = true }); rptheader.AddPageHeader(pageHeader => { var message = "باسمه تعالی " + "</br>" + "حوزه علمیه امیر المومنین (ع) - معاونت آموزش - کارنامه تحصیلی طلبه"; var image = string.Format("<img src='{0}' />", imgPath); return string.Format(@"<table style='width: 100%;font-size:9pt;font-family:BNAZANIN;'> <tr> <td align='center'>{0}</td> </tr> <tr> <td align='center'><b>{1}</b></td> </tr> <tr> <td align='center'>{2}</td> </tr> </table>", image, message, " تاریخ " + PersianDate.ToPersianDateTime(DateTime.Now.Date, "/", false)); }); }); }) .MainTableTemplate(template => { template.BasicTemplate(BasicTemplate.SilverTemplate); }) .MainTablePreferences(table => { table.ColumnsWidthsType(TableColumnWidthType.Relative); table.NumberOfDataRowsPerPage(0); table.GroupsPreferences(new GroupsPreferences { GroupType = GroupType.HideGroupingColumns, RepeatHeaderRowPerGroup = true, ShowOneGroupPerPage = true, SpacingBeforeAllGroupsSummary = 10f, }); }) .MainTableDataSource(dataSource => { dataSource.DataTable(dt); }) .MainTableSummarySettings(summarySettings => { summarySettings.PreviousPageSummarySettings("نقل از صفحه قبل"); }) .MainTableColumns(columns => { columns.AddColumn(column => { column.PropertyName("سال"); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Center); column.IsVisible(true); column.Order(0); column.Width(2); column.HeaderCell("سال تحصیلی"); }); columns.AddColumn(column => { column.PropertyName("نیمسال"); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Left); column.IsVisible(true); column.Order(1); column.Width(1); column.HeaderCell("نیمسال"); }); columns.AddColumn(column => { column.PropertyName("پایه"); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Left); column.IsVisible(true); column.Order(2); column.Width(1); column.HeaderCell("پایه"); }); columns.AddColumn(column => { column.PropertyName("درس"); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Left); column.IsVisible(true); column.Order(3); column.Width(1); column.HeaderCell("درس"); }); for (int i = 6; i < countScore + 6; i++) { columns.AddColumn(column => { column.PropertyName(dt.Columns[i].ToString()); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Left); column.IsVisible(true); column.Order(i - 2); column.Width(1); column.HeaderCell(dtTitle.Rows[0][i - 5].ToString()); }); } columns.AddColumn(column => { column.PropertyName("FinalScore1"); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Left); column.IsVisible(true); column.Order(countScore + 4); column.Width(1); column.HeaderCell("نمره نهایی"); }); columns.AddColumn(column => { column.PropertyName("t_term1"); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Left); column.IsVisible(true); column.Order(countScore+5); column.Width(1); column.HeaderCell("نمره تجدیدی"); }); columns.AddColumn(column => { column.PropertyName("t_term11"); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Left); column.IsVisible(true); column.Order(countScore + 6); column.Width(1); column.HeaderCell("نمره استادیاری"); }); columns.AddColumn(column => { column.PropertyName("tabestan1"); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Left); column.IsVisible(true); column.Order(countScore + 10); column.Width(1); column.HeaderCell("نمره تابستان"); }); columns.AddColumn(column => { column.PropertyName("viewTermic"); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Left); column.IsVisible(true); column.Order(countScore + 11); column.Width(1); column.HeaderCell("ترم نمایشی"); }); columns.AddColumn(column => { column.PropertyName("Ghabol"); column.CellsHorizontalAlignment(PdfRpt.Core.Contracts.HorizontalAlignment.Left); column.IsVisible(true); column.Order(countScore + 12); column.Width(1); column.HeaderCell("قبول"); }); }); return pdfrpt.MainTableEvents(events => { events.DataSourceIsEmpty(message: "داده ای برای نمایش وجو د ندارد"); events.MainTableAdded(args => { var taxTable = new PdfPTable(1); // Create a clone of the MainTable's structure taxTable.RunDirection = 3; //taxTable.SetWidths(new float[] { 3, 3, 3 }); taxTable.WidthPercentage = 100f; taxTable.SpacingBefore = 10f; taxTable.AddSimpleRow( (data, cellProperties) => { data.Value = "مهر و امضای مدیر"; cellProperties.ShowBorder = false; cellProperties.HorizontalAlignment = HorizontalAlignment.Left; cellProperties.PdfFont = args.PdfFont; }); args.PdfDoc.Add(taxTable); }); }) .Export(export => { // export.ToExcel(); }) .Generate(data => data.AsPdfFile(fo.Name)); }