Herramientas de usuario

Herramientas del sitio


Barra lateral

wiki:2.-desarrollo-app:2.5.-controles-by-xone:generacion-de-pdfs-mediante-xonescript:start

Generación de PDFs


En Android e iOS, es posible generar ficheros PDF mediante script.
A continuación se describen brevemente las funciones.

    Set pdf01 = CreateObject("XOnePDF")


Con esto inicializamos un objeto xonepdf al que podemos modificarle las propiedades con los siguientes métodos.

Create

    pdf01.Create "/mnt/sdcard/test.pdf"
    pdf01.Create "/mnt/sdcard/test.pdf", 700, 300


Aquí creamos el archivo.
Es esencial llamar a este método antes que nada.
Es posible encriptar el documento con encriptación estándar de 128 bits.


Primer parámetro Ruta del fichero. Si le pasamos una ruta completa, lo escribirá ahí. Esto es útil para previsualizar el PDF a la hora de desarrollar la aplicación. Si sólo se especifica el nombre, el fichero irá a la carpeta files.
Segundo parámetro Opcional junto al tercero. Indica el ancho del documento. Los valores posibles van entre 0 y 14400.
Tercer parámetro Opcional junto al segundo. Indica el alto del documento. Los valores posibles van entre 0 y 14400.

Open

    pdf01.Open


Abre el documento para escribir sobre él.
Es necesario llamarlo antes de empezar a dibujar sobre él y después de ajustar la encriptación y los permisos.

Close

    pdf01.Close
    Set pdf01 = nothing


Aquí se aplican todos los cambios al PDF, se guarda, se cierra y destruimos el objeto.
Es esencial y hay que llamarlo al final.

SetFont

    pdf01.SetFont "helvetica"

Cambia la fuente.

Valores posibles helvetica, courier, times.


En vez de usar cualquiera de estas tres fuentes incrustadas, se puede especificar como parámetro la ruta de un archivo de tipo de letra, de extensión .ttf o .otf.
Si sólo se especifica el nombre del fichero, lo buscará en la carpeta del proyecto.

Si no existe, hay que crearla.

SetFontSize

    pdf01.SetFontSize 10


Ajustar el tamaño de la fuente.

SetFontStyle

    pdf01.SetFontStyle "bold"


Opciones de letra.

Valores posibles
italic (cursiva)
bold(negrita)
underline (subrayado)
strike (tachado)
bolditalic (negrita cursiva)
boldunderline (negrita subrayado)
bolditalicunderline (negrita subrayado cursiva)
italicunderline (cursiva subrayado) y normal

SetFontColor

    pdf01.SetFontColor "#0000AA"



Color de la fuente en notación HTML.

AddText

    pdf01.AddText "Consejería de Sanidad y Asuntos Sociales"


Añade un texto sin salto de línea.

AddTextLine


    pdf01.AddTextLine "Consejería de Sanidad y Asuntos Sociales"


Añade un texto con salto de línea al documento.

AddImage


    pdf01.AddImage "logoxone.png", 50, 50


Añade una imagen al documento de la carpeta files, se puede especificar una ruta completa para pruebas.

Primer parámetro Ruta.
Segundo parámetro Opcional. Redimensiona el ancho de la imagen.
Tercer parámetro Opcional. Redimensiona el alto de la imagen.



    pdf01.AddHyperlink "Google", "http://www.google.com"


Añade un enlace al documento.

AddTextSetX


    pdf01.AddTextSetX "Consejería de Sanidad y Asuntos Sociales", 125

Añade texto en la posición absoluta según el eje X y la posición actual en el eje Y.


Primer parámetro Texto a añadir.
Segundo parámetro Posición en el eje X.

AddCheckboxSetX


    pdf01.AddCheckboxSetX "Se realiza toma de muestra", 230, 145, 20, "check", "true", "true"


Añade un control de tipo checkbox al documento.

Primer parámetro Texto que le acompaña.
Segundo parámetro Posición en el eje X.
Tercer parámetro Tipo de checkbox. Valores posibles:“star”, “square”, “circle”, “cross”, “diamond”, “check”.
Cuarto parámetro Opcional.Valor del checkbox. Valores posibles: “true”, “false”.
Quinto parámetro Opcional. Checkbox de sólo lectura. Valores posibles: “true”, “false”. Algunos lectores de PDF podrían no respetarlo, para bloquear completamente combinar con setencryption


AddImageSetX


    pdf01.AddImageSetX "logoxone.png", 125, 50, 50

Añade una imagen al documento de la carpeta files, en la posición especificada en el eje X.


Primer parámetro Ruta.
Segundo parámetro Posición en el eje X.
Tercer parámetro Opcional. Redimensiona el ancho de la imagen.
Cuarto parámetro Opcional. Redimensiona el alto de la imagen.


AddTextFieldSetX


    pdf01.AddTextFieldSetX "campo02", 250, 50, 100

Añade un campo de texto editable.
El documento no debe estar bloqueado.

Primer parámetro Nombre interno para poder referenciar al campo más tarde.
Segundo parámetro Ancho del campo de texto.
Tercer parámetro Alto del campo de texto.
Cuarto parámetro Posición en el eje X.


NewLine


    pdf01.NewLine

Añade una nueva línea.
Se le puede pasar un entero como parámetro y hará esos saltos.

NewPage


    pdf01.NewPage

Salta a la página siguiente del PDF.

Opciones de dibujo directo

GetVerticalPosition


    nYPos = pdf01.GetVerticalPosition


Obtiene la posición actual del cursor en el eje Y.

Este método se introdujo oficialmente en la versión 1.3.1.0 del módulo xonepdf.

AddTextSetXY


    pdf01.AddTextSetXY "Consejería de Sanidad y Asuntos Sociales", 125, 750


Añade texto en la posición absoluta según el eje X e Y.

Primer parámetro Texto a añadir.
Segundo parámetro Posición en el eje X.
Tercer parámetro Posición en el eje Y.


AddSquare


    pdf01.AddSquare 100, 700, 20, 1

Dibuja un cuadrado en el documento.


Primer parámetro Posición en el eje X del ángulo inferior izquierdo.
Segundo parámetro Posición en el eje y del ángulo inferior izquierdo.
Tercer parámetro Tamaño del cuadrado.
Cuarto parámetro Grosor de la línea del cuadrado.
Quinto parámetro Opcional. Color de fondo del cuadrado.
Sexto parámetro Opcional. Color de la línea del cuadrado.


AddRectangle


    pdf01.AddRectangle 100, 700, 150, 100, 1


Dibuja un rectángulo en el documento.

Primer parámetro Posición en el eje X del ángulo inferior izquierdo.
Segundo parámetro Posición en el eje Y del ángulo inferior izquierdo.
Tercer parámetro Ancho del rectángulo.
Cuarto parámetro Alto del rectángulo.
Quinto parámetro Grosor de la línea del rectángulo.
Sexto parámetro Opcional. Color de fondo del rectángulo.
Séptimo parámetro Opcional. Color de la línea del rectángulo.


AddImageSetXY


    pdf01.AddImageSetXY "logoxone.png", 0, 750, 50, 50

Añade una imagen al documento de la carpeta files, en la posición especificada.

Primer parámetro Ruta.
Segundo parámetro Posición en el eje X .
Tercer parámetro Posición en el eje Y.
Cuarto parámetro Opcional. Redimensiona el ancho de la imagen.
Quinto parámetro Opcional. Redimensiona el alto de la imagen.


AddCheckboxSetXY


    pdf01.AddCheckboxSetXY "Se realiza toma de muestra", 230, 145, 20, "check", "true", "true"

Añade un control de tipo checkbox al documento.

Primer parámetro Texto que le acompaña.
Segundo parámetro Posición en el eje X.
Tercer parámetro Posición en el eje Y.
Cuarto parámetro Tipo de checkbox. Valores posibles: “star”, “square”, “circle”, “cross”, “diamond”, “check”.
Quinto parámetro Opcional. Valor del checkbox. Valores posibles: “true”, “false”.
Sexto parámetro Opcional. Checkbox de solo lectura. Valores posibles: “true”, “false”. Algunos lectores de PDF podrían no respetarlo, para bloquear completamente combinar con setencryption.


AddBarcode


    pdf01.AddBarcode "(00)350123451234567894", "ean128", 100, 100, 100, 200

Añade un código de barras al documento.
Los 4 primeros parámetros son obligatorios, los dos últimos son opcionales.

Primer parámetro Dato para generar el código. Debe pasarse con el formato adecuado para cada código de barras.
Segundo parámetro Tipo de código de barras. Códigos de barras soportados: codabar, code11, code128, code25, code39, code93, datamatrix, ean128, ean13, ean8, isbn, issn, itf14, identcode, interleaved2of5, leitcode, msi, onecode, pdf417, planet, postnet, rm4scc, upca, upce.
Tercer parámetro Ancho del código de barras.
Cuarto parámetro Alto del código de barras.
Quinto parámetro Opcional. Posición en el eje X.
Sexto parámetro Opcional. Posición en el eje Y.



AddBarcode (QRCode)


    pdf01.AddBarcode "BIZCARD:N:Pepito;X:Grillo;T:Programador informático;C:CGSoft;A:Dirección;B:+34600404040;F:+34924202020;M:+34902202020;E:pepe@xone.es;;", "qrcode", 300, 300


Añade un código QR al documento.
Debe seguir el formato pasado en el ejemplo, por lo demás, igual que el anterior método.

AddTextFieldSetXY


    pdf01.AddTextFieldSetXY "campo01", 250, 50, 100, 700

Añade un campo de texto editable en el eje XY.
El documento no debe estar bloqueado.

Primer parámetro Nombre interno para poder referenciar al campo más tarde.
Segundo parámetro Ancho del campo de texto.
Tercer parámetro Alto del campo de texto.
Cuarto parámetro Posición en el eje X.
Quinto parámetro Posición en el eje Y.


Tablas


CreateTable


    pdf01.CreateTable 5

Inicializa una tabla simple.

Primer parámetro Número de columnas de una fila.


SetTableCellWidths


    pdf01.SetTableCellWidths 50, 100, 150

Ajusta el ancho de las columnas.
Debe invocarse con tantos parámetros como columnas se hayan definido en la tabla.

Este método se introdujo en la versión 1.3.1.0 del módulo xonepdf.

SetAlignment


pdf01.SetAlignment "center"
pdf01.SetAlignment "left"
pdf01.SetAlignment "right"
pdf01.SetAlignment "none"

Especifica la orientación del texto en las celdas subsiguientes.
Ajustar a “none” para volver a la orientación normal.

SetTableWidth


pdf01.SetTableWidth 300


Con esto ajustamos el ancho total de la tabla.
El alto vendrá determinado por el número de filas añadidas.

SetCellBorder


    pdf01.SetCellBorder "top"


Al invocar este método, las celdas siguientes que se añadan a la tabla abierta tendrán el borde especificado.
Estas llamadas se pueden sumar para tener esquinas, por ejemplo.

Por defecto las celdas tienen todos los bordes.

Valores posibles:
setcellborder “none”. Quita todos los bordes.
setcellborder“topAñade el borde superior.
setcellborder “bottomAñade el borde inferior.
setcellborder “rightAñade el borde derecha.
setcellborder “leftAñade el borde izquierda.
setcellborder “all Añade todos los bordes.

AddCellText

    pdf01.AddCellText "Transportistas S.A.","#000000"


Añade una celda con texto a la tabla.
Se irán añadiendo según el orden de aparición en el script.

Primer parámetro Texto a introducir.
Segundo parámetro Opcional. Color de fondo de la celda.
    pdf01.AddCellHyperlink "Google", "http://www.google.com"


Añade un enlace a la celda de la tabla.

Primer parámetro Texto de enlace.
Segundo parámetro URL del enlace.

AddCellImage

    pdf01.AddCellImage "/mnt/sdcard/xone/logoxone.gif"

Añade una imagen a la tabla.
Se irán añadiendo según el orden de aparición en el script.

