home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_2464 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  2.5 KB  |  61 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import win32print
  5. import pywintypes
  6. import win32con
  7. import win32gui
  8. import win32api
  9. pname = win32print.GetDefaultPrinter()
  10. print pname
  11. p = win32print.OpenPrinter(pname)
  12. print 'Printer handle: ', p
  13. print_processor = win32print.GetPrinter(p, 2)['pPrintProcessor']
  14. dmsize = win32print.DocumentProperties(0, p, pname, None, None, 0)
  15. driverextra = dmsize - pywintypes.DEVMODEType().Size
  16. dm = pywintypes.DEVMODEType(driverextra)
  17. dm.Fields = dm.Fields | win32con.DM_ORIENTATION | win32con.DM_COPIES
  18. dm.Orientation = win32con.DMORIENT_LANDSCAPE
  19. dm.Copies = 2
  20. win32print.DocumentProperties(0, p, pname, dm, dm, win32con.DM_IN_BUFFER | win32con.DM_OUT_BUFFER)
  21. pDC = win32gui.CreateDC(print_processor, pname, dm)
  22. printerwidth = win32print.GetDeviceCaps(pDC, win32con.PHYSICALWIDTH)
  23. printerheight = win32print.GetDeviceCaps(pDC, win32con.PHYSICALHEIGHT)
  24. hwnd = win32gui.GetDesktopWindow()
  25. (l, t, r, b) = win32gui.GetWindowRect(hwnd)
  26. desktopheight = b - t
  27. desktopwidth = r - l
  28. dDC = win32gui.GetWindowDC(hwnd)
  29. dcDC = win32gui.CreateCompatibleDC(dDC)
  30. dcBM = win32gui.CreateCompatibleBitmap(dDC, desktopwidth, desktopheight)
  31. win32gui.SelectObject(dcDC, dcBM)
  32. win32gui.StretchBlt(dcDC, 0, 0, desktopwidth, desktopheight, dDC, 0, 0, desktopwidth, desktopheight, win32con.SRCCOPY)
  33. pcDC = win32gui.CreateCompatibleDC(pDC)
  34. pcBM = win32gui.CreateCompatibleBitmap(pDC, printerwidth, printerheight)
  35. win32gui.SelectObject(pcDC, pcBM)
  36. win32gui.StretchBlt(pcDC, 0, 0, printerwidth, printerheight, dcDC, 0, 0, desktopwidth, desktopheight, win32con.SRCCOPY)
  37. win32print.StartDoc(pDC, ('desktop.bmp', None, None, 0))
  38. win32print.StartPage(pDC)
  39. win32gui.StretchBlt(pDC, 0, 0, int(printerwidth * 0.9), int(printerheight * 0.9), pcDC, 0, 0, printerwidth, printerheight, win32con.SRCCOPY)
  40. font = win32gui.LOGFONT()
  41. font.lfHeight = int(printerheight / 20)
  42. font.lfWidth = font.lfHeight
  43. font.lfWeight = 150
  44. font.lfItalic = 1
  45. font.lfUnderline = 1
  46. hf = win32gui.CreateFontIndirect(font)
  47. win32gui.SelectObject(pDC, hf)
  48. win32gui.SetBkMode(pDC, win32con.TRANSPARENT)
  49. win32gui.SetTextColor(pDC, win32api.RGB(0, 255, 0))
  50. win32gui.DrawText(pDC, 'Printed by Python!', -1, (0, 0, int(printerwidth * 0.9), int(printerheight * 0.9)), win32con.DT_RIGHT | win32con.DT_BOTTOM | win32con.DT_SINGLELINE)
  51. win32print.EndPage(pDC)
  52. win32print.EndDoc(pDC)
  53. win32print.ClosePrinter(p)
  54. win32gui.DeleteObject(dcBM)
  55. win32gui.DeleteObject(pcBM)
  56. win32gui.DeleteObject(hf)
  57. win32gui.DeleteDC(dDC)
  58. win32gui.DeleteDC(dcDC)
  59. win32gui.DeleteDC(pDC)
  60. win32gui.DeleteDC(pcDC)
  61.