Link to home
Start Free TrialLog in
Avatar of kriskyk
kriskyk

asked on

Open and Print PDF file

I'm trying to get a specific PDF to open and print. Using the code below I am able to get the desired PDFs to open but not print. I've looked at many examples and they appear to be using objects not availible in my library. I've added the following libraries:
Adobe Acrobat 8.0 Type Library
Acrobat Access 3.0 Type Library
Adobe Acrobat 8.0 Browser Control Type Library 1.0
AcroIEHelper 1.0 Tpye Library

Any help with the code or any additional libraries that I'm not using will be greatly appreciated.
Option Compare Database
 
 
Private Const SW_SHOWNORMAL = &H1&
 
Private Declare Function ShellExecuteA Lib "shell32" ( _
  ByVal hwnd As Long, _
  ByVal lpszOp As String, _
  ByVal lpszFile As String, _
  ByVal lpszParams As String, _
  ByVal LpszDir As String, _
  ByVal FsShowCmd As Long) As Long
 
 
Public Sub OpenPDF(ByVal szPDFLocation As String)
  
  Dim Success As Long
  
  ' If the function succeeds, it returns a value greater than 32.
  Success = ShellExecuteA(0, "open", szPDFLocation, vbNullString, vbNullString, SW_SHOWNORMAL)
  
  If Success > 32 Then
    
    Debug.Print "Success"
    
  Else
    ' For a list of error codes.
    ' http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx
    Debug.Print "Error= " & Success
    
  End If
 
End Sub
 
 
Private Sub Command1_Click()
Dim NameOfPDF As String
Dim AVDoc As AcroAVDoc
 
 
NameOfPDF = 9814634 'to be replaced by a passed varible
OpenPDF "H:\Accounting\Finance-Sales & Marketing\SDamm\WIP\USFS MOD\Downloads\INVOICES\" & NameOfPDF & "-1.pdf"
OpenPDF "H:\Accounting\Finance-Sales & Marketing\SDamm\WIP\USFS MOD\Downloads\INVOICES\" & NameOfPDF & "-2.pdf"
 
End Sub

Open in new window

Avatar of Wayne Michael
Wayne Michael
Flag of United States of America image

I use gnostice toolkit

www.gnostice.com

Avatar of kriskyk
kriskyk

ASKER

I was able to get it to print using the below code. however it donesnt close, leaving multiple instances of acrobat opened.
Option Compare Database
 
 
Private Const SW_SHOWNORMAL = &H1&
 
Private Declare Function ShellExecuteA Lib "shell32" ( _
  ByVal hwnd As Long, _
  ByVal lpszOp As String, _
  ByVal lpszFile As String, _
  ByVal lpszParams As String, _
  ByVal LpszDir As String, _
  ByVal FsShowCmd As Long) As Long
 
Public Sub PrintPDF(ByVal szPDFLocation As String)
  
  Dim Success As Long
  
  ' If the function succeeds, it returns a value greater than 32.
  Success = ShellExecuteA(0, "print", szPDFLocation, vbNullString, vbNullString, SW_SHOWNORMAL)
  
  If Success > 32 Then
    
    Debug.Print "Success"
    
  Else
    ' For a list of error codes.
    ' http://msdn.microsoft.com/en-us/library/bb762153(VS.85).aspx
    Debug.Print "Error= " & Success
    
  End If
 
End Sub
 
 
Private Sub Command2_Click()
Dim NameOfPDF As String
 
NameOfPDF = 9814634 'to be replaced by a passed varible
PrintPDF "H:\Accounting\Finance-Sales & Marketing\SDamm\WIP\USFS MOD\Downloads\INVOICES\" & NameOfPDF & "-1.pdf"
PrintPDF "H:\Accounting\Finance-Sales & Marketing\SDamm\WIP\USFS MOD\Downloads\INVOICES\" & NameOfPDF & "-2.pdf"
 
End Sub

Open in new window

I had the same issue so I switched to Gnostice....

I did write an adobe kill app in .Net to solve that,  but that is not a great solution.

you can open adobe minimized.

kriskyk,

Did you try this?

AcroRd32.exe /t "C:\test.pdf"


http://support.adobe.com/devsup/devsup.nsf/docs/52080.htm
ASKER CERTIFIED SOLUTION
Avatar of msacc97
msacc97
Flag of Canada image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
kriskyk,

Good luck and thank you for the points!