Operaciones CoPrint

FIXME pagina en construccion Puede tambien consultar el fichero coprint.chm.

Las operaciones de script de CoPrint pueden teclearse directamente en un miembro de script o ser generadas automaticamente por alguna de las utilidades de Coprint, como el emulador de impresora Coprint o el AutoPdf, etc.

Es muy facil hacer scripts de prueba con wAddServer, WA en PDM para CoPrint

Nota Importante sobre el orden numerico de los parametros:

Los parametros de las operaciones se separan con coma, y a la propia operacion se la trata como el param 1, de forma que en la operacion ;;Font,TNR12i la propia palabra ;;Font es el param1 y TNR12i es el param2.

Recomendamos que todo script lleve al principio un grupo de lineas entre entre ;;NewFrm y ;;EndFrm. A ese grupo se le denomina overlay o “scrip base”. El concepto es que ese grupo es lo primero que se imprime o trata en cada pagina, por lo que es ideal cuando un documento/spool tiene varias paginas.

Barcode, Codigos de Barras

Ver tambien BarCodes, Codigos de Barras en CoPrint.

;;Barcode ;;BarcodeT Imprime un codigo de barras. Si se usa ;;BarcodeT se imprime ademas el texto.

  • 2. Texto/Valor para el codigo de barras (en ;;BarCodeT se imprime ademas).
  • 3. Estilo p.e. 8=128-C 9=UPC-A 13=EAN-13 14=EAN-8 19=EAN128
  • 4. Tamaño en décimos de pulgada en formato xxxyyy (3 para ancho y 3 para alto)
    p.e. 020010 dos pulgadas de ancho por una de alto.
    Tambien se permite un formato extendido como 2.178×0.792
    una pulgada son unos 25,4 mm (2,54 cm)
  • 5. Direccion de Escritura. 0=Normal 1=Derecha a Izquierda 2=Arriba a Abajo 3=Abajo a Arriba
  • 6. Impresion de Muescas, terminadores (notches). 0=no 1=Arriba 2=Abajo 3=Ambas
  • 7. Posicion X del texto para barcodeT
  • 8. Posicion Y del texto para barcodeT
  • 9. Tipo de letra para texto de codigo en caso de barcodeT (arial, cn…)
  • 10. Atributos de font (tamaño, negrita, transparente, italica…)
  • 11. Grados de rotacion del texto para barcodeT
  • 12. Lo que se escriba aqui se añade al texto por la derecha
  • 13. Lo que se escriba aqui se añade al texto por la izquierda

Ejemplo…

  • ;;BarcodeT,8431467090134,13,020010,0,2 Imprime un EAN-13 con el texto y con los terminadores abajo.

CODIGOS DE BARRAS SOPORTADOS EN COPRINT

  • 1 2 of 5 - numbers only
  • 2 Interleaved 2 of 5 - numbers only
  • 3 Code 3 of 9 (also called Code 39) - numbers, upper case, and - . * $ / + %
  • 4 Codabar (rationalized) - numbers and A B C D - $ : / . +
  • 5 Extended 3 of 9 (also called Extended Code 39) - full ASCII character set
  • 6 Code 128A - upper case, numbers, punctuation, and control characters
  • 7 Code 128B - upper and lower case, numbers, and punctuation
  • 8 Code 128C - numbers only
  • 9 UPC-A - numbers only (11 numbers and a check digit)
  • 10 MSI (Plessey) - numbers only
  • 11 Code 93 - numbers, upper case, and - . * $ / + %
  • 12 Extended Code 93 - full ASCII character set
  • 13 EAN-13 - numbers only (12 numbers and a check digit)
  • 14 EAN-8 - numbers only (7 numbers and a check digit)
  • 15 Postnet - numbers only (with a check digit)
  • 16 ANSI 3 of 9 (also called Code 39) - 3:1 narrow-to-wide bar width ratio - numbers, upper case, and - . * $ / + %
  • 17 ANSI Extended 3 of 9 (also called Extended Code 39) - 3:1 narrow-to-wide bar width ratio - full ASCII character set
  • 18 Code 128 (auto-select) - full ASCII character set - auto selects between Code 128 A, B, and C to produce the smallest barcode
  • 19 UCC/EAN-128 - special version of Code 128 used in package in HIBC applications - full ASCII character set
  • 20 UPC-E - numbers only - used for zero-compression UPC symbols.
  • 21 Royal Mail RM4SCC - numbers and letters only (with a check digit)

Blanks

;;Blanks activa uso de lineas vacias (contrario de ;;NoBlanks). Tiene muy poco uso.

;;Noblanks indica a CoPrint que NO trate las lineas en blanco del script. Esto permite mejorar la lectura humana para fase de pruebas. ;;Blanks vuelve a la situacion normal que es tratar (imprimir) las lineas en blanco.

Line, Box y BoxF

;;Box imprimir Cuadro, Rectángulo

;;Line ;;Box ;;BoxF

Imprime una Linea, un Rectangulo o un Rectangulo con Fondo (relleno).

  • 2. Grueso de la linea. de 1 a n.
  • 3. Posic Desde Horizontal
  • 4. Posic Desde Vertical
  • 5. Tamaño Horizontal (ancho) debe estar vacio para rayas verticales
  • 6. Tamaño Vertical (alto) debe estar vacio para rayas horizontales
  • 7. Color. nada o un codigo de color.
  • 8. Avance. Si se usa 0 (cero) el cursor se repone al inicio del objeto (p.e. para escribir texto encima)
  • Para conseguir efectos fáciles de definir pueden usarse en los parametros 2 y 3 (posic horiz o vertic) valores precedidos de los simbolos + o - para sumar o restar a la posicion del cursor. Esto puede ser util para pintar cuadros al lado de textos. Por ejemplo para imprimir el texto “Codigo de Cliente” y imprimir a la derecha un cuadro perfecto.
    • p.e. la orden ;;Box,2,+0.1,-0.1,1,0.3 imprime un cuadro un decimo de pulgada a la derecha del cursor haciendo que el vertice superior se situe un decimo por encima del cursor para dar un efecto mas profesional.

EJEMPLOS:

  • ;;Line,2,0,,End → linea horizontal completa grueso 2
  • ;;Line,2,M,,End → igual pero inicia en margen (algo mas a la derecha)
  • ;;line → este formato corto es como ;;line,2,m,,ene,,,10
  • ;;Line,1,3,3.5,,4 → linea vertical desde horiz 3“ desde vertic 3.5” con de 4“ alto
  • ;;Box,1,0,0,end,end → cuadro completo a la hoja
  • ;;BoxF,1,2,,3,1,14 → cuadro relleno amarillo claro desde horiz 2”, vertic ?, ancho 3“, alto 1

Nota: Se asume INCH -pulgada- (”) como unidad de medida para los ejemplos, y se usa punto como separador decimal.

Color

;;Color - Establecer Color Activo. Ver pag ColorEjemplos.

Permite establecer atributos de color, los cuales seran vigentes para las proximas operaciones. El color de primer plano generalmente es valido para texto, los otros atributos son basicamente para rayas y cuadros.

  • 2. Color de primer plano o principal.
    • 0=Negro 1=Azul 2=Verde 3=Cyan 4=Rojo 5=Fucsia 6=Amarillo 7=Gris- 8=Gris 9=Azul- 10=Verde- 11=Celeste 12=Rojo- 13=Rosa 14=Amarillo- 15=Blanco
    • tambien se permite el propio nombre de color, y muchos mas, ver Ejemplos de Color CoPrint
  • 3. Color de relleno (p.e. cuando tipo de relleno es 0).
  • 4. Tipo de relleno. En algunas circunstancias es posible definir este atributo. Basicamente pueden ser: 0=Continuo 1=Transparente (Predeterminado) 2=Línea Horizontal 3=Línea Vertical 4=Diagonal Arriba 5=Diagonal Abajo 6=Cruzado 7=Diagonal Cruzada
  • 5. Aspecto de Salida. 1=Base Negro 6=Inverso 13=Color Principal 16=Base Blanco
  • 6. Estilo de Lineas cuando param7=1. 0=Continuo (Predeterminado) 1=Rayas 2=Puntos 3=Raya y Punto 5=Transparente 6=Continuo Interior.
  • 7. Ancho de escritura. poner a 1 para hacer efectos de param6.

Ejemplos…

  • ;;Color,12 –> establece color principal Rojo Claro
  • ;;color,rojo- → igual, rojo seria oscuro pero añadiendo el simblo - “aclara” el color
  • ;;color,verde
  • ;;color,green
  • ;;color,verde-

Nota: puede utilizar el programa cpiCOLOR.exe para ver los colores.

Comentario ;;*

Cualquier linea en el script que comience por ;;* es un comentario, no se imprime ni se hace nada con ella.

copyPI

;;copyPI: COPIAS CON OPCION DE IMPRIMIR SEÑAL DIFERENTE EN CADA UNA

Por ejemplo, tenemos un spool de facturas y queremos imprimir por cada pagina dos paginas: una que ponga ORIGINAL y otra que ponga COPIA.

Es posible usar como señal diferenciadora una imagen (con la posibilidad de usar logos o imágenes) o texto simple.

Para usar un texto: Poner en el scrip base (entre newFrm y endFrm):

  • ;;copyPI,5.25,0
  • ;;copy1I,*TEXT,ORIGINAL,TNR,12NTR
  • ;;copy2I,*TEXT,COPY CUSTOMER,TNR,12NTR

parametros:

  • 2. *TEXT indicador de que es un texto
  • 3. texto que se imprimirá
  • 4. tipo de font
  • 5. tamaño y atributos

Para usar una imagen:
Poner en el scrip base (entre newFrm y endFrm):

  • ;;copyPI,1,6
  • ;;copy1i,original.bmp,D
  • ;;copy2i,copia.bmp,D

la op ;;copyPI es la como ;;Pos: indica donde poner la señal. en el ejemplo la señal se pone en la posicion (pulgada) 1 horizontal y 6 vertical.

la op ;;copy?I es la ;;Image a usar por cada copia ? (de 1 a 9). En el ejemplo se imprime la imagen original.bmp en la pagina original y la imagen copia.bmp en la copia, por lo que se imprimen dos paginas iguales (excepto la señal) por cada pagina original en el spool.

la D (o R) en el ejemplo significa “imprime la imagen a la derecha”, parametro igual que en la operacion ;;Image.

Si no se desea imprimir señal en la original, simplemente no escriba una linea ;;copy1i,etc

La forma de hacer esas imagenes es muy facil, usando por ejemplo PAINT de Microsoft. recomendamos BMP con 16 colores. Al ser una imagen la señal diferenciadora, no solo puede contener texto sino cualquier imagen o icono, colores, etc.

Por tanto CoPrint sabe cuantas copias quieres imprimir de un documento por el numero mas alto de ;;copy+I que exista en el script base.

Estas lineas deben ponerse en el script base antes de la linea de fin de script base que es ;;endFRM

Email

;;eMail: Enviar E-Mail (p.e. un PDF generado).

Envia por E-Mail un fichero.
De utilidad combinado con la generación de documento PDF.

Nota:

  • Tanto la opcion PDF como esta opcion eMail son de contratación separada de CoPrint (modulos adicionales).

Parametros:

  • 2 email destino. El Param TO/Destino permite más de un destino separados con ; (el caracter de punto y coma).
  • 3 asunto (un texto corto)
  • 4 nombre que firma. debe haber un fichero con este nombre.sgn en el path donde coprint.ini. El contenido de este fichero se añade al mensaje. Es un texto tan grande como se quiera, muy util para añadir texto fijo diferenciado, p.e. tener un facturas.sgn para envio de facturas, un pedidos.sgn para enviar correos de envio de pedidos, etc.
    ☛ Ver firma (sgn) de correos enviados y fichero de "firma" para adjuntar a los emails enviados.
  • 5 Texto del email (frase corta)
  • 6 Copia (CC)
  • 7 Copia Oculta (CCO)

Por ejemplo: ;;EMAIL,info@cpi.es,Asunto del envio,JOSEMARI,esto es un presupuesto

Dependiendo de si disponemos o no de los fuentes del programa de listado que queramos enviar por email (o queramos modificarlo) podemos incluir esta orden de varias formas.

Si disponemos de los fuentes lo mas facil será añadir la propia orden ;;MAIL en el listado, preferiblemente en las primeras líneas, en la posición 1. Definir un campo en el CoPrint que incluya esta línea para que sea procesada por el servidor de coprint. De esta forma, al ejecutarse el listado, ya debemos saber la direccióna quien se remite el documento e imprimiremos su dirección en el propio listado.

Si no disponemos de los fuentes o no queremos cambiarlos, distinguiremos entre dos casos:

  • Si la dirección a la que enviamos el email está impresa en el spool definiremos un campo (por ejemplo EMAIL) en el coprint. Luego añadimos en el script base las siguientes líneas:
  • ;;Fldvar,1,EMAIL definir variable
  • ;;Printer, PRT=PDFW,MODEPDF, SAVEPDF=… orden para imprimir en PDF
  • ;;EMAIL,&&1&&,adunto,firma…etc orden ;;EMAIL usando variable 1
  • Si la dirección no se encuentra en el spool pero podemos obtenerla de alguno de los datos que si aparecen, relacionandolo en algún fichero. Por ejemplo el código de cliente. Para ello definiremos un campo en CoPrint, por ejemplo CALLmail. Haremos un programa:
  • recomendamos nombre COPUSxxx
  • debe estar en QGPL, TEXTCPIU o una lib de QUSRLIBL
  • debe recibir dos param: FLD-30x y DATA-240x
  • parametro 1 se envia el contenido del spool (cliente, prov…)
  • parametro 2 devolverá el valor asociado (email…)

Por supuesto, ahora puede combinarse esto con la funcion ;;Fldvar,n,campox y variables &&n&& en ;;eMail como hicimos en el caso anterior. Para ello tener en cuenta que el campo se llama CALLxxxx.

variables &usrNN para email

De igual forma que para savePdf en ;;printer, se admiten tambien variables &usrNN (como &usr01 o &usr02, etc).

Esto permite incluso definir las operaciones ;;printer (con savePdf) y ;;email dentro del bloque de overlay (;;newFrm y ;;endFrm) y hacer que ciertas variables sean tomadas de datos reales impresos en el spool.
Esta capacidad permite incluso habilitar estas funciones cuando no se tiene el fuente del programa para incluir ;;printer y ;;email como lineas de spool, dotando de mucha mayor flexibilidad la operativa.

  • por ejemplo usar la linea de operacion
    • ;;EMAIL,&usr03,docum &usr05,firma…etc

EmailIn

;;eMailIN: Envio de correo/email inmediato FIXME

Es como una orden ;;email pero con mas opciones.

  • prm8 fichero a adjuntar
  • prm9 atributos especiales como *PRL (Importancia baja) o *PRH (importancia alta) y opciones para notify pero que ya no se soportan en la mayoria de servidores de correo
  • prm10 direccion de correo que envia

EndFrm

;;endFrm Vea la operacion ;;newFrm

EndZone

Ver Zone

FilePC

;;filePC

Permite imprimir con CoPrint textos desde un fichero .txt de PC y mezclarlos con los datos de spool de 400.

Estos textos permiten ordenes de coprint como ;;COLOR y ;;FONT.

Util cuando queremos poner un texto largo como por ejemplo unas condiciones de factura, en lugar de subir el texto al 400.

Ejemplo: ;;filePC,\\server\docum\condic.txt

FLD

;;FLD Imprimir un campo de Formulario

El Formato de parametros es el siguiente:

  • 2. Nombre del Campo en el Formulario y en el Diseño paso 51
  • 3. Numero de linea, o 01 si es la unica
  • 4. contenido

En el caso de Formularios definidos para imprimir Spool automatico del Ordenador Central estas operaciones ;;FLD se crean automáticamente por el API.

FldAtr

;;fldAtr Asignar atributos a campos de formulario por comparacion/busqueda con su contenido

Permite que un campo de formulario tenga un atributo diferente segun su contenido.

  • se compara con TODO el campo (no usa posic ni longitud a comparar)
  • la operacion EQ compara con todo el campo
  • la operacion CT no compara con todo el campo sino busca la cadena (contenido)
  • el valor a comparar no puede incluir una coma

Por ejemplo, si un campo contiene unas veces URGENTE y otras veces NORMAL puede hacerse que cuando contenga URGENTE se imprima en negrita.

Por supuesto, si un “campo” es un grupo de lineas en el spool, cada una de esas lineas (campos) que tienen el mismo ID se tratan.

Se soportan los atributos (y ademas combinaciones separadas por blanco):

  • Bold
  • Italic
  • Underline = subrayado
  • Ucase = convierte a mayusculas
  • Lcase = convierte a minusculas
  • Name = convierte a tipo nombre. Por ejemplo: ENVIO NORMAL = Envio Normal

El formato es sencillo y práctico:

  • param1 Funcion ;;fldAtr
  • param2 Nombre de campo (no importa mayusc-minusc)
  • param3 Tipo de comparacion EQ=Igual absoluta CT=Contiene
  • param4 cadena de caracteres a comparar o buscar (no importa may-min?)
  • param5 atributos separados por blanco (Bold Italic Underline Lcase Ucase Name)
  • ;;fldAtr,Lineas,CT,URGENTE,Bold
    • si dentro del campo hay ese texto pone negrita todo el campo
    • (pone tambien negrita si el texto dice “MUY URGENTE”)
  • ;;fldAtr,Lineas,EQ,URGENTE,Bold
    • si el campo contiene SOLO ese texto, negrita
    • (no hace nada si el texto tiene “MUY URGENTE”)
  • ;;fldAtr,Lineas,EQ,continua,Bold Italic

FldIN

;;fldIn Definir espacio de interlineado para campos repetitivos de Formulario

En un trabajo que se use Formulario con Campos y existan campos asociados para ser impresos en lineas repetitivas (columnas, p.e.) con esta orden puede definirse el alto de la interlinea a crear entre cada linea.

El valor por omision es 4.

Ejemplo: ;;FLDIN,6

FldVar

;;fldVar La operacion ;;fldVar,n,campoX asigna a la variable &&n&& el contenido del campoX.

En la operacion ;;eMail cuaquiera de sus parametros admite esas variables &&n&& por lo que se admite como variable el asunto, la firma o la dirección.

Se admiten las variables 1 a 9.

FolderName

;;folderName se usa para dar nombre a una carpeta o path y luego usarla de forma mas corta.

;;folderName,dir1,\\192.168.3.1\img\
....
;;image,*dir1*logo3.jpg  

Font

;;Font Permite definir el Font (Tipo de Letra, Tamaño, atributos) con el que se van a escribir las siguientes lineas de texto (y textos parciales) con o sin ;;Pos.

Cambiando la orden ;;font dinamícamente se pueden conseguir efectos de escritura con cambio dinámico de fonts, como es obvio.

Nota Importante: Sólo se recomienda el uso de fuentes que sean Truetype, porque son las que mejor se adaptan a cambio de impresoras, precisión, medidas, etc.

Puede usarse virtualmente cualquier font que sea compatible con Windows, pero debe tenerse en cuenta que los fonts definidos deben estar instalados en CADA PC donde el programa Coprint Server (y por tanto la impresión) deba procesarse.

Para mayor facilidad algunos fonts conocidos se pueden poner con nombre abreviado.

Los Fonts recomendados (por estar en practicamente cualquier PC) son:

  • CN o Courier New (abreviado CN) para escribir a espaciado fijo (parecido a lo que hace el 400). p.e. CN,12 es equivalente a 10 CPI o CN,8 es parecido a 15 CPI.
  • TNR = Times New Roman (abreviado TNR) es una bonita letra para titulos y ciertos párrafos.
  • A = Arial. Es una buena letra de propósito General.
  • T = Tahoma
  • an o Arial Narrow
  • lc = Lucida Console
  • lst = Lucida Sans Typewriter
  • amono = Andale Mono
  • ding o dings o Wingdings (abreviado DING) puede usarse para simbolos de inicio de párrafo, llamadas de atencion, etc.
  • web o Webdings
  • por supuesto, cualquier font con su nombre windows (ver pgm cpiFonts o ;;info,fonts en un script de Coprint)

Parametros:

  1. prm1 es el nombre de la operacion
  2. Nombre del Font, tal como TNR o CN o Arial o cualquier otro.
  3. tamaño y atributos del font, tal como 12UC o 24N etc. Los atributos permitidos son
    • U/S = Subrayado
    • B/N = Negrita
    • I = Italica
    • C = Centrado en la hoja
    • R/D = Derecha
    • T = Transparente (bueno para imprimir encima de otros objetos)
  4. Grados para Texto Rotado. p.e. 90 para texto rotado vertical hacia arriba. 0=Normal
  5. Opcional: Calidad/negrita/Bold, opcional, un numero de 0 a 999 (?) para enfasis de negrita
  6. funcion especial para conversion de textos, edicion numerico y de fecha.
    • EDIT=Zn - quita ceros a izquierda y pone n decimales, de Z0 a Z5
    • YMD8=DMA8/ - edita fecha de 8 que viene como yyyymmdd poniendole / de separador, dd/mm/yyyy
      • en lugar de / se puede indicar . o - para dd.mm.yyy o dd-mm-yyyy
    • SPLIT=xn (siendo xn un caracter separador y el num de elemento) toma el elem n de una lista separada por el caracter x. Por ejemplo SPLIT=;3 toma el tercer elem de una cadena de elementos separados por el caracter ; (tomaria “tres” de la cadena uno;dos;tres;cuatro;cinco)

ejemplos…

  • ;;Font,TNR,28sc ⇒ Times New Roman tamaño 28 Subrayado y Centrado
  • ;;Font,CN,9N ⇒ Courier New tamaño 9 negrita

Notas:

  • Centrado. Este atributo Centra el texto que se escriba en la página, dependiendo del tamaño del texto y del font empleado.
  • Derecha. Este atributo hace que el texto se escriba ajustado a la derecha de la página.
  • Transparente. Permite imprimir texto encima de otros objetos (una imagen, una raya, etc) haciendo que por los “huecos” de las letras se vean los objetos que hay debajo. Por ejemplo, el hueco de la letra O.

pueden combinarse diversos Fonts en una misma linea:

Sabiendo que los textos de lineas normales terminadas en ;; (dos simbols puntocoma) NO saltan de linea y que tampoco saltan de linea los textos impresos con ;;Pos (si saltan los de ;;PosL) pueden utilizarse impresiones de texto seguidas de cambios de fonts, seguidas de impresiones de texto, etc.

Por ejemplo:

  • ;;font,ding,10
  • ;;pos,m,,&*chr240
  • ;;font,arial,10
  • ;;posL,+0.10,,Si no piensas bien de alguién, piensa qué piensa él de tí.

Para pruebas ver wAddServer, WA en PDM para CoPrint

Formulario

Formulario es un Fichero de Imagen creado usando el programa para Diseñar Formularios en Windows. En un formulario pueden colocarse Textos, Rayas, Cuadros y CAMPOS.

Formularios CoPrint

