//--------------------------------------------------------------------// // M e t h o d // // g e n e r a t e P a g e // //--------------------------------------------------------------------// // // // Write individual test data page sequences to output file. // // // //--------------------------------------------------------------------// private static void generatePage(BinaryWriter prnWriter, Int32 indxPaperSize, Int32 indxPaperType, Int32 indxOrientation, Boolean formAsMacro, Boolean stdPage, UInt16 paperWidth, UInt16 paperLength, UInt16 logXOffset, Int16 logLeftOffset, Int16 logTopOffset, UInt16 logPageWidth, UInt16 logPageHeight) { const UInt16 dcptsPerInch = 720; const Double unitsToInches = (1.00 / _unitsPerInch); const Double unitsToMilliMetres = (25.4 / _unitsPerInch); const Double dcptsToInches = (1.00 / dcptsPerInch); const Double dcptsToMilliMetres = (25.4 / dcptsPerInch); Int16 posX, posY; Int16 lineInc, ptSize; //----------------------------------------------------------------// if (formAsMacro) { PCLWriter.macroControl(prnWriter, _macroId, PCLWriter.eMacroControl.Call); } else { generateOverlay(prnWriter, false, paperWidth, paperLength, logXOffset); } //----------------------------------------------------------------// // // // Header. // // // //----------------------------------------------------------------// ptSize = 15; PCLWriter.font(prnWriter, true, "19U", "s1p" + ptSize + "v0s0b16602T"); posX = (Int16)(_posXDesc - logXOffset); posY = _posYHddr; if (stdPage) { PCLWriter.text(prnWriter, posX, posY, 0, "PCL Standard Logical Page sample"); } else { PCLWriter.text(prnWriter, posX, posY, 0, "PCL Define Logical Page sample"); } //----------------------------------------------------------------// // // // Paper description data. // // // //----------------------------------------------------------------// ptSize = 10; lineInc = _rulerDiv * 2; PCLWriter.font(prnWriter, true, "19U", "s0p" + (120 / ptSize) + "h0s3b4099T"); posX = (Int16)((_posXDesc + (_rulerCell * 2)) - logXOffset); posY = _posYDesc; PCLWriter.text(prnWriter, posX, posY, 0, PCLPaperSizes.getName(indxPaperSize)); posY += lineInc; PCLWriter.text(prnWriter, posX, posY, 0, PCLOrientations.getName(indxOrientation)); posY += lineInc; PCLWriter.text(prnWriter, posX, posY, 0, (paperWidth * unitsToMilliMetres).ToString("F0") + "mm = " + (paperWidth * unitsToInches).ToString("F2") + "\""); posY += lineInc; PCLWriter.text(prnWriter, posX, posY, 0, (paperLength * unitsToMilliMetres).ToString("F0") + "mm = " + (paperLength * unitsToInches).ToString("F2") + "\""); if (stdPage) { posY += lineInc; PCLWriter.text(prnWriter, posX, posY, 0, "standard"); posY += lineInc; PCLWriter.text(prnWriter, posX, posY, 0, "standard"); posY += lineInc; PCLWriter.text(prnWriter, posX, posY, 0, "standard"); posY += lineInc; PCLWriter.text(prnWriter, posX, posY, 0, "standard"); PCLWriter.formFeed(prnWriter); } else { posY += lineInc; PCLWriter.text(prnWriter, posX, posY, 0, logLeftOffset.ToString("F0") + " decipoints = " + (logLeftOffset * dcptsToMilliMetres).ToString("F0") + "mm = " + (logLeftOffset * dcptsToInches).ToString("F2") + "\""); posY += lineInc; PCLWriter.text(prnWriter, posX, posY, 0, logTopOffset.ToString("F0") + " decipoints = " + (logTopOffset * dcptsToMilliMetres).ToString("F0") + "mm = " + (logTopOffset * dcptsToInches).ToString("F2") + "\""); posY += lineInc; PCLWriter.text(prnWriter, posX, posY, 0, logPageWidth.ToString("F0") + " decipoints = " + (logPageWidth * dcptsToMilliMetres).ToString("F0") + "mm = " + (logPageWidth * dcptsToInches).ToString("F2") + "\""); posY += lineInc; PCLWriter.text(prnWriter, posX, posY, 0, logPageHeight.ToString("F0") + " decipoints = " + (logPageHeight * dcptsToMilliMetres).ToString("F0") + "mm = " + (logPageHeight * dcptsToInches).ToString("F2") + "\""); } }
//--------------------------------------------------------------------// // M e t h o d // // g e n e r a t e P a g e // //--------------------------------------------------------------------// // // // Write individual test data page sequences to output file. // // // //--------------------------------------------------------------------// private static void generatePage(BinaryWriter prnWriter, Int32 pageNo, Int32 pageCount, Int32 indxPaperSize, Int32 indxPaperType, Int32 indxPaperTray, Int32 indxPlexMode, Int32 indxOrientFront, Int32 indxOrientRear, Int16 macroIdFront, Int16 macroIdRear, Single scaleFactor, Boolean formAsMacro) { Int16 posX, posY, posYInc; Int32 pitchMain = (Int32)(6 / scaleFactor); Boolean simplex = PCLPlexModes.isSimplex(indxPlexMode); PCLWriter.pageHeader(prnWriter, indxPaperSize, indxPaperType, indxOrientFront, indxPlexMode); if (indxPaperTray != -1) { PCLWriter.paperSource(prnWriter, (Int16)indxPaperTray); } if (!simplex) { PCLWriter.pageFace(prnWriter, true); } if (formAsMacro) { PCLWriter.macroControl(prnWriter, macroIdFront, PCLWriter.eMacroControl.Call); } else { generateOverlayFront(prnWriter, false, _noForm, scaleFactor); } //----------------------------------------------------------------// posYInc = (Int16)(scaleFactor * _posYIncMain); posX = (Int16)((scaleFactor * _posXValue) - _logPageOffset); posY = (Int16)((scaleFactor * _posYDesc)); PCLWriter.font(prnWriter, true, "19U", "s0p" + pitchMain + "h0s3b4099T"); if (simplex) { PCLWriter.text(prnWriter, posX, posY, 0, pageNo.ToString() + " of " + pageCount.ToString()); } else { PCLWriter.text(prnWriter, posX, posY, 0, pageNo.ToString() + " of " + pageCount.ToString()); } //----------------------------------------------------------------// posY += posYInc; if (indxPaperSize >= PCLPaperSizes.getCount()) { PCLWriter.text(prnWriter, posX, posY, 0, "*** unknown ***"); } else { PCLWriter.text(prnWriter, posX, posY, 0, PCLPaperSizes.getName(indxPaperSize)); } //----------------------------------------------------------------// posY += posYInc; if (indxPaperType >= PCLPaperTypes.getCount()) { PCLWriter.text(prnWriter, posX, posY, 0, "*** unknown ***"); } else if (PCLPaperTypes.getType(indxPaperType) == PCLPaperTypes.eEntryType.NotSet) { PCLWriter.text(prnWriter, posX, posY, 0, "<not set>"); } else { PCLWriter.text(prnWriter, posX, posY, 0, PCLPaperTypes.getName(indxPaperType)); } //----------------------------------------------------------------// posY += posYInc; if (indxPlexMode >= PCLPlexModes.getCount()) { PCLWriter.text(prnWriter, posX, posY, 0, "*** unknown ***"); } else { PCLWriter.text(prnWriter, posX, posY, 0, PCLPlexModes.getName(indxPlexMode)); } //----------------------------------------------------------------// posY += posYInc; if (indxOrientFront >= PCLOrientations.getCount()) { PCLWriter.text(prnWriter, posX, posY, 0, "*** unknown ***"); } else { PCLWriter.text(prnWriter, posX, posY, 0, PCLOrientations.getName(indxOrientFront)); } //----------------------------------------------------------------// posY += posYInc; if (indxPaperTray == PCLTrayDatas.getIdNotSetPCL()) { PCLWriter.text(prnWriter, posX, posY, 0, "<not set>"); } else if (indxPaperTray == _trayIdAutoSelectPCL) { PCLWriter.text(prnWriter, posX, posY, 0, indxPaperTray.ToString() + " (auto-select)"); } else { PCLWriter.text(prnWriter, posX, posY, 0, indxPaperTray.ToString()); } //----------------------------------------------------------------// // // // Rear face (if not simplex) // // // //----------------------------------------------------------------// if (!simplex) { if (indxOrientRear != indxOrientFront) { PCLWriter.pageOrientation( prnWriter, PCLOrientations.getIdPCL(indxOrientRear).ToString()); } PCLWriter.pageFace(prnWriter, false); if (formAsMacro) { PCLWriter.macroControl(prnWriter, macroIdRear, PCLWriter.eMacroControl.Call); } else { generateOverlayRear(prnWriter, false, _noForm, scaleFactor); } //----------------------------------------------------------------// posX = (Int16)((scaleFactor * _posXValue) - _logPageOffset); posY = (Int16)(scaleFactor * _posYDesc); PCLWriter.font(prnWriter, true, "19U", "s0p" + pitchMain + "h0s3b4099T"); PCLWriter.text(prnWriter, posX, posY, 0, pageNo.ToString() + " (rear) of " + pageCount.ToString()); //----------------------------------------------------------------// posY += (Int16)(posYInc * 4); if (indxOrientRear >= PCLOrientations.getCount()) { PCLWriter.text(prnWriter, posX, posY, 0, "*** unknown ***"); } else { PCLWriter.text(prnWriter, posX, posY, 0, PCLOrientations.getName(indxOrientRear)); } } PCLWriter.formFeed(prnWriter); }
//--------------------------------------------------------------------// // M e t h o d // // i n i t i a l i s e // //--------------------------------------------------------------------// // // // Initialise 'target' data. // // // //--------------------------------------------------------------------// private void initialise() { Int32 index; _initialised = false; //----------------------------------------------------------------// // // // Populate form. // // // //----------------------------------------------------------------// cbPDL.Items.Clear(); _ctPDLs = _subsetPDLs.Length; for (Int32 i = 0; i < _ctPDLs; i++) { index = _subsetPDLs[i]; cbPDL.Items.Add(Enum.GetName( typeof(ToolCommonData.ePrintLang), i)); } //----------------------------------------------------------------// cbOrientation.Items.Clear(); _ctOrientations = _subsetOrientations.Length; for (Int32 i = 0; i < _ctOrientations; i++) { index = _subsetOrientations[i]; cbOrientation.Items.Add(PCLOrientations.getName(index)); } //----------------------------------------------------------------// cbPaperSize.Items.Clear(); _ctPaperSizes = _subsetPaperSizes.Length; for (Int32 i = 0; i < _ctPaperSizes; i++) { index = _subsetPaperSizes[i]; cbPaperSize.Items.Add(PCLPaperSizes.getName(index)); } //----------------------------------------------------------------// cbPaperType.Items.Clear(); _ctPaperTypes = _subsetPaperTypes.Length; for (Int32 i = 0; i < _ctPaperTypes; i++) { index = _subsetPaperTypes[i]; cbPaperType.Items.Add(PCLPaperTypes.getName(index)); } //----------------------------------------------------------------// cbResolution.Items.Clear(); _ctRasterResolutions = PCLRasterResolutions.getCount(); for (Int32 i = 0; i < _ctRasterResolutions; i++) { cbResolution.Items.Add( PCLRasterResolutions.getValue(i).ToString()); } //----------------------------------------------------------------// resetTarget(); //----------------------------------------------------------------// // // // Reinstate settings from persistent storage. // // // //----------------------------------------------------------------// metricsLoad(); grpProps.Visibility = Visibility.Hidden; txtDestPosX.Text = _destPosX.ToString("F2"); txtDestPosY.Text = _destPosY.ToString("F2"); txtDestScaleX.Text = _destScalePercentX.ToString(); txtDestScaleY.Text = _destScalePercentY.ToString(); txtFilename.Text = _bitmapFilename; pdlOptionsRestore(); cbPDL.SelectedIndex = (Byte)_indxPDL; _initialised = true; }
//--------------------------------------------------------------------// // M e t h o d // // g e n e r a t e P a g e // //--------------------------------------------------------------------// // // // Write individual test data page sequences to output file. // // // //--------------------------------------------------------------------// private static void generatePage(BinaryWriter prnWriter, Int32 pageNo, Int32 pageCount, Int32 indxPaperSize, Int32 indxPaperType, Int32 indxOrientation, Int32 indxOrientRear, Int32 indxPlexMode, Boolean flagFrontFace, Boolean flagSimplexJob, Boolean flagMainForm, Boolean flagRearForm, Boolean flagMainOnPrnDisk, Boolean flagRearOnPrnDisk, Boolean flagRearBPlate, Boolean flagPrintDescText, String formFileMain, String formFileRear, eMacroMethod indxMethod, Int32 macroIdMain, Int32 macroIdRear) { const Int16 incPosY = 150; Boolean altOrient; Boolean pageUsesForm; Boolean firstPage; Int16 posX, posY; Int32 macroId; Int32 indxOrient; altOrient = (indxOrientation != indxOrientRear); firstPage = (pageNo == 1); if (flagFrontFace) { indxOrient = indxOrientation; pageUsesForm = flagMainForm; macroId = macroIdMain; } else { indxOrient = indxOrientRear; if (flagRearForm) { pageUsesForm = flagRearForm; macroId = macroIdRear; } else { pageUsesForm = flagMainForm; macroId = macroIdMain; } } if (firstPage) { //------------------------------------------------------------// // // // Generate first (or only) page header. // // // //------------------------------------------------------------// PCLWriter.pageHeader(prnWriter, indxPaperSize, indxPaperType, indxOrientation, indxPlexMode); if (indxMethod == eMacroMethod.Overlay) { PCLWriter.macroControl(prnWriter, (Int16)macroIdMain, PCLWriter.eMacroControl.Overlay); } } else { //----------------------------------------------------------------// // // // Not first page: // // - for simplex jobs: // // - write 'form feed' sequence. // // - for duplex jobs: // // - write 'page side' sequence. // // - if rear face, and alternate orientations specified, // // write 'set orientation' sequence. // // // //----------------------------------------------------------------// if (flagSimplexJob) { PCLWriter.formFeed(prnWriter); } else { PCLWriter.pageFace(prnWriter, flagFrontFace); if (altOrient) { PCLWriter.pageOrientation( prnWriter, PCLOrientations.getIdPCL(indxOrient).ToString()); } } } //----------------------------------------------------------------// // // // Write any required 'begin page' macro 'call' or 'execute' // // sequence. // // // //----------------------------------------------------------------// if (pageUsesForm) { if (indxMethod == eMacroMethod.CallBegin) { PCLWriter.macroControl(prnWriter, (Int16)macroId, PCLWriter.eMacroControl.Call); } else if (indxMethod == eMacroMethod.ExecuteBegin) { PCLWriter.macroControl(prnWriter, (Int16)macroId, PCLWriter.eMacroControl.Execute); } } //----------------------------------------------------------------// // // // Write descriptive text headers. // // // //----------------------------------------------------------------// if (flagPrintDescText) { //------------------------------------------------------------// // // // Write headers. // // // //------------------------------------------------------------// PCLWriter.font(prnWriter, true, "19U", "s0p12h0s0b4099T"); posX = 600 - _logPageOffset; posY = 1350; PCLWriter.text(prnWriter, posX, posY, 0, "Page:"); if (firstPage) { posY += incPosY; PCLWriter.text(prnWriter, posX, posY, 0, "Paper size:"); posY += incPosY; PCLWriter.text(prnWriter, posX, posY, 0, "Paper type:"); posY += incPosY; PCLWriter.text(prnWriter, posX, posY, 0, "Plex mode:"); posY += incPosY; PCLWriter.text(prnWriter, posX, posY, 0, "Method:"); posY += incPosY; PCLWriter.text(prnWriter, posX, posY, 0, "Orientation:"); posY += incPosY; PCLWriter.text(prnWriter, posX, posY, 0, "Rear orientation:"); posY += incPosY; if (flagMainOnPrnDisk) { PCLWriter.text(prnWriter, posX, posY, 0, "Main form printer file:"); } else { PCLWriter.text(prnWriter, posX, posY, 0, "Main form download file:"); } posY += incPosY; if (flagRearOnPrnDisk) { PCLWriter.text(prnWriter, posX, posY, 0, "Rear form printer file:"); } else { PCLWriter.text(prnWriter, posX, posY, 0, "Rear form download file:"); } posY += incPosY; if ((flagRearForm) && (flagRearBPlate)) { PCLWriter.text(prnWriter, posX, posY, 0, "Rear Form is boilerplate"); } } //------------------------------------------------------------// // // // Write variable data. // // // //------------------------------------------------------------// PCLWriter.font(prnWriter, true, "19U", "s0p12h0s3b4099T"); posX = 1920 - _logPageOffset; posY = 1350; PCLWriter.text(prnWriter, posX, posY, 0, pageNo.ToString() + " of " + pageCount.ToString()); if (firstPage) { String textOrientRear; posY += incPosY; PCLWriter.text(prnWriter, posX, posY, 0, PCLPaperSizes.getName(indxPaperSize)); posY += incPosY; PCLWriter.text(prnWriter, posX, posY, 0, PCLPaperTypes.getName(indxPaperType)); posY += incPosY; PCLWriter.text(prnWriter, posX, posY, 0, PCLPlexModes.getName(indxPlexMode)); posY += incPosY; PCLWriter.text(prnWriter, posX, posY, 0, macroMethodNames[(Int32)indxMethod]); posY += incPosY; PCLWriter.text(prnWriter, posX, posY, 0, PCLOrientations.getName(indxOrientation)); if (flagSimplexJob) { textOrientRear = "<not applicable>"; } else if (altOrient) { textOrientRear = PCLOrientations.getName(indxOrientRear); } else { textOrientRear = "<not set>"; } posY += incPosY; PCLWriter.text(prnWriter, posX, posY, 0, textOrientRear); posY += incPosY; if (flagMainForm) { const Int32 maxLen = 51; const Int32 halfLen = (maxLen - 5) / 2; Int32 len = formFileMain.Length; if (len < maxLen) { PCLWriter.text(prnWriter, posX, posY, 0, formFileMain); } else { PCLWriter.text(prnWriter, posX, posY, 0, formFileMain.Substring(0, halfLen) + " ... " + formFileMain.Substring(len - halfLen, halfLen)); } } posY += incPosY; if (flagRearForm) { const Int32 maxLen = 51; const Int32 halfLen = (maxLen - 5) / 2; Int32 len = formFileRear.Length; if (len < maxLen) { PCLWriter.text(prnWriter, posX, posY, 0, formFileRear); } else { PCLWriter.text(prnWriter, posX, posY, 0, formFileRear.Substring(0, halfLen) + " ... " + formFileRear.Substring(len - halfLen, halfLen)); } } } } //----------------------------------------------------------------// // // // Write any required 'end of page' macro 'call' or 'execute' // // sequences. // // // //----------------------------------------------------------------// if (pageUsesForm) { if (indxMethod == eMacroMethod.CallEnd) { PCLWriter.macroControl(prnWriter, (Int16)macroId, PCLWriter.eMacroControl.Call); } else if (indxMethod == eMacroMethod.ExecuteEnd) { PCLWriter.macroControl(prnWriter, (Int16)macroId, PCLWriter.eMacroControl.Execute); } } //------------------------------------------------------------// // // // Generate rear boilerplate side if necessary. // // // //------------------------------------------------------------// if ((flagRearForm) && (flagRearBPlate)) { PCLWriter.pageFace(prnWriter, false); if (altOrient) { PCLWriter.pageOrientation( prnWriter, PCLOrientations.getIdPCL(indxOrientRear).ToString()); } if ((indxMethod == eMacroMethod.CallBegin) || (indxMethod == eMacroMethod.CallEnd)) { PCLWriter.macroControl(prnWriter, (Int16)macroIdRear, PCLWriter.eMacroControl.Call); } else if ((indxMethod == eMacroMethod.ExecuteBegin) || (indxMethod == eMacroMethod.ExecuteEnd)) { PCLWriter.macroControl(prnWriter, (Int16)macroIdRear, PCLWriter.eMacroControl.Execute); } } }
//--------------------------------------------------------------------// // M e t h o d // // i n i t i a l i s e // //--------------------------------------------------------------------// // // // Initialise 'target' data. // // // //--------------------------------------------------------------------// private void initialise() { Int32 index; _initialised = false; //----------------------------------------------------------------// // // // Populate form. // // // //----------------------------------------------------------------// cbPDL.Items.Clear(); _ctPDLs = _subsetPDLs.Length; for (Int32 i = 0; i < _ctPDLs; i++) { index = _subsetPDLs[i]; cbPDL.Items.Add(Enum.GetName( typeof(ToolCommonData.ePrintLang), i)); } //----------------------------------------------------------------// cbOrientation.Items.Clear(); _ctOrientations = _subsetOrientations.Length; for (Int32 i = 0; i < _ctOrientations; i++) { index = _subsetOrientations[i]; cbOrientation.Items.Add(PCLOrientations.getName(index)); } //----------------------------------------------------------------// cbPaperSize.Items.Clear(); _ctPaperSizes = _subsetPaperSizes.Length; for (Int32 i = 0; i < _ctPaperSizes; i++) { index = _subsetPaperSizes[i]; cbPaperSize.Items.Add(PCLPaperSizes.getName(index)); } //----------------------------------------------------------------// cbPaperType.Items.Clear(); _ctPaperTypes = _subsetPaperTypes.Length; for (Int32 i = 0; i < _ctPaperTypes; i++) { index = _subsetPaperTypes[i]; cbPaperType.Items.Add(PCLPaperTypes.getName(index)); } //----------------------------------------------------------------// /* * cbResolution.Items.Clear(); * /* * _ctRasterResolutions = PCLRasterResolutions.getCount(); * * for (Int32 i = 0; i < _ctRasterResolutions; i++) * { * cbResolution.Items.Add( * PCLRasterResolutions.getValue(i).ToString()); * } */ //----------------------------------------------------------------// resetTarget(); //----------------------------------------------------------------// // // // Reinstate settings from persistent storage. // // // //----------------------------------------------------------------// metricsLoad(); /* * grpProps.Visibility = Visibility.Hidden; * * txtDestPosX.Text = _destPosX.ToString("F2"); * txtDestPosY.Text = _destPosY.ToString("F2"); * * txtDestScaleX.Text = _destScalePercentX.ToString(); * txtDestScaleY.Text = _destScalePercentY.ToString(); * * txtFilename.Text = _bitmapFilename; */ pdlOptionsRestore(); cbPDL.SelectedIndex = (Byte)_indxPDL; _uGridPattern = new UniformGrid(); gridPattern.Children.Add(_uGridPattern); _uGridPattern.Rows = 16; _uGridPattern.Columns = 16; Int32 btnCt = _uGridPattern.Rows * _uGridPattern.Columns; _patternStateBtns = new Boolean[btnCt]; // btn_04.Style = (Style)FindResource("PrimaryButton"); // btn_04.Style = (Style)("{StaticResource PrimaryButton}"); // btn_04.Style = PrimaryButton; for (Int32 i = 0; i < btnCt; i++) { ToggleButton x = new ToggleButton(); x.Background = Brushes.White; x.IsChecked = false; x.Style = (Style)FindResource("ToggleButton"); _uGridPattern.Children.Add(x); _patternStateBtns[i] = false; } _initialised = true; }
//--------------------------------------------------------------------// // M e t h o d // // g e n e r a t e P a g e // //--------------------------------------------------------------------// // // // Write individual test data page sequences to output file. // // // //--------------------------------------------------------------------// private static void generatePage(BinaryWriter prnWriter, Int32 pageNo, Int32 pageCount, Int32 indxPaperSize, Int32 indxPaperType, Int32 indxPaperTray, Int32 indxPlexMode, Int32 indxOrientFront, Int32 indxOrientRear, String formNameFront, String formNameRear, Single scaleFactor, Boolean formAsMacro) { const Int32 sizeStd = 1024; Byte[] bufStd = new Byte[sizeStd]; Int32 indStd; Int32 ptSizeMain = (Int32)(scaleFactor * 20); Int16 posX, posY, posYInc; String tmpStr; Boolean simplex = PCLPlexModes.isSimplex(indxPlexMode); indStd = 0; PCLXLWriter.pageBegin(prnWriter, indxPaperSize, indxPaperType, indxPaperTray, indxOrientFront, indxPlexMode, true, // always true 'cos possible different Paper Type on each sheet true); //----------------------------------------------------------------// if (formAsMacro) { PCLXLWriter.addAttrUbyteArray(ref bufStd, ref indStd, PCLXLAttributes.eTag.StreamName, formNameFront); PCLXLWriter.addOperator(ref bufStd, ref indStd, PCLXLOperators.eTag.ExecStream); prnWriter.Write(bufStd, 0, indStd); indStd = 0; } else { prnWriter.Write(bufStd, 0, indStd); indStd = 0; generateOverlayFront(prnWriter, false, "", scaleFactor); } //----------------------------------------------------------------// PCLXLWriter.addAttrUbyte(ref bufStd, ref indStd, PCLXLAttributes.eTag.ColorSpace, (Byte)PCLXLAttrEnums.eVal.eGray); PCLXLWriter.addOperator(ref bufStd, ref indStd, PCLXLOperators.eTag.SetColorSpace); PCLXLWriter.addAttrUbyte(ref bufStd, ref indStd, PCLXLAttributes.eTag.GrayLevel, 0); PCLXLWriter.addOperator(ref bufStd, ref indStd, PCLXLOperators.eTag.SetBrushSource); PCLXLWriter.addAttrUbyte(ref bufStd, ref indStd, PCLXLAttributes.eTag.GrayLevel, 0); PCLXLWriter.addOperator(ref bufStd, ref indStd, PCLXLOperators.eTag.SetPenSource); prnWriter.Write(bufStd, 0, indStd); indStd = 0; //----------------------------------------------------------------// PCLXLWriter.font(prnWriter, false, ptSizeMain, 629, "Courier Bd"); //----------------------------------------------------------------// posYInc = (Int16)(scaleFactor * _posYIncMain); posX = (Int16)(scaleFactor * _posXValue); posY = (Int16)(scaleFactor * _posYDesc); tmpStr = pageNo.ToString() + " of " + pageCount.ToString(); PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, ptSizeMain, posX, posY, tmpStr); //----------------------------------------------------------------// posY += posYInc; if (indxPaperSize >= PCLPaperSizes.getCount()) { tmpStr = "*** unknown ***"; } else { tmpStr = PCLPaperSizes.getName(indxPaperSize); } PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, ptSizeMain, posX, posY, tmpStr); //----------------------------------------------------------------// posY += posYInc; if (indxPaperType >= PCLPaperTypes.getCount()) { tmpStr = "*** unknown ***"; } else if (PCLPaperTypes.getType(indxPaperType) == PCLPaperTypes.eEntryType.NotSet) { tmpStr = "<not set>"; } else { tmpStr = PCLPaperTypes.getName(indxPaperType); } PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, ptSizeMain, posX, posY, tmpStr); //----------------------------------------------------------------// posY += posYInc; if (indxPlexMode >= PCLPlexModes.getCount()) { tmpStr = "*** unknown ***"; } else { tmpStr = PCLPlexModes.getName(indxPlexMode); } PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, ptSizeMain, posX, posY, tmpStr); //----------------------------------------------------------------// posY += posYInc; if (indxOrientFront >= PCLOrientations.getCount()) { tmpStr = "*** unknown ***"; } else { tmpStr = PCLOrientations.getName(indxOrientFront); } PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, ptSizeMain, posX, posY, tmpStr); //----------------------------------------------------------------// posY += posYInc; if (indxPaperTray < 0) { tmpStr = "<not set>"; } else if (indxPaperTray == _trayIdAutoSelectPCLXL) { tmpStr = indxPaperTray.ToString() + " (auto-select)"; } else { tmpStr = indxPaperTray.ToString(); } PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, ptSizeMain, posX, posY, tmpStr); //----------------------------------------------------------------// PCLXLWriter.addAttrUint16(ref bufStd, ref indStd, PCLXLAttributes.eTag.PageCopies, 1); PCLXLWriter.addOperator(ref bufStd, ref indStd, PCLXLOperators.eTag.EndPage); prnWriter.Write(bufStd, 0, indStd); //----------------------------------------------------------------// // // // Rear face (if not simplex) // // // //----------------------------------------------------------------// if (!simplex) { indStd = 0; PCLXLWriter.pageBegin(prnWriter, indxPaperSize, indxPaperType, indxPaperTray, indxOrientRear, indxPlexMode, true, // always true 'cos possible different Paper Type on each sheet false); //----------------------------------------------------------------// if (formAsMacro) { PCLXLWriter.addAttrUbyteArray(ref bufStd, ref indStd, PCLXLAttributes.eTag.StreamName, formNameRear); PCLXLWriter.addOperator(ref bufStd, ref indStd, PCLXLOperators.eTag.ExecStream); prnWriter.Write(bufStd, 0, indStd); indStd = 0; } else { prnWriter.Write(bufStd, 0, indStd); indStd = 0; generateOverlayRear(prnWriter, false, "", scaleFactor); } //----------------------------------------------------------------// PCLXLWriter.addAttrUbyte(ref bufStd, ref indStd, PCLXLAttributes.eTag.ColorSpace, (Byte)PCLXLAttrEnums.eVal.eGray); PCLXLWriter.addOperator(ref bufStd, ref indStd, PCLXLOperators.eTag.SetColorSpace); PCLXLWriter.addAttrUbyte(ref bufStd, ref indStd, PCLXLAttributes.eTag.GrayLevel, 0); PCLXLWriter.addOperator(ref bufStd, ref indStd, PCLXLOperators.eTag.SetBrushSource); PCLXLWriter.addAttrUbyte(ref bufStd, ref indStd, PCLXLAttributes.eTag.GrayLevel, 0); PCLXLWriter.addOperator(ref bufStd, ref indStd, PCLXLOperators.eTag.SetPenSource); prnWriter.Write(bufStd, 0, indStd); indStd = 0; //----------------------------------------------------------------// PCLXLWriter.font(prnWriter, false, ptSizeMain, 629, "Courier Bd"); //----------------------------------------------------------------// posX = (Int16)(scaleFactor * _posXValue); posY = (Int16)(scaleFactor * _posYDesc); tmpStr = pageNo.ToString() + " (rear) of " + pageCount.ToString(); PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, ptSizeMain, posX, posY, tmpStr); //----------------------------------------------------------------// posY += (Int16)(posYInc * 4); if (indxOrientRear >= PCLOrientations.getCount()) { tmpStr = "*** unknown ***"; } else { tmpStr = PCLOrientations.getName(indxOrientRear); } PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, ptSizeMain, posX, posY, tmpStr); //----------------------------------------------------------------// PCLXLWriter.addAttrUint16(ref bufStd, ref indStd, PCLXLAttributes.eTag.PageCopies, 1); PCLXLWriter.addOperator(ref bufStd, ref indStd, PCLXLOperators.eTag.EndPage); prnWriter.Write(bufStd, 0, indStd); } }
//--------------------------------------------------------------------// // M e t h o d // // g e n e r a t e O v e r l a y S e t // //--------------------------------------------------------------------// // // // Because each sheet may be a different size, the information to be // // printed may need to be scaled to fit the individual sheets, and // // separate (scaled) macros may also be required. // // // //--------------------------------------------------------------------// public static void generateOverlaySet(BinaryWriter prnWriter, Int32 pageCount, Int32[] indxPaperSize, Int32[] indxPlexMode, Single[] scaleFactors, ref Int32 formCountFront, ref Int32 formCountRear, ref Int32[] indxFormsFront, ref Int32[] indxFormsRear, ref String[] formNamesFront, ref String[] formNamesRear) { Int32 crntFormFront, crntFormRear; Boolean[] duplexSheet = new Boolean[pageCount]; //----------------------------------------------------------------// // // // Which sheets are duplex?. // // // //----------------------------------------------------------------// for (Int32 i = 0; i < pageCount; i++) { if (PCLPlexModes.isSimplex(indxPlexMode[i])) { duplexSheet[i] = false; } else { duplexSheet[i] = true; } } //----------------------------------------------------------------// // // // Establish the forms required for the front side of the sheets. // // A different one is required for each paper size. // // // //----------------------------------------------------------------// //----------------------------------------------------------------// // First sheet. // //----------------------------------------------------------------// crntFormFront = 0; formNamesFront[crntFormFront] = _rootNameFront + PCLPaperSizes.getName(indxPaperSize[0]); generateOverlayFront(prnWriter, true, formNamesFront[crntFormFront], scaleFactors[0]); indxFormsFront[0] = crntFormFront++; //----------------------------------------------------------------// // Subsequent sheets. // //----------------------------------------------------------------// for (Int32 i = 1; i < pageCount; i++) { Boolean matchFound = false; for (Int32 j = 0; j < i; j++) { if (indxPaperSize[i] == indxPaperSize[j]) { //----------------------------------------------------// // Same paper size as a previous sheet. // //----------------------------------------------------// matchFound = true; indxFormsFront[i] = indxFormsFront[j]; j = i; // force end loop // } } if (!matchFound) { //----------------------------------------------------// // New paper size. // //----------------------------------------------------// formNamesFront[crntFormFront] = _rootNameFront + PCLPaperSizes.getName(indxPaperSize[i]); generateOverlayFront(prnWriter, true, formNamesFront[crntFormFront], scaleFactors[i]); indxFormsFront[i] = crntFormFront++; } } //----------------------------------------------------------------// // // // Establish the forms required for the rear side of the sheets. // // A different one is required for each paper size. // // // //----------------------------------------------------------------// //----------------------------------------------------------------// // First sheet. // //----------------------------------------------------------------// crntFormRear = 0; if (duplexSheet[0]) { formNamesRear[crntFormRear] = _rootNameRear + PCLPaperSizes.getName(indxPaperSize[0]); generateOverlayRear(prnWriter, true, formNamesRear[crntFormRear], scaleFactors[0]); indxFormsRear[0] = crntFormRear++; } else { indxFormsRear[0] = _noForm; } //----------------------------------------------------------------// // Subsequent sheets. // //----------------------------------------------------------------// for (Int32 i = 1; i < pageCount; i++) { if (!duplexSheet[i]) { indxFormsRear[i] = _noForm; } else { Boolean matchFound = false; for (Int32 j = 0; j < i; j++) { if (indxPaperSize[i] == indxPaperSize[j] && duplexSheet[j]) { //------------------------------------------------// // Same paper size as a previous duplex sheet. // //------------------------------------------------// matchFound = true; indxFormsRear[i] = indxFormsRear[j]; j = i; // force end loop // } } //----------------------------------------------------// // New paper size. // //----------------------------------------------------// if (!matchFound) { formNamesRear[crntFormRear] = _rootNameRear + PCLPaperSizes.getName(indxPaperSize[i]); generateOverlayRear(prnWriter, true, formNamesRear[crntFormRear], scaleFactors[i]); indxFormsRear[i] = crntFormRear++; } } } formCountFront = crntFormFront; formCountRear = crntFormRear; }
//--------------------------------------------------------------------// // M e t h o d // // g e n e r a t e P a g e // //--------------------------------------------------------------------// // // // Write individual test data page sequences to output file. // // // //--------------------------------------------------------------------// private static void generatePage(BinaryWriter prnWriter, Int32 pageNo, Int32 pageCount, Int32 indxPaperSize, Int32 indxPaperType, Int32 indxOrientation, Int32 indxOrientRear, Int32 indxPlexMode, Boolean flagFrontFace, Boolean flagSimplexJob, Boolean flagMainForm, Boolean flagRearForm, Boolean flagRearBPlate, Boolean flagGSPushPop, Boolean flagPrintDescText, String formFileMain, String formFileRear, eStreamMethod indxMethod, String formNameMain, String formNameRear) { const Int32 lenBuf = 1024; const Int16 incPosY = 150; Byte[] buffer = new Byte[lenBuf]; Boolean altOrient; Boolean pageUsesForm; Boolean firstPage; Int16 posX, posY; String formName; Int32 indxOrient; Int32 indBuf = 0; Int32 crntPtSize; altOrient = (indxOrientation != indxOrientRear); firstPage = (pageNo == 1); if (flagFrontFace) { indxOrient = indxOrientation; pageUsesForm = flagMainForm; formName = formNameMain; } else { indxOrient = indxOrientRear; if (flagRearForm) { pageUsesForm = flagRearForm; formName = formNameRear; } else { pageUsesForm = flagMainForm; formName = formNameMain; } } //----------------------------------------------------------------// // // // Write 'BeginPage' operator and (if requested for begin page) // // the required stream 'execute' operator. // // // //----------------------------------------------------------------// PCLXLWriter.pageBegin(prnWriter, indxPaperSize, indxPaperType, -1, indxOrient, indxPlexMode, firstPage, flagFrontFace); if (pageUsesForm) { if (indxMethod == eStreamMethod.ExecuteBegin) { if (flagGSPushPop) { PCLXLWriter.addOperator( ref buffer, ref indBuf, PCLXLOperators.eTag.PushGS); prnWriter.Write(buffer, 0, indBuf); indBuf = 0; } PCLXLWriter.streamExec(prnWriter, false, formName); if (flagGSPushPop) { PCLXLWriter.addOperator( ref buffer, ref indBuf, PCLXLOperators.eTag.PopGS); prnWriter.Write(buffer, 0, indBuf); indBuf = 0; } } } //----------------------------------------------------------------// // // // Write descriptive text. // // // //----------------------------------------------------------------// if (flagPrintDescText) { //------------------------------------------------------------// // // // Headers. // // // //------------------------------------------------------------// crntPtSize = 10; PCLXLWriter.addAttrUbyte(ref buffer, ref indBuf, PCLXLAttributes.eTag.ColorSpace, (Byte)PCLXLAttrEnums.eVal.eGray); PCLXLWriter.addOperator(ref buffer, ref indBuf, PCLXLOperators.eTag.SetColorSpace); PCLXLWriter.addAttrUbyte(ref buffer, ref indBuf, PCLXLAttributes.eTag.GrayLevel, 0); PCLXLWriter.addOperator(ref buffer, ref indBuf, PCLXLOperators.eTag.SetBrushSource); prnWriter.Write(buffer, 0, indBuf); indBuf = 0; PCLXLWriter.font(prnWriter, false, crntPtSize, _symSet_19U, "Courier "); posX = 600; posY = 1350; PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, "Page:"); if (firstPage) { posY += incPosY; PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, "PaperSize:"); posY += incPosY; PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, "PaperType:"); posY += incPosY; PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, "Plex Mode:"); posY += incPosY; PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, "Method:"); posY += incPosY; PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, "Orientation:"); posY += incPosY; PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, "Rear Orientation:"); posY += incPosY; PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, "Main Form:"); posY += incPosY; if (flagRearForm) { if (flagRearBPlate) { PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, "Rear Boilerplate:"); } else { PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, "Rear Form:"); } } } //------------------------------------------------------------// // // // Write variable data. // // // //------------------------------------------------------------// crntPtSize = 10; PCLXLWriter.addAttrUbyte(ref buffer, ref indBuf, PCLXLAttributes.eTag.GrayLevel, 0); PCLXLWriter.addOperator(ref buffer, ref indBuf, PCLXLOperators.eTag.SetBrushSource); prnWriter.Write(buffer, 0, indBuf); indBuf = 0; PCLXLWriter.font(prnWriter, false, crntPtSize, _symSet_19U, "Courier Bd"); posX = 1800; posY = 1350; PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, pageNo + " of " + pageCount); if (firstPage) { String textOrientRear; posY += incPosY; PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, PCLPaperSizes.getName(indxPaperSize)); posY += incPosY; PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, PCLPaperTypes.getName(indxPaperType)); posY += incPosY; PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, PCLPlexModes.getName(indxPlexMode)); posY += incPosY; PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, streamMethodNames[(Int32)indxMethod]); posY += incPosY; PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, PCLOrientations.getName(indxOrientation)); if (flagSimplexJob) { textOrientRear = "<not applicable>"; } else { textOrientRear = PCLOrientations.getName(indxOrientRear); } posY += incPosY; PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, textOrientRear); posY += incPosY; if (flagMainForm) { const Int32 maxLen = 51; const Int32 halfLen = (maxLen - 5) / 2; Int32 len = formFileMain.Length; if (len < maxLen) { PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, formFileMain); } else { PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, formFileMain.Substring(0, halfLen) + " ... " + formFileMain.Substring(len - halfLen, halfLen)); } } posY += incPosY; if (flagRearForm) { const Int32 maxLen = 51; const Int32 halfLen = (maxLen - 5) / 2; Int32 len = formFileRear.Length; if (len < maxLen) { PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, formFileRear); } else { PCLXLWriter.text(prnWriter, false, false, PCLXLWriter.advances_Courier, crntPtSize, posX, posY, formFileRear.Substring(0, halfLen) + " ... " + formFileRear.Substring(len - halfLen, halfLen)); } } } } //----------------------------------------------------------------// // // // If requested for end page, write the required stream 'execute' // // operator. // // // //----------------------------------------------------------------// if (pageUsesForm) { if (indxMethod == eStreamMethod.ExecuteEnd) { if (flagGSPushPop) { PCLXLWriter.addOperator( ref buffer, ref indBuf, PCLXLOperators.eTag.PushGS); prnWriter.Write(buffer, 0, indBuf); indBuf = 0; } PCLXLWriter.streamExec(prnWriter, false, formName); if (flagGSPushPop) { PCLXLWriter.addOperator( ref buffer, ref indBuf, PCLXLOperators.eTag.PopGS); prnWriter.Write(buffer, 0, indBuf); indBuf = 0; } } } //----------------------------------------------------------------// // // // Write EndPage' operator and associated attribute list. // // // //----------------------------------------------------------------// PCLXLWriter.pageEnd(prnWriter, 1); //------------------------------------------------------------// // // // Generate rear boilerplate side if necessary. // // // //------------------------------------------------------------// if ((flagRearForm) && (flagRearBPlate)) { PCLXLWriter.pageBegin(prnWriter, indxPaperSize, indxPaperType, -1, indxOrientRear, indxPlexMode, firstPage, false); PCLXLWriter.streamExec(prnWriter, false, formNameRear); PCLXLWriter.pageEnd(prnWriter, 1); } }
//--------------------------------------------------------------------// // M e t h o d // // g e n e r a t e P a g e // //--------------------------------------------------------------------// // // // Write individual test data page sequences to output file. // // // //--------------------------------------------------------------------// private static void generatePage(BinaryWriter prnWriter, Int32 indxPaperSize, Int32 indxPaperType, Int32 indxOrientation, Int32 indxPlexMode, String pjlCommand, Boolean formAsMacro, Boolean customPaperSize, Boolean rearFace, UInt16 paperWidth, UInt16 paperLength, UInt16 logXOffset, Single scaleText) { const String digitsTextA = " 1 2" + " 3 4" + " 5 6" + " 7 8" + " 9 10" + " 11 12" + " 13 14" + " 15 16" + " 17 18"; const String digitsTextB = "12345678901234567890" + "12345678901234567890" + "12345678901234567890" + "12345678901234567890" + "12345678901234567890" + "12345678901234567890" + "12345678901234567890" + "12345678901234567890" + "12345678901234567890"; const Double unitsToInches = (1.00 / _sessionUPI); const Double unitsToMilliMetres = (25.4 / _sessionUPI); const Int16 bottomMargin = (Int16)(0.5 * _sessionUPI); Int16 squareRightX, squareBottomY; Int16 posX, posY; Int16 lineInc, ptSize; Int32 ctA; //----------------------------------------------------------------// if (formAsMacro) { PCLWriter.macroControl(prnWriter, _macroId, PCLWriter.eMacroControl.Call); } else { generateOverlay(prnWriter, false, paperWidth, paperLength, logXOffset, scaleText); } //----------------------------------------------------------------// // // // Corner squares. // // // //----------------------------------------------------------------// squareRightX = (Int16)(paperWidth - _boxOuterEdge - logXOffset); squareBottomY = (Int16)(paperLength - _boxOuterEdge); // Top-left. // posX = 0; posY = 0; generateSquare(prnWriter, posX, posY, false); // Top-right. // posX = squareRightX; posY = 0; generateSquare(prnWriter, posX, posY, false); // Bottom-left. // posX = 0; posY = squareBottomY; generateSquare(prnWriter, posX, posY, false); // Bottom-right. // posX = squareRightX; posY = squareBottomY; generateSquare(prnWriter, posX, posY, false); //----------------------------------------------------------------// // // // Paper description data. // // // //----------------------------------------------------------------// ptSize = (Int16)(10 * scaleText); lineInc = (Int16)((_sessionUPI * scaleText) / 8); PCLWriter.font(prnWriter, true, "19U", "s0p" + (120 / ptSize) + "h0s3b4099T"); posX = (Int16)((_posXDesc + (_rulerCell * scaleText)) - logXOffset); posY = _posYDesc; if (customPaperSize) { PCLWriter.text(prnWriter, posX, posY, 0, PCLPaperSizes.getNameAndDesc(indxPaperSize)); } else { PCLWriter.text(prnWriter, posX, posY, 0, PCLPaperSizes.getName(indxPaperSize)); } posY += lineInc; PCLWriter.text(prnWriter, posX, posY, 0, PCLPaperTypes.getName(indxPaperType)); posY += lineInc; PCLWriter.text(prnWriter, posX, posY, 0, PCLOrientations.getName(indxOrientation)); posY += lineInc; if (rearFace) { PCLWriter.text(prnWriter, posX, posY, 0, PCLPlexModes.getName(indxPlexMode) + ": rear face"); } else { PCLWriter.text(prnWriter, posX, posY, 0, PCLPlexModes.getName(indxPlexMode)); } posY += lineInc; PCLWriter.text(prnWriter, posX, posY, 0, (Math.Round((paperWidth * unitsToMilliMetres), 2)).ToString("F1") + " mm = " + (Math.Round((paperWidth * unitsToInches), 3)).ToString("F3") + "\""); posY += lineInc; PCLWriter.text(prnWriter, posX, posY, 0, (Math.Round((paperLength * unitsToMilliMetres), 2)).ToString("F1") + " mm = " + (Math.Round((paperLength * unitsToInches), 3)).ToString("F3") + "\""); posY += lineInc; if (pjlCommand == "") { PCLWriter.text(prnWriter, posX, posY, 0, "<none>"); } else { PCLWriter.text(prnWriter, posX, posY, 0, pjlCommand); } //----------------------------------------------------------------// // // // Fixed-pitch 10cpi text - not rotated. // // // //----------------------------------------------------------------// PCLWriter.font(prnWriter, true, "19U", "s0p10h0s0b4099T"); posY = _posYText; ctA = (paperWidth * 10) / _sessionUPI; PCLWriter.text(prnWriter, 0, posY, 0, digitsTextA.Substring(0, ctA)); posY += _rulerDiv; PCLWriter.text(prnWriter, 0, posY, 0, digitsTextB.Substring(0, ctA)); //----------------------------------------------------------------// // // // Rotate print direction by 180-degrees. // // // //----------------------------------------------------------------// PCLWriter.printDirection(prnWriter, 180); //----------------------------------------------------------------// // // // Fixed-pitch 10cpi text - 180-degree rotated. // // // //----------------------------------------------------------------// posY = (Int16)(paperLength - _posYText - (2 * bottomMargin)); ctA = (paperWidth * 10) / _sessionUPI; PCLWriter.text(prnWriter, 0, posY, 0, digitsTextA.Substring(0, ctA)); posY += _rulerDiv; PCLWriter.text(prnWriter, 0, posY, 0, digitsTextB.Substring(0, ctA)); //----------------------------------------------------------------// // // // Left box: rotated (180-degree) orientation. // // // //----------------------------------------------------------------// posX = squareRightX; posY = (Int16)(((paperLength - _boxOuterEdge) / 2) - bottomMargin); generateSquare(prnWriter, posX, posY, false); //----------------------------------------------------------------// // // // Reset print direction to 0-degrees. // // // //----------------------------------------------------------------// PCLWriter.printDirection(prnWriter, 0); //----------------------------------------------------------------// PCLWriter.formFeed(prnWriter); }