Help us understand the problem. What is going on with this article?

Rubyなし VSCode Asciidoc extensionsでPDFを生成

More than 1 year has passed since last update.

Ruby要らない

VSCodeのAsciidoc ExtensionsでPDFを生成します。

下記のものは要らない。

  • Ruby
  • rbenv
  • Asciidoctor
  • Asciidoctor-pdf

VSCodeのAsciidoc extensionはAsciidoctor.jsを使ってプレビュー表示、PDF出力を行う。
Rubyなんて要らない。

環境

環境は下記のようになります。

  • Windows10 Pro x64 build 1909
  • Visual Studio Code v1.40.2
  • Asciidoc extensions v2.7.7
  • wkhtmltopdf 0.12.4.0

RubyなしでPDFを生成するにはwkhtmltopdfを使います。

設定方法

  1. wkhtmltopdfを取得
  2. Asciidoc extension > Manage > 拡張設定の構成
    • adoc00.png
    • adoc01.png
  3. ユーザーを選択
  4. Asciidoc: Use_asciidoctor_jsにチェックが入っていることを確認
  5. Asciidoc: Use_asciidoctor-pdfのチェックが外れていることを確認
  6. 最後のAsciidoc: Wkhtmltopdf_path に wkhtmltopdf.exeの場所を指定する。
    1. adoc02_LI.jpg

これだけでOK。

使い方

  1. VSCode内でAsciidocで書かれたテキストを選択
  2. コマンドパレット
  3. AsciiDoc: Export document as PDF を選択
    1. adoc04.png
  4. PDFを保存する場所を選択
    1. adoc05.png
  5. PDFが出力されます。 adoc06.png

wkhtmltopdfを指定せずに動かす

whtmltopdfをインストールして設定しない場合、
export時にwkhtmltopdfをダウンロードしてくれます。

  1. VSCode内でAsciidocで書かれたテキストを選択
  2. コマンドパレット
  3. AsciiDoc: Export document as PDF を選択
    1. adoc04.png
  4. This feature requires wkhtmltopdf. do you want to download? と出てくるので
    1. adoc07.png
  5. Downloadを選択
  6. Downloading wkhtmltopdf
    1. adoc08.png 
  7. PDFを保存する場所を選択
    1. adoc05.png
  8. PDFが出力されます。 adoc06.png

解説

設定でwkhtmltopdfが指定されていない場合は、
下記の場所に勝手にダウンロードされて展開されます。

  • Windowsの場合
    • %USERPROFILE%.vscode\extensions\joaompinto.asciidoctor-vscode-2.7.7\out\src\commands
  • Macの場合
    • /Users/ユーザー名/.vscode/extensions/joaompinto.asciidoctor-vscode-2.7.7/out/src/commands
  • Linuxの場合
    • 多分下記の場所
    • ~/.vscode/extensions/joaompinto.asciidoctor-vscode-2.7.7/out/src/commands

そこにDownloadされたwkhtmltopdfを使ってPDFに変換するようです。
extensionに埋め込まずにダウンロードするようになっているのは、wkhtmltopdfのライセンスがLGPLだからと思われます。

wkhtmltopdfを使うせいなのか生成されるPDFは少し味気ないものになっている。
asciidoctor-pdf.js が最近開発されているようです。
もしasciidoc extensionsに組み込めたら少しマシになるかもしれません。

arachan@github
情報システムという名の雑用係 社内のパソコンをADなしで集中管理したいために PowerShellを少し嗜む。 プログラムよりもUBCD使ってPCを修理するのが得意な逸般人 最近、Win7マシンに軒並み入れ替わったので、 修理マシンがなく、プログラムに精を出し始めたが、 大して何も作れてないマン。 Excel方眼紙とネ申FileMakerが大っ嫌い。
http://arachansan.hatenablog.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away