Un Formulario es un Fichero de Imagen (WMF, standard Metafile) creado usando el programa para Diseñar Formularios en Windows.

Cuando ademas el formulario tiene campos, se genera tambien un fichero RFL.

En un formulario pueden colocarse

  • Textos
  • Rayas
  • Cuadros
  • CAMPOS.

La ventaja de usar un formulario es que todos los elementos que se dibujen el él (Textos, Cajas, Lineas, ) se imprimen de una vez, además de que cualquier cambio de diseño se hace en Windows y sin intervencion de cambio de programacion, definicion en el Host, etc.

por ejemplo, para una Factura partiendo de un Spool del Host AS/400:

  • podemos definir un formulario con textos prefijados, rayas, etc
  • podemos ademas asociarles “campos” tal como Direccion de envio, fecha, Numero de Factura, Importes, etc
  • tanto los textos como los campos pueden tener atributos típicos de windows como tipo de letra, tamaño, negrita, etc

En el paso 51 de COPRINT en el Host

  • definimos la Imagen del Formulario y el Fichero de Campos asociado dentro del Script general asociado al documento - spool. Es decir: incluimos una orden ;;IMAGE y otra ;;FLDFILE
  • definimos cada zona del spool asociada a un “campo” de los colocados con el Diseñador

En el script general asociado al spool podemos poner

  • ;;Mode,,INCH
  • ;;Image,path.WMF,0F
  • ;;fldFile,path.RFL,New

Para mas informacion ver ;;IMAGE o ;;FLDFILE

Ajuste de Tamaño.

El modo de uso de Formulario en CoPrint permite tener una casi perfecta aproximacion a los tamaños en pulgadas (en decimas de pulgada) definibles en el diseñador de formularios, pero si se necesitara un ajuste diferente puede controlarse con el control

  • [General]
  • ajF1=valor en el INI.

Ajuste del tamaño de interlineas en Campos de Formulario multiLinea

La operacion ;;FLDIN,numero puede definir el valor de la interlinea que hace CoPrint entre dos lineas de campos de formulario. El valor por omision es 4, por lo que subiendo este valor se consigue que las lineas queden mas separadas, bajando el valor las lineas quedan mas juntas.

Image

;;Image: Pegar/dibujar un fichero de Imagen.

Imprime una Imagen, tal como firma, logo, foto o formularios completos. Se soportan ficheros de imagen de los tipos mas comunes, tal como GIF, JPG, PNG, BMP, TIF, PCX, WMF, DIB…

Pero nuestra orden ;;image permite mucho más que sólo pintar una imagen, ya que tiene toda clase de funcionalidad posible, tales como:

  • Control de Ubicación (donde se pinta la imagen)
  • Control de Tamaño minimo y maximo a ocupar, o Zoom a aplicar.
  • Uso como Fondo / Overlay / Formulario / Preformato (para imprimir otros datos encima)

Parametros:

  • 2.- Fichero a usar. Obligatorio. Puede ser un path o camino completo o unicamente el fichero.
    • Se recomienda indicar un camino+fichero completo, tal como C:\images\logo3.jpg.
    • Si hay varias imágenes en el script se puede usar ;;folderName para declarar un nombre y luego usar un “camino” como *nombre+logo3.jpg.
  • 3.- Opciones. Ninguna, una o varias opciones mezcladas.
    • M ubicar la imagen en el Margen Izquierdo.
    • C ubicar la imagen en el Centro de la Página
    • R o D ubicar la imagen a la derecha de la página
    • 0 (cero) Despues del pintado el cursor se queda en el inicio (para Overlay / Forms)
    • F imagen se usa como Formulario (en desuso, ver *A4 en parametro 5)
  • 4.- Zoom. (Opcional) Un número para reducir (menor de 100) o ampliar (mayor de 100) la imagen.
  • 5.- Control de Tamaño. (Opcional) Permite controlar que la imagen a pintar tenga un tamaño mínimo y/o máximo. Esto es de gran utilidad cuando se pintan imagenes variables de las que no se conoce su tamaño. Se puede hacer la reserva de una zona en la página para que no ocurra que la imagen queda demasiado grande o demasiado pequeña. El parametro tiene el formato minXXXYYYmaxXXXYYY. p.e. min010015max020025 indica “ocupa una zona no menor de 01.0” de ancho o 01.5“ de alto, ni mayor de 02.0” de ancho o 02.5 de alto“. las medidas se expresan en decimos de pulgada. Puede indicarse sólo una de las dos partes.

Para el tamaño de los formularios y ajustarlos al tamaño A4, en vez de usar F en el parámetro 3 mejor usar *A4 para la hoja en vertical y *A4L si esta en horizontal .

  • 6.- Informacion/Test. a efectos de pruebas de programación, si se incluye la opcion info se imprime nformación relativa al proceso de la imagen.
  • 7.- Controles especiales. Incluyendo la palabra PAGE1 la imagen solo se imprime en la primera pagina de un trabajo.
  • 8.- PAGEID. Si un documento tine paginas diferenciadas con pageID (*PAGEID en nombre de campo en paso 51) aqui se define el pageId (un caracter) para el que se usa este formulario. Por tanto esta imagen solo se imprime en las paginas que tengan cierto pageId. De esta forma se soportan diferentes imagenes (formularios) en un mismo trabajo de spool.

Ejemplo:

  • ;;Image,\Red.BMP,C,,max030020
  • ;;Image,Foto0037.GIF,D
  • ;;Image,n:\logos\Logo2.png,C,80

Si se quiere obligar que una Imagen (como cualquier otro objeto) se ubique (comience) en una cirta posicion, use la operacion ;;Pos antes.

Info

;;Info Imprime informacion para pruebas programacion

Imprime una linea informando de ciertos parametros de medidas asociados con la impresora.

Esta operacion, como la operacion ;;Regla1 puede ser útil en fase de pruebas para afinar el posicionamiento de los objetos en la página.

