Progress

Regarding the development of the C# library that reads Markdown and creates PowerPoint files,
I’ve managed to implement the minimum required features for now.

The current features are as follows:

  • Slide size is fixed at 4x3 (I want to support 16:9 as well)
  • The first slide is always a title page
  • Slides from the second one onwards can be added freely
  • It's possible to specify the slide layout for added slides
  • Only text can be added to slides; images and shapes are not supported

Writing code like the following creates a *.pptx file.

    public void Run(string PPTXFilePath)
    {
        var settings = new PPTXSetting()
        {
            SlideSize = EPPTXSlideSizeValues.Screen4x3,
            Title = "Sample File Title",
            SubTitle = "2018/5/3 ayumax"
        };

        using (PPTXDocument document = new PPTXDocument(PPTXFilePath, settings))
        {
            document.Slides = new List()
            {
                new PPTXSlide()
                {
                    SlideLayout = settings.SlideLayouts[EPPTXSlideLayoutType.TitleAndContents],
                    Title = new PPTXText("Content Page 1"),
                    Bodys = new List()
                    {
                        new PPTXText("This is the body text.\nWrite here")
                    }
                },
                new PPTXSlide()
                {
                    SlideLayout = settings.SlideLayouts[EPPTXSlideLayoutType.TwoContents],
                    Title = new PPTXText("Content Page 2"),
                    Bodys = new List()
                    {
                        new PPTXText("Text 1 for the second PowerPoint slide")
                        new PPTXText("Text 2\r\nSecond line")
                    }
                }
            };
        }               
    }   

Current Issues

It’s still far from complete, but the issues I see right now are the following three:

  • Cannot freely position text when the slide layout is set to blank
  • No feature to insert image files
  • The layout and theme are the PowerPoint defaults, which look uncool

Next Steps

For now, I want to prioritize building the whole thing,
so for the PowerPoint creation feature, I’ll implement up to image insertion,
and then move on to the Markdown reading part.