Ninibini
asked on
create PDF in VB6
so far I've found this undocumented function to convert one tif to a pdf ...
my problem is that need to put more then one tif in a pdf ... any pointers would be greatly appreciated as automation is pretty new to me ... thanks
-------------------------- ---------- ---------- ---------
Private Sub Tif2PDF(filename As String)
Dim AcroApp As Object
Dim AVDoc As Object
Dim PDDoc As Object
Dim IsSuccess As Boolean
Set AcroApp = CreateObject("AcroExch.App ")
Set AVDoc = CreateObject("AcroExch.AVD oc")
Call AVDoc.Open(filename, "")
Set AVDoc = AcroApp.GetActiveDoc
If AVDoc.IsValid Then
Set PDDoc = AVDoc.GetPDDoc
' Fill in pdf properties.
PDDoc.SetInfo "Title", "test" 'txtDocTitle.Text
PDDoc.SetInfo "Author", "test" 'txtDocAuthor.Text
PDDoc.SetInfo "Subject", "test" 'cboDocType.Text
PDDoc.SetInfo "Keywords", "test" ' txtDocKeyword.Text
If PDDoc.Save(1 Or 4 Or 32, App.Path & "\docfile.pdf") <> True Then
MsgBox "Failed to save " & filename
End If
PDDoc.Close
End If
'Close the PDF
AVDoc.Close True
AcroApp.Exit
'Cleanup
Set PDDoc = Nothing
Set AVDoc = Nothing
Set AcroApp = Nothing
End Sub
my problem is that need to put more then one tif in a pdf ... any pointers would be greatly appreciated as automation is pretty new to me ... thanks
--------------------------
Private Sub Tif2PDF(filename As String)
Dim AcroApp As Object
Dim AVDoc As Object
Dim PDDoc As Object
Dim IsSuccess As Boolean
Set AcroApp = CreateObject("AcroExch.App
Set AVDoc = CreateObject("AcroExch.AVD
Call AVDoc.Open(filename, "")
Set AVDoc = AcroApp.GetActiveDoc
If AVDoc.IsValid Then
Set PDDoc = AVDoc.GetPDDoc
' Fill in pdf properties.
PDDoc.SetInfo "Title", "test" 'txtDocTitle.Text
PDDoc.SetInfo "Author", "test" 'txtDocAuthor.Text
PDDoc.SetInfo "Subject", "test" 'cboDocType.Text
PDDoc.SetInfo "Keywords", "test" ' txtDocKeyword.Text
If PDDoc.Save(1 Or 4 Or 32, App.Path & "\docfile.pdf") <> True Then
MsgBox "Failed to save " & filename
End If
PDDoc.Close
End If
'Close the PDF
AVDoc.Close True
AcroApp.Exit
'Cleanup
Set PDDoc = Nothing
Set AVDoc = Nothing
Set AcroApp = Nothing
End Sub
ASKER
I already thought about using Word, but unfortunately it was requested that only Acrobat needs be installed on the computer.
ASKER
i was able to figure it out myself...
.........
'open a template pdf, with one empty page
Set pdDoc = CreateObject("AcroExch.PDD oc")
pdDoc.Open template
Set AVDoc = CreateObject("AcroExch.AVD oc")
'Setzen der Dokumenteigenschaften
pdDoc.SetInfo "Title", Now
pdDoc.SetInfo "Author", ""
pdDoc.SetInfo "Subject", curBarcodeNr
pdDoc.SetInfo "Keywords", curBarcodeNr
'insert images ( call function as often as needed)
If Not insertTif(basePath & .Fields("Volume2")) Then
MsgBox "error occurred while inserting the file"
End If
.............
'save the document
pdDoc.DeletePages 0, 0 'delete first, empty page
'Save PDF-Document
If pdDoc.Save(1 Or 4 Or 32, PDF) <> True Then
Print #2, "unable to save file"
Else
Print #2, "file saved"
pdDoc.Close
End If
Set AVDoc = Nothing
....................
Private Function insertTif(file As String) As Boolean
Dim tmp_PDDoc As Acrobat.CAcroPDDoc
Call AVDoc.Open(file, "")
Set AVDoc = AcroApp.GetActiveDoc
If AVDoc.IsValid Then
Set tmp_PDDoc = AVDoc.GetPDDoc
pdDoc.InsertPages 0, tmp_PDDoc, 0, 1, False
insertTif = True
Else
'Fehler beim Einfügen
insertTif = False
End If
'Close the PDF
AVDoc.Close True
Set tmp_PDDoc = Nothing
End Function
.........
'open a template pdf, with one empty page
Set pdDoc = CreateObject("AcroExch.PDD
pdDoc.Open template
Set AVDoc = CreateObject("AcroExch.AVD
'Setzen der Dokumenteigenschaften
pdDoc.SetInfo "Title", Now
pdDoc.SetInfo "Author", ""
pdDoc.SetInfo "Subject", curBarcodeNr
pdDoc.SetInfo "Keywords", curBarcodeNr
'insert images ( call function as often as needed)
If Not insertTif(basePath & .Fields("Volume2")) Then
MsgBox "error occurred while inserting the file"
End If
.............
'save the document
pdDoc.DeletePages 0, 0 'delete first, empty page
'Save PDF-Document
If pdDoc.Save(1 Or 4 Or 32, PDF) <> True Then
Print #2, "unable to save file"
Else
Print #2, "file saved"
pdDoc.Close
End If
Set AVDoc = Nothing
....................
Private Function insertTif(file As String) As Boolean
Dim tmp_PDDoc As Acrobat.CAcroPDDoc
Call AVDoc.Open(file, "")
Set AVDoc = AcroApp.GetActiveDoc
If AVDoc.IsValid Then
Set tmp_PDDoc = AVDoc.GetPDDoc
pdDoc.InsertPages 0, tmp_PDDoc, 0, 1, False
insertTif = True
Else
'Fehler beim Einfügen
insertTif = False
End If
'Close the PDF
AVDoc.Close True
Set tmp_PDDoc = Nothing
End Function
ok, please post a request at Community Support whether to PAQ this question with 0 pts or delete this question as you wish.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Dim msWord As Word.Application
Set msWord = GetObject(Class:="Word.App
msWord.Visible = False
msWord.ActivePrinter = "Acrobat PDFWriter"
msWord.Documents.Open "c:\temp\spec.doc"
msWord.ActiveDocument.Prin
source: https://www.experts-exchange.com/questions/20318802/Disable-dialogue-box.html