Line

Ver ;;Box Box

Margin

;;Margin Establecer Margen Izquierdo

Establece la posicion para el margen de texto. El Margen de texto es la posicion donde se escriben las lineas normales de texto, así como aquellos objetos que se desean ubicar en esa posicion (indicada con M). Por omision CoPrint establece una posicion como Margen de Texto, pero con esta operacion puede cambiarse.

  • param 2. La posicion del Margen segun la medida de ::Mode. p.e. si ;;Mode,,inch100 entonces ;;Margen,050 establece el margen en 1/2 pulgada.

EJEMPLO:

  • ;;Margin,1 Establece el Margen en 1 pulgada
  • ;;Margin,0.5 Establece el Margen en media pulgada

Mode

;;Mode - Modo de Medicion

Permite cambiar ciertas reglas generales (de medición, p.e.) a la Impresión. Puede aparecer n veces. Lo normal es ponerla como primera instruccion detras de ;;newFrm

Parametros:

  • 2. el parametro segundo dejarlo vacio
  • 3. el tercer parametro permite definir la regla de medidas que se usará. Dependiendo de las circunstancias será más facil para el diseñador usar una u otra regla de medidas.
    • inch. pulgadas. Recomendado. admite decimales (con punto) como 1.5 o 3.875
    • twips la unidad minima de medida. 1440 twips por pulgada.
    • pixel no recomendable
    • inch100 centesimas de pulgada (150 para 1 pulgada y media).
    • inch10 decimos de pulgada (15 para 1 pulgada y media)
  • 4. El cuarto parámetro permite indicar una variable de interpretación de medidas, la cual puede ser útil cuando se mezclen objetos de múlipes definiciones.p.e. para incorporar un .wmf para overlay de un formulario de 96 dpi puede usarse la interpretación form1 para ubicar mejor los objetos pegados y el valor base para volver a la interpretacion normal. Este parametro tiene poco uso.

ejemplo…

  • ;;Mode,,inch Establece la medida en pulgadas

Es posible incluso cambiar entre medidas, es decir que -como otras operaciones- se permiten varias operaciones ;;Mode dentro del mismo script.

newFrm o newForm

;;NEWFRM Comienza ambito repetitivo Formulario (Overlay) hasta ;;ENDFRM

Las lineas (operaciones) contenidas entre las operaciones especiales ;;NEWFRM y ;;ENDFRM corresponden a OPERACIONES REPETITIVAS (Formulario/Overlay) en cada página.

Por ejemplo. si lo que se está creando es la impresion de facturas el grupo de lineas entre ;;Newform y ;;endform puede contener el diseño del formulario (cajas, cuadros, lineas y textos repetitivos como “Factura” “Iva” “Total”, etc): es decir aquello que se repetirá en cada página.

Estas operaciones NO tienen parametros.

ejemplo:

;;newFrm 
;;Box,1,0,End 
;;Font,TNR,24BUC 
Factura 
;;EndFrm

NoBlanks

;;noBlanks evita tratar lineas en blanco.

NoPrint

;;Noprint intenta evitar impresion real, p.e. para enviar correo, etc.

Aunque no se ordene ninguna impresión real en el script, la operación ;;noprint asegura un mayor cuidado para, por ejemplo, no expulsar página en blanco, etc.

:!: Se recomienda ponerla dentro del NEWFORM (overlay) y como linea inicial del cuerpo.

Offset

;;Offset Sumar Posiciones a ordenes ;;pos/;;posL que sigan

Permite definir Posiciones Adicionales para posteriores Operaciones ;;pos/;;posL.

  • 2. posiciones horizontales adicionales, o bien 0 (cero) para indicar que no se sumen a las posic horizontales.
  • 3. posiciones verticales adicionales, o bien 0 (cero).

Esta es una operacion compleja, y depende del entorno a usar.

Veamos una explicacion:

Imaginemos que hay un grupo de operaciones ;;Pos con texto imprimiendo ciertos datos en posiciones fijas a la izquierda de la hoja y que queremos repetir todas esas posiciones pero mas a la derecha. Podemos escribir dos veces todas las operaciones ;;Pos y cambiar en cada una de ellas las posiciones, o bien podemos repetirlas y no cambiar todas ellas sino solo poner antes una operaicion offset tal como ;;Offset,3,0 para que todas las ;;Pos se situen 3 pulgadas mas a la derecha de lo que decimos.
(dificil?… no la use).

Overflow

;;Overflow y ;;OF Control de Salto de Pagina automático

Permite ordenar a CoPrint que controle el overflow (impresion despues de fin de pagina). Con esta orden puede conseguirse o bien que CoPrint NO controle el overflow o bien que despues de impreso un cierto porcentaje de la pagina salte a la siguiente. Por omision se supone 99% (control muy escaso). Generalmente no hace falta esta orden.

  • 2. Porcentaje de la pagina donde se hará overflow. se admite valor especial NO para evitar control de overflow, así como un porcentaje, tal como 85.

Ejemplo:

  • ;;Overflow,NO → ordenar que NO se controle overFlow (salto auto pag)
  • ;;OF,90 → controlar overflow al 90% de la página

Overlay

;;Overlay Soporte Especial para Overlay (Formulario)

Permite un control especial sobre la capacidad de Imprimir Overlay (Formulario), es decir la parte fija que se imprime por cada hoja.

Tiene dos funciones:

  • Imprime el “Overlay” de la pagina, lo mismo que se imprime cuando se salta pagina, p.e. Para esta accion usar la orden sin parametros.
  • Usando la orden con parametro ;;Overlay,OFF hace que en el siguiente saldo de página NO se incluya la parte fija.

Esta operacion es muy poco necesaria.

Page, PageU, PageOnly

;;Page Saltar de Página

