Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v20
Acceder a contenidos de documentos por programación

Acceder a contenidos de documentos por programación  


 

 

4D Write Pro ofrece un conjunto completo de comandos que permiten modificar los atributos de texto e imagen en sus documentos. Gracias a estas funcionalidades, los desarrolladores 4D pueden diseñar sus propias interfaces de usuario (utilizando botones, menús, casillas de verificación, etc.) para documentos 4D Write Pro. Los comandos se pueden aplicar a documentos completos o a partes específicas (rangos), ya sea basado en las selecciones del usuario o valores personalizados. Las propiedades disponibles incluyen unidades, márgenes, rellenos, fondo, configuración de párrafo, colores, fuentes, estilos de fuente, así como también propiedades de imagen del documento.

Por ejemplo, el objeto de la librería Área 4D Write Pro hace un amplio uso de estas funcionalidades para ofrecer una interfaz 4D Write Pro sofisticada:

4D Write Pro le permite seleccionar y manipular por programación el contenido del documento. Dado que el contenido seleccionado puede incluir texto, imágenes, tablas, etc., y también etiquetas de formato (invisibles), 4D Write Pro funciona con objetos llamados rangos.

Un rango es un objeto que representa una porción de un documento 4D Write Pro:

  • un rango de caracteres, párrafos, imágenes o tablas se define a través de posiciones de caracteres dentro del documento principal,
  • un rango de celdas, columnas y filas se define a través de las posiciones de las celdas y están ancladas a la tabla principal.

Puede usarse para designar elementos a seleccionar o manipular atributos en una parte del documento (usando WP GET ATTRIBUTES y WP SET ATTRIBUTES).

Hay diferentes tipos de rangos. Puede determinar el tipo de rango utilizando el atributo wk type (sólo lectura).  Cada rango contiene varios atributos privados que lo definen:

Constante Valor Comentario
wk end end (Atributo de rango de sólo lectura)
wk owner owner (Atributo de rango de sólo lectura)
wk start start (Atributo de rango de sólo lectura)
wk type type (Atributo de rango de sólo lectura) Tipo de rango 4D Write Pro. Puede ser 0: rango por defecto (por defecto), 1: rango párrafo, 2: rango imagen

Nota: los rangos de celdas, columnas y filas contienen atributos específicos (ver el párrafo abajo).

Varios comandos le permiten definir rangos:

  • WP Text range( wpArea ; inicioRango ; finRango ) -> objRango: devuelve un nuevo rango correspondiente a los límites que pasan como parámetros.
  • WP Selection range( {*;} wpArea ) -> rangeObj: devuelve un nuevo rango que corresponde a la selección usuario actual.
  • WP Picture range( rangeObj ) -> rangeObj: devuelve un nuevo rango que contiene solo las imágenes.
  • WP Paragraph range( rangeObj ) -> rangeObj: devuelve un nuevo rango que contiene solo los párrafos.
  • WP Table range( rangeObj ) -> rangeObj:  devuelve un nuevo rango que contiene solo las tablas.

Puede obtener información sobre la posición de un rango en un documento (número de página, número de columna...) utilizando el comando WP Get position.

Las tablas 4D Write Pro se crean y construyen por programación utilizando los siguientes comandos:

(*) Las columnas no tienen equivalente en HTML. En 4D Write Pro, un rango de columnas es en realidad un rango de celdas.

Los rangos de filas, columnas y celdas tienen atributos privados específicos que permiten definirlos:

Constante Valor Comentario
wk cell count cellCount

Número total de celdas en la fila. Tipo de valor: Entero largo (valor para wk type table row)

wk column count columnCount (Atributo de rango de sólo lectura) Número total de columnas del rango. Valor: Entero largo
wk first column firstColumn (Atributo de rango de sólo lectura) Número de la primera columna del rango. Valor: Entero largo
wk first row firstRow (Atributo de rango de sólo lectura) Número de la primera fila del rango. Valor: Entero largo
wk header row count headerRowCount

(Lectura/Escritura) Número de líneas de la tabla con el atributo wk header definido como True. 

El valor máximo es 5. Si se pasa un valor superior a 5, wk header se define como True sólo para las cinco primeras líneas (ver Encabezados repetidos).

wk row count rowCount (Atributo de rango de sólo lectura) Número total de columnas en el rango. Valor: Entero largo
wk table table

(Atributo de solo lectura) La tabla padre. Tipo de valor: objeto

wk table ID tableID (Atributo de rango de sólo lectura) ID de la tabla principal del rango. Valor: cadena

Como se detalla en el párrafo Manejo de encabezados, pies y secciones, los documentos 4D Write Pro pueden contener:

  • una o más secciones (una sección por defecto)
  • para cada sección, hasta tres subsecciones:
    • subsección de primera página
    • subsección de página(s) izquierda(s)
    • subsección de página(s) derecha(s)

Las secciones y subsecciones son objetos que pueden manejarse por programación utilizando los siguientes comandos:

Tenga en cuenta también que los encabezados y pies de página específicos se pueden adjuntar a secciones o subsecciones, utilizando los siguientes comandos:

Los objetos de sección y subsección soportan los siguientes atributos:

4D Write Pro le permite crear y trabajar con referencias dinámicas para intervalos, llamados marcadores. Un marcador es una referencia con nombre asociada a un rango específico en un documento 4D Write Pro.

Los marcadores son dinámicos, lo que significa que si el usuario mueve, añade o elimina del texto el marcador, el rango asociado se actualizará automáticamente y el marcador seguirá haciendo referencia al mismo contenido dentro del documento. Por ejemplo:

  • Se crea un marcador llamado "MyBM" que hace referencia al texto "Hola mundo" en la página 20 del documento.
  • Luego, inserta 50 páginas al principio del documento.
  • Usted aún podrá acceder automáticamente al mismo texto "Hola mundo", ahora en la página 70 del documento, mediante el marcador "MyBM". 

Un documento puede contener un número ilimitado de marcadores. Varios marcadores pueden hacer referencia al mismo rango, y ​​los rangos de marcadores pueden ser intercalados. Sin embargo, cada nombre de marcador debe ser único en el documento. Los marcadores no se importan cuando se utiliza el comando WP INSERT DOCUMENT (los marcadores en el documento de destino no pueden ser sobrescritos).

Una vez creado, un marcador se almacena dentro del documento. Se guarda con el documento y puede ser manejado por diferentes comandos. También se puede utilizar para hacer referencia a partes de un documento plantilla. Estas piezas pueden ensamblarse de forma automática con los datos de la base para producir documentos de salida dinámicos tales como facturas o catálogos.

Varios comandos permiten crear, eliminar y utilizar marcadores:

Los siguientes nuevos comandos permiten leer o definir los atributos en el documento:

  • WP SET ATTRIBUTES( objRango | wpDoc ; nomAtrib ; valorAtrib {; nomAtrib2 ; valorAtrib2 ; ... ; nomAtribN ; valorAtribN} ): define uno o más pares atributo/valor en el documento o rango.
  • WP GET ATTRIBUTES( objRango | wpDoc ; nomAtrib ; attribValue {; nomAtrib2 ; valorAtrib2 ; ... ; nomAtribN ; valorAtribN} ): obtiene el valor actual de los atributos en el documento o rango.
  • WP RESET ATTRIBUTES( objRango ; nomAtrib {; nomAtrib 2 ; ... ;nomAtribN } ): reinicializa los valores de los atributos en el documento o rango.

Los atributos se detallan en la sección Atributos 4D Write Pro.

Este comando le permite obtener información sobre el soporte de estilo para un rango:

  • WP Is font style supported (objRango ; wpFuenteEstilo) -> true o false: le permite saber si un rango soporta un determinado estilo (útil para diseñar una interfaz).

4D Write Pro le permite asignar hipervínculos a todo rango de su documento, incluyendo rangos (texto, imagen, etc.), elementos (tabla, cuerpo, pie de página, etc.) o todo el documento. Por ejemplo, puede definir un hipervínculo a un rango imagen; si el documento 4D Write Pro se exporta a HTML, los usuarios pueden hacer clic en la imagen para abrir una página en una dirección especifica.

Los hipervínculos se pueden activar desde los documentos 4D Write Pro utilizando el atajo Ctrl+clic (Windows) o Cmd+clic (macOS).

En un documento 4D Write Pro, un enlace se puede activar utilizando un simple clic.

4D Write Pro soporta enlaces de los siguientes tipos:

Tipo de enlaceDescripción
urlEnlaces a páginas web o a cualquier documento, abre la aplicación asociada cuando se activa (*). La activación de un enlace URL al documento 4D Write Pro (.4wp, .4w7) reemplaza al documento actual en el área de 4D Write Pro.
(*) igual que el comando OPEN URL.
bookmarkEnlaces a marcadores en el documento
methodActivando un enlace a un método 4D ejecuta el método (siempre que esté registrado por el método SET ALLOWED METHODS).

Los hipervínculos se manejan por medio de los siguientes comandos:

  • WP SET LINK para insertar un enlace utilizando un objeto de destino.
  • WP Get links para obtener la colección de todos los enlaces en un objeto de destino.

Nota: los enlaces se manejan como atributos, por lo tanto se pueden definir u obtener utilizando los comandos WP SET ATTRIBUTES y WP RESET ATTRIBUTES junto con la constantewk link url. Sin embargo, recomendamos utilizar WP SET LINK y WP Get links porque automáticamente codifican/decodifican enlaces como URLs. Cuando se leen enlaces utilizando el comando WP GET ATTRIBUTES, si el rango contiene varios hipervínculos, el comando devuelve la primera cadena de url.

Por ejemplo, si desea transformar el texto seleccionado por el usuario en una URL en un sito web:

Puede escribir:

 $range:=WP Get selection(*;"WParea")
 WP SET LINK($range;New object("url";"http://www.4d.com"))

Para eliminar un vínculo de rango, puede escribir:

 WP RESET ATTRIBUTES($range;wk link url)

o

 WP SET ATTRIBUTES($range;wk link url;"")

Nota: si $range no incluye todo el enlace, el enlace se trunca pero no se elimina completamente.

Una hoja de estilo es un objeto de un conjunto definido de configuraciones de atributos utilizados para controlar la apariencia de sus documentos 4D Write Pro.  Esta configuración se puede aplicar a párrafos y caracteres, como la fuente a mostrar, así como el tamaño, el color y el peso de la fuente. Una vez que se define una hoja de estilo, se guarda como un objeto en el documento 4D Write Pro para que pueda reutilizarse fácilmente. Las hojas de estilo le permiten dar a sus documentos un aspecto distintivo y único, al tiempo que le ahorra tiempo y esfuerzo.

Estilo por defecto

Todos los documentos 4D Write Pro tienen una hoja de estilo de párrafo predeterminada, "Normal". Las nuevas hojas de estilo (creadas con el comando WP New style sheet) se heredan automáticamente del estilo Normal. Los atributos modificados por una hoja de estilo solo afectan a los párrafos a los que se aplican, el resto del documento conserva la configuración Normal predeterminada. Si se elimina una hoja de estilo, los atributos modificados volverán al estilo Normal.

El estilo Normal define un valor predeterminado para cada atributo de hoja de estilo en un documento 4D Write Pro y se puede recuperar con el comando WP Get style sheet. La hoja de estilo Normal se puede modificar (pero no renombrar) con el comando WP SET ATTRIBUTES. Si bien las hojas de estilo creadas con el comando WP New style sheet se pueden eliminar con el comando WP DELETE STYLE SHEET, la hoja de estilo Normal no se puede eliminar.

Hojas de estilo de atributos de párrafo y caracteres

Las hojas de estilo le permiten definir los atributos de párrafos completos o caracteres específicos:

  • Párrafo - la gran mayoría de los atributos que se pueden modificar se aplican solo a los párrafos. Las hojas de estilo de párrafo incluyen configuraciones de estilo de caracteres, así como atributos de formato que solo se pueden aplicar a nivel de párrafo (por ejemplo, márgenes, bordes, pestañas, etc.).
  • Carácter - las hojas de estilo de caracteres utilizan solo los atributos apropiados para distinguir el texto (uno o más caracteres) del estilo de párrafo (por ejemplo, encabezados, títulos, texto subrayado, etc.).

Tenga en cuenta que los estilos de párrafo se aplican a párrafos completos. Para aplicar un estilo solo a una parte específica de un párrafo, debe utilizar una hoja de estilo de caracteres.

Precedencia de hoja de estilo

Se pueden combinar varias hojas de estilo de párrafos y caracteres dentro del mismo documento 4D Write Pro. Es importante tener en cuenta que la prioridad de la hoja de estilo está determinada por el orden en que se aplican.

  • Si aplica una hoja de estilo de párrafo y luego aplica una hoja de estilo de carácter, la hoja de estilo de carácter tendrá prioridad sobre la hoja de estilo de párrafo. Por ejemplo, podría aplicar una hoja de estilo de párrafo al cuerpo de su documento, luego podría crear una hoja de estilo de caracteres "en negrita" y aplicarla a palabras específicas. La hoja de estilo de párrafo todavía se aplicará al resto del texto, sin embargo, la hoja de estilo de caracteres tendrá prioridad para las palabras designadas.
  • Si aplica una hoja de estilo de caracteres y luego aplica una hoja de estilos de párrafo, la hoja de estilos de párrafo se aplicará a todo el texto y se eliminarán todos los estilos de caracteres de la hoja de estilos de caracteres. 

Aplicando hojas de estilo

Las hojas de estilo se aplican con el comando WP SET ATTRIBUTES utilizando las constantes wk style sheet o wk new line style sheet (o utilizando notación de objetos). Para más información, consulte Atributos 4D Write Pro.

Recuperando hojas de estilo

El comando WP Get style sheets le permite recuperar todas las hojas de estilo en un documento de acuerdo con su tipo específico. El comando WP Get style sheet le permite recuperar una sola hoja de estilo por su nombre.

Importar y exportar hojas de estilo

Debido a que las hojas de estilo se almacenan como objetos, pueden importarse fácilmente a otros documentos 4D Write Pro o mantenerse cuando se exportan en múltiples formatos.

Atributos de hoja de estilo

Los siguientes atributos de hoja de estilo de párrafos y caracteres pueden modificarse con los comandos WP SET ATTRIBUTES y WP RESET ATTRIBUTES, o recuperarse con el comando WP GET ATTRIBUTES.

Nota: algunos atributos están vinculados entre sí. Por lo tanto, al agregar solo uno de estos atributos, los otros atributos vinculados también se crearán con los valores predeterminados. Para los atributos vinculados, el valor predeterminado puede ser diferente del valor definido en la hoja de estilo Normal. Por ejemplo, si define solo un borde izquierdo rojo, los otros bordes serán negros (valor predeterminado) incluso si los bordes en la hoja de estilo Normal se definieron previamente como púrpura.

AtributosPárrafoCaracterAsociado con
wk avoid widows and orphansX  
wk background clipX  
wk background colorX X 
wk background heightX wk background width
wk background imageX  
wk background image urlX  
wk background originX  
wk background position horizontalX wk background position vertical 
wk background position verticalX wk background position horizontal 
wk background repeatX  
wk background widthX wk background height 
wk border colorX wk border color bottom, wk border color left, wk border color right, wk border color top
wk border color bottomX wk border color, wk border color left, wk border color right, wk border color top
wk border color leftX wk border color, wk border color bottom, wk border color right, wk border color top
wk border color rightX wk border color, wk border color bottom, wk border color left, wk border color top
wk border color topX wk border color, wk border color bottom, wk border color left, wk border color right
wk border radiusX  
wk border styleX wk border style bottom, wk border style left, wk border style right, wk border style top 
wk border style bottomX wk border style, wk border style left, wk border style right, wk border style top 
wk border style leftX wk border style, wk border style bottom, wk border style right, wk border style top 
wk border style rightX wk border style, wk border style bottom, wk border style left, wk border style top
wk border style topX wk border style, wk border style, wk border style bottom, wk border style left
wk border widthX wk border width bottom, wk border width left, wk border width right, wk border width top 
wk border width bottomX wk border width, wk border width left, wk border width right, wk border width top
wk border width leftX wk border width, wk border width bottom, wk border width right, wk border width top
wk border width rightX wk border widthwk border width bottom, wk border width left, wk border width top
wk border width topX wk border widthwk border width bottom, wk border width left, wk border width right
wk directionX  
wk fontXX wk font bold, wk font italic, wk font size
wk font boldXX wk font, wk font family, wk font italic, wk font size
wk font familyXX wk font, wk font bold, wk font italic, wk font size
wk font italicXX wk font, wk font bold, wk font family, wk font size
wk font sizeXX wk font, wk font bold, wk font family, wk font italic
wk line heightX  
wk list fontX  
wk list string format LTRX  
wk list string format RTLX  
wk list style imageX  
wk list style image heightX  
wk list style image urlX  
wk list style typeX  
wk marginX wk margin bottom, wk margin left, wk margin right, wk margin top
wk margin bottomX wk margin, wk margin left, wk margin right, wk margin top
wk margin leftX wk margin, wk margin bottom, wk margin right, wk margin top
wk margin rightX wk margin, wk margin bottom, wk margin left, wk margin top
wk margin topX wk margin, wk margin bottom, wk margin left, wk margin right
wk min heightX  
wk min widthX  
wk nameXX  
wk new line style sheetX  
wk owner 
wk paddingX wk padding bottom, wk padding left, wk padding right, wk padding top
wk padding bottomX wk padding, wk padding left, wk padding right, wk padding top
wk padding boxX  
wk padding leftX wk padding, wk padding bottom, wk padding right, wk padding top
wk padding rightX wk padding, wk padding bottom, wk padding left, wk padding top
wk padding topX wk padding, wk padding bottom, wk padding left, wk padding right
_o_wk page break insideX  
wk tab defaultX wk tabs, wk tab stop offsets, wk tab stop types, wk tab stop leadings
wk tabsX wk tab default, wk tab stop offsets, wk tab stop types, wk tab stop leadings
wk tab stop offsetsX  wk tabs, wk tab default, wk tab stop types, wk tab stop leadings
wk tab stop typesX wk tabs, wk tab default, wk tab stop offsets, wk tab stop leadings
wk tab stop leadingsX wk tabs, wk tab default, wk tab stop offsets, wk tab stop types  
wk text alignX  
wk text colorXX 
wk text indentX  
wk text linethrough colorXX 
wk text linethrough styleXX wk text underline style
wk text shadow colorXX wk text shadow offset
wk text shadow offsetX X wk text shadow color
wk text transformXX 
wk text underline colorXX 
wk text underline styleXX wk text linethrough style
wk typeX (read only)X (read only) 
wk vertical alignXX 
wk widthX  



Ver también 

Download HDI database

 
PROPIEDADES 

Producto: 4D
Tema: Lenguaje 4D Write Pro

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Modificado: 4D v16
Modificado: 4D v16 R4
Modificado: 4D v16 R5

 
ARTICLE USAGE

Referencia 4D Write Pro ( 4D v20)