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

Rollback problème génération pdf : first chance exception interne à itext sur stream, pas besoin de modifier

This commit is contained in:
Yan Maniez 2019-10-15 11:13:12 +02:00
parent ba5a9de26d
commit 037ca0ae0e
3 changed files with 41 additions and 18 deletions

View file

@ -137,8 +137,8 @@ namespace AideDeJeu.Pdf
string fontPath = fontName;
if(Xamarin.Essentials.DeviceInfo.Platform != Xamarin.Essentials.DevicePlatform.Unknown)
{
fontPath = Path.Combine(Xamarin.Essentials.FileSystem.AppDataDirectory, fontPath);
//fontPath = Path.Combine(Xamarin.Essentials.FileSystem.CacheDirectory, fontPath);
//fontPath = Path.Combine(Xamarin.Essentials.FileSystem.AppDataDirectory, fontPath);
fontPath = Path.Combine(Xamarin.Essentials.FileSystem.CacheDirectory, fontPath);
}
using (var inFont = AideDeJeu.Tools.Helpers.GetResourceStream($"AideDeJeu.Pdf.{fontName}"))
{
@ -149,8 +149,8 @@ namespace AideDeJeu.Pdf
}
FontFactory.Register(fontPath);
//return iTextSharp.text.pdf.BaseFont.CreateFont(fontPath, iTextSharp.text.pdf.BaseFont.IDENTITY_H, iTextSharp.text.pdf.BaseFont.EMBEDDED, true, null, null, true, true);
return iTextSharp.text.pdf.BaseFont.CreateFont();
return iTextSharp.text.pdf.BaseFont.CreateFont(fontPath, iTextSharp.text.pdf.BaseFont.IDENTITY_H, iTextSharp.text.pdf.BaseFont.EMBEDDED);
//return iTextSharp.text.pdf.BaseFont.CreateFont();
}
BaseFont _CinzelRegular = null;

View file

@ -1268,16 +1268,16 @@ namespace AideDeJeu.ViewModels.PlayerCharacter
var form = stamper.AcroFields;
var fields = form.Fields;
#if DEBUG
foreach (DictionaryEntry field in fields)
{
var item = field.Value as AcroFields.Item;
Debug.WriteLine(field.Key);
if (field.Key.ToString().Equals("Portrait"))
{
Debug.WriteLine("Portrait");
}
form.SetField(field.Key.ToString(), field.Key.ToString());
}
//foreach (DictionaryEntry field in fields)
//{
// var item = field.Value as AcroFields.Item;
// Debug.WriteLine(field.Key);
// if (field.Key.ToString().Equals("Portrait"))
// {
// Debug.WriteLine("Portrait");
// }
// form.SetField(field.Key.ToString(), field.Key.ToString());
//}
#endif // DEBUG
form.SetField("Nom", SelectedPlayerCharacter?.Name ?? string.Empty);
@ -1379,6 +1379,27 @@ namespace AideDeJeu.ViewModels.PlayerCharacter
};
#endregion Level
public Command PdfViewCommand
{
get
{
return new Command<PlayerCharacterViewModel>(async (pc) => await ExecutePdfViewCommandAsync(pc));
}
}
public async Task ExecutePdfViewCommandAsync(PlayerCharacterViewModel pc)
{
//var vm = BindingContext as PlayerCharacterEditorViewModel;
var page = new Views.PlayerCharacter.PdfViewPage();
page.PdfFile = new Tools.NotifyTaskCompletion<string>(Task.Run(async () => await GeneratePdfAsync(pc)));
page.BindingContext = page;
//Navigation.PushModalAsync(page, true);
await Shell.Current.Navigation.PushAsync(page, true);
}
}
}

View file

@ -4,8 +4,10 @@
xmlns:tools="clr-namespace:AideDeJeu.Tools"
xmlns:mdview="clr-namespace:Xam.Forms.Markdown"
xmlns:pickers="clr-namespace:AideDeJeu.Views.Pickers"
xmlns:pcvm="clr-namespace:AideDeJeu.ViewModels.PlayerCharacter"
x:Class="AideDeJeu.Views.PlayerCharacter.RacePage"
x:Name="This">
x:Name="This"
x:DataType="pcvm:PlayerCharacterEditorViewModel">
<ContentPage.Resources>
<ResourceDictionary>
<tools:MonsterMarkdownTheme x:Key="MonsterMarkdownTheme" />
@ -13,7 +15,7 @@
</ResourceDictionary>
</ContentPage.Resources>
<ContentPage.ToolbarItems>
<ToolbarItem Name="Print" Text="Générer un PDF" Order="Primary" Icon="scroll_unfurled.png" Command="{Binding PdfViewCommand, Source={x:Reference This}}" CommandParameter="{Binding SelectedPlayerCharacter}" />
<ToolbarItem Name="Print" Text="Générer un PDF" Order="Primary" Icon="scroll_unfurled.png" Command="{Binding PdfViewCommand}" CommandParameter="{Binding SelectedPlayerCharacter}" />
</ContentPage.ToolbarItems>
<ContentPage.Content>
<ScrollView Grid.ColumnSpan="2" Orientation="Vertical">
@ -46,8 +48,8 @@
<BindableLayout.ItemTemplate>
<DataTemplate>
<StackLayout>
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding Value.Key, StringFormat='#### {0}'}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding Value.Value}" />
<!--<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding Value.Key, StringFormat='#### {0}'}" />
<mdview:MarkdownView Theme="{StaticResource MonsterMarkdownTheme}" Markdown="{Binding Value.Value}" />-->
</StackLayout>
</DataTemplate>
</BindableLayout.ItemTemplate>