且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

linux PDF转换为SWF

更新时间:2022-08-17 09:47:54

 由于工程需要把用户上传的PDF转换为SWF,服务器要求也是linux,所以就想到 swftools,官方网站:http://www.swftools.org/可以把很多文件转换为swf,他默认只支持 英文,中文转换出来是乱码,所以我们要下载中文字库。中途遇到不少问题,都慢慢解决了,参数也明白了,大家看我的记载吧。
环境:
Server : ubuntu-server 8.0.4
software: xpdf-chinese-simplified.tar.gz   font.zip
##给操作系统安装中文字库
shell $> apt-get install language-support-fonts-zh
##安装软件
shell $> apt-get install swftools
shell $> wget ftp://ftp.foolabs.com/pub/xpdf/xpdf-chinese-simplified.tar.gz
shell $> wget http://www.nginxs.com/download/font.zip
解压 xpdf-chinese-simplified.tar.gz 修改配置文件
shell $> tar zxvf xpdf-chinese-simplified.tar.gz
shell $> unzip font.zip
shell $> mv Gbsn00lp.ttf gkai00mp.ttf xpdf-chinese-simplified/CMap/
##把 xpdf-chinese-simplified 移动到 /usr/share/xpdf
shell $> mkdir -p /usr/share/xpdf
shell $> mv xpdf-chinese-simplified /usr/share/xpdf
##修改配置文件
shell $> cd /usr/share/xpdf/xpdf-chinese-simplified
shell $> vim add-to-xpdfrc
#—– begin Chinese Simplified support package (2004-jul-27)
cidToUnicode    Adobe-GB1       /usr/share/xpdf/xpdf-chinese-simplified/Adobe-GB1.cidToUnicode
unicodeMap      ISO-2022-CN     /usr/share/xpdf/xpdf-chinese-simplified/ISO-2022-CN.unicodeMap
unicodeMap      EUC-CN          /usr/share/xpdf/xpdf-chinese-simplified/EUC-CN.unicodeMap
unicodeMap      GBK             /usr/share/xpdf/xpdf-chinese-simplified/GBK.unicodeMap
cMapDir         Adobe-GB1       /usr/share/xpdf/xpdf-chinese-simplified/CMap
toUnicodeDir                    /usr/share/xpdf/xpdf-chinese-simplified/CMap
displayCIDFontTT        Adobe-GB1       /usr/share/xpdf/xpdf-chinese-simplified/CMap/gkai00mp.ttf
#—– end Chinese Simplified support package
用winscp上传上来一个 pdf 转换看看。
shell $> ls
aa.pdf
##查看参数
shell $> pdf2swf –help
Usage: pdf2swf [Options] input.pdf [-o output.swf]
Basic options:
-p  –pages=range          Convert only pages in range
-P  –password=password    Use password for deciphering the pdf
-v  –verbose              Be verbose. Use more than one -v for greater effect
-q  –quiet                Suppress normal messages. Use -qq to suppress warnings, also.
-F  –fontdir directory    Add directory to font search path
-V  –version              Print program version
Enhanced conversion options:
-S  –shapes               Don’t use SWF Fonts, but store everything as shape
-z  –zlib                 Use Flash 6 (MX) zlib compression (Needs at least Flash 6 Plugin to play)
-w  –samewindow           Don’t open a new Browser Window for Links in the SWF
-f  –fonts                Store full fonts in SWF. (Don’t reduce to used characters)
-T  –flashversion=num     Set the flash version in the header to num (default: 4)
-s insertstop              Insert a “Stop” Tag in every frame (don’t turn pages automatically)
-s zoom=factor             Scale result, default: 72
-s jpegquality=quality     Set quality of embedded jpeg pictures (default:85)
-s caplinewidth=value      Set the minimum line width to trigger cap style handling to value. (3)
-s splinequality=value     Set the quality of spline convertion to value (0-100, default: 100).
-s fontquality=value       Set the quality of font convertion to value (0-100, default: 100).
-s ignoredraworder         Ignore draw order (makes the SWF file smaller and faster, but may produce
                           graphic errors)
-s filloverlap             Make intersecting shapes overlap, instead of canceling each
                           other out. (Needed for some Powerpoint PDFs)
Postprocessing options:
-b  –defaultviewer        Link default viewer to the pdf (/usr/share/swftools/swfs/default_viewer.swf)
-l  –defaultpreloader     Link default preloader the pdf (/usr/share/swftools/swfs/default_loader.swf)
-B  –viewer=filename      Link viewer “name” to the pdf (“pdf2swf -B” for list)
-L  –preloader=filename   Link preloader “name” to the pdf (“pdf2swf -L” for list)
shell $> pdf2swf -o as.swf -T -z -t aa.pdf -s languagedir=/usr/share/xpdf/xpdf-chinese-simplified -s flashversion=9
NOTICE  Adding /usr/share/xpdf/xpdf-chinese-simplified to language pack directories
NOTICE  Adding /usr/share/swftools/fonts to font directories
Title:        <unicode>
Author:       DoDoLo
Creator:      Acrobat PDFMaker 7.0 for Word
Producer:     Acrobat Distiller 7.0 (Windows)
CreationDate: 20070413230358-07′00′
ModDate:      20070413230457-07′00′
Pages:        177
Linearized:   yes
Encrypted:    no
NOTICE  processing PDF page 1 (595×842:0:0) (move:0:0)
Warning: glyph 0/22141 (unicode 0) has return code 20
NOTICE  file contains pbm pictures
NOTICE  processing PDF page 2 (595×842:0:0) (move:0:0)
NOTICE  Some texts will be rendered as shape
NOTICE  File contains links
NOTICE  processing PDF page 3 (595×842:0:0) (move:0:0)
Warning: glyph 0/22021 (unicode 0) has return code 20
NOTICE  processing PDF page 4 (595×842:0:0) (move:0:0)
NOTICE  processing PDF page 5 (595×842:0:0) (move:0:0)
NOTICE  processing PDF page 6 (595×842:0:0) (move:0:0)
NOTICE  processing PDF page 7 (595×842:0:0) (move:0:0)
NOTICE  processing PDF page 8 (595×842:0:0) (move:0:0)
NOTICE  processing PDF page 9 (595×842:0:0) (move:0:0)
NOTICE  processing PDF page 10 (595×842:0:0) (move:0:0)
NOTICE  processing PDF page 11 (595×842:0:0) (move:0:0)
NOTICE  processing PDF page 12 (595×842:0:0) (move:0:0)
……
NOTICE  SWF written
###随后用 winscp 拷贝到 windows 上查看转换是否成功


本文转自Deidara 51CTO博客,原文链接:http://blog.51cto.com/deidara/271533,如需转载请自行联系原作者