Primer parámetro Ruta de la imagen. Si sólo se especifica el nombre, buscará en la carpeta files de la aplicación.
Segundo parámetro Opcional. Para reescalado. Ancho de la imagen en píxeles.
Tercer parámetro Opcional. Para reescalado. Alto de la imagen en píxeles.

AddTable

    pdf01.AddTable

Finaliza la tabla y la añade al documento.
Es imprescindible llamar a esta función o a su función hermana addtablesetxy.

AddTableSetXY

    pdf01.AddTableSetXY 50, 600

Finaliza la tabla y la añade al documento en la posición especificada en el eje X e Y que se le pase por parámetro.
Es imprescindible llamar a esta función o a su función hermana addtable.

Antes de dibujar directamente una tabla en el documento, hace falta especificar su ancho con settablewidth.

Cabecera y pie de página

BeginHeader

	pdf01.BeginHeader

Las siguientes llamadas de dibujo del pdf constituirán la cabecera del documento, hasta que se llame a endheader.

EndHeader

	pdf01.EndHeader

Finaliza el bloque de la cabecera.

BeginFooter

	pdf01.BeginFooter

Las siguientes llamadas de dibujo del pdf constituirán el pie de página del documento, hasta que se llame a endfooter.

EndFooter

	pdf01.EndFooter

Finaliza el bloque del pie de página.

Ejemplo de uso de cabecera y pie de página

Es necesario definir la cabecera antes de que la llamada a pdf01.Open, pues en ese momento se abre el documento.

	pdf01.BeginHeader
	pdf01.AddImageSetXY "logoempresa.png", 0, 750, 100, 50
	pdf01.SetFont "helvetica"
	pdf01.SetFontSize 10
	pdf01.SetFontStyle "bold"
	pdf01.SetFontColor "#0000AA"
	pdf01.AddTextLine chr(10) + chr(10) + chr(10) + "                            Sociedad Limitada"
	pdf01.EndHeader
 
	pdf01.BeginFooter
	pdf01.CreateTable 1
	pdf01.SetTableWidth 300
	pdf01.SetCellBorder "all"
	pdf01.SetAlignment "center"
	pdf01.AddCellText "Pie de página, línea 1"
	pdf01.AddCellText "Pie de página, línea 2"
	pdf01.AddTableSetXY 0, 600
	pdf01.EndFooter
 
	pdf01.Open

Otros

LaunchPDF

    pdf01.LaunchPDF "/mnt/sdcard/xone/testpdf01.pdf"

Este método manda a Android la orden de abrir el PDF especificado en el lector de PDFs que haya instalado en el sistema. Vale cualquier archivo PDF.

Es suficiente con instalar el “Adobe Reader” desde la Play Store.
Se puede, por ejemplo, generar el PDF, pedirle al usuario que lo rellene mediante este método y mandarlo a imprimir.
No se pueden lanzar PDFs generados con XOne que no hayan sido finalizados con el método Close.

Si no se especifica la ruta completa se buscará en la carpeta files.

Este método tira una excepción si no encuentra el documento, abortando el script.

GetCurrentPage

    nPagina = pdf01.GetCurrentPage

Este método devuelve la página en la cual se encuentra el cursor en el momento de llamarlo.
Puede servir para el pie de página.

Este método se introdujo en la versión 1.3.1.0 del módulo xonepdf.

AddAttachment

    pdf01.AddAttachment "/mnt/sdcard/xone/archivoadjunto.txt"

Adjunta (incrusta) un fichero al pdf.
Pueden ser de todo tipo, incluso una URL.

Delete

    pdf01.Delete "/mnt/sdcard/xone/testpdf01.pdf"

Borra el fichero.

SetPDFVersion

    pdf01.SetPDFVersion "1.7"

Ajusta la versión del formato de PDF que se quiere generar.
Por defecto se ajusta a “1.7”.
Valores inferiores a éste podrían no soportar el resto de métodos.

Valores posibles
“1.2”
“1.3”
“1.4”
“1.5”
“1.6”
“1.7”


Debe invocarse antes que Open().

SetCompression

    pdf01.SetCompression "false"

