| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | 
							- using System;
 
- using System.Drawing;
 
- using System.IO;
 
- using System.Threading.Tasks;
 
- using Rg.Plugins.Popup.Animations;
 
- using Syncfusion.Pdf;
 
- using Syncfusion.Pdf.Graphics;
 
- namespace InABox.Mobile
 
- {
 
-     public class MobileDocument
 
-     {
 
-         public string FileName { get; set; }
 
-         public byte[] Data { get; set; }
 
-         public MobileDocument()
 
-         {
 
-             FileName = "";
 
-             Data = new byte[] { };
 
-         }
 
-         
 
-         public MobileDocument(string filename, byte[] data)
 
-         {
 
-             FileName = filename;
 
-             Data = data;
 
-         }
 
-         
 
-         public void ConvertToPDF()
 
-         {
 
-             using (var img = new MemoryStream(Data))
 
-             {
 
-                 var image = new PdfBitmap(img);
 
-                 var pdfDoc = new PdfDocument();
 
-                 var section = pdfDoc.Sections.Add();
 
-                 section.PageSettings.Margins.All = 0;
 
-                 section.PageSettings.Width = image.Width;
 
-                 section.PageSettings.Height = image.Height;
 
-                 var page = section.Pages.Add();
 
-                 page.Graphics.DrawImage(image, 0, 0, page.Size.Width, page.Size.Height);
 
-                 using (var ms = new MemoryStream())
 
-                 {
 
-                     pdfDoc.Save(ms);
 
-                     Data = ms.GetBuffer();
 
-                     FileName = Path.ChangeExtension(FileName, "pdf");                
 
-                 }
 
-             }
 
-         }
 
-         
 
-         public bool IsPDF() => FileName.ToUpper().EndsWith(".PDF");
 
-         
 
-         public static async Task<MobileDocument> From<TSource, TOptions>(TSource source) 
 
-             where TSource : MobileDocumentSource
 
-             where TOptions : MobileDocumentOptions<TSource>
 
-         {
 
-             var result = await source.From();
 
-             return result;
 
-         }
 
-         
 
-         public static async Task<MobileDocument> From<T>(MobileDocumentOptions<T> options) where T : MobileDocumentSource
 
-         {
 
-             var source = (T)Activator.CreateInstance(typeof(T), new object[] { options });
 
-             var result = await source.From();
 
-             return result;
 
-         }
 
-         
 
-     }
 
- }
 
 
  |