Generate PDF using Xamarin Forms in 5 Easy Steps | Syncfusion Blogs
Live Chat Icon For mobile
Live Chat Icon
Popular Categories.NET  (180).NET Core  (28).NET MAUI  (226)Angular  (113)ASP.NET  (49)ASP.NET Core  (81)ASP.NET MVC  (87)Azure  (41)Black Friday Deal  (1)Blazor  (235)BoldSign  (14)DocIO  (24)Essential JS 2  (110)Essential Studio  (199)File Formats  (72)Flutter  (136)JavaScript  (226)Microsoft  (121)PDF  (83)Python  (1)React  (105)Streamlit  (1)Succinctly series  (131)Syncfusion  (963)TypeScript  (33)Uno Platform  (3)UWP  (3)Vue  (46)Webinar  (53)Windows Forms  (59)WinUI  (72)WPF  (163)Xamarin  (159)XlsIO  (38)Other CategoriesBarcode  (5)BI  (29)Bold BI  (8)Bold Reports  (2)Build conference  (10)Business intelligence  (55)Button  (4)C#  (164)Chart  (146)Chart of the week  (58)Cloud  (15)Company  (440)Dashboard  (8)Data Science  (3)Data Validation  (8)DataGrid  (73)Development  (678)Doc  (7)DockingManager  (1)eBook  (99)Enterprise  (22)Entity Framework  (7)Essential Tools  (13)Excel  (43)Extensions  (23)File Manager  (7)Gantt  (21)Gauge  (12)Git  (5)Grid  (31)HTML  (13)Installer  (2)Knockout  (2)Language  (1)LINQPad  (1)Linux  (2)M-Commerce  (1)Metro Studio  (11)Mobile  (522)Mobile MVC  (9)OLAP server  (2)Open source  (1)Orubase  (12)Partners  (21)PDF viewer  (45)Performance  (13)PHP  (2)PivotGrid  (5)Predictive Analytics  (6)Report Server  (3)Reporting  (8)Reporting / Back Office  (9)Rich Text Editor  (12)Road Map  (12)Scheduler  (54)Security  (5)SfDataGrid  (9)Silverlight  (21)Sneak Peek  (32)Solution Services  (4)Spreadsheet  (11)SQL  (15)Stock Chart  (1)Surface  (4)Tablets  (5)Theme  (12)Tips and Tricks  (113)UI  (404)Uncategorized  (68)Unix  (2)User interface  (68)Visual State Manager  (2)Visual Studio  (31)Visual Studio Code  (19)Web  (626)What's new  (339)Windows 8  (19)Windows App  (2)Windows Phone  (15)Windows Phone 7  (9)WinRT  (26)

Guest Blog Post: Malcolm Jack Generates PDF Documents Using Xamarin.Forms and Syncfusion in 5 Easy Steps

Xamarin.Forms is a great way to implement cross-platform, fully native mobile apps, but when developing these apps, there’s still a gap in the components needed to fill out the functionality.

These gaps typically fall into two areas: platform services (camera/GPS/maps/settings/etc.) and UI components.

The Xamarin Plugins are a great resource for the former. There are a few resources for the latter, but I have found the Syncfusion Xamarin Control Suite to be the most helpful.

One of the more common needs, particularly of line-of-business apps, is PDF integration (generating/reading/merging/etc.).

The Syncfusion Xamarin samples seem to be a little sparse, so I thought I’d share an example implementation here.

For more in-depth Syncfusion PDF documentation, have a look here. They provide quite a bit more PDF capability than what is covered here.

This post will cover a basic scenario of generating a PDF document from invoice information using the Syncfusion PDF component for Xamarin.

Source code for this post can be found here. If you’re looking for the details, check out the GitHub repo–we’ll cover the basic outlines of what’s necessary here.

1. Create context for the PDF generation

In the case of the sample code, I’ve created a GenerateInvoiceContext class–which mostly houses the Invoice from which to generate the PDF.

All the information you require to generate the PDF needs to be contained in this class.

2. Wrap the generation logic into a command

Create an implementation class that contains the logic for generating the PDF from the invoice. In the sample code, this is the GenerateInvoiceCommand class. I’ve used the command pattern here because it’s a great way to separate out and force the single responsibility design pattern. The basics for command implementation are provided by the Command Pattern Wireframe nuget package, including an ExcuteAsync<TIn, TOut> command pattern to follow. So calling the command from the view model looks something like this: