Drucken ohne Druckerdialog, nur mit bestimmtem Druckertreiber und der Eigenschaftenseite
-
Hi Leute,
Ich hab hier ein verzwicktes Problem:
Ich hab nen Druckertreiber, der mir mein Dokument in eine PDF-Datei schreibt. Das funktioniert auch ganz super, der User kann über Datei -> Drucken den Treiber auswählen, dann auf Eigenschaften klicken, seine Einstellungen machen und dann auf Drucken klicken und die PDF-Datei generieren. Da das ganze aber etwas unkomfortabel ist, wäre es genial, wenn der richtige Treiber automatisch ausgewählt wird und ohne den Drucken-Dialog direkt die Eigenschaften anzeigt. Und nach dem Schließen der Eigenschaften dann direkt druckt.
Habt ihr ne Idee, wie man das realisieren könnte? Bin für jeden Tip dankbar.
-
meinst du systemweit ?
wenn nicht könntest du den dialog in etwa so anpassen das die eigenschaftsseite gleich sichtbar ist.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/userinput/commondialogboxlibrary/usingcommondialogboxes.asp
vorher würde ich den pdf drucker als standart setzen.
-
Nein, ich meine nicht Systemweit, nur in meinem Programm.
Danke für den Link, werd's mir mal anschauen.
-
Hab's leider nicht hinbekommen ... Falls du da nen Code schon hast, wär ich dir dankbar, wenn du den posten könntest ...
-
hab dir auch den falschen link gegeben

nen bsp habe ich leider nicht
-
Das ist der selbe Link wie oben ...
-
dEUs schrieb:
Das ist der selbe Link wie oben ...
dann bin ich es mit meinen zweihundertvierundzwanzig tabs bei meinem mozilla durcheinander gekommen. sorry.
schau mal auf der msdn cd, ich glaub da war ein bsp über den generellen umgang mit den common dialog box templates.
-
Hallo,
Das Anzeigen habe ich inzwischen hinbekommen *freu*HDC hPrnDC; LPDEVMODE lpDevMode = NULL; LPDEVNAMES lpDevNames; HANDLE hPrinter; int nDMSize; HANDLE hDevMode; NPDEVMODE npDevMode; DEVMODE DevModeIn; OpenPrinter("PDF-XChange 3.0",&hPrinter,NULL); // A zero for last param returns the size of buffer needed. nDMSize = DocumentProperties(m_hWnd,hPrinter,"PDF-XChange 3.0",NULL,NULL,0); if ((nDMSize < 0) || !(hDevMode = LocalAlloc (LHND, nDMSize))) return; npDevMode = (NPDEVMODE) LocalLock (hDevMode); // Fill in the rest of the structure. lstrcpy ((char*)DevModeIn.dmDeviceName, "PDF-XChange 3.0"); DevModeIn.dmSpecVersion = 0x300; DevModeIn.dmDriverVersion = 0; DevModeIn.dmSize = sizeof (DevModeIn); DevModeIn.dmDriverExtra = 0; // Display the "Document Properties" dialog box. DocumentProperties(m_hWnd,hPrinter,"PDF-XChange 3.0",npDevMode,&DevModeIn,DM_IN_PROMPT|DM_OUT_BUFFER); LocalUnlock (hDevMode); ClosePrinter(hPrinter);Fehlt nur noch das Drucken an sich
