使用adobe的AcroPDFLib_TLB组件可以整体很好的显示出pdf,
但我想根据光标位置把pdf里的文章一句一句的读到程序里,即得到句子的字符串,有什么办法吗?

解决方案 »

  1.   

    AcroPDFLib_TLB应该有这个接口吧
      

  2.   

    好像都没有能返回字符串的接口
    function Get_src: WideString; safecall;
        procedure Set_src(const pVal: WideString); safecall;
        function LoadFile(const fileName: WideString): WordBool; safecall;
        procedure setShowToolbar(On_: WordBool); safecall;
        procedure gotoFirstPage; safecall;
        procedure gotoLastPage; safecall;
        procedure gotoNextPage; safecall;
        procedure gotoPreviousPage; safecall;
        procedure setCurrentPage(n: Integer); safecall;
        procedure goForwardStack; safecall;
        procedure goBackwardStack; safecall;
        procedure setPageMode(const pageMode: WideString); safecall;
        procedure setLayoutMode(const layoutMode: WideString); safecall;
        procedure setNamedDest(const namedDest: WideString); safecall;
        procedure Print; safecall;
        procedure printWithDialog; safecall;
        procedure setZoom(percent: Single); safecall;
        procedure setZoomScroll(percent: Single; left: Single; top: Single); safecall;
        procedure setView(const viewMode: WideString); safecall;
        procedure setViewScroll(const viewMode: WideString; offset: Single); safecall;
        procedure setViewRect(left: Single; top: Single; width: Single; height: Single); safecall;
        procedure printPages(from: Integer; to_: Integer); safecall;
        procedure printPagesFit(from: Integer; to_: Integer; shrinkToFit: WordBool); safecall;
        procedure printAll; safecall;
        procedure printAllFit(shrinkToFit: WordBool); safecall;
        procedure setShowScrollbars(On_: WordBool); safecall;
        function GetVersions: OleVariant; safecall;
        procedure setCurrentHightlight(a: Integer; b: Integer; c: Integer; d: Integer); safecall;
        procedure setCurrentHighlight(a: Integer; b: Integer; c: Integer; d: Integer); safecall;
        procedure postMessage(strArray: OleVariant); safecall;
        function Get_messageHandler: OleVariant; safecall;
        procedure Set_messageHandler(pVarOut: OleVariant); safecall;
        property src: WideString read Get_src write Set_src;
        property messageHandler: OleVariant read Get_messageHandler write Set_messageHandler;
      

  3.   

    AcroPDF1.setCurrentPage(PDF文件页码),这样可以转到相应的页,你说的得到字符,没有试过
      

  4.   

    呵呵,我们说的是同一个控件吧? 
    C:\Program Files\Common Files\Adobe\Acrobat\ActiveX\AcroPDF.dll
    里面基本没有带返回值的方法呀
      

  5.   

    试试这个,呵呵
    http://www.2ccc.com/article.asp?articleid=4898