寫本文的緣由:領導有些項目文檔需要審閱,網站上的文檔只能在線預覽,沒有提供下載。開始用截屏的方式,可想而知這將會是多大的重復性勞動。所以研究了一下,發現可以曲線救國,所以在這里分享一下。
問題描述:這里遇到的在線文檔預覽是swf文件,是網站后台采用flexpaper轉換后,前台使用Flash進行的預覽。打開的文檔如下。
解決方案:
這里使用chrome打開的,右鍵也好還是工具欄也好,都沒有提供打印或者下載的方式。好了,F12打開控制台,查看源代碼吧。
還好預覽文件頁面的DOM結構很簡單,找到了預覽文件的路徑,是轉換后的swf文件,注意一下 ../ 表示的是源文件所在目錄的上一級目錄,所以swf文件的路徑就是預覽頁網址將最后一個 / 后面的路徑替換為 ../ 后面的路徑。將這個路徑用瀏覽器打開,或者用迅雷下載,就得到了swf文件。
下一步就是將swf文件轉為pdf了,swf文件用瀏覽器就可以打開,或者安裝Adobe Acrobat后,就有了Macromedia FlashPaper插件,可以直接保存為pdf。可是不知道為什么,chrome只能選擇打印一頁,所以使用了doPDF轉換器,可還是不行,最后竟然用IE可以選擇打印所有頁。。。
至此在線文檔就保存到了本地,當然pdf中仍然是圖片格式。
總結:
問題雖然解決,但是還有不少的瑕疵,列舉如下。
flexpaper的使用;
安裝Adobe Acrobat,直接在線保存swf;
用代碼實現網頁批量文件下載,比如Python;
用代碼實現批量swf文件轉換(打印)為pdf。
目前想到的就這么多,希望能幫助到需要的人。