Esempio n. 1
0
        public void ErzeugeDiebBogenTest()
        {
            var dieb = new Dieb(1, 1, 1, Gesinnung.Rechtschaffen);

            using var diebPdf = PdfCreator.ErzeugeDiebBogen(dieb);

            using var f = File.Create("dieb_test.pdf");
            diebPdf.CopyTo(f);
            f.Flush();
        }
Esempio n. 2
0
        public static MemoryStream ErzeugeDiebBogen(Dieb dieb)
        {
            var assembly = typeof(PdfCreator).Assembly;

            using var diebBogen = assembly.GetManifestResourceStream("DccCharCreator.pdf.Resources.DCC_Dieb_ausfüllbar.pdf");
            using var pdf       = PdfReader.Open(diebBogen);
            SetNeedAppearances(pdf);

            FillDieb(dieb, 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"));
        }
Esempio n. 4
0
        private static void FillDieb(Dieb dieb, PdfAcroForm form)
        {
            var fields = form.Fields;

            FillBase(fields, dieb);

            fields["Klasse"].Value = new PdfString("Dieb");

            fields["DiebGlück"].Value       = new PdfString(dieb.Glückswürfel);
            fields["DiebHinterhalt"].Value  = new PdfString(dieb.HinterhältigerAngriff.ToString());
            fields["DiebSchleichen"].Value  = new PdfString(dieb.LautlosSchleichen.ToString());
            fields["DiebSchatten"].Value    = new PdfString(dieb.ImSchattenVerstecken.ToString());
            fields["DiebKnacken"].Value     = new PdfString(dieb.SchlösserKnacken.ToString());
            fields["DiebKlettern"].Value    = new PdfString(dieb.Fassadenklettern.ToString());
            fields["DiebDiebstahl"].Value   = new PdfString(dieb.Taschendiebstahl.ToString());
            fields["DiebEntdecken"].Value   = new PdfString(dieb.FallenEntdecken.ToString());
            fields["DiebEntschärfen"].Value = new PdfString(dieb.FallenEntschärfen.ToString());
            fields["DiebFälschen"].Value    = new PdfString(dieb.UrkundeFälschen.ToString());
            fields["DiebVerkleiden"].Value  = new PdfString(dieb.Verkleiden.ToString());
            fields["DiebSprachen"].Value    = new PdfString(dieb.SprachenLesen.ToString());
            fields["DiebGift"].Value        = new PdfString(dieb.GiftMischen.ToString());
            fields["DiebZaubern"].Value     = new PdfString(dieb.ZauberVonEinerSchriftrolleWirken.ToString());
        }