とむむの日々

埼玉県某市に住む「とむむ」の日記です。2008年3月から、関心のあることを書き連ねる日常の記録です。

MENU

Visioステンシル を LibreOffice Draw で使えるようにする方法【Windows10対応】

f:id:tomumu:20210823220326p:plain

どうも、とむむです。

大変有り難いことに、随分と前に書いた以下のエントリーに未だにアクセス頂くことが多い。
tomm.hatenablog.com

最新の情報を確認しつつ、今回はWindows10だけでVisioステンシルを使えるようにする方法を紹介したい。

最新のバージョンで試してみる

LibreOffice Drawで、Visioステンシルを直接読み込むことは可能か?

f:id:tomumu:20210823221014p:plain 7.2.0.4(2021年7月23日現在の最新)

残念ながら、答えはNoであった。*1

vss2odgでコンバートするしかない

VisioステンシルをDrawで開く他の方法がないか調べてみたが、vss2odg以外にはなさそうだった。

Windows10上でvss2odgを実行したい

今回はWindows版のLibreOffice Drawをターゲットにしている。
vss2odgを利用するには、Linux環境が必要である。
なので、素のWindows10だけでLinux環境を作ることにした。*2

WSLをインストールしよう

Windows10にはWindows Subsystem for Linux (WSL)という仕組みがある。
簡単に言うと、WindowsのOS機能の一部を間借りして、Linux OSを実行する機能だ。
OSの一部として機能するので、追加のアプリケーションも不要でかつ、最近になってコマンド1つでインストールできるようになった。

forest.watch.impress.co.jp

管理者権限でコマンドプロンプトを起動し、以下を実行する。

Microsoft Windows [Version 10.0.19043.1165]
(c) Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>wsl --install -d ubuntu

これでLinuxUbuntu 18.04)がインストールされる。

WSLのUbuntuにwriterperfectをインストールしよう

Ubuntuのインストールが完了すると、スタートメニューにUbuntu 18.04 LTSというアプリケーションが追加されているので、起動する。
残念ながら、Ubuntuのwriterperfectに関するパッケージにvss2odgが含まれていないため、ソースからビルドが必要になる。
ここからは以下の手順通りに進めて欲しい。

  1. writerperfectのビルドに必要なパッケージをインストールする。
$ sudo apt-get install -y unzip wget libboost-dev automake gtk-doc-tools gnome-common libicu-dev libcppunit-dev doxygen libwps-dev libwpg-dev libwpd-dev libvisio-dev librevenge-dev libodfgen-dev libmwaw-dev libmspub-dev libgsf-1-dev libfreehand-dev libetonyek-dev libcdr-dev libabw-dev
  1. writerperfectをダウンロードする。
$ wget wget https://sourceforge.net/projects/libwpd/files/writerperfect/writerperfect-0.9.5/writerperfect-0.9.5.tar.gz/download -O writerperfect-0.9.5.tar.gz
  1. writerperfectを解凍する。
$ tar zxvf writerperfect-0.9.5.tar.gz
  1. writerperfectをビルドする。
$ cd writerperfect-0.9.5
$ ./autogen.sh
libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: copying file 'm4/libtool.m4'
libtoolize: copying file 'm4/ltoptions.m4'
libtoolize: copying file 'm4/ltsugar.m4'
libtoolize: copying file 'm4/ltversion.m4'
libtoolize: copying file 'm4/lt~obsolete.m4'
configure.ac:28: installing './compile'
configure.ac:21: installing './missing'
src/conv/abw/Makefile.am: installing './depcomp'
$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
.
(snip)
.
==============================================================================
Build configuration:
    debug:           no
    werror:          yes

Import:
    libabw:          yes
    libcdr:          yes
    libe-book:       no
    libetonyek:      yes
    libfreehand:     yes
    libmspub:        yes
    libmwaw:         yes
    libpagemaker:    no
    libstaroffice:   no
    libvisio:        yes
    libwpd:          yes
    libwpg:          yes
    libwps:          yes

Export:
    libepubgen:      no
    libodfgen:       yes
    librvngabw:      no

Other dependencies:
    libeot:          no
    libgsf:          no
==============================================================================
$ make && sudo make install
(snip)

エラーが出ずに完了すれば、OKだ。
試しに、vss2odgコマンドを実行してみるとよい。

$ vss2odg --help
`vss2odg' converts MS Visio stencils to ODF.
If OUTPUT is omitted, the result is printed as Flat ODF to standard output.

Usage: vss2odg [OPTIONS] INPUT [OUTPUT]

Options:
        --help                  show this help message
        --version               print version and exit
        --stdout                print the result as flat XML to standard output

Report bugs to <https://sourceforge.net/p/libwpd/tickets/>.

WSLのUbuntu上で、VisioステンシルをLibreOffice DrawのODFファイルに変換する

ここからがWSLの真骨頂だと思うので、以下の手順で試してもらいたい。

  1. WSLのUbuntu上で、WindowsのCドライブがマウントされていることを確認する。
$ df -hT /mnt/c
Filesystem     Type  Size  Used Avail Use% Mounted on
C:\            9p    238G  122G  117G  52% /mnt/c
  1. Cドライブのダウンロードフォルダへ移動する。
$ cd /mnt/c/Users/[ユーザ名]/Downloads
  1. CiscoNexus 9000のステンシルをダウンロードする。
$ wget https://www.cisco.com/c/dam/assets/prod/visio/visio/switches_cisco_nexus_9000.zip 
  1. ステンシルを解凍して、ODFファイルに変換する。
$ $ unzip switches_cisco_nexus_9000.zip
Archive:  switches_cisco_nexus_9000.zip
  inflating: switches_cisco_nexus_9000.vss
$ vss2odg switches_cisco_nexus_9000.vss switches_cisco_nexus_9000.odg

問題なく完了すれば、OKだ。

変換したODFファイルを確認する

変換したODFファイルはダウンロードフォルダに保存されているので、LibreOffice Drawから開いてみる。 f:id:tomumu:20210823232006p:plain

こんな感じでODFファイル上のステンシルが開けば、完了だ。

*1:試したことがある人は知っていると思うが、真っ白なファイルは開くのみだ。8年経っても変わらないということは、対応する気は0ということなのだろう・・・。

*2:VirtualboxとかVMwareをインストールすれば、同じことができるが・・・vss2odgのためだけにやるには、少々手間である。。。