Printer DevMode
-
אני עדיין שונא את זה.
כאן אני פותח את חלון ההגדרות של המדפסת:private void OpenPrinterPropertiesDialog(PrinterSettings printerSettings) { IntPtr hDevMode = printerSettings.GetHdevmode(printerSettings.DefaultPageSettings); IntPtr pDevMode = GlobalLock(hDevMode); int sizeNeeded = DocumentProperties(this.Handle, IntPtr.Zero, printerSettings.PrinterName, pDevMode, ref pDevMode, 0); IntPtr devModeData = Marshal.AllocHGlobal(sizeNeeded); DocumentProperties(this.Handle, IntPtr.Zero, printerSettings.PrinterName, devModeData, ref pDevMode, 14); //Create a byte array to store Devmode settings. byte[] bytearray = new byte[sizeNeeded]; //Copy the contents of Devmode to the byte array. Marshal.Copy(devModeData, bytearray, 0, sizeNeeded); //Save the settings to disk. File.WriteAllBytes(txtSaveAs.Text+ ".bin", bytearray); GlobalUnlock(hDevMode); printerSettings.SetHdevmode(devModeData); printerSettings.DefaultPageSettings.SetHdevmode(devModeData); h = devModeData; GlobalFree(hDevMode); Marshal.FreeHGlobal(devModeData); }
אני יכול להשתמש במה ששמרתי לצורך הגדרה של הדפסה.
לדוג' 2 עמודים בגליון. גודל נייר ועוד.
השאלה היא איך אני טוען את מה ששמרתי שיוצג שוב בחלון ההגדרה?
אני צריך איכשהו לקרוא ל DocumentProperties ולספק לו את הDevMode הדרוש.
AnyHelp?
עיינו כאן:וכאן:
פורסם במקור בפורום CODE613 ב07/11/2017 01:17 (+02:00)
-
לא הבנתי מה אתה שונא.
עיין כאן:
https://www.codeproject.com/Articles/488737/Storing-and-recalling-printer-settings-in-Csharp-n
או פה
https://stackoverflow.com/a/28007555/127103פורסם במקור בפורום CODE613 ב07/11/2017 01:31 (+02:00)