public static MemoryStream Generate(UnitAccountingDto unit, DateTimeOffset dueDate, int offset, List <BudgetCashflowItemDto> data) { var document = new Document(PageSize.A4, 20, 20, 20, 20); var stream = new MemoryStream(); var writer = PdfWriter.GetInstance(document, stream); document.Open(); SetTitle(document, unit, dueDate, offset); SetTable(document, data); document.Close(); byte[] byteInfo = stream.ToArray(); stream.Write(byteInfo, 0, byteInfo.Length); stream.Position = 0; return(stream); }
private static void SetTitle(Document document, UnitAccountingDto unit, DateTimeOffset dueDate, int offset) { var company = "PT DAN LIRIS"; var title = "LAPORAN BUDGET CASHFLOW"; var unitName = "UNIT: "; if (unit != null) { unitName += unit.Name; } var cultureInfo = new CultureInfo("id-ID"); var date = $"PERIODE {dueDate.AddMonths(1).AddHours(offset).DateTime.ToString("MMMM yyyy", cultureInfo)}"; var table = new PdfPTable(1) { WidthPercentage = 100, HorizontalAlignment = Element.ALIGN_LEFT }; var cell = new PdfPCell() { Border = Rectangle.NO_BORDER, HorizontalAlignment = Element.ALIGN_LEFT, Phrase = new Phrase(company, _headerFont), }; table.AddCell(cell); cell.Phrase = new Phrase(title, _headerFont); table.AddCell(cell); cell.Phrase = new Phrase(unitName, _headerFont); table.AddCell(cell); cell.Phrase = new Phrase(date, _headerFont); table.AddCell(cell); cell.Phrase = new Phrase("\n", _headerFont); table.AddCell(cell); document.Add(table); }