mirror of
https://github.com/Nioux/AideDeJeu.git
synced 2025-12-16 15:19:56 +00:00
This commit is contained in:
parent
cf9f5357a0
commit
c0633ba6e9
4 changed files with 24 additions and 10 deletions
|
|
@ -10,6 +10,7 @@ using System.Diagnostics;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
using Xamarin.Forms;
|
using Xamarin.Forms;
|
||||||
|
|
||||||
namespace AideDeJeu.Pdf
|
namespace AideDeJeu.Pdf
|
||||||
|
|
@ -39,6 +40,25 @@ namespace AideDeJeu.Pdf
|
||||||
|
|
||||||
Document _Document = null;
|
Document _Document = null;
|
||||||
PdfWriter _Writer = null;
|
PdfWriter _Writer = null;
|
||||||
|
|
||||||
|
public string BasePdfDirectory
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return Path.Combine(Xamarin.Essentials.FileSystem.CacheDirectory, "pdf");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<string> MarkdownToPDF(List<string> mds)
|
||||||
|
{
|
||||||
|
var basePath = BasePdfDirectory;
|
||||||
|
Directory.CreateDirectory(basePath);
|
||||||
|
using (var stream = new FileStream(Path.Combine(BasePdfDirectory, "test.pdf"), FileMode.Create))
|
||||||
|
{
|
||||||
|
MarkdownToPdf(mds, stream);
|
||||||
|
}
|
||||||
|
return "test.pdf";
|
||||||
|
}
|
||||||
public void MarkdownToPdf(List<string> mds, Stream stream)
|
public void MarkdownToPdf(List<string> mds, Stream stream)
|
||||||
{
|
{
|
||||||
var pipeline = new Markdig.MarkdownPipelineBuilder().UseYamlFrontMatter().UsePipeTables().Build();
|
var pipeline = new Markdig.MarkdownPipelineBuilder().UseYamlFrontMatter().UsePipeTables().Build();
|
||||||
|
|
|
||||||
|
|
@ -363,15 +363,9 @@ namespace AideDeJeu.ViewModels
|
||||||
|
|
||||||
public async Task ExecuteGeneratePDFCommandAsync(string markdown)
|
public async Task ExecuteGeneratePDFCommandAsync(string markdown)
|
||||||
{
|
{
|
||||||
using (var stream = new FileStream(Path.Combine(Xamarin.Essentials.FileSystem.CacheDirectory, Path.Combine("pdf", "test.pdf")), FileMode.Create))
|
|
||||||
{
|
|
||||||
|
|
||||||
PdfService.Instance.MarkdownToPdf(new List<string>() { markdown }, stream);
|
|
||||||
}
|
|
||||||
|
|
||||||
var page = new PdfViewPage();
|
var page = new PdfViewPage();
|
||||||
page.PdfFile = new Tools.NotifyTaskCompletion<string>(Task.Run(() =>
|
page.PdfFile = new Tools.NotifyTaskCompletion<string>(Task.Run(async() =>
|
||||||
{ return "test.pdf"; }
|
{ return await PdfService.Instance.MarkdownToPDF(new List<string>() { markdown }); }
|
||||||
));
|
));
|
||||||
page.BindingContext = page;
|
page.BindingContext = page;
|
||||||
await Navigation.PushAsync(page, true);
|
await Navigation.PushAsync(page, true);
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
</ResourceDictionary>
|
</ResourceDictionary>
|
||||||
</ContentPage.Resources>
|
</ContentPage.Resources>
|
||||||
<ContentPage.ToolbarItems>
|
<ContentPage.ToolbarItems>
|
||||||
<ToolbarItem Name="Print" Text="Générer un PDF" Order="Primary" Icon="round_star.png" Command="{Binding Main.Navigator.GeneratePDFCommand}" CommandParameter="{Binding Item.Markdown}" />
|
<ToolbarItem Name="Print" Text="Générer un PDF" Order="Secondary" Icon="round_star.png" Command="{Binding Main.Navigator.GeneratePDFCommand}" CommandParameter="{Binding Item.Markdown}" />
|
||||||
<ToolbarItem Name="AddToFavorites" Text="Ajouter aux favoris" Order="Primary" Icon="round_star.png" Command="{Binding Main.Navigator.AddToFavoritesCommand}" />
|
<ToolbarItem Name="AddToFavorites" Text="Ajouter aux favoris" Order="Primary" Icon="round_star.png" Command="{Binding Main.Navigator.AddToFavoritesCommand}" />
|
||||||
</ContentPage.ToolbarItems>
|
</ContentPage.ToolbarItems>
|
||||||
<Grid>
|
<Grid>
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
</ResourceDictionary>
|
</ResourceDictionary>
|
||||||
</ContentPage.Resources>
|
</ContentPage.Resources>
|
||||||
<ContentPage.ToolbarItems>
|
<ContentPage.ToolbarItems>
|
||||||
<ToolbarItem Name="Print" Text="Générer un PDF" Order="Primary" Icon="round_star.png" Command="{Binding Main.Navigator.GeneratePDFCommand}" CommandParameter="{Binding BindingContext.Items.Markdown, Source={x:Reference This}}" />
|
<ToolbarItem Name="Print" Text="Générer un PDF" Order="Secondary" Icon="round_star.png" Command="{Binding Main.Navigator.GeneratePDFCommand}" CommandParameter="{Binding BindingContext.Items.Markdown, Source={x:Reference This}}" />
|
||||||
<ToolbarItem Name="AddToFavorites" Text="Ajouter aux favoris" Order="Primary" Icon="round_star.png" Command="{Binding Main.Navigator.AddToFavoritesCommand}" />
|
<ToolbarItem Name="AddToFavorites" Text="Ajouter aux favoris" Order="Primary" Icon="round_star.png" Command="{Binding Main.Navigator.AddToFavoritesCommand}" />
|
||||||
</ContentPage.ToolbarItems>
|
</ContentPage.ToolbarItems>
|
||||||
<Grid>
|
<Grid>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue