centos安裝SWFtools服務(pdf2swf)

來源:互聯網
上載者:User

標籤:

第一步:下載swftools-0.9.2.tar.gz

第二步:swftools

tar -xzvf swftools-0.9.2.tar.gz
cd swftools-0.9.2
./configure
make
make install
make clean
make distclean
whereis pdf2swf

 

常見錯誤:
①找不到jpeg命令
jpeg.c:462: error: conflicting types for ‘jpeg_load_from_mem’
jpeg.h:15: note: previous declaration of ‘jpeg_load_from_mem’ was here

解決方案,
下載sjpegsrc.v9a.tar.gz
安裝jpeg
tar -xzvf jpegsrc.v9a.tar.gz
cd jpeg-9a
./configure
make
make install
make clean
make distclean


②出現未定義而去使用的錯誤:
:info:build jpeg.c:109:35: error: use of undeclared identifier ‘TRUE‘
:info:build jpeg_set_quality(&cinfo,quality,TRUE);
:info:build

解決方案,swftools-0.9.2 中一個檔案做修改:

vi lib/jpeg.c

#ifdef HAVE_JPEGLIB
#define HAVE_BOOLEAN
#include

改為:
#ifdef HAVE_JPEGLIB
#ifndef FALSE
#define FALSE 0
#endif
#ifndef TRUE
#define TRUE 1
#endif
#define HAVE_BOOLEAN
#include

③找不到freetype命令錯誤
yum install freetype

④./lib/libgfx.a(gfxfont.o): In function `gfxfont_free‘:
gfxfont.c:(.text+0x56): undefined reference to `glyph_clear‘
collect2: ld returned 1 exit status
make[1]: *** [swfrender] Error 1
make[1]: Leaving directory `/home/fz/swftools-0.9.1/src‘
make: *** [all] Error 2

解決方案:
yum install freetype-devel


⑤可能遇到的問題
modules/.././types.h:39:2: 錯誤:#error "no way to define 64 bit integer"
modules/.././types.h:42:2: 錯誤:#error "don‘t know how to define 32 bit integer"
modules/.././types.h:45:2: 錯誤:#error "don‘t know how to define 16 bit integer"
modules/.././types.h:48:2: 錯誤:#error "don‘t know how to define 8 bit integer"
解決方案:
[root~]# ldconfig /usr/local/lib
然後再執行
[root~]# ./configure
make
make install

⑥ 還可能遇到的問題
make[1]: *** [install] 錯誤 1
make[1]: Leaving directory `/root/swftools-0.9.2/swfs‘
make: *** [install] 錯誤 2
解決方案:
將swfs目錄下的Makefile和Makefile.in兩個檔案中的 -o -L 去掉
make install
成功

 


安裝完成後執行一下,pdf2swf -h 有協助內容顯示,則證明安裝成功。
如果所轉換的PDF不包含中文,則到此為止就可以正常使用了。
如果包含中文,就需要使用到xpdf的字型庫

 

第三步:測試命令是否成功
pdf2swf -T 9 -s poly2bitmap -s zoom=150 -s flashversion=9 "/usr/local/app/xxxie/1.pdf" -o "/usr/local/app/xxxie/1.swf"

如果pdf2swf命令找不到,需要添加pdf2swf到環境變數中
vim /etc/profile
export PATH=$PATH:/usr/local/swftools/bin/

 

如果中文亂碼,進行第四步

第四步:安裝xpdf語言套件。
到http://www.foolabs.com/xpdf/download.html下載xpdf-chinese-simplified.tar.gz
tar -xzvf xpdf-chinese-simplified.tar.gz
解壓到任意路徑,例如/usr/local/xpdf/xpdf-chinese-simplified
下載
http://ftp.gnu.org/gnu/non-gnu/chinese-fonts-truetype/gkai00mp.ttf.gz
http://ftp.gnu.org/gnu/non-gnu/chinese-fonts-truetype/gbsn00lp.ttf.gz
解壓出ttf檔案gkai00mp.ttf和gbsn00lp.ttf,放到/usr/local/xpdf/xpdf-chinese-simplified/CMap/路徑下
5. 配置/usr/local/xpdf/xpdf-chinese-simplified/add-to-xpdfrc檔案
#----- begin Chinese Simplified support package (2011-sep-02)
cidToUnicode Adobe-GB1 /usr/local/xpdf/xpdf-chinese-simplified/Adobe-GB1.cidToUnicode
unicodeMap ISO-2022-CN /usr/local/xpdf/xpdf-chinese-simplified/ISO-2022-CN.unicodeMap
unicodeMap EUC-CN /usr/local/xpdf/xpdf-chinese-simplified/EUC-CN.unicodeMap
unicodeMap GBK /usr/local/xpdf/xpdf-chinese-simplified/GBK.unicodeMap
cMapDir Adobe-GB1 /usr/local/xpdf/xpdf-chinese-simplified/CMap
toUnicodeDir /usr/local/xpdf/xpdf-chinese-simplified/CMap
displayCIDFontTT Adobe-GB1 /usr/local/xpdf/xpdf-chinese-simplified/CMap/gkai00mp.ttf
displayCIDFontTT Adobe-GB1 /usr/local/xpdf/xpdf-chinese-simplified/CMap/gbsn00lp.ttf
#----- end Chinese Simplified support package


測試命令是否成功

pdf2swf -s languagedir=/usr/local/xpdf-chinese-simplified -T 9 -s poly2bitmap -s zoom=150 -s flashversion=9 "/usr/local/app/xxxie/1.pdf" -o "/usr/local/app/xxxie/1.swf"

 

centos安裝SWFtools服務(pdf2swf)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.