Obliga un avance de página y provoca con ello la impresión (en la nueva página) de las operaciones contenidas entre ;;newFRM y ;;endFRM. Debe tenerse en cuenta que en ciertas ocasiones tambien pueden producirse saltos de página a través del control de overflow automatico (el cual puede personalizarse con la op ;;overFlow).

→ Vea tambien la operacion ;;pageU

La operacion ;;Page admite algunos parametros, pero estan practicamente reservados para uso interno.

  • 2.- en param2 NOFRM hace que no se imprima el formulario/overlay
  • 3.- en param3 poniendo NO se evita el salto de pagina real. ::page,,NO
  • 8.- pageId asignado a la pagina, tal como *ID=A

otra operacion ;;pageOnly salta de pagina sin las demas consideraciones de ;;Page.

;;PAGEU repone el contador de paginas de usuario (no el del sistema) con un numero. Esto tiene poco uso, solo cuando se quiere llevar un contador de paginas especial (parcial, p.e.) imprimiendolo con la variable &*pageU dentro de una ;;pos o ;;posL.

  • 2. numero a poner como contador de paginas de usuario.

ejemplo…

  • ;;pageU,1 reponer a uno el contador de paginas de usuario

PageId

;;pageID La operacion ;;pageID y ;;pageID1 estan reservadas para uso interno.

El concepto pageID permite que existan en un mismo spool mas de un formulario dependiendo del contenido de las propias paginas.

  • En el paso 51 se define un campo *PAGEID-? (siendo ? una letra mayuscula)
  • en ese campo se define donde (linea, posicion y tamaño) esta la cadena que queremos buscar-asociar con ese pageID
  • en “dato adic” se teclea la cadena a buscar.

De esta forma decimos que pageId tiene cada pagina dependiendo de algun contenido en la propia pagina.

Por ejemplo, alguien tiene un spool que contiene paginas de albaranes y de notas de entrega, es posible asignar a cada pagina un formulario diferente buscando las propias cadenas de caracteres “albaran” o “entrega”.

Una vez identificada cada pagina diferente en el paso 51, en el script base se asocia ese pageID a cada formulario (;;IMAGE y ;;FLDFILE)

PageOnly

;;Pageonly salta de pagina sin las demas consideraciones de ;;Page.

Ver ;;Page.

PageU

Ver ;;Page

Pause

;;Pause Permite hacer una parada en el PC visualizando un texto

Ejemplo:

  • ;;Pause,Vamos con el trabajito…

Pos y PosL

;;Pos y ;;Posl

Pone el cursor de la impresora en una cierta posicion. Opcionalmente permite poner un texto en esa posicion. Si hay un texto opcional la operacion ;;Pos imprime ese texto dejando el cursor tras la ultima posic escrita.

la operacion ;;Posl es lo mismo pero hace ademas un avance de linea.

Estas operaciones se usan bien para poner el cursor en un cierto sitio para ubicar las siguientes operaciones, o bien para escribir un texto en un cierto sitio.

  • 2. Posicion Horizontal
  • 3. Posicion Vertical
  • 4. Texto a escribir (opcional) el texto se escribe con los atributos activos. Se soportan Variables especiales.

La posic Horizontal permite ademas anteponer la letra R para indicar que el texto que se imprime se va a ajustar a la derecha de la posicion indicada. Esto es muy bueno para imprimir datos encolumnados.
p.e. ;;Pos,r7,,xxxxx imprime el texto xxxxx a justado por la derecha en la pulgada 7 horizontal.

Dentro del texto se soportan una o varias Variables especiales o de Usuario puestas en cualquier orden, e incluso mezcladas con datos constantes (vea el ejemplo mas abajo de fecha y hora). Las variables de usuario &USRnn permiten un uso mas sofisticado en ciertos momentos.

Existe un uso especial de Variables de Usuario que permite una gran flexibilidad. las “Variables Tecleadas al Imprimir”. Podemos decir que el dato es una Variable Tecleada. Para ello en lugar de teclear el nombre fijo tecleamos &usr01(Texto-libre-x) y cuando se comienza la impresion real de la primera pag se le pregunta al usuario final el texto.

ejemplos… (se supone ;;Mode,,INCH)

  • ;;Pos,2.1,,Fecha: escribe “Fecha:” en la pulgada horiz 2.1” y en la vertical activa
  • ;;Pos,2,6,Fecha: escribe “Fecha:” en la pulgada horiz 2 vertical 6
  • ;;Pos,5,6 Se coloca en la pulgada horiz 5 vertical 6 sin escribir nada
  • ;;Image…etc imprime la imagen en la posicion ultima indicada
  • ;;Posl,REnd,,Fecha: &*date Hora: &*time
    → Imprime Fecha y Hora Real a la derecha de la pagina.

Printer

;;Printer: Definir Impresora a usar y/o atributos de impresión.

Si se indica una impresora se pone como impresora por omision.

Parametros:

  • 2. Impresora a usar. Sólo es necesario un trozo diferenciador del nombre precedido de PRT=.
    • La impresora se elige entre los nombres de las instaladas en el PC que ejecta CoPrint.
  • 3. Atributos de Comportamiento. pueden existir varios separados con blancos:
    • PORT Impresión Vertical
    • LAND Impresión Horizontal
    • cOPYnn Copias de 01 a 99 (dos numeros), 01 es como no poner nada, 02 para original+copia
    • BINnn Bandeja de entrada del Papel entre 01 y 14 (dos numeros)
    • COLOR Forzar uso de Color (no es seguro el comportamiento)
    • GREY Forzar uso de Grises (no Color) (no es seguro)
    • duPLEXn Impresion a Simple o doble hoja 1=Simple 2=Doble
    • modePDFX para generar documento PDF en lugar de imprimir, tambien permite modePdfF, modePdfD, modePdfZ.
      • una opcion de modepdf? es incluir ademas prtPdf, lo cual intenta enviar a impresora el pdf recien creado. Es una opción “beta” que puede ser de interés en condiciones especiales.

Ejemplo…

  • ;;Printer,PRT=HP4,LAND
  • ;;Printer,PRT=NP17,PORT COPY02 BIN04

Nota: En coprint.ini puede indicarse una impresora por omision con el valor Printer0=

PrtZone

Ver Zone

Regla o Rule

;;Regla (o ;;Rule o ;;Ruler, o ;;Regla1) Imprime una regla de posiciones para permitir afinar en la ubicacion de objetos. Tambien existe la utilidad piprt_R.exe adicional de CoPrint para imprimir regla de posiciones.

  • 2. sin uso
  • 3. I o P para imprimir medidas en pulgadas (inch)
  • 4. Numero de veces a imprimir la regla.

ejemplo:

  • ;;Regla1,,P,10 imprime diez lineas de regla en pulgadas
  • ;;regla

Un ejemplo mas elaborado que imprime la regla verde claro como fondo:

;;newFrm              
;;mode,,inch          
;;*
;;font,lc,9t          
;;color,10            
;;Regla1,,P,80        
;;color,0             
;;pos,0,0             
...........
;;EndFrm  

RstPos

;;rstPos Reponer posic Horiz y Vertic de la ultima savPos

;;rstPos ;;rstPosX ;;rstPosY

  • ;;rstPos restaura las posiciones horiz y vertic a las posiciones que habia cuando se usó la op ;;savPos.
  • ;;rstPosX restaura solo la posic horizontal.
  • ;;rstPosY restaura solo la posic vertical.

Esta operacion solo se usa en situaciones complejas (…y cuando no lo es?)

ejemplo…

  • ;;savPos guarda la posicion activa en la impresora
  • ;;Box…. etc pintar cuadros y cualquier otra cosa
  • ;;rstPos vuelve a poner como posicion activa la guardada

Run

;;Run Permite ordenar funciones diversas en el PC Windows donde corre el CoPrint server:

  • Imprimir documentos diversos de PC como Word, pdf, Excel, texot…
  • ejecutar programas de todo tipo (exe, bat) con parámetros

Permite el uso de variables con ;;USR

Parámetros:

  • 1. ;;RUN
  • 2. orden: print, open
  • 3. path + nombre ficher sobre el que se ejecuta la orden
  • 4. *NONE, sin uso
  • 5. nombre (o trozo) de la impresora sobre la que se quiere imprimir
  • 6. *NONE, sin uso
  • 7. tiempo de espera del coprint, tras ejecutar la orden segundos de espera para buscar otro trabajo.

Ejemplo:

  • ;;Run,Print,c:\iFax.pdf,*NONE,ibm17,*NONE,3

Se puede usar esta funcion con el comando COPRUN.

SavPos

;;savPos

Salva (Guarda) las posiciones horizontal y vertical actual, de forma que pueda imprimirse luego algo y volver a reponer estas posiciones con las operaciones ;;rstPos+

ejemplo… ;;savPos

Ver la operacion RSTPOS++

StrZone

Ver Zone

Time

;;Time Imprime la fecha y la hora. La segunda vez imprime ademas la diferencia con la primera. Solo es util para pruebas de programacion y tiempos, p.e.

Para imprimir la hora normal (p.e. en cabecera de paginas) se cuenta con la variable &*time, igualmente que la &*date. tal como

  • ;;Posl,REnd,,Fecha: &date Hora: &time
    → Imprime Fecha y Hora Real a la derecha de la pagina.

;;Usr Variables de Usuario

;;Usr++ Variables de Usuario

Permite definir variables de usuario numericas (01 a 99) que pueden ser luego impresas en ;;pos o ;;posL usando la variable &usr++ siendo ++ el num de variable a imprimir.

Ademas de estas variables de usuario existen variables globales.

Variables Tecleadas al Imprimir.
Si se usa una variable que NO tiene asignado valor (p.e. se usa la variable &usr01 antes de haber encontrado una operacion ;;usr01 para asignarle valor) CoPrint pregunta al usuario final el valor de esa variable. Permite definir formularios con textos variables que se solicitan al imprimir al usuario.

ejemplo… (suponemos ;;Mode,,INCH para el ejemplo)

  • ;;Usr,01,Empresa xx –> asigna el texto “Empresa xx” a la variable 01
  • ;;pos,,,&usr01 –> imprime la variable 01 en la posic activa
  • ;;posL,7.5,0.2,&usr01 → imprime lo mismo en (pulgada) horiz 7.5“ y vertical 0.2”

Wait

;;wait Espera tras imprimir

;;wait,segundos

;;waitPage Espera tras imprimir cada página.

;;waitPage,segundos

No serán de mucha utilidad, sólo para trabajar con impresoras lentas o forzar la espera de tareas (como ;;RUN o ;;EAMAILIN)

Zone

Operaciones ;;StrZone ;;EndZone ;;PrtZone.

Define zonas (grupos de lineas) en el script base de un documento que pueden imprimirse con una operacion asociada a un dato de spool por su codigo de zona.

Para asociar un dato, en la pantalla de AS400 de diseño de datos de un documento (paso 51) lo definiremos como tipo ZONE y en el campo de datos adicionales pondremos ;;prtZone,N para indicar que cuando se vaya a imprir este campo se ejecuten las lineas del script base que esten entre ;;strZone,N y ;;endZone,N en el script.

  • La ;;strzona,1 comienza la zona 1. La ;;endzona la termina y la ;;prtzona,1 la imprime.
  • Se permiten zonas de 1 a 9.

:!: El sistema de Zone permite impresión diferenciada por zonas, de cierta complejidad que requiere generalmente un análisis cuidadoso.

 
/kunden/homepages/8/d674751560/htdocs/cpies/doc/data/pages/coprint/operaciones.txt · Última modificación: 2/08/2017 20:20 por admin
[unknown button type]
 
Excepto donde se indique lo contrario, el contenido de este wiki esta bajo la siguiente licencia: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki