Domino 9 und frühere Versionen > Entwicklung

Drucken aus LScript

<< < (2/4) > >>

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