Drucker API

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
appndown
Beiträge: 9
Registriert: 07.05.2015 21:54

Drucker API

Beitrag von appndown »

Hi,

ich stehe vor einem kleinen Problem...
Ich möchte gerne den Windows Druckdialog aufrufen und dann schon Werte in den Dialog
eintragen und/oder auslesen...
Jemand eine Idee ?

Gruß
Sascha
Benutzeravatar
hjbremer
Beiträge: 822
Registriert: 27.02.2006 22:30
Computerausstattung: von gestern
Wohnort: Neumünster

Re: Drucker API

Beitrag von hjbremer »

http://www.purebasic.fr/english/viewtop ... 7&start=15

damit du eine Vorstellung von deinem kleinen Problem bekommst

es gibt leider bis heute immer noch keine vernünftige Printerlib von PB .

bei all den Beispielen im Forum, viele funktionieren nicht korrekt
Knackpunkt ist meistens der Umgang mit DEVMODE, aber auch abhängig von der PB Version

nächstes Problem, wenn Windows Printdialog, dann drucken komplett mit WindowsApi

ich würde viel Zeit dafür einplanen :D
Purebasic 5.70 x86 5.72 X 64 - Windows 10

Der Computer hat dem menschlichen Gehirn gegenüber nur einen Vorteil: Er wird benutzt
grüße hjbremer
Benutzeravatar
udg
Beiträge: 560
Registriert: 20.06.2013 23:27

Re: Drucker API

Beitrag von udg »

bei einer ähnlichen Suche habe ich das gefunden gehabt:

Code: Alles auswählen

Enumeration
  #myWindow
EndEnumeration
Enumeration
  #myWebGadget
  #Print
  #Preview
EndEnumeration

Enumeration 1
  #OLECMDID_OPEN         
  #OLECMDID_NEW       
  #OLECMDID_SAVE         
  #OLECMDID_SAVEAS           
  #OLECMDID_SAVECOPYAS   
  #OLECMDID_PRINT       
  #OLECMDID_PRINTPREVIEW       
  #OLECMDID_PAGESETUP       
  #OLECMDID_SPELL           
  #OLECMDID_PROPERTIES
  #OLECMDID_CUT         
  #OLECMDID_COPY       
  #OLECMDID_PASTE           
  #OLECMDID_PASTESPECIAL   
  #OLECMDID_UNDO           
  #OLECMDID_REDO         
  #OLECMDID_SELECTALL       
  #OLECMDID_CLEARSELECTION
  #OLECMDID_ZOOM           
  #OLECMDID_GETZOOMRANGE     
  #OLECMDID_UPDATECOMMANDS
  #OLECMDID_REFRESH           
  #OLECMDID_STOP             
  #OLECMDID_HIDETOOLBARS     
  #OLECMDID_SETPROGRESSMAX   
  #OLECMDID_SETPROGRESSPOS
  #OLECMDID_SETPROGRESSTEXT   
  #OLECMDID_SETTITLE         
  #OLECMDID_SETDOWNLOADSTATE
  #OLECMDID_STOPDOWNLOAD     
EndEnumeration

Enumeration 0
  #OLECMDEXECOPT_DODEFAULT     
  #OLECMDEXECOPT_PROMPTUSER       
  #OLECMDEXECOPT_DONTPROMPTUSER   
  #OLECMDEXECOPT_SHOWHELP       
EndEnumeration


Procedure Print_Preview(type)
  WebGadget(#myWebGadget, 0, 0, 0, 0, "")
  HideGadget(#myWebGadget, 1) 
  HTML.s = "<html><head><title>Test</title></head><body>T e s t</body></html>"
  SetGadgetItemText(#myWebGadget, #PB_Web_HtmlCode, HTML)
  WebObject.IWebBrowser2 = GetWindowLong_(GadgetID(#myWebGadget), #GWL_USERDATA)
  Repeat
    While WindowEvent(): Wend
    Delay(1)
    WebObject\get_Busy(@IsBusy.l)
  Until IsBusy = 0   
  WebObject\ExecWB(type, #OLECMDEXECOPT_PROMPTUSER, 0, 0)
  FreeGadget(#myWebGadget)
EndProcedure

OpenWindow(#myWindow, #PB_Any, #PB_Any, 800, 615, "", #PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
 
ButtonGadget(#Preview, 140, 10, 100, 20, "Print_Preview")

Repeat
  EventID = WaitWindowEvent()
  Select EventID
    Case  #PB_Event_Gadget
      Select EventGadget()
        Case #Preview
          Print_Preview(#OLECMDID_PRINTPREVIEW)
        Case #Print
          Print_Preview(#OLECMDID_PRINT)         
      EndSelect
  EndSelect       
Until EventID = #PB_Event_CloseWindow
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE! TOP. Kauft Eure Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
Benutzeravatar
dige
Beiträge: 1182
Registriert: 08.09.2004 08:53

Re: Drucker API

Beitrag von dige »

Interessanter Workaround! Mal schauen ob das auch zum drucken von Bilder geignet ist :-)
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."
Benutzeravatar
udg
Beiträge: 560
Registriert: 20.06.2013 23:27

Re: Drucker API

Beitrag von udg »

Ich hoffe auch, dass ich damit mein Bild gedruckt bekomme.
Also, Druckvorschau, und dann drucken.

Mit Text funktioniert der obige Code prima.
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE! TOP. Kauft Eure Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
Benutzeravatar
udg
Beiträge: 560
Registriert: 20.06.2013 23:27

Re: Drucker API

Beitrag von udg »

dige hat geschrieben:Interessanter Workaround! Mal schauen ob das auch zum drucken von Bilder geignet ist :-)
http://www.purebasic.fr/german/viewtopi ... 97#p343397
PB v5.43 LTS + v6.02 LTS | Windows 7 x86 + 11 x64 - Gforce RTX 4090 - AMD Ryzen 9 5900X 12-Core Processor 4.2 GHz - 64,0 GB RAM,
ASUSTEK TUF Gaming X570 Plus
ASUS ROG Thor-1200P Platinum (1200W, Aura Sync, OLED Display, 0dB-Cooling)
1x 1 TByte Samsung MZ-V7S500BW 970 EVO Plus 1 TB NVMe M.2 Internal SSD
1x 2 TByte Samsung MZ-V7S2T0BW 970 EVO Plus 2 TB NVMe M.2 Internal SSD
von BiSONTE! TOP. Kauft Eure Hardware gern bei ihm.
Monitor:
LG 38GL950G-B 95 (38 Zoll) Ultragear Curved 21: 9 UltraWide QHD IPS
Benutzeravatar
marcelx
Beiträge: 424
Registriert: 19.02.2010 20:19
Wohnort: Darmstadt

Re: Drucker API

Beitrag von marcelx »

siehe
http://www.purebasic.fr/german/viewtopi ... 16&t=30225
@dige
mit Bilder geht es auch:
http://www.purebasic.fr/german/viewtopi ... 16&t=30462

__________________________________________________
Domains angepasst
24.12.2017
RSBasic
Win-10, PB 5.31 (Windows - x86)
Antworten