mirror of
https://github.com/Nioux/AideDeJeu.git
synced 2025-10-29 14:35:45 +00:00
Embed font in pdf ;)
This commit is contained in:
parent
fdf4601cc5
commit
a5e0f52265
12 changed files with 63 additions and 14 deletions
|
|
@ -23,6 +23,12 @@
|
|||
<None Remove="Pdf\178_hd_01_feuille_de_perso_v1.pdf" />
|
||||
<None Remove="Pdf\AlverataIrregularPEMedium.ttf" />
|
||||
<None Remove="Pdf\BLKCHCRY.TTF" />
|
||||
<None Remove="Pdf\Cinzel-Black.otf" />
|
||||
<None Remove="Pdf\Cinzel-Bold.otf" />
|
||||
<None Remove="Pdf\Cinzel-Regular.otf" />
|
||||
<None Remove="Pdf\CinzelDecorative-Black.otf" />
|
||||
<None Remove="Pdf\CinzelDecorative-Bold.otf" />
|
||||
<None Remove="Pdf\CinzelDecorative-Regular.otf" />
|
||||
<None Remove="Pdf\feuille_de_personnage_editable.pdf" />
|
||||
<None Remove="Pdf\LinLibertine_aBL.ttf" />
|
||||
<None Remove="Pdf\LinLibertine_aBS.ttf" />
|
||||
|
|
@ -40,6 +46,7 @@
|
|||
<None Remove="Pdf\LinLibertine_RI.ttf" />
|
||||
<None Remove="Pdf\LinLibertine_RZ.ttf" />
|
||||
<None Remove="Pdf\LinLibertine_RZI.ttf" />
|
||||
<None Remove="Pdf\MarcellusSC-Regular.ttf" />
|
||||
<None Remove="Pdf\MinionPro_It.ttf" />
|
||||
<None Remove="Pdf\poker_size.pdf" />
|
||||
<None Remove="test.svg" />
|
||||
|
|
@ -50,6 +57,12 @@
|
|||
<EmbeddedResource Include="Pdf\178_hd_01_feuille_de_perso_v1.pdf" />
|
||||
<EmbeddedResource Include="Pdf\AlverataIrregularPEMedium.ttf" />
|
||||
<EmbeddedResource Include="Pdf\BLKCHCRY.TTF" />
|
||||
<EmbeddedResource Include="Pdf\Cinzel-Black.otf" />
|
||||
<EmbeddedResource Include="Pdf\Cinzel-Bold.otf" />
|
||||
<EmbeddedResource Include="Pdf\Cinzel-Regular.otf" />
|
||||
<EmbeddedResource Include="Pdf\CinzelDecorative-Black.otf" />
|
||||
<EmbeddedResource Include="Pdf\CinzelDecorative-Bold.otf" />
|
||||
<EmbeddedResource Include="Pdf\CinzelDecorative-Regular.otf" />
|
||||
<EmbeddedResource Include="Pdf\feuille_de_personnage_editable.pdf" />
|
||||
<EmbeddedResource Include="Pdf\LinLibertine_aBL.ttf" />
|
||||
<EmbeddedResource Include="Pdf\LinLibertine_aBS.ttf" />
|
||||
|
|
@ -67,6 +80,7 @@
|
|||
<EmbeddedResource Include="Pdf\LinLibertine_RI.ttf" />
|
||||
<EmbeddedResource Include="Pdf\LinLibertine_RZ.ttf" />
|
||||
<EmbeddedResource Include="Pdf\LinLibertine_RZI.ttf" />
|
||||
<EmbeddedResource Include="Pdf\MarcellusSC-Regular.ttf" />
|
||||
<EmbeddedResource Include="Pdf\MinionPro_It.ttf" />
|
||||
<EmbeddedResource Include="Pdf\poker_size.pdf" />
|
||||
<EmbeddedResource Include="test.svg" />
|
||||
|
|
|
|||
BIN
AideDeJeu/AideDeJeu/Pdf/Cinzel-Black.otf
Normal file
BIN
AideDeJeu/AideDeJeu/Pdf/Cinzel-Black.otf
Normal file
Binary file not shown.
BIN
AideDeJeu/AideDeJeu/Pdf/Cinzel-Bold.otf
Normal file
BIN
AideDeJeu/AideDeJeu/Pdf/Cinzel-Bold.otf
Normal file
Binary file not shown.
BIN
AideDeJeu/AideDeJeu/Pdf/Cinzel-Regular.otf
Normal file
BIN
AideDeJeu/AideDeJeu/Pdf/Cinzel-Regular.otf
Normal file
Binary file not shown.
BIN
AideDeJeu/AideDeJeu/Pdf/CinzelDecorative-Black.otf
Normal file
BIN
AideDeJeu/AideDeJeu/Pdf/CinzelDecorative-Black.otf
Normal file
Binary file not shown.
BIN
AideDeJeu/AideDeJeu/Pdf/CinzelDecorative-Bold.otf
Normal file
BIN
AideDeJeu/AideDeJeu/Pdf/CinzelDecorative-Bold.otf
Normal file
Binary file not shown.
BIN
AideDeJeu/AideDeJeu/Pdf/CinzelDecorative-Regular.otf
Normal file
BIN
AideDeJeu/AideDeJeu/Pdf/CinzelDecorative-Regular.otf
Normal file
Binary file not shown.
BIN
AideDeJeu/AideDeJeu/Pdf/MarcellusSC-Regular.ttf
Normal file
BIN
AideDeJeu/AideDeJeu/Pdf/MarcellusSC-Regular.ttf
Normal file
Binary file not shown.
|
|
@ -54,10 +54,37 @@ namespace AideDeJeu.Pdf
|
|||
//stamper.Close();
|
||||
//reader.Close();
|
||||
}
|
||||
|
||||
Font ParagraphFont = null;
|
||||
private void Render(IEnumerable<Block> blocks, Document document)
|
||||
{
|
||||
if(ParagraphFont == null)
|
||||
{
|
||||
//var fontPath = Path.Combine(Xamarin.Essentials.FileSystem.CacheDirectory, "Cinzel-Regular.otf");
|
||||
var fontPath = @"C:\Users\yanma\Documents\Visual Studio 2017\Projects\AideDeJeu\AideDeJeu\AideDeJeuCmd\bin\Debug\netcoreapp2.1\Cinzel-Regular.otf";
|
||||
using (var inFont = AideDeJeu.Tools.Helpers.GetResourceStream("AideDeJeu.Pdf.Cinzel-Regular.otf"))
|
||||
{
|
||||
using (var outFont = new FileStream(fontPath, FileMode.Create, FileAccess.ReadWrite))
|
||||
{
|
||||
inFont.CopyTo(outFont);
|
||||
}
|
||||
}
|
||||
FontFactory.Register(fontPath);
|
||||
|
||||
//var mafont = FontFactory.GetFont("cinzel", 20, iTextSharp.text.Font.NORMAL);
|
||||
var mafont = iTextSharp.text.pdf.BaseFont.CreateFont(fontPath, iTextSharp.text.pdf.BaseFont.IDENTITY_H, iTextSharp.text.pdf.BaseFont.EMBEDDED);
|
||||
//var font = mafont.BaseFont;
|
||||
var bigFont = new iTextSharp.text.Font(mafont, 20);
|
||||
|
||||
var fonts = FontFactory.RegisteredFonts;
|
||||
|
||||
ParagraphFont = bigFont;
|
||||
}
|
||||
var phrases = Render(blocks);
|
||||
|
||||
|
||||
ColumnText ct = new ColumnText(_Writer.DirectContent);
|
||||
|
||||
int column = 0;
|
||||
ct.SetSimpleColumn(10, 10 + 200 * column, 200, 200 + 200 * column);
|
||||
int status = 0;
|
||||
|
|
@ -65,21 +92,26 @@ namespace AideDeJeu.Pdf
|
|||
float y = 0;
|
||||
foreach (var phrase in phrases)
|
||||
{
|
||||
//var pphrase = new Phrase("test", bigFont);
|
||||
phrase.Font = ParagraphFont;
|
||||
y = ct.YLine;
|
||||
|
||||
//document.Add(phrase);
|
||||
ct.AddText(phrase);
|
||||
status = ct.Go(true);
|
||||
if(ColumnText.HasMoreText(status))
|
||||
{
|
||||
document.Add(phrase);
|
||||
//ct.AddText(phrase);
|
||||
//status = ct.Go(true);
|
||||
//if(ColumnText.HasMoreText(status))
|
||||
//{
|
||||
|
||||
// column++;
|
||||
// ct.SetSimpleColumn(10, 10 + 200 * column, 200, 200 + 200 * column);
|
||||
// y += 200;
|
||||
//}
|
||||
//ct.YLine = y;
|
||||
//ct.SetText(phrase);
|
||||
//status = ct.Go(false);
|
||||
|
||||
|
||||
|
||||
column++;
|
||||
ct.SetSimpleColumn(10, 10 + 200 * column, 200, 200 + 200 * column);
|
||||
y += 200;
|
||||
}
|
||||
ct.YLine = y;
|
||||
ct.SetText(phrase);
|
||||
status = ct.Go(false);
|
||||
//ColumnText ct = new ColumnText(_Writer.DirectContent);
|
||||
//ct.AddText(CreateFormatted(block.Inline, Font.HELVETICA, 0, new Color(0, 0, 0), 12));
|
||||
//ct.Alignment = Element.ALIGN_JUSTIFIED;
|
||||
|
|
@ -190,7 +222,7 @@ namespace AideDeJeu.Pdf
|
|||
new Chunk()
|
||||
{
|
||||
Content = literal.Content.Text.Substring(literal.Content.Start, literal.Content.Length),
|
||||
Font = new Font(fontFamily, fontSize, fontStyle, fontColor)
|
||||
Font = ParagraphFont, //new Font(fontFamily, fontSize, fontStyle, fontColor)
|
||||
}
|
||||
};
|
||||
case EmphasisInline emphasis:
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.4" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="2.2.4" />
|
||||
<PackageReference Include="sqlite-net-pcl" Version="1.6.258-beta" />
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.5.1" />
|
||||
<PackageReference Include="Xamarin.Essentials" Version="1.1.0" />
|
||||
<PackageReference Include="Xamarin.Forms" Version="4.0.0.497661" />
|
||||
<PackageReference Include="XamiTextSharpLGPLv2" Version="1.0.0" />
|
||||
|
|
|
|||
|
|
@ -753,6 +753,7 @@ namespace AideDeJeuCmd
|
|||
Tests.Xamarin.Forms.Mocks.MockForms.Init();
|
||||
SQLitePCL.raw.SetProvider(new SQLitePCL.SQLite3Provider_e_sqlite3());
|
||||
DependencyService.Register<INativeAPI, AideDeJeu.Cmd.Version_CMD>();
|
||||
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
|
||||
//Xamarin.Essentials.Platform.Init(this, bundle);
|
||||
//Xamarin.Essentials.ExperimentalFeatures.Enable(Xamarin.Essentials.ExperimentalFeatures.ShareFileRequest);
|
||||
|
||||
|
|
@ -770,7 +771,7 @@ namespace AideDeJeuCmd
|
|||
using (var stream = new FileStream("test.pdf", FileMode.Create))
|
||||
{
|
||||
//pdfService.MarkdownToPdf("# mon titre\n\nhop", stream);
|
||||
pdfService.MarkdownToPdf(spells.Select(s => s.Markdown).ToList(), stream);
|
||||
pdfService.MarkdownToPdf(spells.Select(s => s.Markdown).Take(3).ToList(), stream);
|
||||
//pdfService.MarkdownToPdf(new List<string>() { item.Markdown }, stream);
|
||||
//var stream = new MemoryStream();
|
||||
//pce.GeneratePdfToStream(pc, stream);
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.2.4" />
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="2.2.4" />
|
||||
<PackageReference Include="sqlite-net-pcl" Version="1.6.258-beta" />
|
||||
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.5.1" />
|
||||
<PackageReference Include="Xamarin.Essentials" Version="1.1.0" />
|
||||
<PackageReference Include="Xamarin.Forms" Version="4.0.0.497661" />
|
||||
<PackageReference Include="XamiTextSharpLGPLv2" Version="1.0.0" />
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue