AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones estándar / Funciones de impresión
  • Características de la impresión
  • Combinación de fuentes
  • Combinación de posiciones
  • Impresión en Java y Android
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Envía la cadena de caracteres pasada como parámetro al buffer de impresión.
Se inserta automáticamente una pausa Line al final de la cadena: el cursor se posiciona en la siguiente Line. El paso al siguiente Line tiene en cuenta la altura del Line actual (en relación con la fuente utilizada). El trabajo de impresión no se inicia (sólo se puede utilizar iEndPrinting para iniciar el trabajo de impresión).
Observaciones:
  • Para imprimir una cadena de caracteres sin pasar a la siguiente Line, utilice iPrintWord.
  • La función iPrint no debe utilizarse en el código de apertura de un reporte.
Ejemplo
iPrint(iFont(2) + "Text in font 2")
iSkipPage()
// Customer name on the first line at 50 mm from the border
iPrint(iXPos(50) + Cu.CustName)
iEndPrinting()
Sintaxis
<Result> = iPrint(<Text to print> [, <String on next page>])
<Result>: booleano
  • True si se realizó la impresión,
  • False si el trabajo de impresión fue cancelado.
<Text to print>: Cadena de caracteres
Cadena de caracteres a imprimir así como sus características. Este parámetro tiene el siguiente formato:
[<Font Identifier> +] [<Vertical Position> +] [<Horizontal Position> +] <Text1>
...
[<Font Identifier> +] [<Vertical Position> +] [<Horizontal Position> +] <TextN>
donde:
  • <Identificador fuente>: entero opcional.
    Identificador de la fuente utilizada para imprimir el texto. Este identificador es devuelto por iFont. Si no se especifica este parámetro, se seleccionará la última fuente utilizada.
  • <Posición vertical>: entero opcional.
    Coordenada Y del punto donde debe realizarse la impresión. Esta posición se especifica en número de filas desde la parte superior izquierda Border de la hoja (con iYPos). Si no se especifica este parámetro, el texto se imprimirá en la posición actual.
  • <Posición horizontal>: entero opcional.
    Coordenada X del punto donde debe realizarse la impresión. Esta posición se especifica en número de columnas desde la parte superior izquierda Border de la hoja (con iXPos). Si no se especifica este parámetro, el texto se imprimirá en la posición actual.
  • <Texto>: Cadena de caracteres.
    Cadena de caracteres a imprimir.
Ejemplo:
Text_to_print = "First part" + iFont(1) + "Second part"
<String on next page>: Booleano opcional
Especifica si el texto impreso al final de la página debe ser truncado o si debe continuar en la página siguiente:
  • True (valor predeterminado): la cadena se imprimirá en la página siguiente si no cabe en una sola página.
  • False: el string está truncado: el resto de la cadena no se imprime en la página siguiente.
Observaciones

Características de la impresión

  • El origen (0,0) se encuentra en la parte superior izquierda de la hoja Corner. Tiene en cuenta los márgenes físicos de la impresora.
  • La posición vertical actual al imprimir una cadena de caracteres apunta a la parte superior de la cadena.. La posición inferior depende de la altura de las fuentes utilizadas en la Line a imprimir.
  • Puede especificar varias fuentes y posiciones como parámetros en una sola llamada a iPrint. Por ejemplo:
    iPrint(iXPos(50) + CU.LASTNAME + iXPos(150) + CU.FIRSTNAME)
  • El carácter correspondiente a una interrupción Line (Char(10)) se interpreta como un salto Line.

Combinación de fuentes

Pueden producirse resultados inesperados al combinar fuentes. Por ejemplo, el siguiente código:
iFont(2)
iPrint("First Part" + iFont(1) + "Second Part")
no es equivalente a:
iPrint(iFont(2) + "First Part" + iFont(1) + "Second Part")
En el primer caso, toda la cadena de caracteres se imprime en la fuente 1. De hecho, en este caso, la función iFont(1) se ejecuta cuando se construye la cadena a imprimir y, por lo tanto, antes de imprimir la cadena "Primera parte".
Para obtener un resultado idéntico, se debe utilizar la función iFont con el parámetro False: iFont( 1, False) se ejecutará realmente durante la impresión.

Combinación de posiciones

Cuando se combinan posiciones, pueden producirse resultados inesperados. Por ejemplo, el siguiente código:
iXPos(50)
iPrint("First Part" + iPrint(30) + "Second Part")
no es equivalente a:
iPrint(iXPos(50) + "First part" + iXPos(30) + "Second part")
En el primer caso, toda la cadena de caracteres se imprime en posición horizontal 30. De hecho, en este caso, la función iXPos(30) se ejecuta cuando se construye la cadena a imprimir y, por lo tanto, antes de imprimir la cadena "Primera parte".
Para obtener un resultado idéntico, se debe utilizar la función iXPos con el parámetro False: iXPos( 30, False) se publicará durante la impresión.
La misma operación puede ser realizada por iYPos.
AndroidWidget Android Java

Impresión en Java y Android

Las impresiones pueden ser menos precisas porque la resolución de impresión es set a 72 ppp aunque la impresora admita resoluciones superiores.
Consecuencia: Los cálculos de puntos en las imágenes y en los dibujos (líneas, por ejemplo) se redondean durante los cálculos de posición al imprimir, especialmente para valores pequeños.. Durante el trabajo de impresión, los cálculos se realizan en puntos (dependiendo de la resolución de impresión) en lugar de en mm (o cm).
Ejemplo: Líneas de impresión: si el espacio entre las líneas es set a 0,5 mm, ¿cuántos puntos se encontrarán entre cada línea (resolución set a 72 ppp)?
La primera Line está posicionada a 0,5 mm, lo que significa (0,5/25,4) pulgadas con una resolución de 72 puntos por pulgada (ppp): (0.5/25.4) x 72 = 1.42 point. Siendo el punto la unidad base, no se puede dividir: el resultado se redondea automáticamente a 1 punto menos o mayor según el caso.
Esta es una sucesión de líneas impresas con un espaciado set a 05 mm:
  • 0,5 mm --> (1,42) 1 punto
  • 1,0 mm --> (2,84) 3 puntos
  • 1,5 mm --> (4,25) 4 puntos. Atención: el Line que se encuentra a 1,5 mm está pegado al Line que se encuentra a 1 mm (no hay espacio entre estos dos Line)
  • 2,0 mm --> (5,67) 6 puntos
  • 2,5 mm --> (7.09) 7 puntos. Atención: el Line que se encuentra a 2,5 mm está pegado al Line que se encuentra a 2 mm (no hay espacio entre estos dos Line)
  • 3,0 mm --> (8,50) 9 puntos
  • 3,5 mm --> (9,92) 10 puntos. Atención: el Line que se encuentra a 3,5 mm está pegado al Line que se encuentra a 3 mm (no hay espacio entre estos dos Line)
  • 4,0 mm --> (11,33) 11 puntos. Atención: el Line que se encuentra a 4 mm está pegado al Line que se encuentra a 3,5 mm (no hay espacio entre estos dos Line)
  • etc.
To obtener una representación adecuada (sin redondeo), el tamaño y/o la posición en mm para una resolución set a 72 ppp debe ser un múltiplo de 127/360.
1 punto --> (1/72) pulgadas --> (1/72) x 25,4 mm = 127/360 = 0,3527778 mm
Componente: wd300prn.dll
Versión mínima requerida
  • Versión 9
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 21/06/2023

Señalar un error o enviar una sugerencia | Ayuda local