Ir al contenido

PDF Create

Tipo: pdf-create  ·  Paquete: PDF Activities v1.2.4  ·  Salida: string

Crea un PDF nuevo a partir de texto. Es una forma sencilla de generar documentos simples desde el robot: un comprobante, un resumen, un acta de proceso. Devuelve la ruta del PDF creado.

Escribe el content en un PDF nuevo en output y devuelve la ruta del archivo. Usa Arial negro sobre blanco, con el tamaño de fontSize y un interlineado de 1,4 veces ese tamaño, empezando en el margen superior.

El contenido se escribe línea a línea, y una línea se corresponde con una línea del PDF:

  • Si pasas un texto, cada salto de línea empieza una línea nueva. Sirven los tres finales de línea (\n, \r\n y \r).
  • Si pasas una lista, cada elemento es una línea. Si un elemento trae saltos de línea dentro, también se parten.

Las líneas más largas que el ancho de página se parten por palabras para que quepan; una palabra que por sí sola no cabe (una ruta larga, un hash) se parte por caracteres. Nunca se sale texto por el lateral de la página. Cuando una página se llena, el texto sigue en una nueva.

Para forzar un salto de página, incluye una línea con \f o {PAGE_BREAK} (solo eso en la línea; se admiten espacios alrededor). Esa línea no se escribe.

Crea la carpeta de output si no existe y sobrescribe el archivo si ya existe.

ParámetroTipoPor defectoDescripción
outputstring—Ruta del PDF a crear.
contentstring | List—Contenido de texto: un texto, donde cada salto de línea empieza una línea nueva, o una lista de textos (una línea cada uno).
ParámetroTipoPor defectoDescripción
titlestring—Título del documento (metadato Title, el que muestra el visor en la pestaña). No se escribe en la página.
fontSizenumber11Tamaño de fuente en puntos, mayor que 0. Admite un número o una expresión. Desde la versión 1.2.4.
marginnumber2.0Margen de página en centímetros, igual en los cuatro lados, de 0 a menos de 10.5. Admite un número o una expresión. Desde la versión 1.2.4.

Devuelve un string con la ruta del PDF creado (la misma de output).

MensajeCausa y solución
'fontSize' debe ser un número. Se recibió: …. (o 'margin')El valor escrito o el resultado de la expresión no es un número. Desde la versión 1.2.4.
'fontSize' debe ser mayor que 0. Se recibió: ….Tamaño de letra 0 o negativo. Desde la versión 1.2.4.
'margin' debe estar entre 0 y 10,5 centímetros. Se recibió: ….Margen negativo o tan grande que no deja espacio para escribir. Desde la versión 1.2.4.
'output' es obligatorio. / 'content' es obligatorio.El parámetro quedó vacío o su expresión dio null. Un texto vacío ("") sí es válido: crea un PDF de una página en blanco.
Error de acceso del sistema de archivosNo hay permisos sobre la carpeta o el archivo de salida está abierto en otro programa.

fontSize o margin con un valor que no es número cuentan como 0; revisa que sean números.

Generar un comprobante de procesamiento:

PDF Create
output = "C:/comprobantes/" + numero + ".pdf"
title = "Comprobante " + numero
content = arr(
"Comprobante de procesamiento",
"Número: " + numero,
"Fecha: " + now().ToString("yyyy-MM-dd HH:mm"),
"Estado: Procesado correctamente"
)
→ output: comprobante
PDF Add Watermark path = comprobante output = comprobante.Replace(".pdf", "-copia.pdf") text = "COPIA"

El mismo documento con un texto en vez de una lista — cada \n es una línea:

PDF Create
output = "C:/comprobantes/" + numero + ".pdf"
content = "Comprobante de procesamiento\n" +
"Número: " + numero + "\n" +
"Estado: Procesado correctamente"

Un informe de dos páginas, con el salto marcado como una línea más:

PDF Create
output = "C:/informes/resumen.pdf"
content = arr(
"Resumen del proceso",
"Registros procesados: " + total.ToString(),
"{PAGE_BREAK}",
"Anexo: detalle de errores"
)