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.