Пример #1
0
        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();
        }
Пример #2
0
        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"));
        }
Пример #4
0
        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}");
            }
        }