FlexPaper是一個(gè)開(kāi)源的PDF文檔在線查看控件。用戶查看PDF文檔不需要安裝Acrobat Reader,但需要利用像
SwfTools這樣的工具預(yù)先將PDF文檔轉(zhuǎn)成SWF格式的文件。FlexPaper能夠?qū)π枰榭吹奈臋n進(jìn)行分頁(yè)、搜索、打印、縮放、全屏查看等
但對(duì)于一次性加載整個(gè)大型文檔會(huì)導(dǎo)致加載時(shí)間過(guò)長(zhǎng)和內(nèi)存過(guò)渡消耗。在新的FlexPaper版本中已經(jīng)能夠解決這個(gè)問(wèn)題。首先需要將你的文檔拆分成多份swf文件,然后在調(diào)用FlexPaper的時(shí)候設(shè)置好相關(guān)參數(shù),這樣在瀏覽的時(shí)候就能夠分頁(yè)/分段加載。下面將介紹如何將文檔拆分成多份swf文件和怎么設(shè)置FlexPaper參數(shù):
關(guān)于如何拆分文檔,在FlexPaper 1.4.5中已經(jīng)提供了一個(gè)開(kāi)箱即用的示例。只要在支持PHP的服務(wù)器上運(yùn)行其提供的'split_document.php'文件能夠自動(dòng)進(jìn)行分頁(yè)。對(duì)于服務(wù)器上不支持PHP運(yùn)行的,可以在調(diào)用PDF2SWF程序時(shí),在原來(lái)調(diào)用的命令行基礎(chǔ)上稍微修改一下具體如下:
C:\SWFTools\pdf2swf.exe Paper.pdf -o Paper%.swf -f -T 9 -t -s storeallcharacters
大家可以看到上面的命令行比原來(lái)只多了一個(gè)%符號(hào),這個(gè)符號(hào)表示PDF2SWF轉(zhuǎn)換文檔時(shí),將為每一頁(yè)創(chuàng)建一個(gè)swf文件。如:"Paper1.swf", "Paper2.swf"。然后在FlexPaper控件配置加載SwfFile的地方,采用:{filename[*,padding],total pages}這種語(yǔ)法表明。
以下給出一個(gè)具體的配置示例: 1 var fp = new FlexPaperViewer(
2 'FlexPaperViewer',
3 'viewerPlaceHolder', { config : {
4 SwfFile : "{Paper[*,0].swf,28}",
5 Scale : 0.6,
6 ZoomTime : 0.5,
7 ZoomInterval : 0.1,
8 FitPageOnLoad : false,
9 FitWidthOnLoad : false,
10 PrintEnabled : false,
11 MinZoomSize : 0.2,
12 MaxZoomSize : 5,
13 localeChain : "en_US"
14 }});
在這個(gè)例子中,我們指示FlexPaper按分頁(yè)的方法來(lái)加載一個(gè)共有28頁(yè)的文檔,不需要用0填充文件名。假如你的文件是按"Paper01.swf", "Paper02.swf", .. 這種形式拆分時(shí),要將padding設(shè)置成1,意思是用一個(gè)零來(lái)填充文件名。 FlexPaper項(xiàng)目地址:
http://flexpaper.devaldi.com/下載地址:
http://flexpaper.devaldi.com/download/文檔地址:
http://flexpaper.devaldi.com/docs.htm開(kāi)源文檔共享平臺(tái):
http://doc.open-open.com/
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。