読者です 読者をやめる 読者になる 読者になる

L is Bエンジニアブログ

ビジネス用メッセンジャーdirectのエンジニアによるブログ

LisBエンジニアブログ

ビジネスチャットdirectのエンジニアブログ

PDF作成もチャットで簡単に!Markdownで書いたメッセージをPDFに自動変換してくれるボット

daab開発者向け

こんにちは、Markdownは好きですか?

僕は大好きです!

 

そんなわけで、とても簡単なボットではあるのですが、テキストメッセージを送信するとPDFに自動変換してくれるMarkdown対応のボットを作ってみました。

 

 

Markdownってなに?

Markdown(マークダウン)は、文書を記述するための軽量マークアップ言語のひとつである。本来はプレーンテキスト形式で手軽に書いた文書からHTMLを生成するために開発されたものである。しかし、現在ではHTMLのほかパワーポイント形式やLATEX形式のファイルへ変換するソフトウェア(コンバータ)も開発されている。各コンバータの開発者によって多様な拡張が施されるため、各種の方言が存在する。

Markdown - Wikipedia

 

簡単にまとめると、

  • 簡潔な形式でテキスト文書を記述する
  • PDFやHTMLに変換して、とても読み易い形式に変換することができる

 

実際に簡単な文章を書いてみます。

 

---------- ここからMarkdown開始 ----------

 

# 自己紹介
### 名前について
鍋山といいます。
### 年齢について
この春、30になりました。五郎丸さんと年齢が同じで誕生日が1日違いです。
### 趣味について
テニスです。硬式テニスを社会人になってから始めました。
***
## 現在の仕事について
株式会社L is Bにて、よくボットを書いています。  
そのボットは、**daab**という[direct](https://direct4b.com/ja/)の為のチャットに対応しているボットです。  

 

----------Markdown終了 ----------

 

このテキストをPDFに変換してみます。
(フォントや見え方の結果は、変換するツールによって異なります)

f:id:nabeyama:20160304105049p:plain

 

どうでしょう?!
プレーンなテキストだけよりは、ずいぶん見栄えが良いですよね!

 

Markdownに対応したPDF作成ボットを作る

今回のボットのポイント

  • プレーンなテキストをPDFに自動的に変換してくれる
  •  Markdownに対応している
  • (当然だけど)ボットがこれらを行ってくれる

 

実行環境

OSX(10.11)
Node.js v4.3.1

 

使用パッケージ

markdown-pdf

www.npmjs.com

 

単純に全てのテキストメッセージをPDFにしてしまうと、そのトークルーム内では会話がしづらくなってしまうので、条件を一つ設けました。

「メッセージの頭が'#'で始まること」

としました。

 

できたボットの動作はこのような感じ。

f:id:nabeyama:20160304113309p:plain

 

このボットの返すPDFが先ほどのPDFになります。

 

f:id:nabeyama:20160304113600p:plain

 

 

そのボットのコードがこちらになります。
(NPMからインストールしたパッケージを使っただけの簡単なものです)