1. 程式人生 > >swftools工具將pdf檔案轉換為swf檔案

swftools工具將pdf檔案轉換為swf檔案

      開發客戶網站時遇到了一個需求,客戶要求後臺上傳pdf檔案,前臺能以翻書的形式直接訪問。

  首先想到的是使用js解決,使用者訪問前端頁面時,php將檔案路徑傳送給js,讓js呈現出來翻書的效果。在網上百度了一圈也沒有找到現成的外掛。

  於是由某人提供的flash完成,這時就需要將客戶在後臺上傳的pdf檔案轉換為swf檔案才能通過某人提供的flash呈現出來,而且需要pdf的每一頁生成一個swf檔案,才能出現翻書的效果。這時又由某人提供說,swftools可以完成這個需求,於是迅速百度。

  swftools這個工具就不介紹了,因為我也只用到了其中的一小部分功能,而且還是windows版本的......

  pdf2swf.exe就是這個工具用來將pdf轉換為swf的。命令引數眾多,可以“-help”檢視。

  經過研究,發現只需要兩個引數就可以,“-o”,“-help”的解釋是“-o , --output file.swf Direct output to file.swf. If file.swf contains '%' (file%.swf), then each page goes to a seperate file.”,正是需要的將pdf每一頁生成一個swf檔案!!!

  還有一個引數,“-t”。

  在命令列的具體命令就是“E:\swftools>pdf2swf.exe -o e:\test\d\%.swf -t d:\pdf\127.pdf

,執行結果很順利,但是又出現了一個新問題,有的swf裡文字內容沒有了

  這樣的客戶肯定要罵街了啊-_-

  百度尋找原因,發現帖子都是一樣的......自行百度“swftools中文問題”,大概原因就是因為字型不支援,所以轉換的時候出不來。

  沒辦法,只能按照人家說的去嘗試一下了,果然還是有效果的,需要下載一個“xpdf-chinese-simplified”,修改檔案“add-to-xpdfrc”,下載下來的路徑都是寫的unix的路徑,需要改成windows的,還有在最好加一句“displayCIDFontTT Adobe-GB1 E:\xpdf-chinese-simplified\gkai00mp.ttf”。

  這個“gkai00mp.ttf”也是需要下載的,大概應該是個字型庫之類的東西吧。

  全部搞定以後,在進入命令列,這時輸入的命令需要加一個引數了“-s”,這個引數有許多的功能,自行“-help”查閱吧。

  命令列的命令此時為“E:\swftools>pdf2swf.exe -o e:\test\d\%.swf -t d:\pdf\127.pdf -s languagedir=e:\xpdf-chinese-simplified”,大概意思就是用這個字型庫去解析pdf檔案吧。

  執行以後,效果很好,沒有出現問題,單不知道pdf檔案要是出現其它無法識別的字型時需要怎麼辦......

  總結:swftools這個工具還是比較古老的,但是是開源的,這次也只是用到了一部分功能。不知道還有沒有其它的比較好用的轉換pdf工具。