Define si se quiere comprimir el documento.
Por defecto es igual a true.

Opciones de metadatos

Estos métodos modifican las propiedades del documento, tales como el autor y la fecha de creación.

    pdf01.AddTitle "Título del documento"
    pdf01.AddAuthor "John Doe"
    pdf01.AddCreationDate "10/10/2010"
    pdf01.AddCreator "John Doe"
    pdf01.AddKeywords "palabra clave"
    pdf01.AddSubject "Asunto"

Protección del PDF y permisos

Permissions

    pdf01.Permissions "degradedprint"
    pdf01.Permissions "modifyannotations"
    pdf01.Permissions "screenreaders"
    pdf01.Permissions "assembly"
    pdf01.Permissions "print"
    pdf01.Permissions "copy"
    pdf01.Permissions "modifycontents"
    pdf01.Permissions "fillin"

Ajusta los permisos que contendrá el documento.
Se debe invocar en este orden si se quiere que los permisos tengan efecto:

Create() → Permissions() → setencryption().

Se pueden añadir varias llamadas para sumar permisos.
Con “clear”, se reinicia la actual selección de permisos, pero este método no tiene efecto si es llamado después de setencryption().

SetEncryption

    pdf01.SetEncryption "passwordusuario", "passwordpropietario", "128bits"

Define la encriptación del documento.
Es necesario llamarlo si se quiere que los permisos hagan efecto.
Se pueden dejar las contraseñas a null.
Debe llamarse después de Create(), después de Permissions() y antes de Open().

Primer parámetro Contraseña de lectura.
Segundo parámetro Contraseña de propietario. El propietario tendrá todos los permisos sobre el documento.
Tercer parámetro Tamaño del bloque de encriptación. Valores posibles: “40bits”, “128bits”

EncryptPDF


    pdf01.EncryptPDF "/mnt/sdcard/desencriptado.pdf", "encriptado.pdf", "passwordusuario", "passwordpropietario", "128bits"


Encripta un PDF.

Primer parámetro Ruta origen.
Segundo parámetro Ruta destino.
Tercer parámetro Password del usuario.
Cuarto parámetro Password del propietario.
Quinto parámetro Bits de bloque de la encriptación. Valores posibles:“40bits”, “128bits” .

DecryptPDF

    pdf01.DecryptPDF "encriptado.pdf", "/mnt/sdcard/desencriptado.pdf", "passwordpropietario"

Desencripta un fichero.

Primer parámetro Ruta origen.
Segundo parámetro Ruta destino.
Tercer parámetro Password del propietario.

EncryptWithCertificate

    pdf01.EncryptWithCertificate "testpdf.pdf", "testpdfencriptado.pdf", "certificado.cer"

Encripta un documento usando un certificado.

SignPDFWithKey

    pdf01.SignPDFWithKey "testpdf.pdf", "testpdffirmado.pdf", "keystore.pfx", "1234", "Nombre de la clave", "Contraseña de la clave"

Firma digitalmente un documento.

Ayudas visuales para posicionamiento

Cuando estemos creando nuestro PDF, podemos hacer uso de la siguiente función para ayudarnos a posicionar los distintos elementos en el eje de coordenadas que es nuestro archivo, de forma que sea mucho más sencilla su maquetación.

