123456789101112131415161718192021222324252627282930313233343536 |
- using Syncfusion.Pdf;
- using Syncfusion.Pdf.Graphics;
- namespace InABox.Avalonia
- {
- public static class MobileDocumentExtensions
- {
- public static void ConvertToPDF(this MobileDocument document)
- {
- using (var img = new MemoryStream(document.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);
- document.Data = ms.GetBuffer();
- document.FileName = Path.ChangeExtension(document.FileName, "pdf");
- }
- }
- }
-
- public static bool IsPDF(this MobileDocument document) => document.FileName.ToUpper().EndsWith(".PDF");
- }
- }
|