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

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

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

    有才華的人,別忘記給滋潤(rùn)你的那塊土壤施肥

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

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

             整合在java里面也簡(jiǎn)單,只要一個(gè)用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ā)個(gè)通知告訴客戶(hù)端可以調(diào)用這個(gè)swf。
    但是當(dāng)寫(xiě)好mxml后卻bug一大堆,下面是flex程序初始化的一個(gè)函數(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寫(xiě)的swf,明明是可以通訊的,debug進(jìn)去,發(fā)現(xiàn)swfload.content 是AVM1Movie,這東西是個(gè)老東西是as2的,他和MovieClip是不來(lái)電的,而且用反編譯的查看這個(gè)生成的swf,它顯示的版本居然是flash6,天啊,這么老的版本,要想和flash9通訊很困難,找了很多資料,都說(shuō)很復(fù)雜。但是這款最新下載的工具更新的時(shí)間明明是2008-09-22,沒(méi)道理不支持flash9啊,可是它的幫助文檔卻沒(méi)設(shè)置flash版本這方面的參數(shù)說(shuō)明,苦悶了很久,抱著試試的態(tài)度去看了下他的源碼(我很怕C哈),結(jié)果里面果然有蹊蹺,居然有指定flash版本的參數(shù),它為什么不在文檔里說(shuō)明呢??

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

    再運(yùn)行flex,ok,跑的爽。測(cè)試效果如下:

    posted on 2008-09-26 22:17 kissjava 閱讀(12532) 評(píng)論(50)  編輯  收藏 所屬分類(lèi): Flex

    評(píng)論

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

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

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

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

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


    <?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ù)  更多評(píng)論
      

    # re: 用Flex調(diào)用SWF查看PDF 2008-10-24 10:44 枯寬
    @next_dream
    首先你得確定你的這個(gè)swf是什么類(lèi)型的,用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è)置當(dāng)前頁(yè)為第一頁(yè)
    }  回復(fù)  更多評(píng)論
      

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    一般就沒(méi)其他什么問(wèn)題了。  回復(fù)  更多評(píng)論
      

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    膜拜LZ這句話(huà)  回復(fù)  更多評(píng)論
      

    主站蜘蛛池模板: 亚洲AV日韩AV永久无码久久| 亚洲成a人片77777老司机| 人人狠狠综合久久亚洲88| 亚洲精品动漫在线| 色窝窝亚洲av网| 久久狠狠躁免费观看| 热99re久久精品精品免费| 国产AV无码专区亚洲Av| 亚洲一区二区三区成人网站 | 亚洲中文字幕久久精品无码APP| 97亚洲熟妇自偷自拍另类图片 | 在线免费视频你懂的| 成人免费的性色视频| 亚洲欧洲精品成人久久奇米网| 亚洲日韩乱码中文无码蜜桃臀| 日韩在线视频免费| 男女免费观看在线爽爽爽视频 | 亚洲精品国产av成拍色拍| a在线视频免费观看| 暖暖日本免费在线视频| 亚洲无删减国产精品一区| 免费人成大片在线观看播放| 无码中文字幕av免费放| 亚洲国产成人高清在线观看| 精品亚洲视频在线| 亚洲电影免费观看| 亚洲美女又黄又爽在线观看| 日韩色视频一区二区三区亚洲| 最近免费中文在线视频| 国产亚洲美女精品久久久| 亚洲免费福利在线视频| 久久午夜夜伦鲁鲁片免费无码 | 亚洲男人av香蕉爽爽爽爽| 国产成人精品日本亚洲网址| 国产午夜成人免费看片无遮挡| 亚洲av无码国产精品色在线看不卡 | 免费国产成人高清在线观看网站| 亚洲无线码一区二区三区| 国产精品亚洲一区二区三区| 思思re热免费精品视频66 | 日本久久久久亚洲中字幕|