OS: Windows 7
PDFCreator version = 1.7.0
The following is the code being used:
Friend Function GeneratePDF(ByVal sDocument As String) As String
Dim TmpDocSource As String
Dim cConverter As clsPDFCreator
Dim cConverterOptions As clsPDFCreatorOptions
Dim newFile As String = FileNameFromFullPath(sDocument, True)
Dim testfile As String
Dim outfile As String
Dim icnt As Int32 = 0
Dim cnt As String
Dim DefaultPrinter As String
TmpDocSource = TempDocPath & FileNameFromFullPath(sDocument)
testfile = TempDocPath & newFile & ".pdf"
Do While File.Exists(testfile)
icnt = icnt + 1
cnt = icnt.ToString("0000")
If InStr(newFile, "_") > 0 Then
newFile = Left(newFile, InStr(newFile, "_")) & cnt
Else
newFile = newFile & "_" & cnt
End If
testfile = TempDocPath & newFile & ".pdf"
Loop
cConverter = New clsPDFCreator
cConverterOptions = New clsPDFCreatorOptions
cConverter.cOptions = cConverterOptions
DefaultPrinter = cConverter.cDefaultPrinter
If cConverter.cStart("/NoProcessingAtStartup") = False Then
'MsgBox("Can't Initialise PDF Converter", vbCritical, "Letter Generation Error")
'Return ""
cConverter.cPrinterStop = True
End If
With cConverter
.cOption("NoConfirmMessageSwitchingDefaultprinter") = 1
.cDefaultPrinter = "PDFCreator"
.cPrinterStop = False
.cOption("PaperSize") = "Letter"
.cOption("UseAutoSaveDirectory") = 1
.cOption("AutoSaveDirectory") = TempDocPath
.cOption("AutoSaveFileName") = newFile
.cOption("AutoSaveFormat") = 0 ' 0 = pdf
.cOption("UseAutoSave") = 1
.cSaveOptions()
.cClearCache()
.cPrintFile(sDocument)
outfile = cConverter.cOutputFilename
'Resetting to default...
.cOption("UseAutoSave") = 0
.cDefaultPrinter = DefaultPrinter
.cSaveOptions()
.cClearCache()
End With
'
cConverterOptions = Nothing
cConverter = Nothing
Return outfile
End Function