El comando SET PRINT OPTION se utiliza para modificar por programación el valor de una opción de impresión. Cada opción definida utilizando este comando se aplica a toda la base y durante toda la sesión siempre que no se llame otro comando que modifique los parámetros de impresión (PRINT SETTINGS, PRINT SELECTION sin el parámetro > parámetro, etc.). Si se ha abierto un trabajo de impresión, la opción está configurada para el trabajo y no puede modificarse mientras el trabajo no haya terminado.
El parámetro opcion le permite indicar la opción a modificar. Puede pasar una de las constantes predefinidas del tema Opciones de impresión, o un código de opción PDF (utilizable con el driver PDFCreator bajo Windows únicamente). Pase en los parámetros valor1 y valor2 (opcionalmente) los nuevos valores de la opcion especificada. El número y naturaleza de los valores pasados depende del tipo de opción especificada.
La siguiente tabla lista las opciones y sus posibles valores:
Constante
Tipo
Valor
Comentario
Paper option
Entero largo
1
Si sólo utilizavalor1,quecontiene el nombredel papel.Sise utilizan los dosparámetros,valor1 contiene elancho del papel yvalor2 contiene elalto del papel.El ancho y el alto seexpresanen píxeles de pantalla.Utilice el comandoPRINT OPTION VALUESpara obtener el nombre, el altoy el ancho detodoslosformatos de papelque ofrece laimpresora.
Orientation option
Entero largo
2
valor1 únicamente: 1=Retrato, 2=Paisaje. Sise utilizauna opción deorientación diferente, GET PRINT OPTIONdevuelve 0en valor1. Versiones 64 bits:esta opciónse puede llamar desde una tarea de impresión,lo que significa quepuede cambiarde vertical a horizontal,o viceversa,duranteel mismotrabajo de impresión.
Scale option
Entero largo
3
valor1 únicamente: valor de la escala en porcentaje. Tenga cuidado, algunas impresoras no permiten modificar la escala. Si pasa un valor no válido, la propiedad se reinicia al 100% en el momento de la impresión.
(Windows únicamente)valor1 únicamente:número correspondiente alíndice, en el array de bandejasdevuelto por elcomandoPRINT OPTION VALUES, de labandeja de papel a utilizar.Estaopción sólo se puedeutilizar en Windows.
Color option
Entero largo
8
(Windows únicamente) valor1 únicamente: código que especifica el modo para el manejo del color: 1=Blanco y negro (monocromo), 2=Color. Versiones 64 bits: esta opción no está disponible en versiones 4D de 64 bits (obsoleto)
Destination option
Entero largo
9
valor1: código que especifica el tipo de destino de la impresión: 1=Impresora, 2=Archivo (PC)/PS (Mac), 3=Archivo PDF, 5=Pantalla (opción del driver OS X). Si valor1 es diferente de 1 o 5, valor2 contiene un nombre de ruta para el documento resultante. Esta ruta se utilizará hasta que se especifique otra ruta. Si un archivo con el mismo nombre ya existe en el lugar de destino, será sustituido. Con GET PRINT OPTION, si el valor actual no está en la lista predefinida, valor1 contiene -1 y la variable sistema OK toma el valor 1. Si ocurre un error, valor1 y la variable sistema OK toman el valor 0. Nota: en Windows, puede definir el destino de impresión 3 (archivo PDF) cuando el driver PDF Creator ha sido instalado. Cuando se pasan los valores (9;3;ruta), 4D inicia automáticamente una impresión PDF "silenciosa" que tiene en cuenta los códigos de opción pasados (note que si pasa una cadena vacía en valor2 u omite este parámetro, aparece el diálogo de guardar archivo en el momento de la impresión.) Después de la impresión, los parámetros actuales se restauran. Esto simplifica el control de las impresiones PDF por 4D y permite escribir código multiplataforma. Cuando los valores (9;3;ruta) no se transmiten, la impresión no es controlada por 4D y los eventuales códigos de opciones de PDF Creator se ignoran.
Double sided option
Entero largo
11
(Windows únicamente)valor1:0=Un solo ladoo estándar,1=Doble cara.Sivalor1=1,valor2 contienela unión:0=Izquierda(valorpredeterminado), 1=Unión superior. Nota: estaopción sólo se puedeutilizar en Windows.
Spooler document name option
Entero largo
12
valor1 únicamente: nombre del documento de impresión actual, que aparece en la lista de documentos de la cola de impresión. El nombre definido para esta instrucción se utilizará para todos los documentos de impresión de la sesión hasta que un nuevo nombre o una cadena vacía no se pase. Para utilizar o restablecer el funcionamiento normal (usando el nombre del método en el caso de un método, el nombre de la tabla para un registro, etc.), pase una cadena vacía en valor1.
Mac spool file format option
Entero largo
13
(Mac únicamente) valor1 únicamente: 0=impresiónen modo PDF(valor por defecto)1=impresiónen modoPostScript.
Notas: - Estaopción no tiene efectoen Windows.. - En OS X, la impresión se realiza en formato PDF de forma predeterminada. Sin embargo, el driver de impresión PDF no es compatible con imágenes PICT con información PostScript encapsulada, estas imágenes se generan, particularmente, por los softwares de dibujo vectorial. Para evitar este problema, esta opción le permite modificar el modo de impresión a utilizar en OS X para la sesión actual. Tenga en cuenta la impresión en modo PostScript puede conducir a efectos secundarios no deseados. Versiones 64 bits:estaopción no es compatible;Es reemplazadapor laopciónDriver PDF générique del comando SET CURRENT PRINTER.
Hide printing progress option
Entero largo
14
(Mac únicamente) valor1 únicamente: 1=ocultar ventanas de progreso, 0= mostrar las ventanas de progreso de impresión (por defecto). Esta es una opción particularmente útil en el caso de impresión PDF en OS X. Nota: ya existe una opción de progreso de impresión accesible vía el cuadro de diálogo Propiedades de la base (página Interfaz). Sin embargo, se aplica globalmente a la aplicación y no oculta todas las ventanas bajo OS X.
Page range option
Entero largo
15
valor1=primera página a imprimir (valor por defecto 1) y (opcional) valor2=número de la última página a imprimir (valor por defecto -1 = fin del documento).
Legacy printing layer option
Entero largo
16
(Versiones 4D 64 bits para Windows únicamente) valor1 únicamente: 1=seleccionar la antigua capa de impresión GDI para todos lostrabajos de impresiónsubsiguientes.0=seleccionarla capa de impresiónD2D(por defecto). Versiones 64 bits:este selector sólo es compatible conlas aplicaciones4D64 bits mono usuarioen Windows;se ignoraen otras plataformas.Está destinadoprincipalmente para permitirplug-ins de antigua generación imprimir dentro de tareas de impresión 4D.
Una vez fijado utilizando este comando, una opción de impresión se conservará durante toda la sesión para toda la aplicación 4D. Será utilizada por los comandos PRINT SELECTION, PRINT RECORD, Print form y QR REPORT, y para todas las impresiones 4D, incluyendo en modo Diseño.
Notas:
Es indispensable utilizar el parámetro opcional > con los comandos PRINT SELECTION, PRINT RECORD y PAGE BREAK para evitar reinicializar las opciones de impresión que fueron definidas utilizando el comando SET PRINT OPTION.
El comando SET PRINT OPTION sólo opera con impresoras PostScript. Puede utilizareste comando conotros tipos de impresoras, tales comoPCL otinta,pero en este caso, es posibleque algunas opcionesno estén disponibles.
Para poder utilizar un código de opción PDF en el parámetro opcion, debe haber instalado el driver PDFCreator en su entorno 4D (para mayor información, consulte la sección Integración del driver PDFCreator bajo Windows). Además, para que el código de opción sea tenido en cuenta, debe haber activado el driver de impresión PDF para 4D vía la siguiente instrucción:
De lo contrario, los códigos de opción se ignoran.
Un código de opción PDF es un valor de tipo texto que consta de dos partes, TipoOpcion y NombreOpción, combinados como "TipoOpcion:NombreOpcion". Esta es la descripción de este código:
TipoOpcion indica si usted especifica una opción nativa de PDFCreator o una opción de administración PDF de 4D. Se aceptan dos valores:
PDFOptions = opción nativa
PDFInfo = opción interna.
NombreOpcion especifica la opción a definir (dependiendo del valor de TipoOpcion).
Si TipoOpcion = PDFOptions, puede pasar una de las numerosas opciones nativas de PDFCreator. Por ejemplo, la opción UseAutosave afecta el backup automático. Para poder modificar esta opción, pase "PDFOptions:UseAutosave" en el parámetro opcion y el valor a utilizar en el parámetro valor1. Para una descripción completa de las opciones nativas de PDFCreator, consulte la documentación del driver PDFCreator.
Si TipoOpcion = PDFInfo, puede pasar en NombreOpcion uno de los siguientes selectores específicos:
Reset print: permite reinicializar el esto de espera interna, particularmente, para salir del ciclo infinito. En este caso, valor1 no se utiliza.
Reset standard options: permite restablecer todas las opciones de PDFCreator a sus valores por defecto. Si hay una impresión en progreso, los parámetros por defecto se aplican luego de que termine la impresión. En este caso, valor1 no se utiliza.
Start: permite iniciar o detener el gestor de colas de impresión de PDFCreator. Pase 0 en valor1 para detenerlo y 1 para iniciarlo.
Reset options: permite reinicializar todas las opciones modificadas desde el inicio de la sesión utilizando el comando SET PRINT OPTION y el selector PDFOptions.
Version: permite leer el número de versión actual del driver PDF. Este selector sólo puede utilizarse con el comando GET PRINT OPTION. El número se devuelve en el parámetro valor1.
Last error: permite leer el último error devuelto por el driver PDFCreator. Este selector puede utilizarse únicamente con el comando GET PRINT OPTION. El número de error se devuelve en el parámetro valor1.
Print in progress: permite saber si 4D está esperando una impresión de PDFCreator. Este selector puede utilizarse únicamente con el comando GET PRINT OPTION. El parámetro valor1 devuelve 1 si 4D está esperando a PDFCreator y 0 de lo contrario.
Job count: permite conocer el número de trabajo en espera de la cola de impresión. Este selector puede utilizarse únicamente con el comando GET PRINT OPTION. El número de trabajos se devuelve en el parámetro valor1.
Synchronous Mode: permite definir el modo de sincronización entre las peticiones de impresión enviadas por 4D y el driver PDFCreator. Como 4D no puede obtener información relacionada con el estado actual de un trabajo de impresión que está en la cola de impresión, esta opción permite controlar la ejecución de tareas enviándolas únicamente cuando el esto del driver PDFCreator sea "libre". En este caso, 4D se sincroniza con el driver. Pase 0 en valor1 para que 4D envíe inmediatamente las peticiones de impresión (valor por defecto) y 1 para que 4D se sincronice y espere a que el driver haya terminado el trabajo antes de enviar otra tarea.
Nota: luego de cada impresión, 4D restablece automáticamente los parámetros anteriores del driver PDFCreator con el fin de evitar toda interferencia con los otros programas que utilizan PDFCreator.
El siguiente método activa el driver PDF de manera que para imprimir todos los registros de la tabla en la ubicación C:\Test_PDF_X donde X es el número de secuencia del registro:
SET CURRENT PRINTER(PDFCreator Printer Name) // Bajo Windows, seleccione la impresora virtual instalada por PDFCreator If(OK=1) // Si PDFCreator está instalado</p><p>ALL RECORDS([Table_1]) For($i;1;Records in selection([Table_1])) SET PRINT OPTION(Destination option;3;"C:\\Test\\Test_PDF_"+String($i)) // La opción de destino 3 lanza una tarea de impresión PDFCreator PRINT RECORD([Table_1];*) NEXT RECORD([Table_1]) End for // Reinicialización de las opciones del driver PDFCreator SET PRINT OPTION("PDFInfo:Reset standard options";0) End if
En versiones 64 bits, el valor de Orientation option puede modificarse en el mismo trabajo de impresión (caso especial). Note que la opción debe haberse definido antes del comando PAGE BREAK:
Si el valor pasado por una opción es incorrecto o si no está disponible en la impresora, el comando devuelve un error (que puede interceptar utilizando un método de gestión de errores instalado por el comando ON ERR CALL) y el valor actual de la opción permanece sin cambios.