From 78427093e46b3866fb69d82ace0a9c4168aa2cfa Mon Sep 17 00:00:00 2001 From: Yan Maniez Date: Thu, 25 Apr 2019 13:22:34 +0200 Subject: [PATCH] Cool --- AideDeJeu/AideDeJeu.Android/NativeAPI.cs | 15 +---------- .../PlayerCharacterEditorViewModel.cs | 25 ++++++++++++++++--- .../PlayerCharacterEditorPage.xaml | 3 +++ 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/AideDeJeu/AideDeJeu.Android/NativeAPI.cs b/AideDeJeu/AideDeJeu.Android/NativeAPI.cs index f105b66e..2f8b1ed4 100644 --- a/AideDeJeu/AideDeJeu.Android/NativeAPI.cs +++ b/AideDeJeu/AideDeJeu.Android/NativeAPI.cs @@ -195,29 +195,16 @@ namespace AideDeJeu.Droid // return Task.CompletedTask; //} + // https://www.syncfusion.com/kb/8707/how-to-share-the-pdf-document-in-xamarin-forms-platform public async Task LaunchFileAsync(string title, string message, string filePath) { var context = Android.App.Application.Context; var uri = Android.Support.V4.Content.FileProvider.GetUriForFile(context, context.PackageName + ".fileprovider", new Java.IO.File(filePath)); //var uri = Android.Net.Uri.Parse("file://" + filePath); - var contentType = "application/pdf"; var intent = new Intent(Intent.ActionView); - /*intent.PutExtra(Intent.ExtraStream, uri); - intent.PutExtra(Intent.ExtraText, string.Empty); - intent.PutExtra(Intent.ExtraSubject, message ?? string.Empty); - intent.SetType(contentType); - var chooserIntent = Intent.CreateChooser(intent, title ?? string.Empty); - //chooserIntent.SetDataAndType(uri, "application/pdf"); - chooserIntent.SetFlags(ActivityFlags.ClearTop); - chooserIntent.SetFlags(ActivityFlags.NewTask); - chooserIntent.AddFlags(ActivityFlags.GrantReadUriPermission); - chooserIntent.AddFlags(ActivityFlags.GrantWriteUriPermission); - context.StartActivity(chooserIntent); - */ intent.SetDataAndType(uri, "application/pdf"); intent.SetFlags(ActivityFlags.NewTask | ActivityFlags.GrantReadUriPermission); context.StartActivity(intent); - //return Task.FromResult(true); } } diff --git a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/PlayerCharacterEditorViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/PlayerCharacterEditorViewModel.cs index 50e2ca9a..1f5e0cc6 100644 --- a/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/PlayerCharacterEditorViewModel.cs +++ b/AideDeJeu/AideDeJeu/ViewModels/PlayerCharacter/PlayerCharacterEditorViewModel.cs @@ -894,8 +894,8 @@ namespace AideDeJeu.ViewModels.PlayerCharacter Wisdom = PickAbility(random, ref mins, ref maxs, "Sagesse"); Charisma = PickAbility(random, ref mins, ref maxs, "Charisme"); - await GeneratePdfAsync(); - await OpenPdfAsync(); + //await GeneratePdfAsync(); + //await OpenPdfAsync(); } public BaseFont findFontInForm(PdfReader reader, PdfName fontname) @@ -1093,8 +1093,8 @@ namespace AideDeJeu.ViewModels.PlayerCharacter void DrawText(PdfContentByte cb, string text, iTextSharp.text.Font font, float x, float y, float width, float height, int alignment) { cb.SetRGBColorFill(127, 127, 127); - cb.Rectangle(x, y, width, height); - cb.Stroke(); + //cb.Rectangle(x, y, width, height); + //cb.Stroke(); ColumnText ct = new ColumnText(cb); ct.SetSimpleColumn(x, y , x + width, y + height); var p = new Paragraph(text, font); @@ -1103,6 +1103,22 @@ namespace AideDeJeu.ViewModels.PlayerCharacter ct.Go(); } + + + public ICommand GenerateAndOpenPdfCommand + { + get + { + return new Command(async () => await ExecuteGenerateAndOpenPdfCommandAsync()); + } + } + + async Task ExecuteGenerateAndOpenPdfCommandAsync() + { + await GeneratePdfAsync(); + await OpenPdfAsync(); + } + async Task GeneratePdfAsync() { //PdfDocument pdfDoc = new PdfDocument(new PdfReader(SRC), new PdfWriter(dest)); @@ -1253,6 +1269,7 @@ namespace AideDeJeu.ViewModels.PlayerCharacter */ } + async Task OpenPdfAsync() { //DependencyService.Get().OpenFileByName("test.pdf"); diff --git a/AideDeJeu/AideDeJeu/Views/PlayerCharacter/PlayerCharacterEditorPage.xaml b/AideDeJeu/AideDeJeu/Views/PlayerCharacter/PlayerCharacterEditorPage.xaml index 3a75349b..e4b40306 100644 --- a/AideDeJeu/AideDeJeu/Views/PlayerCharacter/PlayerCharacterEditorPage.xaml +++ b/AideDeJeu/AideDeJeu/Views/PlayerCharacter/PlayerCharacterEditorPage.xaml @@ -52,6 +52,9 @@ + + +