PDFをFlashに変換するツールSWFTools (環境構築 続編)

前回紹介した,SWFToolsの環境構築についてですが,
情報として不十分なところがありましたので,今回続編として追記します.

前回同様,Linux環境でソースからビルドして導入します.
全てローカルビルドで環境構築する場合,必要となるのは,以下のアーカイブです.

  1. SWFTools本体: swftools-0.9.1.tar.gz
  2. フォントエンジン: freetype-2.4.5.tar.gz
  3. JPEG用ライブラリ: jpegsrc.v8c.tar.gz
  4. GIF用ライブラリ: giflib-4.1.6.tar.bz2
  5. PDFビューアの日本語サポートパッケージ: xpdf-japanese.tar.gz

前回,最新版の,PDFビューア: xpdf-3.02.tar.gz もあげましたが,
SWFTools本体: swftools-0.9.1.tar.gz が,対応できていないので,
パッチを当てようとしても失敗してしまいます.

《 フォントエンジンのビルド (1) 》

> ls 
xpdf-japanese.tar.gz    swftools-0.9.1.tar.gz    freetype-2.4.5.tar.gz 
jpegsrc.v8c.tar.gz        giflib-4.1.6.tar.bz2
> tar zxvf ./freetype-2.4.5.tar.gz
............
> ls
freetype-2.4.5            xpdf-japanese.tar.gz    giflib-4.1.6.tar.bz2
swftools-0.9.1.tar.gz    freetype-2.4.5.tar.gz    jpegsrc.v8c.tar.gz
> cd ./freetype-2.4.5; pwd
/home/hoge/freetype-2.4.5
> ls ./Jamfile
./Jamfile
>

ここで,上記の場所にある,Jamfile内の,
《 Jamfile修正前 》

# Define FT2_BUILD_INCLUDE to point to your build-specific directory.
# This is prepended to FT2_INCLUDE_DIR.  It can be used to specify
# the location of a custom <ft2build.h> which will point to custom
# versions of `ftmodule.h' and `ftoption.h', for example.
#
FT2_BUILD_INCLUDE ?= ;

の部分に,以下のように追記します.
《 Jamfile修正後 》

# Define FT2_BUILD_INCLUDE to point to your build-specific directory.
# This is prepended to FT2_INCLUDE_DIR.  It can be used to specify
# the location of a custom <ft2build.h> which will point to custom
# versions of `ftmodule.h' and `ftoption.h', for example.
#
FT2_BUILD_INCLUDE ?= /home/hoge/freetype-2.4.5/include
 /home/hoge/freetype-2.4.5/include/freetype
 /home/hoge/freetype-2.4.5/include/freetype/config
 /home/hoge/freetype-2.4.5/include/freetype/internal
 /home/hoge/freetype-2.4.5/include/freetype/internal/services
 ;

そして,ビルド.....
ここで,全てローカルビルドで環境構築するために,静的ライブラリとして生成します.
《 フォントエンジンのビルド (2) 》

> sh ./autogen.sh
............
> ./configure --prefix=/home/hoge/freetype-2.4.5 --enable-static --disable-shared
............
> make; make install
............
> 

《 JPEG用ライブラリのビルド 》

> ls 
freetype-2.4.5              xpdf-japanese.tar.gz   giflib-4.1.6.tar.bz2
swftools-0.9.1.tar.gz    freetype-2.4.5.tar.gz    jpegsrc.v8c.tar.gz
> tar zxvf ./jpegsrc.v8c.tar.gz
............
> ls
freetype-2.4.5              jpeg-8c     giflib-4.1.6.tar.bz2
swftools-0.9.1.tar.gz    freetype-2.4.5.tar.gz    jpegsrc.v8c.tar.gz
xpdf-japanese.tar.gz
> cd ./jpeg-8c; pwd
/home/hoge/jpeg-8c
> ./configure --prefix=/home/hoge/jpeg-8c --enable-static --disable-shared 
............
> make; make test; make install
............
> 

《 GIF用ライブラリのビルド 》

> ls 
freetype-2.4.5              xpdf-japanese.tar.gz   giflib-4.1.6.tar.bz2
swftools-0.9.1.tar.gz    freetype-2.4.5.tar.gz    jpegsrc.v8c.tar.gz
> tar jxvf ./giflib-4.1.6.tar.bz2
............
> ls
freetype-2.4.5              jpeg-8c     giflib-4.1.6.tar.bz2
swftools-0.9.1.tar.gz    freetype-2.4.5.tar.gz    jpegsrc.v8c.tar.gz
xpdf-japanese.tar.gz   giflib-4.1.6
> cd ./giflib-4.1.6; pwd
/home/hoge/giflib-4.1.6
> ./configure --prefix=/home/hoge/giflib-4.1.6 --enable-static --disable-shared 
............
> make; make test; make install
............
> 

《 SWToolsのビルド 》

