Domino 9 und frühere Versionen > Entwicklung
Drucken aus LScript
koehlerbv:
So aus dem tiefsten Hinterkopf: In der Sandkiste gibt eine DB, "API Goodies", glaube ich. Könnte als Ansatz dienen.
A-Bär: Der Wechsel des Druckertreibers ist ja auch in Windows eine UI-Funktionalität, und sicher aus gutem Grunde. Ich habe da auch schon mal gebastelt, aber sehr schnell aufgegeben.
Ich kann daher Semeaphoros nur zustimmen ...
Bernhard
Don Pasquale:
@Semaphor
oh Hölle, das wird mein cheffe gar nicht gerne hören.
Ich komme ja schon oft genug mit dem Argument
das geht mit Lotus nicht.
Danke für die Warnung.
Damit ich aber fundiert genug "Geht nicht" sagen kann,
wie würde denn ein Druckaufruf über die API aussehen.
Ein "Ich weiß zwar nicht wie´s gehen sollte,
aber ich weiss ja, dass es eh nicht geht"
kommt nun überhaupt nicht gut.
Ciao
Don Pasquale
Glombi:
Hier was aus der LDD dazu:
http://www-10.lotus.com/ldd/46dom.nsf/55c38d716d632d9b8525689b005ba1c0/b3450128589c85ef85256c0e001d56e6?OpenDocument&Highlight=0,default,printer
Quelle:
http://www-10.lotus.com/ldd/nd6forum.nsf/55c38d716d632d9b8525689b005ba1c0/41699efb912da4b785256d9e00621a58?OpenDocument
Don Pasquale:
@Glombi:
Herzlichen Dank,
das schaut doch schon sehr brauchbar aus.
Ich habe aber noch ein Problem, nämlich die Fehlermeldung :
External Function not Found
Der Fehler passiert wenn er SetDefaultPrinter aufruft.
In den Options habe ich folgende Zeile
Declare Function SetDefaultPrinter Lib "winspool.drv" Alias "SetDefaultPrinterA" (Byval pszPrinter As String) As Long
Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (Byval lpAppName As String, Byval lpKeyName As String, Byval lpDefault As String, Byval lpReturnedString As String, Byval nSize As Long) As Long
Die winspool.drv befindet ebenfalls im System Verzeichnis von Windows
Das ist der Code
Function PrintToPDF
Dim CurPrinter As String
Dim retval As Long
CurPrinter = GetCurrentPrinter
??? retval = SetDefaultPrinter("FinePrint 2000") ' you will enter here the full name of the printer, including the server if printer is on network; you can find the name by looking at printer options in any printing menu, say, in Word;
If retval <> 0 Then
Msgbox "This document is now transferred to PDF format.", 64, "PDF action"
'the message box is a necessary trick to interrupt execution for printer swapping. The doc will print on the old printer if this interruption is not in place; you can replace it with a Yes/No box:
'flag = Msgbox ("Do you want to store this document as PDF?", 4 + 32, "PDF action")
'If flag = 7 Then
'Call SetDefaultPrinter(CurPrinter)
'Exit Function
'End If
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = ws.CurrentDocument
Call uidoc.Print(1,,,)
Else
Msgbox "Cannot create PDF compatible printer driver"
End If
Call SetDefaultPrinter(CurPrinter)
End Function
Hat jemand eine Idee ?
Ciao
Don Pasquale
koehlerbv:
Was für ein OS verwendest Du denn ? Die Routinen von LDD waren ja für Windows 2000 ...
Womit wir evtl. wieder bei dem Punkt sind, den Semeaphoros schon erwähnte ...
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln