imgprint.gpd
上传用户:looem2003
上传日期:2014-07-20
资源大小:13733k
文件大小:10k
源码类别:

打印编程

开发平台:

Visual C++

  1. *% 
  2. *% 
  3. *% 
  4. *GPDSpecVersion: "1.0"
  5. *GPDFileName: "imgprint.gpd"
  6. *GPDFileVersion: "1.0"       
  7. *Include: "StdNames.gpd"
  8. *ModelName: "ImagePrinter"
  9. *MasterUnits: PAIR(1200, 1200)
  10. *ResourceDLL: "unires.dll"
  11. *PrintRate: 2
  12. *PrintRatePPM: 2
  13. *PrintRateUnit: PPM
  14. *PrinterType: PAGE
  15. *rcInstalledOptionNameID:    443 *% Installed
  16. *rcNotInstalledOptionNameID: 444 *% Not Installed
  17. *MaxCopies: 99
  18. *OutputOrderReversed?: FALSE
  19. *Feature: Orientation
  20. {
  21.     *rcNameID: =ORIENTATION_DISPLAY
  22.     *DefaultOption: PORTRAIT
  23.     *Option: PORTRAIT
  24.     {
  25.         *rcNameID: =PORTRAIT_DISPLAY
  26.         *Command: CmdSelect
  27.         {
  28.             *Order: DOC_SETUP.6
  29.             *Cmd: "<1B>&l0O"
  30.         }
  31.     }
  32.     *Option: LANDSCAPE_CC90
  33.     {
  34.         *rcNameID: =LANDSCAPE_DISPLAY
  35.         *Command: CmdSelect
  36.         {
  37.             *Order: DOC_SETUP.6
  38.             *Cmd: "<1B>&l1O"
  39.         }
  40.     }
  41. }
  42. *Feature: InputBin
  43. {
  44.     *rcNameID: =PAPER_SOURCE_DISPLAY
  45.     *DefaultOption: MANUAL
  46.     *Option: MANUAL
  47.     {
  48.         *rcNameID: =MANUAL_FEED_DISPLAY
  49.         *Command: CmdSelect
  50.         {
  51.             *Order: DOC_SETUP.9
  52.             *Cmd: "<1B>&l2H"
  53.         }
  54.     }
  55. }
  56. *Feature: PaperSize
  57. {
  58.     *rcNameID: =PAPER_SIZE_DISPLAY
  59.     *DefaultOption: A4
  60.     *Option: A4
  61.     {
  62.         *rcNameID: =RCID_DMPAPER_SYSTEM_NAME
  63.         *PageProtectMem: 4249
  64.         *switch: Orientation
  65.         {
  66.             *case: PORTRAIT
  67.             {
  68.                 *PrintableArea: PAIR(9274, 12778)
  69.                 *PrintableOrigin: PAIR(300, 600)
  70.                 *switch: Resolution
  71.                 {
  72.                     *case: Option2
  73.                     {
  74.                         *PrintableArea: PAIR(9272, 12776)
  75.                     }
  76.                 }
  77.                 *CursorOrigin: PAIR(300, 180)
  78.                 *Command: CmdSelect
  79.                 {
  80.                     *Order: DOC_SETUP.10
  81.                     *Cmd: "<1B>&l26a8c1E<1B>*p0x0Y<1B>*c0t5594x8201Y"
  82.                 }
  83.             }
  84.             *case: LANDSCAPE_CC90
  85.             {
  86.                 *PrintableArea: PAIR(9444, 12728)
  87.                 *PrintableOrigin: PAIR(230, 650)
  88.                 *switch: Resolution
  89.                 {
  90.                     *case: Option2
  91.                     {
  92.                         *PrintableArea: PAIR(9440, 12724)
  93.                         *PrintableOrigin: PAIR(232, 652)
  94.                     }
  95.                 }
  96.                 *CursorOrigin: PAIR(200, 13788)
  97.                 *Command: CmdSelect
  98.                 {
  99.                     *Order: DOC_SETUP.10
  100.                     *Cmd: "<1B>&l26a8c1e-500Z<1B>*p0x0Y<1B>*c0t8129x5714Y"
  101.                 }
  102.             }
  103.         }
  104.     }
  105.     *Option: CUSTOMSIZE
  106.     {
  107.         *rcNameID: =USER_DEFINED_SIZE_DISPLAY
  108.         *MinSize: PAIR(4680, 9000)
  109.         *MaxSize: PAIR(14040, 32767)
  110.         *MaxPrintableWidth: 14040
  111.         *MinLeftMargin: 100
  112.         *CenterPrintable?: TRUE
  113.         *PageProtectMem: 1692
  114.         *switch: Orientation
  115.         {
  116.             *case: PORTRAIT
  117.             {
  118.                 *Command: CmdSelect
  119.                 {
  120.                     *Order: DOC_SETUP.12
  121.                     *Cmd: "<1B>&l101a4d1e" %d{((PhysPaperWidth - 14040) / 20) }"u" %d{(PhysPaperLength / 300) - 1}
  122. + "F<1B>*p0x0Y<1B>*p0x0Y<1B>*c0t" %d{(((PhysPaperWidth - 598) * 6) / 10) }"x" %d{(((PhysPaperLength - 440) * 6) / 10) }
  123. + "Y"
  124.                 }
  125.             }
  126.             *case: LANDSCAPE_CC90
  127.             {
  128.                 *Command: CmdSelect
  129.                 {
  130.                     *Order: DOC_SETUP.12
  131.                     *Cmd: "<1B>&l101a4d1e" %d{(PhysPaperLength / 300) - 1}"f" %d{((PhysPaperWidth - 14040) / 20) + 10}
  132. + "u" %d{(((PhysPaperLength - 21240) * 6) / 10) + 10}"Z<1B>*p0x0Y<1B>*c0t" %d{(((PhysPaperLength - 600) * 6) / 10) }
  133. + "x" %d{(((PhysPaperWidth - 600) * 6) / 10) }"Y"
  134.                 }
  135.             }
  136.         }
  137.     }
  138. }
  139. *Feature: Resolution
  140. {
  141.     *rcNameID: =RESOLUTION_DISPLAY
  142.     *DefaultOption: Option2
  143.     *Option: Option1
  144.     {
  145.         *Name: "600 x 600 " =DOTS_PER_INCH
  146.         *DPI: PAIR(600, 600)
  147.         *TextDPI: PAIR(600, 600)
  148.         *MinStripBlankPixels: 32
  149.         *SpotDiameter: 100
  150.         *Command: CmdBeginRaster { *Cmd : "<1B>*r1A" }
  151.         *Command: CmdEndRaster { *Cmd : "<1B>*rB" }
  152.         *Command: CmdSelect
  153.         {
  154.             *Order: DOC_SETUP.4
  155.             *Cmd: "@PJL SET RESOLUTION=600<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t600R"
  156.         }
  157.     }
  158.     *Option: Option2
  159.     {
  160.         *Name: "300 x 300 " =DOTS_PER_INCH
  161.         *DPI: PAIR(300, 300)
  162.         *TextDPI: PAIR(300, 300)
  163.         *MinStripBlankPixels: 32
  164.         *SpotDiameter: 140
  165.         *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
  166.         *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
  167.         *Command: CmdSelect
  168.         {
  169.             *Order: DOC_SETUP.4
  170.             *Cmd: "@PJL SET RESOLUTION=300<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t300R"
  171.         }
  172.     }
  173.     *Option: Option3
  174.     {
  175.         *Name: "200 x 200 " =DOTS_PER_INCH
  176.         *DPI: PAIR(200, 200)
  177.         *TextDPI: PAIR(200, 200)
  178.         *MinStripBlankPixels: 32
  179.         *SpotDiameter: 100
  180.         *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
  181.         *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
  182.         *Command: CmdSelect
  183.         {
  184.             *Order: DOC_SETUP.4
  185.             *Cmd: "@PJL SET RESOLUTION=200<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t200R"
  186.         }
  187.     }
  188.     *Option: Option4
  189.     {
  190.         *Name: "100 x 100 " =DOTS_PER_INCH
  191.         *DPI: PAIR(100, 100)
  192.         *TextDPI: PAIR(100, 100)
  193.         *MinStripBlankPixels: 32
  194.         *SpotDiameter: 100
  195.         *Command: CmdBeginRaster { *Cmd : "<1B>*v7S<1B>*r1A" }
  196.         *Command: CmdEndRaster { *Cmd : "<1B>*rC" }
  197.         *Command: CmdSelect
  198.         {
  199.             *Order: DOC_SETUP.4
  200.             *Cmd: "@PJL SET RESOLUTION=100<0A>@PJL ENTER LANGUAGE=PCL<0A0D1B>E<1B>*t100R"
  201.         }
  202.     }
  203. }
  204. *Feature: ColorMode
  205. {
  206.     *rcNameID: =COLOR_PRINTING_MODE_DISPLAY
  207.     *DefaultOption: 24bpp
  208.     
  209.     *Option: 24bpp
  210.     {
  211.         *rcNameID: =24BPP_DISPLAY
  212.         *DevNumOfPlanes: 1
  213.         *DevBPP: 24
  214.         *DrvBPP: 24
  215.         *PaletteSize: 256
  216.         *PaletteProgrammable? : FALSE
  217.         *Command: CmdSetSrcBmpWidth { *Cmd : "<1B>*r" %d{RasterDataWidthInBytes / 3}"S" }
  218.         *Command: CmdSelect
  219.         {
  220.             *Order: DOC_SETUP.16
  221.             *Cmd: "<1B>*v1N<1B>*v1O<1B>*l184O<1B>*t13J<1B>*v18W<00030808080800FF00FF00FF0000000000>"
  222. + "<001B>*v0a0b0c7i255a255b255c0I"
  223.         }
  224.     }
  225. *Option: Mono
  226.     {
  227.         *rcNameID: =MONO_DISPLAY
  228.         *DevNumOfPlanes: 1
  229.         *DevBPP: 24
  230.         *DrvBPP: 24
  231.         *PaletteSize: 256
  232.         *PaletteProgrammable? : FALSE
  233.         *Command: CmdSetSrcBmpWidth { *Cmd : "<1B>*r" %d{RasterDataWidthInBytes / 3}"S" }
  234.         *Command: CmdSelect
  235.         {
  236.             *Order: DOC_SETUP.16
  237.             *Cmd: "<1B>*v1N<1B>*v1O<1B>*l184O<1B>*t13J<1B>*v18W<00030808080800FF00FF00FF0000000000>"
  238. + "<001B>*v0a0b0c7i255a255b255c0I"
  239.         }
  240.     }
  241. }
  242. *Command: CmdStartDoc
  243. {
  244.     *Order: DOC_SETUP.5
  245.     *Cmd: "<1B>&u600D<1B>*r0F"
  246. }
  247. *Command: CmdStartPage
  248. {
  249.     *Order: PAGE_SETUP.1
  250.     *Cmd: "<1B>*b0M<0D>"
  251. }
  252. *Command: CmdEndJob
  253. {
  254.     *Order: JOB_FINISH.1
  255.     *Cmd: "<1B>E<1B>%%-12345X"
  256. }
  257. *RotateCoordinate?: TRUE
  258. *RotateRaster?: TRUE
  259. *RotateFont?: TRUE
  260. *TextCaps: LIST(TC_CR_90,TC_UA_ABLE)
  261. *CursorXAfterCR: AT_PRINTABLE_X_ORIGIN
  262. *BadCursorMoveInGrxMode: LIST(X_PORTRAIT,Y_LANDSCAPE)
  263. *XMoveThreshold: 0
  264. *YMoveThreshold: 0
  265. *XMoveUnit: 600
  266. *YMoveUnit: 600
  267. *Command: CmdXMoveAbsolute { *Cmd : "<1B>*p" %d{(DestX / 2) }"X" }
  268. *Command: CmdXMoveRelRight { *Cmd : "<1B>*p+" %d[0,9600]{max_repeat((DestXRel / 2) )}"X" }
  269. *Command: CmdXMoveRelLeft { *Cmd : "<1B>*p-" %d[0,9600]{max_repeat((DestXRel / 2) )}"X" }
  270. *Command: CmdYMoveAbsolute { *Cmd : "<1B>*p" %d{(DestY / 2) }"Y" }
  271. *Command: CmdYMoveRelDown { *Cmd : "<1B>*p+" %d{(DestYRel / 2) }"Y" }
  272. *Command: CmdYMoveRelUp { *Cmd : "<1B>*p-" %d{(DestYRel / 2) }"Y" }
  273. *Command: CmdCR { *Cmd : "<0D>" }
  274. *Command: CmdLF { *Cmd : "<0A>" }
  275. *Command: CmdFF { *Cmd : "<0C>" }
  276. *Command: CmdBackSpace { *Cmd : "<08>" }
  277. *Command: CmdUniDirectionOn { *Cmd : "<00>" }
  278. *Command: CmdUniDirectionOff { *Cmd : "<00>" }
  279. *Command: CmdPushCursor { *Cmd : "<1B>&f0S" }
  280. *Command: CmdPopCursor { *Cmd : "<1B>&f1S" }
  281. *Command: CmdSetSimpleRotation { *Cmd : "<1B>&a" %d{PrintDirInCCDegrees}"P" }
  282. *EjectPageWithFF?: TRUE
  283. *Command: CmdSelectBlackColor { *Cmd : "<1B>*v7S" }
  284. *Command: CmdSelectRedColor { *Cmd : "<1B>*v6S" }
  285. *Command: CmdSelectGreenColor { *Cmd : "<1B>*v5S" }
  286. *Command: CmdSelectYellowColor { *Cmd : "<1B>*v4S" }
  287. *Command: CmdSelectBlueColor { *Cmd : "<1B>*v3S" }
  288. *Command: CmdSelectMagentaColor { *Cmd : "<1B>*v2S" }
  289. *Command: CmdSelectCyanColor { *Cmd : "<1B>*v1S" }
  290. *Command: CmdSelectWhiteColor { *Cmd : "<1B>*v0S" }
  291. *Command: CmdDefinePaletteEntry { *Cmd : "<1B>*v" %d{RedValue}"a" %d{GreenValue}"b" %d{BlueValue}"c" %d{PaletteIndexToProgram}
  292. + "I" }
  293. *Command: CmdSelectPaletteEntry { *Cmd : "<1B>*v" %d{CurrentPaletteIndex}"S" }
  294. *%*Command: CmdEnableTIFF4 { *Cmd : "<1B>*b2M" }
  295. *Command: CmdDisableCompression { *Cmd : "<1B>*b0M" }
  296. *%*Command: CmdEnableDRC { *Cmd : "<1B>*b3M" }
  297. *OutputDataFormat: H_BYTE
  298. *%*OptimizeLeftBound?: TRUE
  299. *%*StripBlanks: LIST(ENCLOSED,TRAILING)
  300. *Command: CmdSendBlockData { *Cmd : "<1B>*b" %d{NumOfDataBytes}"W" }
  301. *CursorXAfterSendBlockData: AT_GRXDATA_ORIGIN
  302. *CursorYAfterSendBlockData: AUTO_INCREMENT
  303. *RasterSendAllData? : TRUE
  304. *DefaultFont: 136
  305. *DefaultCTT: 0
  306. *CharPosition: BASELINE
  307. *TTFSEnabled?: TRUE
  308. *MinFontID: 16534
  309. *MaxFontID: 32768
  310. *FontFormat: H_BYTE
  311. *%*Command: CmdSetFontID { *Cmd : "<1B>*c" %d{NextFontID}"D" }
  312. *%*Command: CmdSelectFontID { *Cmd : "<1B>(" %d{CurrentFontID}"X" }
  313. *%*Command: CmdSetCharCode { *Cmd : "<1B>*c" %d{NextGlyph}"E" }
  314. *%*Command: CmdUnderlineOn { *Cmd : "<1B>&dD" }
  315. *Command: CmdUnderlineOff { *Cmd : "<1B>&d@" }
  316. *Command: CmdWhiteTextOn { *Cmd : "<1B>*v1o1T" }
  317. *Command: CmdWhiteTextOff { *Cmd : "<1B>*v0o0T" }
  318. *MinGrayFill: 1
  319. *MaxGrayFill: 100
  320. *Command: CmdSetRectWidth { *Cmd : "<1B>*c" %d{(RectXSize / 2) }"A" }
  321. *Command: CmdSetRectHeight { *Cmd : "<1B>*c" %d{(RectYSize / 2) }"B" }
  322. *Command: CmdRectGrayFill { *Cmd : "<1B>*c" %d{GrayPercentage }"g2P" }
  323. *Command: CmdRectWhiteFill { *Cmd : "<1B>*c1P" }
  324. *Command: CmdRectBlackFill { *Cmd : "<1B>*c0P" }