public async Task ExportAsync(string path, object fileData, FileType fileType)
        {
            switch (fileType)
            {
            case FileType.Pdf:
                break;

            case FileType.Html:
                var htmlData = (string)fileData;
                await using (var stream = new StreamWriter(path, false, Encoding.UTF8))
                {
                    await stream.WriteAsync(htmlData);
                }
                break;

            case FileType.PowerPoint:
                var file = (PptxFileData)fileData;
                await Task.Run(() => MD2PPTX.RunFromMDText(file.FileData.Content, path, new PPTXSetting()
                {
                    SlideSize = EPPTXSlideSizeValues.Screen16x9,
                    Title     = file.Title,
                    SubTitle  = file.SubTitle
                }));

                break;
            }
        }
示例#2
0
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                return;
            }

            string filepath    = args[0];
            string title       = args.Length > 1 ? args[1] : "";
            string subTitle    = args.Length > 2 ? args[2] : "";
            string settingPath = args.Length > 3 ? args[3] : "";

            PPTXSetting setting = null;

            if (string.IsNullOrWhiteSpace(settingPath) == false)
            {
                if (System.IO.File.Exists(settingPath))
                {
                    setting = PPTXSetting.Load(settingPath);
                }
            }

            setting = setting ?? new PPTXSetting()
            {
                SlideSize = EPPTXSlideSizeValues.Screen4x3,
                Title     = title,
                SubTitle  = subTitle
            };

            MD2PPTX.RunFromMDFile(filepath, null, setting);

            if (string.IsNullOrWhiteSpace(settingPath) == false)
            {
                setting.Save(settingPath);
            }
        }