function showGridDebug(pdf)
 
	'Tabla para saber las posiciones X e Y de un PDF
 
	'Para el EJE X
	pdf.SetAlignment "center"	
	pdf.SetFontSize 9
	pdf.SetFontStyle "bold"
	pdf.SetFontColor "#0000CC"
	for i=2 to 26
		i=cint(i*20)
		'Esta es la primera fila del Eje X, Arriba, Y=840
		pdf.CreateTable 1
		pdf.SetTableWidth 20
		pdf.AddCellText i
		pdf.AddTableSetXY i,840
		'pdf.AddRectangle PosX, PosY, Ancho, Alto, Grosor, ColorFondo, ColorLinea
		pdf.AddRectangle i, 20, 0, 820, 0, "#FF0000", "#FF0000"
 
		'Esta es la segunda fila del Eje X, Abajo, Y=20
		pdf.CreateTable 1
		pdf.SetTableWidth 20
		pdf.AddCellText i
		pdf.AddTableSetXY i,20	
	next
 
	'Para el EJE Y
	pdf.SetFontColor "#009900"
	for i=0 to 42
		i=cint(i*20)
 
		'Esta es la primera columna del Eje Y, en la izquierda X=10
		pdf.CreateTable 1
		'pdf.AddCellText "10,"+i
		pdf.SetTableWidth 30
		pdf.AddCellText i
		pdf.AddTableSetXY 10,i
		'pdf.AddRectangle PosX, PosY, Ancho, Alto, Grosor, ColorFondo, ColorLinea
		pdf.AddRectangle 10, i, 540, 0, 0, "#FF0000", "#FF0000"
 
		'Esta es la segunda columna del Eje Y, en la derecha X=540
		pdf.CreateTable 1
		pdf.SetTableWidth 30
		'pdf.AddCellText "540,"+i
		pdf.AddCellText i
		pdf.AddTableSetXY 540,i	
	next
	pdf.SetFontStyle "normal"
	pdf.SetFontColor "#000000"
 
end function

Ejemplo de uso


