public void ErzeugeKlerikerBogenTest() { var kleriker = new Kleriker(1, 1, 1, Gesinnung.Rechtschaffen); using var klerikerPdf = PdfCreator.ErzeugeKlerikerBogen(kleriker); using var f = File.Create("kleriker_test.pdf"); klerikerPdf.CopyTo(f); f.Flush(); }
public static MemoryStream ErzeugeKlerikerBogen(Kleriker kleriker) { var assembly = typeof(PdfCreator).Assembly; using var klerikerBogen = assembly.GetManifestResourceStream("DccCharCreator.pdf.Resources.DCC_Kleriker_ausfüllbar.pdf"); using var pdf = PdfReader.Open(klerikerBogen); SetNeedAppearances(pdf); FillKleriker(kleriker, pdf.AcroForm); var stream = new MemoryStream(); pdf.Save(stream, false); pdf.Dispose(); return(stream); }
public IActionResult Pdf(int seed, int character, Klasse klasse, int stufe, Gesinnung gesinnung) { MemoryStream ms = null; switch (klasse) { case Klasse.Dieb: var dieb = new Dieb(seed, character, stufe, gesinnung); ms = PdfCreator.ErzeugeDiebBogen(dieb); break; case Klasse.Elf: var elf = new Elf(seed, character, stufe, gesinnung); ms = PdfCreator.ErzeugeElfBogen(elf); break; case Klasse.Halbling: var halbling = new Halbling(seed, character, stufe, gesinnung); ms = PdfCreator.ErzeugeHalblingBogen(halbling); break; case Klasse.Kleriker: var kleriker = new Kleriker(seed, character, stufe, gesinnung); ms = PdfCreator.ErzeugeKlerikerBogen(kleriker); break; case Klasse.Krieger: var krieger = new Krieger(seed, character, stufe, gesinnung); ms = PdfCreator.ErzeugeKriegerBogen(krieger); break; case Klasse.Zauberkundiger: var zauberkundiger = new Zauberkundiger(seed, character, stufe, gesinnung); ms = PdfCreator.ErzeugeZauberkundigerBogen(zauberkundiger); break; case Klasse.Zwerg: var zwerg = new Zwerg(seed, character, stufe, gesinnung); ms = PdfCreator.ErzeugeZwergBogen(zwerg); break; } ; return(File(ms, "application/pdf", $"Charakterbogen_{klasse}_{seed}_{character}.pdf")); }
private static void FillKleriker(Kleriker kleriker, PdfAcroForm form) { var fields = form.Fields; FillBase(fields, kleriker); fields["Klasse"].Value = new PdfString("Kleriker"); fields["Zauberwurf"].Value = new PdfString(kleriker.Zauberstufe.ToString()); //Sternzeichen muss noch gesetzt werden. var i = 0; foreach (var zauber in kleriker.Zauberbuch) { i++; fields[$"Zauber{i}"].Value = new PdfString($"{zauber.Name} S.{zauber.Seite}\n{zauber.Manifestation.Beschreibung}"); } }