Markdownで
パワポ資料をつくる
2018/08/11 Ayuma Kaminosono
2
{
“id” : ”@ayuma0913” ,
“name” : ”Ayuma Kaminosono”,
“property” : ”C#, WPF, UE4…”
}
2
報告用資料を何で作ろう
3
パワポが好き
4
ABC
ABC
ABC
なかなか進まない。。。
5
6
Markdownで
書けばよくない?
7
よし、C#で作ろう
8
やるべきこと
•Markdownテキストの解析
•pptxファイルの生成
Markdownの解析
9
Heading
=======
## Sub-heading
Paragraphs are separated by a
blank line.
Two spaces at the end of a line
produces a line break.
Text attributes _italic_,
**bold**, `monospace`.
Horizontal rule:
Bullet list:
* Apples
* oranges
* pears
Heading
Heading
Paragraph
Paragraph
Paragraph
List
markdig
10
markdig
pptxファイルの生成
12
Heading
Heading
Paragraph
Paragraph
Paragraph
List
Open XML SDK
13
14
これ使うのしんどい
Open XML SDK Productivity Tool
15
1616
作成環境
•Windows10
•Visual Studio 2017
•C#
•.NET Standard 2.0
17
DEMODEMO
まとめ
• Markdownからパワポを作るラ
イブラリができました
• 便利なライブラリのおかげで
思ったよりも簡単に♪
• Xamarinでエディタを作りたい
18
作ったもの
19

Editor's Notes

  • #3 私はカミノソノアユマといいます。 仕事では最近ではWPFとかUnrealEngineとか触ってます。
  • #4 みなさん、お仕事で色んなドキュメントを書く機会があると思うのですが報告用の資料は何で作成してますか? うちの職場ではテキストはもちろんエクセルやワードはあまり使われておりません。 ちなみに私はワードが好きです。
  • #5 特にそうしなければいけないという理由はないですが、暗黙の了解としてパワポが使われています。
  • #6 でもパワポで資料を書くと、つい必要以上にデザインやレイアウトが気になって資料作りがすすまないってことないでしょうか?
  • #7 じゃあいっそのこと、強制的にデザインやレイアウトに制限をつけるためにマークダウンでかければ早くない?って思いました。
  • #8 なので、じゃあせっかくだから仕組みを作ろうってなります。
  • #9 おおきく2つのやるべきことがあります。 一つはマークダウンテキストの解析、もう一つは解析結果からパワポのファイルを生成する仕組みです
  • #10 まずはマークダウンの解析を検討しました。 ただ色んなパターンの記述に対応しようとすると、なかなか難しそうです。正規表現でゴリゴリでは辛そう。
  • #11 そんななか、こんなライブラリを見つけました。
  • #12 このライブラリは今回の私のやりたい事にドンピシャでマッチしてて、 デフォルトでマークダウンをhtmlに変換する仕組みが実装されているのですが、 吐き出す先をhtml以外にもできそうな設計がされているっぽく、これは利用できるなと思いました
  • #13 残るは解析したデータをパワポのファイルに書き出す仕組みが必要です。 これについてはあまり選択肢はないと思っていて
  • #14 素直にOpenXMLSDKを使います。
  • #15 でもこれ結構使うのしんどいです。 実際のファイル構造を頭にいれていないと書きづらく公式のドキュメントを見てみたりしましたが、いまいちピンとこなく挫折しそうになりました
  • #16 そんな中、神ツールがありました!! このツールに既存のパワポのファイルを読み込ませると、そのファイルを生成するために必要なC#のコードが確認できます。 今回はこのツールをつかいまくり、自分のやりたいことを実装するにはどのように書けばよいかを繰り返し探りました。
  • #17 作成する環境はこんな感じです
  • #18 そんなこんなで実装したツールができあがりましたので、みてください
  • #19 マークダウンからパワポを作るライブラリができました 便利なライブラリ::: またこのライブラリは.net standardで作ってあるので、これを使ったエディタアプリをXamarinで作ろうと今頑張っています
  • #20 今回つくったライブラリはgithubに公開してます。 よろしければご覧ください