1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-10-30 15:06:06 +00:00
This commit is contained in:
Yan Maniez 2019-04-25 13:22:34 +02:00
parent e8d2d62287
commit 78427093e4
3 changed files with 25 additions and 18 deletions

View file

@ -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);
}
}

View file

@ -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<INativeAPI>().OpenFileByName("test.pdf");

View file

@ -52,6 +52,9 @@
<tools:NullToFalseConverter x:Key="NullToFalseConverter" />
</ResourceDictionary>
</TabbedPage.Resources>
<TabbedPage.ToolbarItems>
<ToolbarItem Text="Ouvrir en PDF avec..." Command="{Binding GenerateAndOpenPdfCommand}" Order="Secondary" />
</TabbedPage.ToolbarItems>
<ContentPage Title="Race">
<ScrollView Orientation="Vertical">
<StackLayout>