Altova MapForce 2025 Enterprise Edition

En este apartado, abordamos los siguientes aspectos relacionados con la sintaxis: tokens, gramática, operaciones admitidas, nombres integrados que se usan en cálculos y funciones de expresión. Para más detalles siga leyendo.

 

Tokens

La expresión que se introduce para una propiedad concreta se procesa en una secuencia de tokens que deben ser conformes a la estructura descrita en esta subsección. Los espacios en blanco entre tokens no son significantes y se omiten.

 

Identificadores

Los identificadores integrados se usan para hacer referencia a objetos integrados. Los identificadores integrados empiezan por una letra en mayúscula o minúscula o por un guión bajo (p.ej., Top se refiere a la parte superior de una región). Los identificadores de usuario van entre corchetes [ ] y pueden contener cualquier carácter Unicode (p.ej., [Sep1] puede hacer referencia al extremo izquierdo de la columna de la tabla llamada Description).

 

Tokens de un sólo carácter

Los tokens de un solo carácter son una parte esencial de los lenguajes de programación y suelen combinarse para crear expresiones complejas. Estos son los tokens de un sólo carácter que se usan: (, ), {, }, ,, :, ..

 

Literales numéricos

Los literales numéricos representan valores numéricos. Los literales numéricos no tienen signo (se trata como un operador unitario) y deben tener al menos un dígito antes y después del punto decimal.

 

Literales de cadena

Los literales de cadena representan secuencias de caracteres entre comillas dobles. Los literales de cadena pueden contener cualquier carácter Unicode y caracteres especiales con barra diagonal inversa (p.ej., el carácter \n representa un salto de línea).

 

Literales de color

Los literales de color representan códigos de colores. Los literales de color adoptan la misma forma que en HTML y CSS y usan tres o seis dígitos hexadecimales (p.ej., #FFF es el código de color hexadecimal que representa el color blanco).

 

Operadores

Los operadores son símbolos que se usan para realizar diversas operaciones, como comparar valores, realizar cálculos matemáticos, concatenar cadenas, etc. Se admiten los siguientes operadores: +, -, *, /, &, |, =, !, <, >, ^, %.

 

Gramática

En esta subsección describimos los siguientes aspectos de gramática: expresiones binarias y unarias.

 

Expresiones binarias

Una expresión binaria es una expresión que contiene dos operandos y un operador que especifica una acción (p.ej., multiplicación) que debe realizarse con los operandos.

 

Los operadores multiplicativos (*, /), aditivos (+, -) y lógicos (&&, ||, !) son operadores asociativos a la izquierda. Esto significa que los operadores de la misma precedencia se procesan de izquierda a derecha (p.ej., en la expresión 5+2*4, la multiplicación se calcula antes que la suma, porque la multiplicación tiene una precedencia mayor que la suma). Estos operadores asociativos a la izquierda se pueden encadenar.

 

Los operadores de igualdad (==, !=, =), así como los operadores relacionales (<, >, , ) y generales (los operadores que no se incluyen en ninguna otra categoría) no son asociativos. Es decir, se deben encadenar con paréntesis para que no se de un error de análisis.

 

Expresiones unarias

Una expresión unaria es una expresión que contiene sólo un operando y un operador unario que realiza acciones sobre este operando único. A continuación se describen las expresiones unarias admitidas.

 

Una expresión de referencia integrada es un identificador, un identificador seguido de una secuencia de selectores de miembros o un identificador seguido de una tupla, que es una llamada a funciones.

Una expresión de referencia del usuario describe lo mismo que una expresión de referencia integrada, con la diferencia de que no es posible realizar llamadas a funciones.

Una expresión de operador de prefijo unario es un operador que realiza acciones sobre un único operando y se coloca delante de este operando. Estos son algunos ejemplos de operadores de prefijo unario comunes: +, -, !, ++, --.

Una expresión de literal de cadena es la que se ha descrito anteriormente en Literales de cadena en la subsección Tokens.

Una expresión de número es un literal numérico con un sufijo opcional (puede ser cualquier identificador integrado). Este tipo de expresión puede ser útil, por ejemplo, para literales de distancia.

Una expresión de literal de color es la que se ha descrito anteriormente en Literales de color en la subsección Tokens.

Las expresiones de Tupla pueden ser de varios tipos: (i) una tupla vacía que no contiene ningún elemento y se representa como (), (ii) una tupla singleton que contiene un único elemento (p.ej. (50,)) o (iii) todas las demás tuplas que contienen al menos dos valores (p.ej. (5pt, "Hola") es una tupla que tiene como primer valor una distancia y como segundo valor una cadena).

Una expresión de estructura es similar a una expresión de tupla, con la diferencia de que los miembros de la tupla tienen índices, mientras los miembros de la estructura tienen nombres para identificarlos. Frente a una tupla, una estructura de un solo miembro sigue siendo una estructura ya que tiene un nombre. Sin embargo, una estructura vacía es equivalente a una tupla vacía. Ejemplo de una estructura: { X: 30pt, Y: -20pt } es una estructura con componentes X y Y, que ambos son valores de distancia.

 

Operaciones admitidas

En esta subsección describiremos las operaciones admitidas.

 

Números

Los números se pueden sumar, restar, negar, multiplicar, dividir y comparar. PDF Extractor admite las funciones par e impar para comprobar si un número es par o impar. Tenga en cuenta que no se dará ningún resultado si un número no es un número entero.

 

Booleanas

Las operaciones booleanas aceptan comparaciones de igualdad (==, !=), así como conjunciones (AND) y disyunciones lógicas (OR).

 

Ubicaciones

La ubicación especifica la posición de un borde en una página. Operaciones de ubicación le permiten colocar un borde en una página. Esta acción normalmente se realiza usando un borde o añadiendo una distancia a un borde (p.ej. Left + 50pt). Si dos ubicaciones están especificadas en la misma dirección cardinal, se pueden restar para obtener la ubicación deseada (p.ej. (Top + 500 pt) - (Top + 200pt) = Top+300pt).

 

Distancias

La distancia especifica a qué distancia están dos ubicaciones de la página. Las funciones de distancia se miden en pt, in, cm, mm y pc, y tienen el mismo significado que en CSS. Es posible sumar y restar distancias, así como multiplicar una distancia por un número. También se pueden dividir las distancias para obtener su cociente.

 

Operaciones con rectángulos

PDF Extractor admite las siguientes funciones que le permiten modificar rectángulos:

 

 

Nombres integrados

En PDF Extractor se admiten los siguientes nombres integrados para usarlos en cálculos:

 

Left (izquierda): El borde izquierdo de la página actual. Left es un alias de PageRect.Left.

Top (superior): El borde superior de la página actual. Top es un alias de PageRect.Top.

Right (derecha): El borde derecho de la página actual. Right es un alias de PageRect.Right.

Bottom (inferior): El borde inferior de la página actual. Bottom es un alias de PageRect.Bottom.

PageRect (rectángulo de página): Un rectángulo que define los límites de la página actual. El nombre integrado PageRect es útil en combinación con funciones de procesamiento de rectángulos como inflate (véase la sección ‘Operaciones con rectángulos’ más arriba).

PageNumber (número de página): El número de página de la página actual.

 

© 2018-2024 Altova GmbH