1
0
Fork 0
mirror of https://github.com/Nioux/AideDeJeu.git synced 2025-10-29 14:35:45 +00:00

Liste items => pdf

This commit is contained in:
Yan Maniez 2019-06-30 11:30:31 +02:00
parent eeca80734f
commit 875cd3463c
3 changed files with 24 additions and 2 deletions

View file

@ -49,7 +49,7 @@ namespace AideDeJeu.Pdf
}
}
public async Task<string> MarkdownToPDF(List<string> mds)
public async Task<string> MarkdownToPDF(IEnumerable<string> mds)
{
var basePath = BasePdfDirectory;
Directory.CreateDirectory(basePath);
@ -59,7 +59,7 @@ namespace AideDeJeu.Pdf
}
return "test.pdf";
}
public void MarkdownToPdf(List<string> mds, Stream stream)
public void MarkdownToPdf(IEnumerable<string> mds, Stream stream)
{
var pipeline = new Markdig.MarkdownPipelineBuilder().UseYamlFrontMatter().UsePipeTables().Build();

View file

@ -371,5 +371,26 @@ namespace AideDeJeu.ViewModels
await Navigation.PushAsync(page, true);
}
private Command<IEnumerable<Item>> _GenerateItemsPDFCommand = null;
public Command<IEnumerable<Item>> GenerateItemsPDFCommand
{
get
{
return _GenerateItemsPDFCommand ?? (_GenerateItemsPDFCommand = new Command<IEnumerable<Item>>(async (items) => await ExecuteGenerateItemsPDFCommandAsync(items)));
}
}
public async Task ExecuteGenerateItemsPDFCommandAsync(IEnumerable<Item> items)
{
var page = new PdfViewPage();
page.PdfFile = new Tools.NotifyTaskCompletion<string>(Task.Run(async () =>
{
return await PdfService.Instance.MarkdownToPDF(items.Select(item => item.Markdown)); }
));
page.BindingContext = page;
await Navigation.PushAsync(page, true);
}
}
}

View file

@ -17,6 +17,7 @@
<MasterDetailPage.ToolbarItems>
<ToolbarItem Name="Filter" Text="Filtrer" Order="Primary" Icon="funnel.png" Clicked="Button_Clicked" />
<ToolbarItem Name="AddToFavorites" Text="Ajouter aux favoris" Order="Primary" Icon="round_star.png" Command="{Binding Main.Navigator.AddToFavoritesCommand}" />
<ToolbarItem Name="Print" Text="Générer un PDF" Order="Secondary" Icon="round_star.png" Command="{Binding Main.Navigator.GenerateItemsPDFCommand}" CommandParameter="{Binding Children}" />
</MasterDetailPage.ToolbarItems>
<MasterDetailPage.Master>
<ContentPage Title=" ">