<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    有才華的人,別忘記給滋潤你的那塊土壤施肥

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      28 隨筆 :: 5 文章 :: 147 評論 :: 0 Trackbacks
              有時候一些資料只能給別人看,如可打印的文檔如DOC,PDF,但不能讓其他無權(quán)限的人另存或者打印,特別是web版的文件管理類的系統(tǒng),總會考慮到這個問題。當用IE直接打開pdf的時候,盡管可以疲敝IE的另存為,但是點擊PDF文件的時候,再按F8的時候,PDF的閱讀器如(adobereader)會顯示ToolsBar,所以直接打開pdf貌似行不同(目前所知道的)。當時一聽到這個需求立馬就想用swing(因為我只懂一些swing),把pdf轉(zhuǎn)換成圖片,然后每一頁對應(yīng)一張圖片顯示,但是馬上給否定了,第一轉(zhuǎn)換出來的圖片不清晰(我目前所了解的)而且這圖片放大縮小的效果也不好看,第二不想花時間和別人去爭論swing慢的問題。

             剛巧進一家新公司沒什么任務(wù),在看flex,就想能不能把PDF轉(zhuǎn)換成swf呢?好,馬上google,結(jié)果還真找到有這么好的東東SWFTOOLS,這款東西是老外用c寫的,還是開源的,夠強!它有很多功能包括PDF2SWF,SWFCombine,SWFStrings,SWFDump,JPEG2SWF,PNG2SWF,GIF2SWF,WAV2SWF,AVI2SWF,F(xiàn)ont2SWF。在這里我們只需要PDF2SWF,關(guān)于PDF2SWF的命令大家可以查看他的幫助documentation,E文不好的可以看如何將PDF轉(zhuǎn)換成SWF》,這個東西是把pdf的每一頁轉(zhuǎn)換成swf的每一幀,這樣的話又可以很好的解決翻頁功能。安裝好就可以用來測試了。然后用cmd進入到安裝的目錄下,隨便找一份pdf進行測試,如下:
    圖片中“-o”的那個參數(shù)就是指點生成的swf的名稱和路徑,這樣就能轉(zhuǎn)成swf,而且非常清晰和pdf無異,簡單吧~

             整合在java里面也簡單,只要一個用Runtime.getRuntime().exec()就行,如下:
    package kissjava.pdf;
    /**
    *
    @author kissjava;
    */


    import java.io.IOException;

    public class PDFToSWF {
        
    public static void main(String[] args) throws IOException{
            Process process 
    = Runtime.getRuntime().exec("d:\\Program Files\\SWFTools\\pdf2swf.exe -o \"e:\\test.swf\"  -t \"e:\\flexBinding.pdf\""); 
            System.out.println(
    "sucess!!!");
        }

    }

    這樣等生成了swf,就發(fā)個通知告訴客戶端可以調(diào)用這個swf。
    但是當寫好mxml后卻bug一大堆,下面是flex程序初始化的一個函數(shù):
    private function init():void{
                    
    var mc:MovieClip = swfload.content as MovieClip;
                    mc.gotoAndStop(
    1);
                    
    var myContextMenu : ContextMenu = new ContextMenu();
                      myContextMenu.hideBuiltInItems();
                      
    this.contextMenu = myContextMenu;                
                    
    //swfload.addEventListener(MouseEvent.MOUSE_DOWN,mouseDown);
                    //swfload.addEventListener(MouseEvent.MOUSE_UP,mouseUp);
                }

    卻發(fā)現(xiàn)mc為null,怎么可能呢?用別人用flash寫的swf,明明是可以通訊的,debug進去,發(fā)現(xiàn)swfload.content 是AVM1Movie,這東西是個老東西是as2的,他和MovieClip是不來電的,而且用反編譯的查看這個生成的swf,它顯示的版本居然是flash6,天啊,這么老的版本,要想和flash9通訊很困難,找了很多資料,都說很復(fù)雜。但是這款最新下載的工具更新的時間明明是2008-09-22,沒道理不支持flash9啊,可是它的幫助文檔卻沒設(shè)置flash版本這方面的參數(shù)說明,苦悶了很久,抱著試試的態(tài)度去看了下他的源碼(我很怕C哈),結(jié)果里面果然有蹊蹺,居然有指定flash版本的參數(shù),它為什么不在文檔里說明呢??

    把上面生成swf語句改成如下:
    Process process = Runtime.getRuntime().exec("f:\\Program Files\\SWFTools\\pdf2swf.exe -o \"e:\\test.swf\" -s flashversion=9 \"e:\\flexBinding.pdf\""); 

    再運行flex,ok,跑的爽。測試效果如下:

    posted on 2008-09-26 22:17 kissjava 閱讀(12530) 評論(50)  編輯  收藏 所屬分類: Flex

    評論

    # re: 用Flex調(diào)用SWF查看PDF 2008-09-27 12:23
    真強。  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2008-09-27 23:16 枯寬
    剛上網(wǎng)發(fā)現(xiàn)Macromedia有個把doc轉(zhuǎn)成swf的,太強了
    下面是個例子:
    http://www.nihg.org/blogview.asp?logID=297  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2008-10-17 17:07 next_dream
    請教一下,我想知道為什么我像你這樣寫以后不能控制swf停止和第幾幀跳轉(zhuǎn)呢?他總是在不停的循環(huán)播放我導入的fswf文件。能不能把你的這個抓圖的flex代碼給我一份,謝謝。小弟剛剛研究還請你多多指教。

    next_dream@126.com 我的郵箱  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2008-10-17 17:24 next_dream
    我的flex是這么寫


    <?xml version="1.0" encoding="utf-8"?>
    <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
    <mx:Script>
    <![CDATA[
    private function initApp():void{
    var mc:MovieClip = swfload.content as MovieClip;
    mc.gotoAndStop(1);
    var myContextMenu : ContextMenu = new ContextMenu();
    myContextMenu.hideBuiltInItems();
    this.contextMenu = myContextMenu;
    }
    ]]>
    </mx:Script>

    <mx:Panel >
    <mx:SWFLoader id="swfload" source="@Embed('pdf/zhu.swf')" />
    </mx:Panel>

    </mx:WindowedApplication>  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2008-10-24 10:44 枯寬
    @next_dream
    首先你得確定你的這個swf是什么類型的,用debug的形式查看swfload.content是AVM1Movie 還是什么?
    如果swfload.content 根本就拿不到為null
    那么<mx:SWFLoader id="swfload" source="@Embed('pdf/zhu.swf')" />
    =====》試試
    <mx:SWFLoader id="swfload" source="@Embed('pdf/zhu.swf')"complete="callLater(callLater, [swfloadComplete,[event]]);" />
    swfloadComplete為:
    private function swfloadComplete(event:Event):void{
    mc.gotoAndStop(1);//設(shè)置當前頁為第一頁
    }  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF[未登錄] 2008-12-04 10:23 fly
    你好,能不能發(fā)個完整的代碼呢?謝謝, 發(fā)到我郵箱也行,luofeng113-113@163.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2008-12-09 10:25 jking
    最近也在研究flex與java的整合,能否發(fā)個完整的代碼到我的郵箱里,謝謝了
    xieminxian@yeah.net  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF[未登錄] 2008-12-09 12:05 tulip
    我最近在學習flex,能把代碼也發(fā)給我一份嗎?我的郵箱是linyujade@163.com.謝謝了。  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2008-12-21 14:47 waiting
    大俠,我也正在學習flex,有幸拜讀了你的文章,能不能也給我一份代碼研究一下,謝謝! waitany@163.com.  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF[未登錄] 2009-02-12 16:31 Tony
    我最近在學習flex,能把代碼也發(fā)給我一份嗎?我的郵箱是ibm-online@qq.com謝謝了  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-03-06 11:58 qsecofr
    我最近在學習flex,能把代碼也發(fā)給我一份嗎?我的郵箱是qsecofr2000@163.com謝謝了  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF[未登錄] 2009-04-24 17:23 xiaogang
    作者能把源碼發(fā)給我嗎
    我的郵箱是vtaminn@163.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-05-05 09:50 CTK
    最近在學習flex,看了你的文章,受益頗多,能否把代碼也發(fā)給我一份學習學習?我的郵箱是luoctk@163.com謝謝了  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF[未登錄] 2009-05-19 17:30 Terry
    作者能把源碼發(fā)給我一份嗎
    我的郵箱是TarzanTerry@yahoo.com.hk

    謝謝了  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-07-13 10:28 8772
    如果后臺是使用c#能有辦法嗎?  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-07-14 17:17 jamin
    你好,能發(fā)個源碼過來學習一下嗎?
    我的郵件是:jamin_381@hotmail.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-07-16 08:52 枯寬
    @8772
    肯定可以的~不過沒試過  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-07-29 19:29 tsubasa
    能把源碼發(fā)給我一份嗎 3Q

    郵箱是tsubasa_Wing10588@hotmail.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-08-09 13:00 水火
    能把源碼發(fā)給我嗎 謝謝
    email: delphi-li@163.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-08-21 15:41 leieli
    能把源碼發(fā)給我嗎?謝謝啦!!!
    malei1986@139.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-08-25 17:00 崇拜樓主
    我也需要啊  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF[未登錄] 2009-09-21 17:12 lib
    可以也給我發(fā)一份代碼嗎?謝謝了libo_591@163.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-10-09 17:07 manager
    在flex web應(yīng)用中也能使用你說的這種方法嗎?
    能否提供完整源碼,不勝感激!  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-10-22 11:13 p27135
    轉(zhuǎn)成swf一樣也能下載呀  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-11-04 20:58 Lingchen Bu
    謝謝你的文章。請問你這篇文章設(shè)計軟件的版本是多少?
    我當前的版本swftools0.90 Flex 3.2

    我出現(xiàn)的問題是。flex不能加載生成的swf。編譯錯誤。當我換另外一個通過flash生成的swf事能夠正常加載。所以我懷疑pdf2swf生成的swf里面是不是缺少什么信息,flex無法加載。

    再次謝謝!  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-11-05 09:03 kissjava
    @Lingchen Bu
    跟蹤進去看看swfload.content 是不是AVM1Movie?是的話,那么你就要按文中所說的,指定flashversion=9了。

    一般就沒其他什么問題了。  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-11-05 09:43 Lingchen Bu
    @kissjava
    謝謝你的回復(fù)。
    我建立flex porject的時候能夠正常編譯。顯示正常。
    但是在使用AIR project的時,編譯就編譯不過去。報的錯誤是
    "Unable to create source PDFViewer__embed_mxml_pdf_rmsd_swf_308507626. PDFViewer.mxml"
    當我換做其他由Adobe Flash生成的swf的時候編譯能夠正常通過。
      回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-11-07 15:49 xinxin
    給小弟 發(fā)一份 謝謝了 xinxin2005100@163.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-12-16 15:51 bianjiang
    謝謝樓主,我想學習一下,給我發(fā)一份 謝謝拉 bianjiang09@126.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2009-12-17 09:16 grassking
    我也想要一份wxc0564335@163.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2010-02-23 13:20 bnmbj
    樓主:給小弟個代碼如何?
    我正在摸索中......
    郵箱:zhchongyao@126.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF[未登錄] 2010-02-25 22:34 xiaofei
    您好,能否把源碼發(fā)一份給我呢?謝謝.
    feiling2007.love@163.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2010-03-01 17:28 JTee
    給小弟 發(fā)一份 謝謝了 sianke731@126.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF[未登錄] 2010-03-01 22:08 小飛
    您好,能否把源碼給我一份呢?謝謝。
    feiling2007.love@163.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF[未登錄] 2010-03-02 17:42 Alan
    播放swf只能一幀一幀播放嗎?那我的下拉框作用就不大了,可以實現(xiàn)像看文件那樣,可以下拉到下一頁嗎?  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF[未登錄] 2010-03-03 23:42 小飛
    您好,我在轉(zhuǎn)換的過程中遇到一個問題。

    就是轉(zhuǎn)化后的swf文件 里面的文字都比較小(也就是pdf文件里面的文字都比較小,換句話說就是pdf文件的寬度都比較小),有沒有辦法設(shè)置轉(zhuǎn)化后的swf文件里面的Pdf 文件的寬度大小呢?謝謝。

    我的郵箱是feiling2007.love@163.com
      回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF[未登錄] 2010-03-04 17:43 kissjava
    @小飛
    swftoos的安裝目錄下面有個GUI程序,你運行它看看轉(zhuǎn)換的效果看,如果它能正常的話,那就有途徑的,這個工具對字體的確是有些麻煩,特別是亞洲字體,很久沒關(guān)注這方面的啦。自個找吧,祝你好運~~~  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF[未登錄] 2010-03-14 00:33 小劉
    你好,我也正在學習flex加載pdf。
    我也想要一份 la5baby@yahoo.com.cn.
    謝謝。  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2010-03-16 20:20 chanyujiajia
    有空請發(fā)一份源代碼給我,謝謝。
    chanyujiajia@163.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2010-04-08 15:16 chenwenjun
    大哥,小弟我跪求樓主的Flex調(diào)用SWF查看PDF的源碼,有空請發(fā)一份源代碼給我,謝謝。
    cwj114473275@163.com   回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2010-04-24 22:21 machine
    可以給我發(fā)一份這個源代碼嗎?謝謝。steve2008.ma@gmail.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2010-11-24 15:06 jaon
    你是如何將所有幀一起顯示出來的?
    我的做的只能一幀一幀的去翻頁不能同時顯示出來,拉滾動條查看  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2010-12-07 23:08 lihw
    學習下,能給我發(fā)份嗎?lihaiwu2005@gmail.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2011-04-20 12:30 kingsmalltwo
    正在學習 前輩能把源碼發(fā)我一份嗎?
    kingsmalltwo@gmail.com
      回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF[未登錄] 2011-06-20 16:49 guo
    我現(xiàn)在也正在研究flex顯示pdf文檔,大俠能否給我一份你的完整代碼,謝謝!
    我的郵箱是guozhiguo86@126.com ; abcxyz86@126.com  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2011-10-25 20:01 HD Lee
    高手可否給一份源代碼,我正在寫一個類似的view,問題很多。。。。  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF[未登錄] 2011-12-15 10:57 小弟
    求大神給小弟發(fā)個完整版啊 654797076@qq.com 好人一生平安啊  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF[未登錄] 2011-12-15 11:02 小弟
    如果要讀的文件是在服務(wù)器中,而管理人員可以上傳文件,那么如何自動將上傳的文件轉(zhuǎn)換成swf格式,用戶端在瀏覽pdf文件時,并沒有swf文件,是要從服務(wù)器中讀取的,這部分如何進行綁定啊?邏輯上有點不清楚,求指教  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF[未登錄] 2011-12-15 15:25 kissjava
    @小弟
    上傳文件時就放進線程池,用SWFTOOLS做文件轉(zhuǎn)換的。調(diào)用swf的時候,若沒找到,就先轉(zhuǎn)換,再調(diào)用。
    代碼沒了。。。上一家公司的。  回復(fù)  更多評論
      

    # re: 用Flex調(diào)用SWF查看PDF 2012-06-29 10:16 CDD
    有才華的人,別忘記給滋潤你的那塊土壤施肥

    膜拜LZ這句話  回復(fù)  更多評論
      

    主站蜘蛛池模板: 免费A级毛片无码A∨中文字幕下载| 毛片免费全部免费观看| 久久久国产精品亚洲一区| 免费视频专区一国产盗摄| 黄色网址免费在线| 亚洲天堂中文字幕| 日本免费电影一区| 无码人妻久久一区二区三区免费| 亚洲av日韩av综合| 亚洲人成网站在线播放vr| 免费激情视频网站| 久久久久久久久久国产精品免费| 99久久国产亚洲综合精品| 亚洲人成人77777网站| 成年女人免费视频播放77777| 国产免费播放一区二区| 亚洲日韩一区二区三区| 亚洲av午夜福利精品一区| 日韩在线免费看网站| 最近2019免费中文字幕6| 大片免费观看92在线视频线视频| 亚洲成a人片毛片在线| 亚洲一区二区三区在线观看精品中文| 天天摸天天碰成人免费视频| 欧洲人免费视频网站在线| 国产亚洲日韩在线a不卡| 亚洲xxxxxx| 婷婷精品国产亚洲AV麻豆不片| 免费国产人做人视频在线观看| 91免费国产自产地址入| 99re6在线视频精品免费| 精品国产亚洲一区二区三区在线观看| 亚洲成人网在线观看| 亚洲成av人片天堂网| 亚洲人成人无码网www国产| 男女啪啪永久免费观看网站| 18禁止观看免费私人影院| 无码国产精品一区二区免费16| 国产精品极品美女自在线观看免费 | 亚洲视频免费观看| 亚洲中文字幕不卡无码|