ものすごい種類の文書ファイルを他形式に変換できる「Pandoc」レビュー、MarkdownからLaTex、EPUBにまで対応
Microsoft WordやMarkdownで文書ファイルを作成し、それをHTMLファイルやPDFファイルに変換したい時、形式ごとにいちいち変換ソフトを用意するのは面倒です。無料のオープンソースソフトウェア「Pandoc」を使うと、ありとあらゆる形式の文書ファイルを他形式の文書ファイルに変換することができます。
Pandoc - About pandoc
https://pandoc.org/
GitHub - jgm/pandoc: Universal markup converter
https://github.com/jgm/pandoc
Pandocは2006年にリリースされた非常に長い歴史を持つ文書変換ツールで、2020年現在でも活発な開発が行われています。変換できる文書ファイル形式の多様さから研究者やエンジニアに広く支持されており、記事作成時点でPandocが対応している文書ファイルの形式は以下となっています。
◆変換先・変換元ともに対応
・Markdown
・reStructuredText
・Emacs Org-Mode
・Emacs Muse
・Textile
・HTML 4
・HTML5
・EPUB version 2 or 3
・FictionBook2
・Haddock markup
・roff man
・LaTeX
・DocBook version 4 or 5
・JATS
・OPML
・CSL JSON
・CSL YAML
・Microsoft Word docx
・OpenOffice/LibreOffice ODT
・Jupyter notebook
・MediaWiki markup
・DokuWiki markup
・Jira wiki markup
◆変換元のみ対応
・txt2tags
・BibTeX
・BibLaTeX
・TikiWiki markup
・TWiki markup
・Vimwiki markup
・CSV
◆変換先のみ対応
・AsciiDoc
・GNU TexInfo
・roff ms
・ConTeXt
・TEI Simple
・OpenDocument XML
・Microsoft PowerPoint
・InDesign ICML
・XWiki markup
・ZimWiki markup
・LaTeX Beamer
・Slidy
・Slideous
・S5
・DZSlides
・Luaによるカスタムフォーマット変換
・PDF
変換可能なフォーマットの関係を図で表すとこんな感じで、とんでもない種類のフォーマットを変換できることがわかります。
Pandocを利用できるプラットフォームはWindowsやmacOSをはじめ、Linux、Docker、GitHub Actionsなどがあります。オープンソースなのでソースコードを取得して自分でビルドすることも可能です。
Pandocはコマンドラインで操作するソフトウェアで、基本的な使い方はどのプラットフォームでも同じ。以下のように変換前のファイルと変換後のファイルをフォーマットとともに指定し、コマンドを実行すればOKです。「-s」オプションは単独のファイルを出力するためのオプションで、HTMLを変換先に指定する場合は指定すべきオプションです。
pandoc 入力ファイル -f 入力ファイルのフォーマット -t 出力ファイルのフォーマット -s -o 出力ファイル
実際にPandocを使ってMarkdownファイルをHTMLファイルに変換し、ブラウザで表示させてみました。リストや引用、表についてもきちんと変換できていることがわかります。
PandocをWindowsにインストールするには、GitHubのリリースページにアクセスして「msi」形式のインストーラーをダウンロードします。
Firefoxを利用している場合は確認のポップアップが表示されるので「ファイルを保存」をクリック。
実行ファイルをダブルクリックし、インストーラーを起動。
利用規約に同意のチェックを入れて「Install」をクリック。
インストールは数秒で完了。「Finish」をクリックし、インストーラーを閉じます。
あとはPowershellやコマンドプロンプトを開けば「pandoc」コマンドが利用できるようになっています。
macOS向けのインストーラーもリリースページに公開されていますが、macOSの場合はHomebrewによるインストールが簡単。インストール後はターミナルアプリからWindowsと同様にpandocコマンドを利用できます。
brew install pandoc
Debian系のLinuxディストリビューションの場合は、公開されているdebファイルをそのままインストールすればOK。
wget https://github.com/jgm/pandoc/releases/download/2.11.0.4/pandoc-2.11.0.4-1-amd64.deb sudo dpkg -i pandoc-2.11.0.4-1-amd64.deb
Debian系以外のLinuxディストリビューションでは、tar.gzファイルを取得してバイナリファイルをインストールします。
wget https://github.com/jgm/pandoc/releases/download/2.11.0.4/pandoc-2.11.0.4-linux-amd64.tar.gz sudo tar xvzf pandoc-2.11.0.4-linux-amd64.tar.gz --strip-components 1 -C /usr/local
PandocはChrome OSでも利用することが可能。パッケージマネージャーのChromebrewから簡単にインストールすることができます。
crew install pandoc
Dockerを利用できる環境では、Pandocを実環境にインストールせず、コンテナ上でコマンドを実行することができます。以下のコマンドでは「-v "`pwd`:/data"」オプションで、ホストのカレントディレクトリをコンテナの「/data」ディレクトリにマウントしています。
docker run --rm -v "`pwd`:/data" pandoc/latex Pandocコマンド
他にもPandocは2019年にリリースされたワークフロー自動化ツール「GitHub Actions」でも利用することが可能。また、Pandocは有志が日本語版ユーザーガイドを公開しており、詳細なコマンドオプションはユーザーガイドから確認することができます。
Pandoc User’s Guide 日本語版 — 日本Pandocユーザ会 ドキュメント
https://pandoc-doc-ja.readthedocs.io/ja/latest/users-guide.html
・関連記事
無料&簡単にウェブサイトの文章をメモ帳感覚でどんどん保存可能、HTML変換もできて便利なChrome拡張機能「Quotebacks」を使ってみた - GIGAZINE
画面キャプチャで数式をLaTeX形式に自動で変換してくれる「Mathpix Snip」を使ってみた - GIGAZINE
落書きをリアルな風景写真にリアルタイムで変換できる驚異的なお絵かき技術「GauGAN」をNVIDIAが発表 - GIGAZINE
無料でPDFをWord・Excel・JPEGなどに変換できる「PDFZilla Version 3」を使ってみました - GIGAZINE
ムービー・音楽・画像ファイルをどれでも好きな形式へ変換できるフリーソフト「Adapter」 - GIGAZINE
・関連コンテンツ