求教CSDN各位高手,DELPHI导入了PDF.OCX控件,该控件只能LOADFROM硬盘里某个PDF文件,我有个pdf文件在BUF里面,不想生成临时文件,请问该如何操作?

解决方案 »

  1.   

    CSDN上最近和你类似要求直接从内存里加载Word,好象还没有人圆满回答。所以我想你也可能不会得到圆满答案。呵呵~
    当然,我个人也不会!
      

  2.   

    回一楼,那个是我提出的,所以打算看看这个会有什么结果
    我想只能用Api Hook搞了
    不过先建议你试一下看看它有没有实现IPersistStream或IPersistStorage接口,有的话试试他们的Load方法,反正Word是不行的,只有IPersistFile的Load方法可以打开文档。
      

  3.   

    对了,使用OleLoad是可以搞定的,但是不方便的地方就是PDF对象不可控,只能让它自动生成,要实现的话看OleContainer的LoadFromStream的源代码,其实除去那个TStreamHeader结构之外,流后面的内容就是pdf文件的数据了(如果你Load的是Pdf的话)