BoldSignA modern eSignature application with affordable pricing. Sign up today for unlimited document usage!
Is it possible on the PDF to add some new information which is not in the data onto say the bottom of the last page, not a footer, but some extra information j, I would also like to be able to do this on the Excel as well, but not sure if it is possible, if so any examples of this would be helpful.
Hi Simon
Greetings from Syncfusion support.
We have already documented this topic under Pdf Export section in our UG documentation. Please refer the below documentation for more details regarding this requirement.
Documentation : https://blazor.syncfusion.com/documentation/datagrid/pdf-export/#to-add-header-and-footer
Please let us know if you have any concerns.
Regards,
Naveen Palanivel
I don’t think I made my original question easy to understand, I already have the header and fitters used, what I need is to add a custom section on the last page above the footer that could show some extra information like totals and address details, so what I’m after is a way to access the output and add to it before it is physically created
Hi simon,
We have analyzed your query, Currently we don't have support to add a custom section on the last page above the footer. We can achieve this requirement in a custom way by exporting the Grid without using ExportToPdfAsync method. If it is ok, we can log as custom sample and update you the sample. Kindly confirm whether it is fine for you to achieve this requirement in own way (custom way).
Please let us know if you have any concerns.
Regards,
Naveen Palanivel
If you could provide a sample way of doing it, that would be fantastic.
Thank you
Follow these easy steps to turn a PDF document into a Microsoft Excel spreadsheet: Click the Select a file button above or drag and drop a PDF into the drop zone. Select the PDF you want to convert to the XLSX file format. Watch Acrobat automatically converts your PDF to Excel.
Hope This Helps,
Peter
Hi Peter,
This answer has nothing to do with the actual question, so no this does not help in anyway.
Thanks
Hi Simon,
We have considered your query as a custom sample, we prepare the sample and update you the sample shortly.
Until then we appreciate your patience.
Regards,
Naveen Palanivel
Hi Simon,
Thanks for the Patient,
As explained in our previous update, we do not have direct support to add PDF page section footer for selective pages. So based on your requirement we suggest you to do a custom way of exporting using PdfLibrary instead of using Grid’s inbuilt PdfExport method.
With this approach, we can access page graphics and draw section content as PdfTemplate. We suggest you to refer to the below kb for more details regarding this approach of adding page footer section into only the last page of the PDF.
We have also prepared a custom sample by using the above approach with Grid’s data exporting. Please download and refer the sample from the link below,
if (args.Item.Id == "Grid_pdfexport") //Id is combination of Grid's ID and itemname { PdfDocument document = new PdfDocument();
PdfSection section = document.Sections.Add();
PdfPage page = section.Pages.Add();
PdfBrush brush = new PdfSolidBrush(Color.Black);
PdfGrid grid = new PdfGrid(); grid.Columns.Add(Grid.Columns.Count);
PdfGridRow[] headerRow = grid.Headers.Add(1);
var GridColHeader = Grid.Columns.Select(x => x.HeaderText).ToList(); for (var i = 0; i < Grid.Columns.Count; i++) { headerRow[0].Cells[i].Value = GridColHeader[i]; } // Add Rows to the grid based/using on Grid's DataSource for (int i = 0; i < Orders.Count; i++) { PdfGridRow row = grid.Rows.Add(); //assign cells based on grid's columns row.Cells[0].Value = Orders[i].OrderID.ToString(); row.Cells[1].Value = Orders[i].CustomerID; row.Cells[2].Value = Orders[i].OrderDate.ToString(); row.Cells[3].Value = Orders[i].Freight.ToString(); }
//enable repeating grid column header in each page grid.RepeatHeader = true;
//draw the grid below the pdf Footer PdfGridLayoutResult result = grid.Draw(page , new Point(0, 0));
PdfTemplate Footer = AddFooter(document); //Draw the Footer in the Last page of PDF document page.Graphics.DrawPdfTemplate(Footer, new PointF(0, 0));
MemoryStream stream = new MemoryStream(); document.Save(stream); //Close the document document.Close(true);
await Runtime.InvokeVoidAsync("exportSave", new object[] { "output.pdf", Convert.ToBase64String(stream.ToArray()) }); } }
public static PdfTemplate AddFooter(PdfDocument doc) { SizeF bounds = new SizeF(doc.Pages[0].GetClientSize().Width, 50); //Create a page template that can be used as footer PdfTemplate footer = new PdfTemplate(bounds); PdfFont font = new PdfStandardFont(PdfFontFamily.Helvetica, 7); PdfBrush brush = new PdfSolidBrush(Color.Black); //Create page number field PdfPageNumberField pageNumber = new PdfPageNumberField(font, brush); //Create page count field PdfPageCountField count = new PdfPageCountField(font, brush); //Add the fields in composite fields PdfCompositeField compositeField = new PdfCompositeField(font, brush, "Page {0} of {1}", pageNumber, count); compositeField.Bounds = footer.GetBounds(); //Draw the composite field in footer compositeField.Draw(footer.Graphics, new PointF(-5, -5));
//here we can add custom section (For example here we given Total) doc.Pages[1].Graphics.DrawString("Total: custom section", new PdfStandardFont(PdfFontFamily.TimesRoman, 20), brush, new PointF(footer.GetBounds().X, footer.GetBounds().Y + 650));
return footer; }
|
References : https://help.syncfusion.com/file-formats/pdf/overview
Please get back to us if you need further assistance.
Please let us know if you have any concerns.
Regards,
Naveen Palanivel