Configuración Avanzada del PDF
Interfaz
Con esta interfaz puede definir el diseño de visualización de las celdas que contienen los valores de los campos en el cuerpo del informe.
Atributos
- Seq: Número secuencial de celdas (orden ascendente).
- Celda: Nombre de la celda.
- Pos X: Establece la abscisa de la celda.
- Pos Y: Establece la ordenada de la celda.
- Ancho: Establece el ancho de la celda.
- Alineación: Establece la alineación de la celda.
- Campos: Aquí tiene que seleccionar el campo que se mostrará dentro de la celda, de acuerdo con la aplicación SQL.
Código
Scriptcase crea los códigos automáticamente, por lo que al cambiar eso dentro de la opción “código” asumirá el código PHP de creación de PDF.
La aplicación “Informe PDF” se desarrolló en base a una biblioteca llamada TCPDF, de modo que puede utilizar los métodos de biblioteca disponibles o una macro correspondiente de la tabla a continuación. Para utilizar algún método, debe usar el objeto $pdf, por ejemplo: $pdf-> AcceptPageBreak (parámetros).
Para acceder a la documentación de TCPDF haga clic aquí
Macros ReportPDF
Scriptcase Macro | Descripción |
---|---|
sc_pdf_text | Este método le permite colocar una cadena. |
sc_pdf_write | Este método imprime el texto de la posición actual. |
sc_pdf_set_y | Establece la posición actual del eje y. |
sc_pdf_set_xy | Establece la posición actual del eje x y el eje y. |
sc_pdf_set_top_margin | Define la parte superior del margen. |
sc_pdf_set_right_margin | Establece el margen derecho. |
sc_pdf_set_left_margin | Establece el margen izquierdo. |
sc_pdf_set_margins | Establece el margen izquierdo, superior y derecho. |
sc_pdf_set_title | Define el título del documento. |
sc_pdf_set_text_color | Establece el color que se utilizará para el texto. |
sc_pdf_set_subject | Define el tema del documento. |
sc_pdf_set_line_width | Establece la longitud de la línea del pdf. |
sc_pdf_line | Dibuja una línea entre dos puntos. |
sc_pdf_set_keywords | Asocia palabras clave con el documento. |
sc_pdf_set_font | Establece el tamaño de fuente actual. |
sc_pdf_add_font | Define qué fuente se utilizará en el texto. |
sc_pdf_close | Define el cierre del documento pdf. |
sc_pdf_error | Este método se llama automáticamente en caso de un error fatal. |
sc_pdf_add_page | Agrega una nueva página al documento pdf. |
sc_pdf_footer | Este método es responsable de representar el pie de página del documento pdf. |
sc_pdf_header | Este método es responsable de representar el encabezado del documento pdf. |
sc_pdf_get_string_length | Devuelve la longitud de una cadena. |
sc_pdf_get_y | Devuelve la posición actual del eje y. |
sc_pdf_get_x | Devuelve la posición actual del eje x. |
sc_pdf_link | Incrustar una imagen en el documento. |
sc_pdf_set_author | Define el autor del documento. |
sc_pdf_set_auto_page_break | Habilita o deshabilita el modo de salto de página automático. |
sc_pdf_set_compression | Activa o desactiva la compresión de páginas. |
sc_pdf_output | Enviar el documento a un destino determinado. |
sc_pdf_set_creator | Define el creador del documento. |
sc_pdf_set_display_mode | Define la forma en que el espectador debe mostrar el documento. |
sc_pdf_accept_page_break | Cada vez que se cumple una condición de salto de página, se llama al método. |
sc_pdf_ln | Realiza un salto de línea. |
sc_pdf_rect | Produce un rectángulo. Se puede dibujar (solo borde), rellenar (sin borde) o ambos. |
sc_pdf_set_draw_color | Define el color utilizado para todas las operaciones de dibujo (líneas, rectángulos y bordes de celda) |
sc_pdf_set_fill_color | Define el color utilizado para todas las operaciones de llenado. |
sc_pdf_multi_cell | Este método permite imprimir texto con saltos de línea. |
sc_pdf_add_link | Crea un nuevo enlace interno y devuelve su identificador. |
sc_pdf_alias_nb_pages | Define un alias para el número total de páginas. |
sc_pdf_set_link | Define la página y la posición a la que apunta un enlace. |
sc_pdf_text
Descripción:
Este método permite colocar una cadena con precisión en la página.
Parámetros:
y: y-axis
txt: string
link: URL
Ejemplo:
sc_pdf_text("1","1","Tu texto aqui");
Alcance:
Layout PDf > Código > Layout e Corpo
sc_pdf_write
Descripción:
Este método imprime texto desde la posición actual. Cuando se alcanza el margen derecho (o el carácter \n) se produce un salto de línea y el texto continúa desde el margen izquierdo. Al salir del método, la posición actual se deja justo al final del texto. Es posible poner un enlace en el texto.
Parámetros:
h: height
txt: string
link: URL
ejemplo:
sc_pdf_write(150,'Su texto aquí','https://www.scriptcase.net');
Alcance: PDf Layout > Code > Layout & body
sc_pdf_set_y
Descripción:
Establece la posición actual del eje y.
Parámetros:
y: y-axis
Ejemplo:
sc_pdf_set_y(180,true);
Alcance: PDf Layout > Code > Layout & body
sc_pdf_set_x
Descripción:
Establece la posición actual del eje x.
Parámetros:
x: x-axis
Ejemplo:
sc_pdf_set_x(180);
Alcance: PDf Layout > Code > Layout & body
sc_pdf_set_xy
Descripción:
Establece la posición actual del eje x y el eje y.
Parámetros:
x: y-axis
y: x-axis
Ejemplo:
sc_pdf_set_x(180,180);
Alcance: PDf Layout > Code > Layout & body
sc_pdf_set_top_margin
Descripción:
Define el margen superior. Se puede llamar al método antes de crear la primera página.
Parameters:
margin: el margen
Ejemplo:
sc_pdf_set_top_margin(1000);
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_right_margin
Descripción:
Define el margen derecho. Se puede llamar al método antes de crear la primera página.
Ejemplo:
sc_pdf_set_right_margin(1000);
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_left_margin
Descrición:
Define el margen izquierdo. Se puede llamar al método antes de crear la primera página.
Ejemplo:
sc_pdf_set_left_margin(1000);
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_margins
Descrición:
Define los márgenes izquierdo, superior y derecho. Por defecto, son iguales a 1 cm. Llame a este método para cambiarlos.
Parámetros:
left: margin left
top: margin top
right: margin right
Example:
sc_pdf_set_margins(200, 200, 200);
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_title
Descrición:
Define el título del documento.
Parámetros:
título: título del documento
Ejemplo:
sc_pdf_set_title("Your Title Here");
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_text_color
Descrición:
Define el color utilizado para el texto. Puede expresarse en componentes RGB o en escala de grises. El método puede invocarse antes de crear la primera página y el valor se conserva de una página a otra.
Ejemplo:
sc_pdf_set_text_color(106,13,173);
sc_pdf_write(150,'Tu texto aqui','https://www.scriptcase.net');
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_subject
Descrición:
Define el tema del documento..
Ejemplo:
sc_pdf_set_subject("Tu Asunto aquí");
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_line_width
Descrición:
Define el ancho de línea.
Parámetros:
width: margen width
Ejemplo:
sc_pdf_set_line_width(1500);
sc_pdf_line(50,25,70,35);
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_line
Descrición:
Dibuja una línea entre dos puntos.
Ejemplo:
sc_pdf_line(50,25,70,35);
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_keywords
Descrición:
Asocia palabras clave al documento, generalmente en la forma ‘palabra clave1 palabra clave2 …’.
Parámetros:
keywords: lista de palabras clave
Ejemplo:
sc_pdf_set_keywords(test test2, true);
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_font
Descrición:
Establece la fuente utilizada para imprimir cadenas de caracteres. Es obligatorio llamar a este método al menos una vez antes de imprimir texto o el documento resultante no sería válido.
Parámetros:
familia
Fuente por definir.
- Courier (fixed-width)
- Helvetica or Arial (synonymous; sans serif)
- Times (serif)
- Symbol (symbolic)
- ZapfDingbats (symbolic)
Estilo
Estilo de fuente que debe establecerse.
- empty string: regular
- B: bold
- I: italic
- U: underline
tamaño
Tamaño de fuente que debe ajustarse.
Ejemplo:
sc_pdf_set_font('Arial', 'B', 14)
Alcance: PDf Layout > Code > Layout & body
sc_pdf_add_font
Descrición:
Define la fuente que se utilizará en el texto. Puede pasar parámetros para font-family, font-style y font-size.
Parámetros:
Familia
Fuente que debe definirse.
- Courier (fixed-width)
- Helvetica or Arial (synonymous; sans serif)
- Times (serif)
- Symbol (symbolic)
- ZapfDingbats (symbolic)
Estilo
Estilo de fuente que debe establecerse.
- empty string: regular
- B: bold
- I: italic
- U: underline
Tamaño
Tamaño de fuente que debe ajustarse.
archivo
El archivo de fuentes
Por defecto, el nombre se construye a partir de la familia y el estilo, en minúsculas y sin espacios.
Ejemplo:
sc_pdf_add_font('Comic', 'I', 'comici.php');
Alcance:
Layout PDf > Code > Layout & body
sc_pdf_close
Descricíon:
Finaliza el documento PDF. No es necesario llamar a este método explícitamente porque Output() lo hace automáticamente.
Ejemplo:
sc_pdf_close();
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_error
Descricíon:
Este método se llama automáticamente en caso de error fatal; simplemente lanza una excepción con el mensaje proporcionado.
Ejemplo:
sc_pdf_error(“Your Text Here”);
Alcance: PDf Layout > Code > Layout & body
sc_pdf_add_page
Descricíon:
Añade una nueva página al documento.
Ejemplo:
sc_pdf_add_page('Portrait','A4',0);
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_footer
Descricíon:
Este método se utiliza para mostrar el pie de página. Es llamado automáticamente por sc_pdf_add_page() y sc_pdf_close() y no debe ser llamado directamente por la aplicación.
Ejemplo:
sc_pdf_footer();
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_header
Descricíon:
Este método se utiliza para mostrar la cabecera de la página. Es llamado automáticamente por sc_pdf_add_page() y no debe ser llamado directamente por la aplicación.
Ejemplo:
sc_pdf_header();
Alcance: PDf Layout > Code > Layout & body
sc_pdf_get_string_length
Descricíon:
Devuelve la longitud de una cadena en unidad de usuario. Debe seleccionarse una fuente.
Ejemplo:
sc_pdf_get_string_length("Texto para medir");
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_get_y
Descricíon:
Devuelve la posición actual del eje y.
Ejemplo:
sc_pdf_get_y();
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_get_x
Descricíon:
Devuelve la posición actual del eje x.
Ejemplo:
sc_pdf_get_x();
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_link
Descricíon:
Pone un enlace en un área rectangular de la página. Los enlaces de texto o imagen se ponen generalmente mediante Cell(), Write() o Image(), pero este método puede ser útil, por ejemplo, para definir un área clicable dentro de una imagen.
Parámetros:
x : x-axis
y : y-axis
w : width
h : height
link : url
Ejemplo:
sc_pdf_link(100,100,10,10,'https://scriptcase.net');
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_image
Descricíon:
Incrusta una imagen en el documento. El tamaño de la imagen puede ajustarse de varias maneras. Formatos admitidos: JPEG, PNG y GIF, la extensión GD debe estar activada para utilizar GIF.
Parámetros:
link : url path
x : x-axis
y : y-axis
w : width
h : height
type : image format
Ejemplo:
sc_pdf_image('http://chart.googleapis.com/chart?cht=p3&chd=t:60,40&chs=250x100&chl=HelloWorld', 60, 30, 90, 0,'PNG');
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_author
Descricíon:
Define el autor del documento.
Ejemplo:
sc_pdf_set_author("Scriptcase");
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_auto_page_break
Descricíon:
Activa o desactiva el modo de salto de página automático. Cuando está activado, el segundo parámetro es la distancia desde el fondo de la página que define el límite de activación. Por defecto, el modo está activado y el margen es de 2 cm.
Ejemplo:
sc_pdf_set_auto_page_break(true, 10);
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_compression
Descricíon:
Activa o desactiva la compresión de páginas. Cuando está activada, se comprime la representación interna de cada página, lo que da lugar a una relación de compresión de aproximadamente 2 para el documento resultante.
Nota: the Zlib es necesaria para esta función. Si no está presente, la compresión se desactivará.
Ejemplo:
sc_pdf_set_compression(true);
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_output
Descricíon:
Enviar el documento a un destino determinado: navegador, archivo o cadena. En el caso de un navegador, se puede utilizar el visor de PDF o forzar una descarga.
Parámetros:
- I: enviar el archivo en línea al navegador. Se utiliza el visor de PDF si está disponible.
- D: enviar al navegador y forzar la descarga de un archivo con el nombre dado por nombre.
- F: guardar en un archivo local con el nombre dado por nombre (puede incluir una ruta).
- S: devuelve el documento en forma de cadena.
Ejemplo 1: Guarde el documento en un directorio local:
$pdf->Output('F', 'reports/report.pdf');
Ejemplo 2: Force a download:
$pdf->Output('D', 'report.pdf');
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_creator
Descricíon:
Define el creador del documento. Suele ser el nombre de la aplicación que genera el PDF.
Ejemplo:
sc_pdf_set_creator(“X Creator”,”true”);
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_display_mode
Descricíon:
Define la forma en que el documento debe ser visualizado por el visor.
Parámetros:
zoom:
- fullpage: muestra toda la página en pantalla
- fullwidth: utiliza la anchura máxima de la ventana
- real: utiliza el tamaño real (equivalente a un zoom del 100%)
- default: utiliza el modo predeterminado del visor
layout:
- single: muestra una página a la vez
- continuous: muestra las páginas de forma continua
- two: muestra dos páginas en dos columnas
- default: utiliza el modo predeterminado del visor
Ejemplo:
sc_pdf_set_display_mode("fullpage", "");
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_accept_page_break
Descricíon:
Siempre que se cumpla una condición de salto de página, se llama al método y se emite o no el salto en función del valor devuelto. Este método se llama automáticamente y no debe ser llamado directamente por la aplicación.
Ejemplo:
sc_pdf_accept_page_break();
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_ln
Descricíon:
Realiza un salto de línea. La abscisa actual vuelve al margen izquierdo y la ordenada aumenta en la cantidad pasada en parámetro.
Ejemplo:
sc_pdf_ln();
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_rect
Descricíon:
Genera un rectángulo. Puede ser dibujado (sólo borde), rellenado (sin borde) o ambos.
Parámetros:
- x : x-axis
- y : y-axis
- w : width
- h : height
Estilo de renderizado:
D or empty string: dibujar. Este es el valor por defecto. F: Rellene DF ou FD: Dibujar y rellenar
Ejemplo:
sc_pdf_rect($x, $y, $w, $h, 'D');
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_draw_color
Descricíon:
Define el color utilizado para todas las operaciones de dibujo (líneas, rectángulos y bordes de celda). Puede expresarse en componentes RGB o en escala de grises. El método puede invocarse antes de crear la primera página y el valor se conserva de una página a otra.
Ejemplo:
sc_pdf_set_draw_color(245, 232, 125);
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_fill_color
Descricíon:
Define el color utilizado para todas las operaciones de relleno (rectángulos rellenos y fondos de celda). Puede expresarse en componentes RGB o en escala de grises. El método puede invocarse antes de crear la primera página y el valor se conserva de una página a otra.
Ejemplo:
sc_pdf_set_fill_color(245, 232, 125);
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_multi_cell
Descricíon:
Este método permite imprimir texto con saltos de línea. Pueden ser automáticos (en cuanto el texto alcanza el borde derecho de la celda) o explícitos (mediante el carácter \n). Se imprimen tantas celdas como sea necesario, una debajo de otra.
Parámetros
- w: ancho de celda
- h: altura de la celda
- txt: cadena a imprimir
- border: Indica si deben dibujarse bordes alrededor del bloque de celdas.
- align: Establece la alineación del texto. Los valores posibles son:
L: alineación izquierda
C: centro
R: alineación derecha
J: justificación (valor predeterminado)
fill: Indica si el fondo de la celda debe ser pintado (true) o transparente (false). Valor por defecto: false.
Ejemplo:
_sc_pdf_multi_cell(63, 10, "YourText", 1);
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_cell
Descricíon:
Imprime una celda (área rectangular) con bordes opcionales, color de fondo y cadena de caracteres. La esquina superior izquierda de la celda corresponde a la posición actual. El texto puede estar alineado o centrado. Tras la llamada, la posición actual se desplaza a la derecha o a la línea siguiente. Es posible poner un enlace en el texto. Si el salto de página automático está activado y la celda sobrepasa el límite, se realiza un salto de página antes de la salida.
Parámetros:
- w: ancho de celda
- h: altura de la celda
- txt: cadena a imprimir
- border: Indica si deben dibujarse bordes alrededor del bloque de celdas.
- align: Establece la alineación del texto. Los valores posibles son:
L: alineación izquierda
C: centro
R: alineación derecha
J: justificación (valor por defecto)
fill: Indica si el fondo de la celda debe ser pintado (true) o transparente (false). Valor por defecto: false. - link: URL
Ejemplo:
sc_pdf_cell(60, 6, 'Your Text', 0);
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_add_link
Descricíon
Crea un nuevo enlace interno y devuelve su identificador. Un enlace interno es una zona en la que se puede hacer clic y que dirige a otra ubicación dentro del documento.
Ejemplo:
sc_pdf_add_link();
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_alias_nb_pages
Descricíon:
Define un alias para el número total de páginas. Se sustituirá a medida que se cierre el documento.
Ejemplo:
sc_pdf_cell(0, 10, 'Page','{nb}', 0, 0, 'C')
sc_pdf_alias_nb_pages();
Alcance:
PDf Layout > Code > Layout & body
sc_pdf_set_link
Descricíon:
Define la página y la posición a la que apunta un enlace.
Ejemplo:
sc_pdf_set_link($link);
Alcance:
PDf Layout > Code > Layout & body
Posicionamiento
Esta interfaz le permite definir el orden de visualización de los campos (seleccionando a través de las flechas al lado del marco derecho).