> ls 
freetype-2.4.5              jpeg-8c                        giflib-4.1.6.tar.bz2
swftools-0.9.1.tar.gz    freetype-2.4.5.tar.gz    jpegsrc.v8c.tar.gz
xpdf-japanese.tar.gz   giflib-4.1.6        
> tar zxvf ./swftools-0.9.1.tar.gz
............
> ls
swftools-0.9.1              freetype-2.4.5              jpeg-8c
giflib-4.1.6.tar.bz2           swftools-0.9.1.tar.gz    freetype-2.4.5.tar.gz
jpegsrc.v8c.tar.gz        xpdf-japanese.tar.gz      giflib-4.1.6
> cd swftools-0.9.1; pwd
/home/hoge/swftools-0.9.1
> export PATH=/home/hoge/freetype-2.4.5/bin:/home/hoge/jpeg-8c/bin:\
/home/hoge/glib-4.1.6/bin${PATH}
> export LDFLAGS="-L/home/hoge/freetype-2.4.5/lib -L/home/hoge/jpeg-8c/lib \
-L/home/hoge/glib-4.1.6/lib"
> export CPPFLAGS="-I/home/hoge/freetype-2.4.5/include \
-I/home/hoge/jpeg-8c/include -I/home/hoge/glib-4.1.6/include"
> ./configure --prefix=/home/hoge/swftools-0.9.1
............
> make; make install
............
>

以上で,ビルドは完了です.
以下のように,SWFToolsのコマンド群が生成されていることがわかります.


> pwd; ls ./bin
/home/hoge/swftools-0.9.1
as3compile    gif2swf         pdf2swf        swfbbox     swfcombine
swfextract      swfstrings    font2swf       jpeg2swf    png2swf
swfc               swfdump      swfrender    wav2swf    
>

PDFをSWFに変換するには,pdf2swfのコマンドを使用します.

さらに,日本語のPDFに対応するためには,日本語サポートパッケージを設定する必要があります.

《 日本語サポートパッケージの展開及び設定 》

> pwd; ls
/home/hoge
swftools-0.9.1              freetype-2.4.5              jpeg-8c    giflib-4.1.6
giflib-4.1.6.tar.bz2           swftools-0.9.1.tar.gz    freetype-2.4.5.tar.gz
jpegsrc.v8c.tar.gz        xpdf-japanese.tar.gz
> cd ./swftools-0.9.1/share; pwd
/home/hoge/swftools-0.9.1/share
> mkdir xpdf; cd xpdf; pwd
/home/hoge/swftools-0.9.1/share/xpdf
> tar zxvf ../../../xpdf-japanese.tar.gz
..............
> pwd; ls
/home/hoge/swftools-0.9.1/share/xpdf
xpdf-japanese
> mv ./xpdf-japanese ./japanese; ls
japanese
> cd japanese; ls
Adobe-Japan1.cidToUnicode    CMap    EUC-JP.unicodeMap
ISO-2022-JP.unicodeMap     RADME    Shift-JIS.unicodeMap
add-to-xpdfrc

ここで,上記の add-to-xpdfrc を編集します.

《 add-to-xpdfrc修正前 》

#----- begin Japanese support package (2004-jul-27)
cidToUnicode  Adobe-Japan1  /usr/local/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
unicodeMap  ISO-2022-JP  /usr/local/share/xpdf/japanese/ISO-2022-JP.unicodeMap
unicodeMap  EUC-JP  /usr/local/share/xpdf/japanese/EUC-JP.unicodeMap
unicodeMap  Shift-JIS  /usr/local/share/xpdf/japanese/Shift-JIS.unicodeMap
cMapDir  Adobe-Japan1  /usr/local/share/xpdf/japanese/CMap
toUnicodeDir  /usr/local/share/xpdf/japanese/CMap
#displayCIDFontTT       Adobe-Japan1    /usr/..../kochi-mincho.ttf
#----- end Japanese support package

《 add-to-xpdfrc修正後 》

#----- begin Japanese support package (2004-jul-27)
cidToUnicode Adobe-Japan1 /home/hoge/swftools-0.9.1/share/xpdf/japanese/Adobe-Japan1.cidToUnicode
unicodeMap ISO-2022-JP /home/hoge/swftools-0.9.1/share/xpdf/japanese/ISO-2022-JP.unicodeMap
unicodeMap EUC-JP /home/hoge/swftools-0.9.1/share/xpdf/japanese/EUC-JP.unicodeMap
unicodeMap Shift-JIS /home/hoge/swftools-0.9.1/share/xpdf/japanese/Shift-JIS.unicodeMap
cMapDir Adobe-Japan1 /home/hoge/swftools-0.9.1/share/xpdf/japanese/CMap
toUnicodeDir  /home/hoge/swftools-0.9.1/share/xpdf/japanese/CMap
#displayCIDFontTT       Adobe-Japan1    /usr/..../kochi-mincho.ttf
#----- end Japanese support package
displayNamedCIDFontT1   RyuminPro-Bold       /home/hoge/fonts/A-OTF-RyuminPro-Bold.otf
.............

上記の赤字部分のように,使用する日本語フォントのフォントファイルを設定します. これで準備はOKです.
次回こそは,実際にSWFToolsのコマンド群を使って,いろいろと試してみることにしましょう.

biz-Stream詳細情報  biz-Stream資料請求

超高速!!高機能!! Web帳票ソリューション biz-Stream

オンデマンドかつリアルタイムにビジネスドキュメントを生成する帳票ソリューション