INECO Forum Overzicht Overzicht Aanmelden Aanmelden Registreer Registreer Profiel Profiel Ledenlijst Ledenlijst Groepen Groepen Zoeken Zoeken

PDFCreator aansturen met LotusScript
 
 
 
 
 Geplaatst   Bericht 
Marcel Rothuizen

Marcel Rothuizen
 

Aanmelddatum: 10-11-2000
Woonplaats: Heteren (Gld)
Datum: 30-08-2007 20:33:54    Bericht: PDFCreator aansturen met LotusScript

Voor een klant moest er een export gemaakt worden van alle Notes documenten in een database.
Dit moest gebeuren door deze als PDF af te drukken.
Als PDF printer heb ik gekozen voor het OpenSource PDFCreator dat makkelijk aan te sturen is en erg nette afdrukken maakt.
Omdat er geen tijd was om te onderzoeken of dit op de achtergrond kon gebeuren heb ik gekozen om een eenvoudig script te maken dat via de Notes client door een weergave loopt, elk document te openen, de bestandsnaam aan PDFCreator te door te geven via DOM, af te drukken naar de default (PDF) printer, en het document te sluiten.

Sub Initialize
 On Error Goto ErrorHandler 

....... declare and set items.....


 sPDFPath$ = "C:\"
 If Dir(sPDFPath$,16) = "" Then
   Msgbox sPDFPath$ & " kan niet worden geopend",16,"Export"
 End If
 
 Set PDFCreator = CreateObject("PDFCreator.clsPDFCreator")
 If Not PDFCreator.cStart("",True) Then
  Msgbox "PDF printer kan niet worden gestart",16,"Export"
  Goto  TheEnd
 End If 
 
 Set Doc = View.GetFirstDocument
 Do Until Doc Is Nothing
  
  sPDFName$ = doc.NoteID & ".pdf"
  FileName$ = sPDFPath$ & sPDFName$
  If Not Dir(FileName$) = "" Then
   Kill FileName$
  End If
  
  With PDFCreator
   .cOption("UseAutosave") = 1
   .cOption("UseAutosaveDirectory") = 1
   .cOption("AutosaveDirectory") = sPDFPath$
   .cOption("AutosaveFilename") = sPDFName$
   .cOption("AutosaveFormat") = 0 
   .cClearCache
  End With
  
  Set uiDoc = ws.EditDocument(False,Doc,True,"",True,True)
  Call uiDoc.Print(1)
  Call uiDoc.Close(True)
  Set uiDoc = Nothing
  
  If Not isFileCreated(FileName$) Then
   'Foutafhandeling
  End If
  Set Doc = View.GetNextDocument(Doc)
 Loop
 
TheEnd:
 On Error Resume Next
 PDFCreator.cClose
 Set PDFCreator = Nothing
 Exit Sub
 
ErrorHandler:
 Msgbox Lsi_info(2) & " " & Error & " (" & Err & ") op regel " & Erl & "."
 Resume TheEnd
End Sub

 

Function isFileCreated ( filePath As String ) As Boolean
 On Error Goto errorHandler
 Dim counter As Integer
 Dim fSize As Long
 
 isFileCreated = False 
 Do While Dir$(filePath$, 0) = ""
  If counter > 30 Then
   Exit Function
  End If
  Sleep 1
  counter = counter + 1  
 Loop
 
 fSize = Filelen(filePath$)
 Counter = 0
 Do While (Filelen(filePath$) = 0 Or Filelen(filePath$) > fSize)
  fSize = Filelen(filePath$)
  If counter > 30 Then
   Exit Function
  End If
  Sleep 1
  counter = counter + 1  
 Loop
 
 isFileCreated = True
 
 Exit Function
ErrorHandler:
 Msgbox Lsi_info(2) & " " & Error & " (" & Err & ") op regel " & Erl & "."
 Exit Function
 Resume
 
End Function

 

Een voorbeeld om de standaard printer in te stellen staat oa op notes.net

 E-mail Website ICQ MSNM Skype Hyves LinkedIn 
Zoek in afgelopen ok
 
   Overzicht / Lotus Notes Ontwikkeling / Lotusscript  
Pagina 1 van 1 

IBM LOTUS NOTES migratie doet u samen met INECO

Powered by Lotus Domino R8.5.3 on Fedora Core 14 Dit  forum is gemaakt door Intranet &  Network Consultancy. © 2011.
Voor vragen of opmerkingen  kunt u contact opnemen met:  .
Deze site is gemaakt met Lotus Notes R8.5.3 en draait op Fedora Core 14.

INECO Support Contract banner