| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2250 人关注过本帖
标题:求助: vfp 自动打印 pdf 文件
只看楼主 加入收藏
jjoojj
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2014-8-12
收藏
得分:0 
网上找到以下一段代码,可以打印pdf文件,但怎么关闭这个文件呢,请各位帮忙。谢谢!

Thisform.Newobject('pdf', 'Olecontrol', '', '', 'AcroPDF.PDF.1')
Thisform.pdf.Move( 10, 10, Thisform.Width - 20, Thisform.Height - 20)
Thisform.pdf.SetShowToolbar(.f.)
Thisform.pdf.LoadFile( Getfile('pdf') )
Try     
Thisform.pdf.Visible = .T.
Catch
Endtry
Thisform.pdf.SetFocus()
2014-08-14 08:07
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:4 
回复 11 楼 jjoojj
1.查看ThisForm.pdf的方法清单,看有没有Close之类的方法,如有,做第2点
2.先调用Close,用对象的方法确保关闭占用的资源,这是最重要的,然后调用ThisForm.pdf.Release方法把pdf对象从内存中清除

授人以渔,不授人以鱼。
2014-08-14 09:50
jjoojj
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2014-8-12
收藏
得分:0 


以下代码可以打开,打印,关闭pdf文件,但不知道INKEY有什么用,高手请帮忙指点一下。谢谢


#define WM_CLOSE  0x0010


    lpszfile='142681-6-1 GM.pdf'

    IF FILE(lpszfile)
        DECLARE INTEGER ShellExecute IN Shell32.DLL INTEGER HWND,STRING,STRING lpszFile,STRING,STRING,INTEGER
        DECLARE Long FindWindow IN WIN32API ;
        String lpClassName, String lpWindowName
        DECLARE Long PostMessage IN WIN32API ;
        Long hWnd, Long Msg, Long wParam, Long lParam
        =ShellExecute(0,'Open',lpszfile,'','',1)
        INKEY(5)
        =ShellExecute(0,'print',lpszfile,'','',1)
        INKEY(10)
        m.hWnd = FindWindow(null, JUSTFNAME(lpszfile) +' - Adobe Reader')
        IF (m.hWnd == 0)
               MessageBox('没有找到打开 pdf 文件的窗口。')
        ELSE
            PostMessage(m.hWnd, WM_CLOSE, 0, 0)
        ENDIF
        CLEAR DLLs "ShellExecute", "FindWindow", "PostMessage"
        *INKEY(5)
    ENDIF
2014-08-14 13:48
zhao0717
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-10-22
收藏
得分:0 
INKEY(5)就是机器等待5秒,按键盘的任意键结束等待
2014-12-08 16:57
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2214
专家分:3882
注 册:2007-4-27
收藏
得分:0 
我测试,能打开和打印,但不能关闭

只求每天有一丁点儿的进步就可以了
2016-11-19 10:22
qingxmo
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-10-12
收藏
得分:0 
以下是引用jjoojj在2014-8-12 10:52:17的发言:

以下是打开了pdf文件,什么命令可以打印呢,请帮忙。tks!

Thisform.Newobject('pdf', 'Olecontrol', '', '', 'AcroPDF.PDF.1')
Thisform.pdf.Move( 10, 10, Thisform.Width - 20, Thisform.Height - 20)
Thisform.pdf.SetShowToolbar(.f.)
Thisform.pdf.LoadFile( Getfile('pdf') )
Try     
Thisform.pdf.Visible = .T.
Catch
Endtry
Thisform.ActiveWindow.SelectedSheets.PrintOut
Thisform.pdf.SetFocus()


将Thisform.pdf.SetShowToolbar(.f.)
改为Thisform.pdf.SetShowToolbar(.T.)
就显示打印工具,点击打印工具即可打印了!
2017-03-01 21:40
m874604023
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-9-11
收藏
得分:0 
谢谢各位狐友的热情回复,我认真学习一下。
2017-07-06 17:26
快速回复:求助: vfp 自动打印 pdf 文件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017506 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved