示例#1
0
        private static void FillHalbling(Halbling halbling, PdfAcroForm form)
        {
            var fields = form.Fields;

            FillBase(fields, halbling);

            fields["Klasse"].Value     = new PdfString("Halbling");
            fields["Schleichen"].Value = new PdfString(halbling.schleichenVerstecken.ToString());
        }
示例#2
0
        public void ErzeugeHalblingBogenTest()
        {
            var halbling = new Halbling(1, 3, 3, Gesinnung.Rechtschaffen);

            using var halblingPdf = PdfCreator.ErzeugeHalblingBogen(halbling);

            using var f = File.Create("halbling_test.pdf");
            halblingPdf.CopyTo(f);
            f.Flush();
        }
示例#3
0
        public static MemoryStream ErzeugeHalblingBogen(Halbling halbling)
        {
            var assembly = typeof(PdfCreator).Assembly;

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

            FillHalbling(halbling, 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"));
        }