IMPRIMIR EN IMPRESORAS PCL

458 views
Skip to first unread message

Pedro Luis López De Miguel

unread,
Apr 7, 2016, 1:25:36 PM4/7/16
to Pick and MultiValue Databases

necesito imprimir en una impresora pcl (ricoh af330) un listado que ocupa 132 caracteres en una hoja tamaño DIN A4, me envían los comandos pcl de la impresora pero no consigo hacerlo, me podéis indicar cómo?

En las impresoras matriciales con un CHAR(15) estaba resuelto, pero en esta es más complicado.

 

Estos son los datos que me han facilitado

 

       Paso o Espaciado                            <esc>(s#P

                                                                                              # = 0  Paso Fijo

                                                                                                    1  Paso Proporcional

Pitch                     <esc>(s#H

Tamaño               <esc>(s#V

       Estilo                     <esc>(s#S                          # =

                                                                                                              0 Medium

                                                                                                              1 Semi Bold

                                                                                                              2 Demi Bold

                                                                                                              3 Bold

       Familia                 <esc>(s#T

 

 

       Ejemplo de llamada a una Fuente Escalable

-       Juego Roman 8                               <esc>(0U

-       Paso Proporcional                          <esc>(s1P

-       Tamaño 14.25                                  <esc>(s14.25V

-       Estilo Normal                                   <esc>(s0S

-       Negrita                                               <esc>(s3B

-       Familia CG Times                            <esc>(s4101T

 

Muchas gracias,

MAV

unread,
Apr 8, 2016, 6:28:50 AM4/8/16
to Pick and MultiValue Databases
Estas son las combinaciones que usamos para imprimir a diferentes tamaños en PCL (de mayor a menor).

PCI10:   CHAR(27):" (s0p10h12v0s0b3T"
PCI12:   CHAR(27):"(s0p12h12v0s0b3T"
PCI17:   CHAR(27):" (s0p17h12v0s0b3T"
PCI20:   CHAR(27):" (s0p20h12v0s0b3T"

Los primeros caracteres "s0pxx" indican que es una fuente fija (no proporcional) y "xx" indica el tamaño en CPI (caracteres por pulgada). Cuantos más CPI, más pequeña será la fuente. El resto de caracteres hacen referencia al tipo de fuente.

Si utilizas QM, en la cuenta QMSYS, fichero BP, registro PCL, tienes la definición de unas funciones para manejar PCL de una forma más amigable.

Saludos,

Marcos Alonso Vega
INGESCO Sistemas Informáticos S.L.

Pedro Luis López De Miguel

unread,
Apr 11, 2016, 2:54:29 PM4/11/16
to Pick and MultiValue Databases
Buenas tardes, gracias por tu respuesta, este programa es el que he hecho, pero sigue sin funcionar, previamente asigno la impresora PCL, utilizo D3, que crees que está fallando?
CLEAR
ESC=CHAR(27)
ECHO OFF
ROMAN8=CHAR(27):" (0U"
PROPOR=CHAR(27):" (s1P"
COMPRE=CHAR(27):" (s17V"
PRINTER ON
COMP=ROMAN8:PROPOR:COMPRE
PRINT COMP
*PRINT ROMAN8:
*PRINT PROPOR:
*PRINT COMPRE:
ECHO ON
PRINTER OFF
PRINTER CLOSE
STOP
END

Bob Rasmussen

unread,
Apr 11, 2016, 6:18:55 PM4/11/16
to Pick and MultiValue Databases
Please pardon my English.

One problem is that you have a space before the parenthesis. Where you
have:
ROMAN8=CHAR(27):" (0U"
you should have
ROMAN8=CHAR(27):"(0U"
Similar changes should be made in PROPOR and COMPRE.

Also, note that your COMPRE line is setting the HEIGHT to 17 points. It is
NOT setting the pitch to 17 characters per inch.

If you want compressed, 17 characters per inch, you probably want FIXED,
not proportional. Fixed would be CHAR(27):"s0P" and 17 characters per inch
would be CHAR(27):"(s17H"
> --
> You received this message because you are subscribed to
> the "Pick and MultiValue Databases" group.
> To post, email to: mvd...@googlegroups.com
> To unsubscribe, email to: mvdbms+un...@googlegroups.com
> For more options, visit http://groups.google.com/group/mvdbms
>
>

Regards,
....Bob Rasmussen, President, Rasmussen Software, Inc.

personal e-mail: r...@anzio.com
company e-mail: r...@anzio.com
voice: (US) 503-624-0360 (9:00-6:00 Pacific Time)
fax: (US) 503-624-0760
web: http://www.anzio.com
street address: Rasmussen Software, Inc.
10240 SW Nimbus, Suite L9
Portland, OR 97223 USA

MAV

unread,
Apr 12, 2016, 3:35:04 AM4/12/16
to Pick and MultiValue Databases
Hola Pedro.

Tal como dice Bob Rasmussen, sobran los espacios en blanco. De hecho, en mi ejemplo he puesto sin querer algún espacio en blanco. Si utilizas esas secuencias de caracteres, y la impresora está bien definida (revisa tus "dev-make" en el USER-COLDSTART), no tendrías que tener problema. No conozco esa impresora, pero asegúrate que está configurada con la emulación correcta (o en "auto").

Espero que te sirva.

Saludos,

Marcos Alonso Vega
INGESCO Sistemas Informáticos

Pedro Luis López De Miguel

unread,
Apr 12, 2016, 12:43:27 PM4/12/16
to Pick and MultiValue Databases

Ante todo muchas gracias MAV y Bob, he hecho algunas averiguaciones y me indican que si la impresora es PCL 6 es complicado desde D3 Linux, no se si vosotros tenéis alguna experiencia en este sentido y lo habéis resuelto.
 

Bob Rasmussen

unread,
Apr 12, 2016, 12:52:03 PM4/12/16
to Pick and MultiValue Databases
PCL 6 is not simply a later version than PCL 5, it is completely
different.

It is very difficult, probably impossible, to generate PCL-6 from D3.

However, most printers that support PCL-6 also support PCL-5. If you say
what printer you are using, I can research it for you.

Wols Lists

unread,
Apr 12, 2016, 1:18:32 PM4/12/16
to mvd...@googlegroups.com
On 12/04/16 17:52, Bob Rasmussen wrote:
> PCL 6 is not simply a later version than PCL 5, it is completely different.

I'm not so sure of that ...
>
> It is very difficult, probably impossible, to generate PCL-6 from D3.
>
> However, most printers that support PCL-6 also support PCL-5. If you say
> what printer you are using, I can research it for you.
>
As I understood it, PCL3 and PCL5 were completely different languages.

HP-GL was originally for plotters in the prehistoric past.

PCL3 was (still is?) the language for ink-jets.

PCL5 (including HP-GL) was a completely different language for laser
printers.

PCL5 then got upgraded to 5E (enhanced), 5C (colour) etc etc.

PCL6 then added a completely new language but retained PCL5 as a subset
(like PCL5 had HP-GL as a subset).

A quick Google seems to confirm this. (Implying that PCL6 is biased
towards GDI printers.)

Cheers,
Wol

Pedro Luis López De Miguel

unread,
Apr 12, 2016, 1:22:38 PM4/12/16
to Pick and MultiValue Databases

La impresora es una RICOH AFFCIO 3030, parece ser que si soporta PCL 5C y otra de hp, me tiene que indicar el distribuidor de Ricoh como se configura.

Pedro Luis López De Miguel

unread,
Apr 12, 2016, 1:27:01 PM4/12/16
to Pick and MultiValue Databases

RICOH AFICIO 3030

Bob Rasmussen

unread,
Apr 12, 2016, 1:43:54 PM4/12/16
to Pick and MultiValue Databases
This printer appears to support PCL-5e. So it should support the escape
sequences you are sending it.

On Tue, 12 Apr 2016, Pedro Luis López De Miguel wrote:

>
> RICOH AFICIO 3030

Bob Rasmussen

unread,
Apr 12, 2016, 1:47:43 PM4/12/16
to mvd...@googlegroups.com
I know whereof I speak. I have created as well as emulated PCL-5 and PCL-6
(also known as PCL-XL) and variations going back 20 years.

Wols Lists

unread,
Apr 12, 2016, 2:27:06 PM4/12/16
to mvd...@googlegroups.com
On 12/04/16 18:47, Bob Rasmussen wrote:
> I know whereof I speak. I have created as well as emulated PCL-5 and
> PCL-6 (also known as PCL-XL) and variations going back 20 years.

https://en.wikipedia.org/wiki/Printer_Command_Language

Not that wikipedia is always reliable, but PCL-XL and PCL-6 are
apparently not the same thing ... PCL-6 is (must be) a superset of PCL-5
- if it's not capable of understanding PCL-5 it's not officially PCL-6
compliant.

So, as I said :-) it seems PCL-6 is PCL-5 with a new language added
(PCL-5 plus PCL-XL).

I did try looking on the HP website, but that seems to be an exercise in
frustration ...

Cheers,
Wol

stope19

unread,
Apr 12, 2016, 8:04:55 PM4/12/16
to Pick and MultiValue Databases


On Wednesday, 13 April 2016 04:27:06 UTC+10, Wol wrote:
<snip>
.. PCL-6 is (must be) a superset of PCL-5
</snip>


From the 'PCL 6 FAQ' document on the HP site:

Q: Is PCL6 a superset of PCL5e?

A: No,PCL6 is not an superset of PCL5. It is a completely different page description language (PDL). Some main differences are:
PCL6 has no ASCII binding. Consequently, PCL6 streams are quite smaller, and there's more development and debugging time involved in compiling and decompiling the binary streams. There are C libraries provided by HP (JetLib) for generating PCL6 streams. PCL6 provides an object-oriented imaging protocol, which has more one to one relationships with GUI objects used under environments such as Windows, OS/2 and Macintosh. PCL6 is a stack based protocol (e.g. PostScript) composed of attributes and operators that allow one to define paths, clip paths, pens, brushes, fonts, raster patterns, etc..
 

Pedro Luis López De Miguel

unread,
Apr 13, 2016, 12:26:58 PM4/13/16
to Pick and MultiValue Databases
Buenas tardes, he recibido una información del distribuidor que quería que interpretaseis.

A la hora de enviar un trabajo de impresión, antes de los comandos PCL, se envía una serie de instrucciones PJL con información sobre el trabajo.

La cabecera de una hoja de prueba de Windows impresa con PCL6 es algo como esto:

 

@PJL JOB NAME = "Pбgina de prueba"

@PJL SET PRINTINFO = "DUPLEX_NUP=00000001/SCALING=3/OTHER=00000000"

@PJL COMMENT RPJL,WIN2000,PCL6C,1.1.0.0,COLOR

@PJL COMMENT OTHER = "0C030177000000000077001100000001"

@PJL SET DATE = "2016/04/13"

@PJL SET TIME = "09:13:56"

@PJL SET DRIVERKINDINFO = PCL6

@PJL SET MEDIA1NAMECHARSET = 2

@PJL SET MEDIA1NAME = ""

@PJL SET MEDIA2NAMECHARSET = 2

@PJL SET MEDIA2NAME = ""

@PJL SET MEDIA3NAMECHARSET = 2

@PJL SET MEDIA3NAME = ""

@PJL SET MEDIA4NAMECHARSET = 2

@PJL SET MEDIA4NAME = ""

@PJL SET MEDIA5NAMECHARSET = 2

@PJL SET MEDIA5NAME = ""

@PJL SET MEDIA6NAMECHARSET = 2

@PJL SET MEDIA6NAME = ""

@PJL SET MEDIA7NAMECHARSET = 2

@PJL SET MEDIA7NAME = ""

@PJL SET MEDIA8NAMECHARSET = 2

@PJL SET MEDIA8NAME = ""

@PJL SET ECONOMODE = OFF

@PJL SET WHITEPAPERSUPPRESS = OFF

@PJL SET DOCPRINTMENUUSER = USERID

@PJL SET TRACKID = "AUkwEAAAgjUm8Ig"

@PJL SET HOSTPRINTERNAME = "RICOH MP C306Z PCL 6"

@PJL SET EDGETOEDGE = NO

@PJL SET COPIES = 1

@PJL SET HOSTPORTNAME = "172.16.1.234"

@PJL SET AUTHENTICATIONUSERNAMECHARSET = 2

@PJL SET AUTHENTICATIONUSERNAME = ""

@PJL SET USERID = "cesar"

@PJL SET BITSPERDOT = 2

@PJL SET QTY = 1

@PJL SET BLACKOVERPRINT = OFF

@PJL SET DATAMODE = COLOR

@PJL SET BILLINGCODE = ""

@PJL SET HOSTLOGINNAME = "Tecnico-Cesar"

@PJL SET HOSTCHARSET2 = 2

@PJL SET JOBOFFSET = OFF

@PJL SET BINDING = LONGEDGE

@PJL SET RESOLUTION = 600

@PJL SET DISPCHARSET2 = 2

@PJL SET TRAY = ALL

@PJL SET HOSTNAME = "TECNICO-CESAR"

@PJL SET MEDIATYPE = PLAINORRECYCLED

@PJL SET JOBNAME = "Pбgina de prueba"

@PJL SET AUTOTRAYCHANGE = ON

@PJL SET DUPLEX = ON

@PJL SET PRINTERMARKINGTYPE = OFF

@PJL SET BANNERPAGEPRINT = OFF

@PJL SET RENDERMODE = COLOR

@PJL SET USERCODE = "42069"

@PJL SET ORIENTATION = PORTRAIT

@PJL ENTER LANGUAGE = PCLXL

) HP-PCL XL;3;0;Comment Copyright (c) 2015 RICOH COMPANY,LTD. ;Versión 0.0.1.0

 

Y después de esto comienzan los comandos PCL.

 

La penúltima línea que dice “@PJL ENTER LANGUAGE = PCLXL” Es la que indica la versión de PCL que se va a utilizar. PCLXL es la versión 6 y PCL es la versión 5.

 

Como pensáis que habría que utilizar esto.

MAV

unread,
Apr 14, 2016, 4:19:20 AM4/14/16
to Pick and MultiValue Databases
Hola Pedro.

Veo que sigues con problemas. Yo nunca he enviado datos PJL a una impresora PCL por lo que no puedo ayudarte. Me resulta extraño lo que pasa y sospecho que es un problema de definición de impresora en D3 o de configuración de la misma.

El siguiente mini programa tendría que funcionar en una impresora PCL5 o inferior:


      PRINTER OFF
      PRINTER ON
      PRINT CHAR(27):"E":CHAR(27):"&10O":CHAR(27):"&16D":CHAR(27):"&l66F":
      PRINT CHAR(27):"(s0p10h12v0s0b3T"
      ***
      PRINT "HOLA MUNDO"
      PRINT
      PRINT CHAR(27):"(s0p10h12v0s0b3T":"CPI10"
      PRINT CHAR(27):"(s0p12h12v0s0b3T":"CPI12"
      PRINT CHAR(27):"(s0p17h12v0s0b3T":"CPI17"
      PRINT CHAR(27):"(s0p20h12v0s0b3T":"CPI20"
      ***
      PRINTER CLOSE
      PRINTER OFF

Si este programa no te funciona sospecharía de algún problema de configuración.

Saludos,

Marcos Alonso Vega
INGESCO Sistemas Informáticos

Pedro Luis López De Miguel

unread,
Apr 16, 2016, 7:22:40 AM4/16/16
to Pick and MultiValue Databases


Hola Marcos, gracias por tu interés, tengo que ver como resuelvo el transmitirle a la impresora que en vez de PCL6 sea PCL5, probare tu programa cuando lo solucione y te informare de ello.

No obstante, si averiguas algo al respecto te agradeceré que me lo comentes.
 

Muchas gracias,

Reply all
Reply to author
Forward
0 new messages