在VFP中打开PDF文件的一些问题
请教各位:
我用VFP+SQL做了一个小程序,我将文件的内容(PDF)保存在SQL的表的一个字段中.
我想在VFP的表单中打开这个PDF的文档,要求:打开时,不要显示adobe reader的菜单,如"文件","编辑"......等.
如果可以的话,最好将打开的文档显示在设计的表单中,不要另外在打开新的窗口.
[解决办法]
我在我的机器上做了如下试验,可以达到你的要求
新建一个表单,放一个按钮,按钮的 click 事件中写下面的代码
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.CatchEndtryThisform.pdf.SetFocus()
[解决办法]
*VFP如何打开PDF文件并显示在表单中?(先安装Adobe Reader 5.0或6.0)*---------------------------------------------------*将下面程序代码保存为一个prg文件,传入PDF文件名作为参数即可。Lparameters tFilePublic oform1oform1=Newobject("form1")If Vartype(cFile) # "U" oForm1.cmdFile.Visible = .F. oForm1.cmdExit.Visible = .F. oForm1.oleControl1.Top = 12 oForm1.oleControl1.LoadFile([&cFile])Endifoform1.Show*RETURN**********************************************************Define Class form1 As Form DoCreate = .T. Caption = "pdfForm" Name = "Form1" Add Object cmdfile As CommandButton With ; Top = 12, ; Left = 12, ; Height = 27, ; Width = 144, ; Caption = "Select File", ; Name = "cmdFile" Add Object cmdexit As CommandButton With ; Top = 12, ; Left = 168, ; Height = 27, ; Width = 84, ; Caption = "E\<xit", ; Name = "cmdExit" Add Object olecontrol1 As OleControl With ; OLEClass = "PDF.PdfCtrl.6", ; &&如果是Adobe Reader 5.0,此处的6为5 Top = 48, ; Left = 12, ; Height = 192, ; Width = 348, ; Name = "Olecontrol1" Procedure Init Thisform.Resize() Endproc Procedure Resize Thisform.Olecontrol1.Height = Thisform.Height - 60 Thisform.Olecontrol1.Width = Thisform.Width - 24 Thisform.Olecontrol1.Refresh() Endproc Procedure cmdfile.Click Local cFile cFile = Getfile([PDF]) If !Empty(cFile) Thisform.oleControl1.LoadFile([&cFile]) Endif Endproc Procedure cmdexit.Click Thisform.Release() EndprocEnddefine