Descarga de el ejemplo completo con xonepdf v1.1.7 y PDF resultante: http://www.xoneisp.com/jc/TestPDFs.rar

	Set pdf01 = CreateObject("XOnePDF")
	'pdf01.AddPermission "degradedprint"
	'pdf01.AddPermission "modifyannotations"
	'pdf01.AddPermission "screenreaders"
	'pdf01.AddPermission "assembly"
	pdf01.Permissions "print"
	'pdf01.AddPermission "copy"
	'pdf01.AddPermission "modifycontents"
	'pdf01.AddPermission "fillin"
 
	pdf01.Create "/mnt/sdcard/xone/testpdf01.pdf"
	pdf01.SetEncryption "", "1234", "128bits"
	pdf01.Open
 
	pdf01.AddImageSetXY "logo.png", 0, 750, 75, 50
 
	pdf01.SetFont "helvetica"
	'pdf01.SetFont "ssf4.ttf"
	'pdf01.SetFont "courier"
	'pdf01.SetFont "times"
 
	pdf01.CreateTable 3
	pdf01.AddCellImage "logo.png", 25, 25
	pdf01.AddCellText "test"
	pdf01.AddCellText "1234"
	pdf01.AddTable
 
	pdf01.SetFontSize 10
	pdf01.SetFontStyle "normal"
	pdf01.SetFontColor "#0000AA"
	pdf01.AddTextSetXY "Consejería de Sanidad", 125, 750
	pdf01.AddText chr(10) + chr(10) + chr(10) + chr(10)
	pdf01.SetFontColor "#000000"
	pdf01.SetFontStyle "normal"
	pdf01.NewLine
	pdf01.AddText "CLAVE/CÓDIGO: "
	pdf01.SetFontStyle "bold"
	pdf01.AddText "Establecimiento"
	pdf01.SetFontStyle "normal"
	pdf01.NewLine
	pdf01.AddText "ACTIVIDAD: "
	pdf01.SetFontStyle "bold"
	pdf01.AddText "003 (RESTAURANTES DE 101 A 200 COMENSALES)"
	pdf01.SetFontStyle "normal"
	pdf01.NewLine
	pdf01.AddText "NOMBRE O RAZÓN SOCIAL: "
	pdf01.SetFontStyle "bold"
	pdf01.AddText "EL COMILÓN S.L."
	pdf01.SetFontStyle "normal"
	pdf01.NewLine
	pdf01.AddText "DOMICILIO: "
	pdf01.SetFontStyle "bold"
	pdf01.AddText "CALLE 123, Nº 23."
	pdf01.SetFontStyle "normal"
	pdf01.AddTextSetXY "Nº RGSEAA/INEA ", 400, 685
	pdf01.SetFontStyle "bold"
	pdf01.AddTextSetXY "222.111/33", 485, 685
	pdf01.SetFontStyle "normal"
	pdf01.NewLine
	pdf01.AddText "LOCALIDAD: "
	pdf01.SetFontStyle "bold"
	pdf01.AddText "BADAJOZ"
	pdf01.SetFontStyle "normal"
	pdf01.AddTextSetXY "PROVINCIA:", 400, 670
	pdf01.SetFontStyle "bold"
	pdf01.AddTextSetXY "BADAJOZ", 485, 670
	pdf01.NewLine 2
	pdf01.AddTextLine "* En inspección oficial realizada en el establecimiento en el día de la fecha, se efectúan los controles oficiales que se detallan y se ponen de manifiesto las siguientes incidencias:"
	pdf01.NewLine 2
	pdf01.SetFontSize 9
 
	pdf01.SetFontStyle "underline"
	pdf01.AddTextLine "CONTROL DE INSTALACIONES Y MANTENIMIENTO DE INSTALACIONES"
	pdf01.SetFontStyle "normal"
	pdf01.AddTextLine "En la inspección realizada en el establecimiento con fecha 8 de febrero de 2012 se constató que la campana extractora de la cocina no disponía de salida exterior de humos. Se comprueba que se ha dotado la campana extractora de salida de humos protegida en adecuadas condiciones..." 
 
	pdf01.NewLine
	pdf01.SetFontStyle "underline"
	pdf01.AddTextLine("CONTROL DE HIGIENE DE INSTALACIONES Y PROGRAMA DE LIMPIEZA:")
	pdf01.SetFontStyle "normal"
	pdf01.AddTextLine "Se revisan las condiciones higiénicas de las instalaciones. En la cocina se observan restos de suciedad acumulada en lugares de difícil acceso a la limpieza: esquinas, rincones, alrededores de las patas del mobiliario de la cocina e interruptores. En el establecimiento disponen de un Plan de Limpieza y Desinfección en el que se detallan las tareas a realizar, las frecuencias y los responsables de ejecutarlas. Se revisan los registros de verificación y se observa que se cumplimentan tal como está establecido en el Plan de Limpieza y Desinfección."
	pdf01.NewLine
 
	pdf01.SetFontStyle "underline"
	pdf01.AddTextLine "CONTROL DE TEMPERATURAS:"
	pdf01.SetFontStyle "normal"
	pdf01.AddTextLine "Se controla la temperatura de las cámaras (cámara de producto refrigerado, cámara de congelación y vitrina expositora). Todas cuentan con termómetro indicador de la temperatura de funcionamiento y no se observan restos de escarchamiento o de goteos desde los motores. Las cámaras de producto refrigerado y la de congelación funcionan a temperatura adecuada, de +4ºC y -19ºC, respectivamente. Se controla la temperatura de la vitrina expositora con un termómetro sonda del propio establecimiento, que indica una temperatura del producto de + 12ºC. El representante del establecimiento decide retirar las tapas expuestas en la vitrina y proceder a su destrucción."
 
	'pdf01.SetFont "ssf4.ttf"
	'pdf01.SetFontColor "#33AA88"
	'pdf01.CreateTable 2
	'pdf01.AddCellText "aaaa"
	'pdf01.AddCellHyperlink "aaaaa", "bbbbbb"
	'pdf01.AddTable
 
	pdf01.AddCheckboxSetX "Se levanta acta de inspección     nº de acta......", 230, 20, "check"
	pdf01.AddCheckboxSetX "Se realiza toma de muestra        nº de acta......", 230, 20, "check"
	pdf01.AddBarcode "1030000010000814919999", "interleaved2of5", 200, 50, 50, 60
 
	pdf01.Close
 
	'pdf01.DecryptPDF "/mnt/sdcard/xone/testpdf01.pdf", "/mnt/sdcard/xone/testpdf01decrypt.pdf", "1234"
	pdf01.LaunchPDF "/mnt/sdcard/xone/testpdf01.pdf"
	Set pdf01 = nothing

Véase también: Control para visualización de PDFs

wiki/2.-desarrollo-app/2.5.-controles-by-xone/generacion-de-pdfs-mediante-xonescript/start.txt · Última modificación: 2023/02/16 11:25 por ary