GrialPrint

De GrialWIKI

Introducción al Framework Grial

Índice


Contenido

GrialPrint

Controles con sufijo: _gpr

Descripción General

El control GrialPrint se utiliza para la impresión de documentos permitiendo modificar propiedades que describen cómo se va a visualizar el mismo.

Archivo:Grialprint.jpg

Descripción de los métodos que interactuan al imprimir o visualizar un documento.

  1. ButtonClicked: Se dispara cuando el usuario pulsa un botón en el control. Este evento por lo general es utilizado para establecer las cabeceras y pie de páginas de una impresión, para establecer la posición de la hoja, entre otras cosas.
  2. PreDocumentPrint: Se dispara una única vez luego de seleccionar la impresora, determinar el tipo de papel (PrintPos_PageWidth, y calcular el ancho de la hoja y las posiciones de los márgenes(PrintPos_LeftMargin). Utilizar para cargar queries y datos necesarios para la impresión.
  3. PrintHeader Se dispara automáticamente antes de comenzar cada hoja
  4. PrintDocument: Este es el evento principal de impresión. Se dispara una vez por cada copia solicitada.
  5. PrintFooter Se dispara automáticamente al alcanzar la posición “PrintPos_Footer”
  6. PostDocumentPrint


Image:Flujo.GrialPrint.png

Ejemplo

En el siguiente ejemplo se supone que se ha agregado un control GrialPrint_qpr en un Formulario. Un control grialprint presenta la particularidad de tener incluidos encabezados y pié de páginas definidos de manera predeterminada para todas las impresiones en el sistema.

Por ejemplo al realizar una impresión se visualizará en la parte superior de la hoja un escudo, marca de agua, fecha y hora de impresión, nombre de la institución.

Al pie de página se podrá visualizar el usuario que lleva a cabo la impresión como así también el cargo asignado dentro del sistema, como por ejemplo operador, jefe, director, etc.

Cabe aclarar que mediante las propiedades relacionadas, es posible indicar que dichos encabezados y pie de página no sean impresos.

A continuación pasaremos a visualizar un ejemplo de código:

Private Type persona
  nombre As String
  apellido As String
End Type
 
'Cargamos datos
 
Dim personas(1 To 3) As persona
 
personas(1).nombre = "Federico"
personas(1).apellido = "Guillen"
 
personas(2).nombre = "Pedro"
personas(2).apellido = "Ramirez"
 
personas(3).nombre = "Laura"
personas(3).apellido = "Milciades"

En el evento ButtonClicked

Private Sub GrialPrint_gpr_ButtonClicked(ButtonCode As GrialPrint.GPR_BUTTON_CODE, Cancel As Boolean)
'Evito que use los encabezados default
With GrialPrint _gpr
    .PageHeader_Right = ""
    .UseFooters = False
    .PageHeader_Left = ""
    .UseHeaders = False
End With

PageHeader_Rigth hace referencia a la parte izquierda del encabezado de la hoja. Teniendo como valor predeterminado una marca de agua y fecha de impresión por ejemplo, los cuales serán visualizados automáticamente al momento de obtener la impresión. En el ejemplo anterior se indico de manera manual que contenga un valor = “” lo cual indica que no deberá visualizarse ningún encabezado izquierdo dentro de la hoja.

De la misma manera explicada anteriormente actúa PageHeader_Left con la diferencia de que generalmente el encabezado derecho está compuesto de un escudo de la provincia, el nombre de la misma y de la institución. Para el ejemplo también se solicita que eso no figure.

En el evento PrintDocument.

Private Sub GrialPrint_gpr_PrintDocument(Cancel As Boolean)
On Error GoTo ErrH
 
Dim i as integer
 
On Error GoTo ErrH
 
With GrialPrint_gpr
 
    .ReportTitle = "Título del Informe"
    .ReportSubTitle =  "Subtítulo del Informe"
    .ReportSecondaryTitle = "Título Secundario"
    .ClearCols
    .DefineCol "NOMBRE", "Nombre<vl>", 2000, AlignLeft
    .DefineCol "APELLIDO", "Apellido", 2200, AlignLeft
    .OpenBox "Detalle"
    .FontBold = True
    .WtColTitles
    .FontBold = False
    .BoxSepar ("Detalle")
 
 
     For i = 1  to 3
       .WtCol "NOMBRE", personas(i).nombre
       .WtCol "APELLIDO", personas(i).apellido, AlignLeft
       .Printer_Advance
       .BoxSepar ("Detalle")        
     Next 
 
    .CloseBox "Detalle"
    .WtColVLines
    .Printer_Advance
    .Wt 200, "Fin ejemplo.", 9000, AlignLeft
 
End With
 
Exit Sub
ErrH:
    MsgError GrialCont
    Cancel = True
    Exit Sub
End Sub

Resultado

Archivo:Resultadoimpresion.jpg

Referencia de Métodos

Wt

(Write)

Para realizar la impresión de un texto sencillo. Suponiendo que nuestro control se denomina GrialPrint_gpr tendríamos que escribir el siguiente código:

GrialPrint_gpr.Wt ( X As Single, Text As String, [Coldwith as Single], [Alignmode As Gpr_Alignmode_Enum = Align Default])

X: número que indica la posición horizontal dentro de la hoja en donde se imprime el texto.

(La posición vertical es la actual que se obtiene mediante la propiedad Printer_posY)

Text: texto a imprimir.

Coldwith: (opcional) permite establecer el ancho de la línea.

Alignmode: (opcional) indica la alineación que deberá tener el texto.


En este ejemplo se solicita imprimir el texto a partir de la coordenada x = 200, en un ancho de 9000 y con alineación derecha.

 
  .Wt ( 200, FormatCurrecy(Total), 9000, Align_Right)

WtCenter

Imprime un texto pasado como parámetro en el centro de la hoja con la opción de que el texto este en negrita o no.

WtCenter(Text as String, [UserFontBold as Boolean=Verdadero])

WtLn

Imprime el texto pasado como parámetro y avanza una linea. Similar a usar Wt mas Printer_Advance.


WtLn(x as single, Text as String, [ColWith as single])

WtCurrCol

Si el valor a imprimir en una columna trata de una moneda, antepone al valor automáticamente el tipo de moneda del país.

WtCurrCol(Key as String, Curr as Currency)

GrialPrint_gpr.WtCurrCol "NOMBRECOLUMNA", "1.250,35"

Imprime $1.250,35 en la columna especificada.

WtColSepar

Dibuja una linea del ancho de la columna pasada como parámetro.

WtColSepar(Key As String)

Printer_Advance

Este método es utilizado para avanzar a la siguiente linea.

Public Sub Printer_Advance(Optional ByVal CantLines As Single = 1)

Cantlines: cantidad de líneas a avanzar, es opcional, asumiendo el valor 1 en caso de no encontrarse especificado.

Por Ejemplo:

With GrialPrint_gpr
 
  .Printer_Advance
  ...
  .Printer_Advance 2
   ...
  .Printer_Advance 1.5
 
End With

AssureSpace

Este método sirve para asegurarse que exista espacio suficiente antes del fin de pagina. Es utilizado antes de imprimir un conjunto de lineas que deba permanecer en la misma pagina.

Public Sub AssureSpace(ByVal CantLines As Single)

CantLines: cantidad de líneas a asegurar. Si no queda esa cantidad de lineas antes del fin de pagina se saltará a una nueva hoja.

Número de Copia (solo NET)

Propiedad CopyNumber

Ejemplo de código

Acceder al número de copia e imprimir la palabra "DUPLICADO", "TRIPLICADO", etc, dentro de una caja.

   Private Sub gpr_Listado_PrintHeader(Sender As Object, e As EventArgs) Handles gpr_Listado.PrintHeader
       With gpr_Listado
           Dim s As String = .DuplicatedTitle(.CopyNumber)
           .WtXY(400, 1800, s)
           .Linea(400 - 100, 1800, "B", .TextWidth(s) + 200, .TextHeight())
       End With
   End Sub

Recuadros

Abrir un cuadro - Método OpenBox

Este método permite abrir un cuadro que podrá contener o no según se requiera, filas y columnas de la siguiente manera:

GrialPrint_Gpr.Openbox (Key as String, [x], [w])

Donde Key deberá contener el nombre del cuadro que se está iniciando.

X y W son opcionales y permiten definir la Posición del cuadro dentro de la hoja. En caso de omitirse estos valores, se asume por default un valor aproximado al ancho de la hoja.

Impresión de Líneas Horizontales - Método BoxSepar

Este método permite realizar la impresión de una línea horizontal dentro de un cuadro utilizando la siguiente sintaxis:

GrialPrint_Gpr.BoxSepar (Key as String)

Donde Key deberá contener el mismo nombre utilizado en la propiedad Openbox que inicializa al cuadro

Cerrar un cuadro - Método CloseBox

Este método permite cerrar un cuadro inicializado previamente cuando se requiera terminar de imprimir dentro del mismo, de la siguiente manera:

GrialPrint_Gpr.CloseBox (Key as String)

Donde Key deberá contener el mismo nombre especificado en OpenBox.

Impresión en Columnas

Definir Columnas de Impresión – Método DefineCol

GrialPrint_Gpr.DefineCol (Key As String, Title As String
            , [ColWidth As Single]
            , [AlignMode As gpr_AlignMode_Enum = AlignLeft_WordWrap])

Este método permite definir columnas.

Key
deberá contener el nombre de la columna pudiendo ser cualquier letra o texto.
Title
indica el nombre del encabezado de columna que desea salga impreso.
ColWidth
indicará el tamaño de la columna y es opcional, en caso de no contener ningún valor la columna asumirá el tamaño del texto que se imprimirá como encabezado de la columna.
AlignMode
será la alineación tanto del encabezado como del contenido de la columna. Es opcional y en caso de no contener ningún valor se asume alineación derecha y tanto el encabezado como el texto de la columna serán impresos hasta la longitud que indica el tamaño de la columna, pasando luego a la línea siguiente en caso de que el tamaño de dicho texto sea superior al tamaño de la columna definido.

Ej.

    .DefineCol "NOMBRE", "Nombre<vl>", 2000, AlignLeft

Nota: “<vl>” indica que luego de la columna “Nombre” se debe dibujar una línea vertical de separación.

Limpiar Definición de Columnas – Método ClearCols

Este método es utilizado para limpiar la definición de columnas existente. Generalmente es utilizado antes de definir las columnas de una impresión.

GrialPrint_Grp.ClearCols

Imprimir Encabezados de Columnas – Método WtColTitles

Este método es utilizado para, una vez definidas previamente las columnas que serán utilizadas dentro de una impresión, imprimir los encabezados de la mismas. Es decir que se utiliza para imprimir la línea superior de títulos. Una vez definidas las columnas y escribiendo luego la siguiente sintaxis:

GrialPrint_Gpr.WtColTitles

Se imprimirá dentro de su hoja el encabezado de cada una de las columnas definidas.

Imprimir contenido de las columnas – Método WtCol

Una vez definidas las columnas de impresión y luego de haber invocado a WtColTitles para imprimir los encabezados de las mismas, será necesario llevar a cabo la impresión del contenido de cada una de las columnas que aparecerán en la impresión. Para esto utilizaremos el método WtCol de la siguiente manera:

GrialPrint_Gpr.WtCol (Key as String, Text as String, [SpecificAlignMode As Gpr_AlignMode_Enum = AlignDefault])

Donde el valor de Key deberá ser el mismo utilizado al momento de definir el nombre de la columna en donde se quiere imprimir su contenido, Text contendrá el valor a imprimir dentro de dicha columna y SpecificAlignMode la alineación que deberá tener dicho contenido (si se desea que sea diferente a la definida para la columna).

Es importante aclarar que el encabezado de una columna puede tener una alineación distinta al contenido de la misma. Para esto solo será necesario especificar para cada caso la alineación requerida ya sea al momento de definir la columna y luego al momento de imprimir el contenido de la misma. En el caso de que al momento de imprimir el contenido de una columna no se especifique ninguna alineación especifica, el mismo asumirá la especificada al momento de la definición de la columna correspondiente.

Propiedades

FontBold

Esta propiedad puede asumir los valores True o False.

En el caso de que el texto que se desea imprimir deba estar en negrita esta propiedad deberá tener valor true, caso contrario False. Cabe aclarar que si no se ha especificado desde un comienzo esta propiedad en true, no será necesario ponerla en false, ya que por default asumirá este valor en la impresión.

GrialPrint_Gpr.FontBold=True


Printer_DetailFontSize

Esta propiedad permite modificar el tamaño de la fuente de un texto.

Por default el tamaño de la fuente tiene un valor 8. En caso de que se necesite imprimir un tamaño de letras más grande se lo deberá especificar dentro de esta propiedad de la siguiente forma:

GrialPrint_Gpr.Printer_DetailFontSize = 11

Cabe aclarar que todo lo que se imprima luego de haber puesto ese tamaño de fuente, asumirá el mismo valor a no ser que se indique luego del ejemplo anterior el tamaño de fuente original nuevamente.


Page Header y Page Footer

Las propiedades que determinan lo que se debe imprimir en la linea superior del header y en la inferior del footer son:

  • PageHeader_Right, PageHeader_Center, PageHeader_Left
  • PageHeader_Right, PageHeader_Center, PageHeader_Left

Estas seis propiedades de tipo "string" permiten indicar qué se desea imprimir en los encabezados de cada pagina.

Los valores default para estas propiedades son:

 PageHeader_Left                                      PageHeader_Center         PageHeader_Right
 "[:Login Preform02_Descri:]"                                ""                 "[:Long Date:]"
 
  ...cuerpo del reporte...
 
 PageFooter_Left                                      PageFooter_Center         PageFooter_Right
 "[:Login (Usuario) Entidad (en) Preform11_Descri:]"         ""                 "Página [:Page:]"

Como se puede observar, es posible colocar valores constantes junto con variables que se reemplazan al momento de imprimir. Los valores constantes se indican directamente.

Las variables se indican encerrándolas entre [: y :] (corchete+dos puntos, abre, y dos puntos+corchete, cierra)

Los nombres reconocidos entre [: y :] son:

[:Date:]
Fecha actual, formato corto -> "30/3/2013"
[:Long Date:]
Fecha actual, formato largo -> "Sábado 30 de Marzo de 2013"
[:Time:]
Hora, formato corto -> "12:05"
[:Long Time:]
Hora, formato largo -> "12:10:35"
[:Page:]
Número de Página
[:Login fieldname fieldname... :]
La palabra clave Login seguida de uno o más nombres de campo, permite incorporar información del usuario actualmente logueado.

Ejemplos:

 "[:Login Entidad:]" -> Se convierte en el apellido y nombre del usuario -> "Tato, Lucio"
 "[:Login Usuario:]" -> Se convierte en el nombre de usuario -> "LTATO"
 "[:Login Usuario (en) DB_INSTANCE:]" -> "LTATO en PROD"
 "[:Login PREFORM02_CODIGO Preform02_Descri:]" -> codigo y descri de la Institución del usuario actual 
 "[:Login PREFORM11_CODIGO PREFORM11_DESCRI:]" -> codigo y descri de la U.Org del usuario actual

Dentro del bloque [:Login ... :] es posible colocar constantes, signos de puntuación, etc. Si las constantes se encierran entre paréntesis, son constantes opcionales y sólo se imprimirán si el siguiente valor no es nulo.

Los campos disponibles para field son aquellos que se encuentran el los parametros de la sesión y, adicionalmente, todos los que se encuentran en las vistas SOC_USUA_01W_LOGIN y SOC_USUA_02W_LOGIN, por lo que es posible extender esta lista agregando campos a dichas vistas.

Por Ejemplo:

  • Usuario
  • Entidad
  • DB_INSTANCE
  • SOCUSUA15_NRODOC
  • PREFORM02_CODIGO,PREFORM02_DESCRI
  • PREFORM11_CODIGO,PREFORM11_DESCRI
  • PREFORM12_CODIGO,PREFORM12_DESCRI

Para un listado completo consultar Parámetros de Sesión, Parámetros del Puesto Activo y las las vistas SOC_USUA_01W_LOGIN y SOC_USUA_02W_LOGIN en el sistema.

Códigos símil HTML para formatear la impresión

Estos códigos se utilizan para cambiar las propiedades del texto a imprimir en los métodos, Wt, WtLn, WtCol, etc.

Formateado del texto

<font n>: Establece el tamaño de la fuente en n.

.Wt 400,”<font 14>En size 14 <font 11>En Size 11<font 10>”

<font Nombre>: Establece la familia de la fuente.

.Wt 400,”<font Arial> Arial <font Tahoma> Tahoma”

<font +n>: Incrementa el tamaño de la fuente en n.

<font +2> Dos mas Grande <font +4> Ahora 6

<font -n>: Decrementa el tamaño de la fuente en n.

<font +4>Letras Grandes<font -4>Normal

<b>: Establece el texto en negrita.

<b> Texto en Negrita </b> Fin texto en Negrita

<i>: Establece el texto en Italica.

<i>Texto en Italica </i> Fin texto en Italica

<u>: Establece el texto con subrayado.

<u>Inicia texto subrayado </u> Fin texto subrayado

<h1>: Header 1, Inicia Titulo 1 (Idem: <font +10>)

<h1> Titulo 1 </h1> Fin titulo, vuelve al tamaño normal de fuente


<h2>: Header 2, Inicia Titulo 2 (Idem: <font +8>)

<h2> Titulo 2</h2> Fin titulo, vuelve al tamaño normal de fuente


<h3>: Header 3, Inicia Titulo 3 (Idem: <font +6>).

<h3> Titulo 3</h3> Fin titulo, vuelve al tamaño normal de fuente


<h4>: Header 4, Inicia Titulo 4 (Idem: <font +4>).

<h4> Titulo 4</h4> Fin titulo, vuelve al tamaño normal de fuente

<hr>: Horizontal Row: dibuja una línea de separación horizontal (invoca gpr.Printer_Separ).

<center>: imprime esa línea centrada. Sólo aplica a la línea en la cual está inlcluído.

<align center>: idem <center>: .

<align left>: imprime esa línea alineada a la izquierda.

<align right>: imprime esa línea alineada a la izquierda.

<align just>: Inicia impresión en modo justificado. Tambien puede ser <align justified> o <align justify>

<align /just>: Finaliza impresión en modo justificado. Tambien puede ser <align /justified> o <align /justify>.

<*>: Punto de lista, coloca un circulo relleno

 <*> Punto 1

imprime:

• Punto 1

Impresión de Lineas

Método Linea: Líneas arbitrarias

Sub Linea (array de variants)

Comandos en el array de variants:

X, Y : Las dos primeras coordenadas se consideran el punto de partida de la línea.
H, V : Cualquier par siguiente de coordenadas se considera como una instrucción de “moverse dibujando, H unidades en el eje x, V unidades en el eje y”

"T" (To) Las siguientes coordenadas se consideran una posicion abosluta por ejemplo: Linea 100,100,"T",500,100 hace una linea desde 100,100 que termina en 500,100 con lo que seria una linea horizontal de 400 de ancho
"B" (Box) Hace un box desde la pos actual con el tamaño indicado por ejemplo: Linea 100,100,"B",50,20 hace un box desde 100,100 de 50 de ancho y 20 de alto.
"BF" (Box Filled) Idem B pero llena el box con el color default
"BT" (Box To) hace un box desde la pos actual hasta la posición indicada por ejemplo: Linea 100,100,BT,150,120 hace un box desde 100,100 a 150,120 (50 de ancho y 20 de alto)
"BTF" / "BFT" (Box To Filled) Idem “BT” pero llena el box con el color default
"w+n" / "w-n" (width) Cambia el ancho de la línea

Ejemplo:

.Linea 1000, 1000, "B", 2000, 2000 'Hace un box en 1000,1000 de 2000 x 2000
.Linea 1300, 1300, 500, 1000, 500, -1000 'Hace una "V" dentro del box
.Linea 4000, 1000, "BT", 5000, 2000 'Hace un box en 4000,1000 de 1000 x 1000    
 
'Hace dos lineas diagonales, la segunda mas ancha
.Linea 4000, 800, 1120, 1100
.Linea "w+2", 4100, 800, 1120, 1100, "w-2"
 
' Hace un box, lleno de color gris
.ForeColor = &HC0C0C0
.Linea 4400, 1100, "BF", 500, 500     
 
'Hace una linea verde entre puntos arbitrarios, con coordenadas absolutas
 ‘Empieza en 4500,1200 y termina en 1000,1000
.ForeColor = vbGreen
.Linea 4500, 1200, "T", 4600, 800, "T", 1600, 3500, "T", 1000, 1000

Resultado: (1000,1000)

Archivo:Lineas.jpg

Líneas verticales en las columnas dentro de los boxes

Para dibujar las líneas verticales, debe agregarse al final del título en la definción de columnas (.DefineCol) el código “<VL>” que significa “Vertical Line”.

Luego de dibujar un separador horizontal (.BoxSepar) o de cerrar el Box, (.CloseBox) se debe llamar al método “WtColVLines” El método “WtColVLines” dibujará, para las columnas con “<VL>”, líneas verticales desde el último separador horizontal, hacia arriba, hasta el comienzo de la columna.

With GrialPrint_Gpr
    .OpenBox "Firmas", 1800, 3000
    .ClearCols
     ‘Defino 2 columnas en el box 
    .DefineCol_CurrentX = 1800(empiezan en 1800 ya que el box esta en 1800)
    .DefineCol "F1", "Col 1 de 2<VL>", 1500, AlignCenter
    .DefineCol "F2", "Col 2 de 2", 1500, AlignCenter
    .WtColTitles
    .BoxSepar "Firmas"
    Dim n As Integer
    For n = 1 To 3
        .WtCol "F1", n
        .WtCol "F2", n
        .Printer_Advance
    Next
    .BoxSepar "Firmas"
    .WtColVLines  ‘Nota: después del .BoxSepar y antes de .ClearCols
 
    .ClearCols
     ‘Ahora defino 3 columnas en el mismo box
    .DefineCol_CurrentX = 1800
    .DefineCol "F1", "Col 1 de 3<vl>", 1500, AlignCenter
    .DefineCol "F2", "Col 2 de 3<vl>", 1500, AlignCenter
    .DefineCol "F3", "Col 3 de 3", 1500, AlignCenter
    .WtColTitles
 
    For n = 1 To 3
        .BoxSepar "Firmas"
        .WtCol "F1", n
        .WtCol "F2", n
        .WtCol "F3", n
        .Printer_Advance
    Next
    .CloseBox "Firmas"
    .WtColVLines ‘Nota: después del .CloseBox
 
End With

Resultado:

Archivo:WtColVLines.jpg

Impresión de Imágenes

.NET

Usar los siguientes métodos del Grial.Print. Las coordenadas y sizes son en TWIPS

   Public Sub DrawImage(o As Image, x As Integer, y As Integer)
   Public Sub DrawImage(o As Image, x As Integer, y As Integer, Width As Integer, Height As Integer)

VB6 (old)

Impresión del Logo gris (watermark)

With GrialPrint
    .PrintObj.PaintPicture GrialCont.GetImage("Report", "Anticopia"), 5000, 4500, 2000, 2000
end with

Los parametros de .PaintPicture son: Imagen, Posicion X, Posicion Y, Ancho, Alto

Ejemplo de Impresión del Logo en colores

With GrialPrint
    .PrintObj.PaintPicture GrialCont.GetImage("Report", "Header"), 1000, 1000, 2000, 2000
end with

Header Barcode

La propiedad HeaderBarcode, cuando esta seteada, causa la impresión de un código de barras en la cabecera de la hoja. El código de barras es EAN13 y se compone de 2 dígitos para indicar la tabla (ver campo SICDOCU01_BARCODE_PREFIX), luego 10 digitos para el ID, y el dígito verificador.

Para establecer el HeaderBarcode invocar GrialPrint_gpr.SetHeaderBarcode con el valor de SICDOCU01_BARCODE_PREFIX y el ID de la cabecera.

La función SetHeaderBarcode recnonoce cuando el ID=-1 y no coloca código de barras en ese caso, por lo que puede llamarse siempre, sea alta, modificación o baja.

Debe llamarse durante "PrepararTransacción", por ejemplo:

Private Sub PrepararTransaccion(IDPreEjec20 as long)
 
...
GrialPrint_gpr.SetHeaderBarcode 20,IDPreEjec20
...
 
End Sub

Otros Barcodes

Hay un método para imprimir cada tipo de barcode:

xxx_gpr.DrawBarcode3of9(ByVal Data As String, ByVal x As Integer, ByVal y As Integer, ByRef h As Integer)
 
xxx_gpr.DrawBarcodeEAN(ByVal Data As String, ByVal x As Integer, ByVal Y As Integer)
 
xxx_gpr.DrawBarcode128(ByVal Data As String, ByVal x As Integer, ByVal Y As Integer, Optional ByVal Height As Integer = 600)
 
xxx_gpr.DrawBarcodeInterleaved2of5(ByVal Data As String, ByVal x As Integer, ByVal Y As Integer, Optional ByVal Height As Integer = 600)

Donde data es el codigo a imprimir, x e y son las posiciones en la pagina, y h/Height el alto


Si se setea previamente xxx_gpr.BarcodeLabels = True coloca el codigo en forma numerica debajo de las barras

GrialPrint: Problemas Comunes

  • No se imprime el escudo

Causa: Verificar que el control esté incializado. Esto se realiza automáticamente si el control tiene la extensión "_gpr".
Solucion: Renombrar el control con la extensión "_gpr"



GrialWorkflow <<< >>> GrialFileStorage

Herramientas personales