Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
a644818
New translations openaiproviders.md (French)
arnaud4d Apr 30, 2026
caefd36
New translations provider-model-aliases.md (French)
arnaud4d Apr 30, 2026
bb71b0d
New translations openai.md (French)
arnaud4d Apr 30, 2026
cdd225b
New translations openaichatcompletionsparameters.md (French)
arnaud4d Apr 30, 2026
5a4d9bb
New translations openaiembeddingsapi.md (French)
arnaud4d Apr 30, 2026
ee4a2cb
New translations openaiimageparameters.md (French)
arnaud4d Apr 30, 2026
1c18643
New translations openaiproviders.md (French)
arnaud4d Apr 30, 2026
0b703c9
New translations provider-model-aliases.md (French)
arnaud4d Apr 30, 2026
bf30be7
New translations properties_resizingoptions.md (Japanese)
arnaud4d Apr 30, 2026
656d896
New translations properties_text.md (Japanese)
arnaud4d Apr 30, 2026
ddff5b1
New translations properties_textandpicture.md (Japanese)
arnaud4d Apr 30, 2026
4a5b25a
New translations properties_resizingoptions.md (Japanese)
arnaud4d Apr 30, 2026
dcffa58
New translations properties_text.md (Japanese)
arnaud4d Apr 30, 2026
ed87f35
New translations properties_textandpicture.md (Japanese)
arnaud4d Apr 30, 2026
7c8d0de
New translations updates.md (Japanese)
arnaud4d Apr 30, 2026
a38ca01
New translations updates.md (Japanese)
arnaud4d Apr 30, 2026
f3a84ae
New translations properties_resizingoptions.md (Japanese)
arnaud4d Apr 30, 2026
4b7172f
New translations properties_text.md (Japanese)
arnaud4d Apr 30, 2026
785e2d9
New translations properties_resizingoptions.md (Japanese)
arnaud4d Apr 30, 2026
a3655a1
New translations properties_text.md (Japanese)
arnaud4d Apr 30, 2026
e12de9a
New translations openai.md (French)
arnaud4d Apr 30, 2026
0e4a114
New translations openaichatcompletionsparameters.md (French)
arnaud4d Apr 30, 2026
1e6bdec
New translations openaiimageparameters.md (French)
arnaud4d Apr 30, 2026
600cfa7
New translations openaiembeddingsapi.md (French)
arnaud4d Apr 30, 2026
2129931
New translations properties_textandpicture.md (Japanese)
arnaud4d Apr 30, 2026
eba26f1
New translations properties_textandpicture.md (Japanese)
arnaud4d Apr 30, 2026
77cb364
New translations openaiproviders.md (French)
arnaud4d May 1, 2026
79f6611
New translations forms.md (French)
arnaud4d May 1, 2026
53d72b7
New translations updates.md (French)
arnaud4d May 1, 2026
42a0d6a
New translations openaiproviders.md (French)
arnaud4d May 1, 2026
7d4df40
New translations compatibility.md (French)
arnaud4d May 1, 2026
f1de9ba
New translations updates.md (French)
arnaud4d May 1, 2026
f6d18e1
New translations forms.md (French)
arnaud4d May 1, 2026
d6d9abd
New translations forms.md (Spanish)
arnaud4d May 1, 2026
4e4e437
New translations updates.md (Spanish)
arnaud4d May 1, 2026
d67409e
New translations compatibility.md (Spanish)
arnaud4d May 1, 2026
0943542
New translations forms.md (Japanese)
arnaud4d May 1, 2026
ed8af10
New translations forms.md (Japanese)
arnaud4d May 1, 2026
0ef760e
New translations updates.md (Japanese)
arnaud4d May 1, 2026
d6107b5
New translations compatibility.md (Japanese)
arnaud4d May 1, 2026
4895fc7
New translations compatibility.md (Portuguese, Brazilian)
arnaud4d May 1, 2026
2dd112e
New translations compatibility.md (Portuguese, Brazilian)
arnaud4d May 1, 2026
f7c4de8
New translations forms.md (Portuguese, Brazilian)
arnaud4d May 1, 2026
7d1d583
New translations updates.md (Portuguese, Brazilian)
arnaud4d May 1, 2026
7dbaa94
New translations compatibility.md (Portuguese, Brazilian)
arnaud4d May 1, 2026
386e618
New translations updates.md (Spanish)
arnaud4d May 1, 2026
32046d8
New translations updates.md (Japanese)
arnaud4d May 1, 2026
a8fd0ed
New translations forms.md (Spanish)
arnaud4d May 1, 2026
bc5f8bc
New translations forms.md (Portuguese, Brazilian)
arnaud4d May 1, 2026
13e020d
New translations properties_print.md (French)
arnaud4d May 1, 2026
4a08eeb
New translations compatibility.md (French)
arnaud4d May 1, 2026
a903412
New translations print_rendering.png (French)
arnaud4d May 1, 2026
476df5e
New translations screen_rendering.png (French)
arnaud4d May 1, 2026
b48819d
New translations form-print1.png (French)
arnaud4d May 1, 2026
fa66d32
New translations form-print2.png (French)
arnaud4d May 1, 2026
01645dc
New translations print-selection1.png (French)
arnaud4d May 1, 2026
7aead38
New translations properties_print.md (Spanish)
arnaud4d May 1, 2026
db7c049
New translations properties_print.md (Japanese)
arnaud4d May 1, 2026
2b7cc2f
New translations properties_print.md (Portuguese, Brazilian)
arnaud4d May 1, 2026
717c76b
New translations updates.md (Portuguese, Brazilian)
arnaud4d May 1, 2026
e0cf712
New translations compatibility.md (Spanish)
arnaud4d May 1, 2026
1d1106b
New translations compatibility.md (Japanese)
arnaud4d May 1, 2026
3cceb03
New translations compatibility.md (Portuguese, Brazilian)
arnaud4d May 1, 2026
e930c89
New translations print-selection2.png (French)
arnaud4d May 1, 2026
ebd25c1
New translations print_rendering.png (French)
arnaud4d May 1, 2026
654048f
New translations screen_rendering.png (French)
arnaud4d May 1, 2026
861e813
New translations print_rendering.png (Spanish)
arnaud4d May 1, 2026
77652d8
New translations screen_rendering.png (Spanish)
arnaud4d May 1, 2026
6ceb228
New translations form-print1.png (Spanish)
arnaud4d May 1, 2026
0db606f
New translations form-print2.png (Spanish)
arnaud4d May 1, 2026
2fd0e91
New translations print-selection1.png (Spanish)
arnaud4d May 1, 2026
35eac4d
New translations print-selection2.png (Spanish)
arnaud4d May 1, 2026
1e79283
New translations print_rendering.png (Spanish)
arnaud4d May 1, 2026
6053d26
New translations screen_rendering.png (Spanish)
arnaud4d May 1, 2026
a5edb06
New translations print_rendering.png (Japanese)
arnaud4d May 1, 2026
1b3625d
New translations screen_rendering.png (Japanese)
arnaud4d May 1, 2026
e189080
New translations form-print1.png (Japanese)
arnaud4d May 1, 2026
f88a0b2
New translations form-print2.png (Japanese)
arnaud4d May 1, 2026
9ddf352
New translations print-selection1.png (Japanese)
arnaud4d May 1, 2026
c0373a7
New translations print-selection2.png (Japanese)
arnaud4d May 1, 2026
5bbe912
New translations print_rendering.png (Japanese)
arnaud4d May 1, 2026
6c9bc7a
New translations screen_rendering.png (Japanese)
arnaud4d May 1, 2026
8723a3f
New translations print_rendering.png (Portuguese, Brazilian)
arnaud4d May 1, 2026
f150a1b
New translations screen_rendering.png (Portuguese, Brazilian)
arnaud4d May 1, 2026
6baa81e
New translations form-print1.png (Portuguese, Brazilian)
arnaud4d May 1, 2026
a099d27
New translations form-print2.png (Portuguese, Brazilian)
arnaud4d May 1, 2026
72fef74
New translations print-selection1.png (Portuguese, Brazilian)
arnaud4d May 1, 2026
e1b0944
New translations print-selection2.png (Portuguese, Brazilian)
arnaud4d May 1, 2026
8995420
New translations print_rendering.png (Portuguese, Brazilian)
arnaud4d May 1, 2026
a278aa5
New translations screen_rendering.png (Portuguese, Brazilian)
arnaud4d May 1, 2026
9059c01
New translations forms.md (Japanese)
arnaud4d May 1, 2026
0b8b4e0
New translations forms.md (Japanese)
arnaud4d May 1, 2026
2dee5d8
New translations updates.md (Japanese)
arnaud4d May 1, 2026
6f0e2bd
New translations client-server-optimization.md (Japanese)
arnaud4d May 1, 2026
06608f2
New translations orda-events.md (Japanese)
arnaud4d May 1, 2026
f2490c4
New translations updates.md (Japanese)
arnaud4d May 1, 2026
4dfa531
New translations client-server-optimization.md (Japanese)
arnaud4d May 1, 2026
0ae400d
New translations orda-events.md (Japanese)
arnaud4d May 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 43 additions & 2 deletions i18n/es/docusaurus-plugin-content-docs/current/FormEditor/forms.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ Puede añadir o modificar formularios 4D utilizando los siguientes elementos:
Forms are called using specific commands of the 4D Language. In your 4D desktop applications, forms can be used in various ways, depending on their status within your interface needs. A form can be:

- used in its own window for data viewing, processing, editing, or to display on-screen information to the user,
- used as template for printing,
- used embedded in another form (subform),
- used as template for printing,
- or called by specific features like the Label editor.

### Using a project form in a window
Expand Down Expand Up @@ -147,6 +147,10 @@ In the same way that you pass an object to a form with the [`DIALOG`](../command

### Using forms to be printed

In 4D desktop applications, forms can be printed using the various [commands of the **Printing** theme](../commands/theme/Printing).

#### Ejemplos

You can use forms to print data, either as page or as list.

- To simply print some part of a form, use the [`Print form`](../commands/print-form) command. Por ejemplo:
Expand Down Expand Up @@ -184,6 +188,43 @@ var $h:=Print form("Request_var";$formData;Form detail)
CLOSE PRINTING JOB
```

#### Print rendering engine

4D uses a dedicated print rendering engine to generate outputs with a design adapted for printing. It includes the following main features:

- Interactive widgets such as buttons, toggles, dropdowns, etc. and modern UI effects such as glass, blur, transparency, or shadow effects are converted into adapted static representations and flattened into printable styles, so that the document remains readable and professional once printed.
- Layout structure, spacing, and alignment, are preserved so that the printed document reflects the logical structure of the on-screen form.
- The same output is produced, whether the form is printed from macOS or Windows.

For example, the following form:

![](../assets/en/FormEditor/screen_rendering.png)

... will be printed with this rendering:

![](../assets/en/FormEditor/print_rendering.png)

:::tip Entrada de blog relacionada

[Printing Modern Interfaces with Clean, Consistent Output](https://blog.4d.com/printing-modern-interfaces-with-clean-consistent-output)

:::

#### Legacy print renderer

In releases prior to 4D 21 R3, another print renderer was used. This legacy renderer simply draws widgets as they appear on the screen. For compatibility, the legacy renderer is **enabled by default** in projects or databases converted from versions prior to 4D 21 R3, so that forms designed with this renderer continue to be printed as expected.

You can however enable the modern print rendering engine at any moment by:

- unchecking the **Use legacy print rendering** option in the [Compatibility page of the Settings dialog box](../settings/compatibility.md) (permanent setting),
- or executing [`SET DATABASE PARAMETER`](../commands/set-database-parameter) command with `Use legacy print rendering` selector set to 1 (volatile setting).

:::warning Limitación

For technical reasons, the legacy print renderer is not available with forms displayed with [Fluent UI](#fluent-ui-rendering) on Windows or [Liquid Glass](../Notes/updates.md#support-of-liquid-glass-on-macos) on macOS. In these contexts, forms are **always printed with the modern print rendering engine**, whatever the compatibility option.

:::

### Other form usages

There are several other ways to use forms in the 4D applications, including:
Expand All @@ -204,7 +245,7 @@ Normalmente, se selecciona la categoría del formulario al crearlo, pero se pued

## Páginas formulario

Cada formulario consta de al menos dos páginas:
Each form is made of at least two pages:

- una página 1: una página principal, mostrada por defecto
- una página 0: una página de fondo, cuyo contenido se muestra en todas las demás páginas.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ title: Imprimir

Permite definir los parámetros de impresión específicos para el formulario. Esta funcionalidad es útil para ver los límites de páginas de impresión en el editor de formularios.

> **Compatibilidad:** aunque estos parámetros se tengan en cuenta cuando se imprime el formulario en modo Aplicación, se desaconseja confiar en esta funcionalidad para almacenar los parámetros de impresión del formulario, debido a las limitaciones relativas Es muy recomendable utilizar los comandos 4D `Print settings to BLOB`/`BLOB to print settings` que son más poderosos.
> **Compatibilidad:** aunque estos parámetros se tengan en cuenta cuando se imprime el formulario en modo Aplicación, se desaconseja confiar en esta funcionalidad para almacenar los parámetros de impresión del formulario, debido a las limitaciones relativas It is highly recommended to use the 4D commands [`Print settings to BLOB`](../commands/print-settings-to-blob)/[`BLOB to print settings`](../commands/blob-to-print-settings) which are more powerful.

Puede modificar los siguientes parámetros de impresión:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Lea [**Novedades en 4D 21 R3**](https://blog.4d.com/es/whats-new-in-4d-21-r3/),
- New [**AI** page in Settings](../settings/ai.md), allowing to configure [Provider model aliases](../aikit/provider-model-aliases.md) that can be called in the code using 4D AIKit component.
- 4D AIKit component: new [Providers](../aikit/Classes/OpenAIProviders.md) class to instantiate and handle [Provider and model aliases](../aikit/provider-model-aliases.md).
- Support of [`server` keyword](../Concepts/classes.md#server) for ORDA data model functions and shared/session singleton functions.
- New [printing renderer](../FormEditor/forms.md#print-rendering-engine) for forms on Liquid glass and Fluent UI interfaces. New compatibility options to [enable the renderer on Classic interfaces](../FormEditor/forms.md#legacy-print-renderer).
- Dependencies: support of [components stored on GitLab repositories](../Project/components.md#configuring-a-gitlab-repository).
- [**Lista de bugs corregidos**](https://bugs.4d.fr/fixedbugslist?version=21_R3): lista de todos los bugs que se han corregido en 4D 21 R3.

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,29 @@ title: Página de compatibilidad

La página Compatibilidad agrupa los parámetros relacionados con el mantenimiento de la compatibilidad con versiones anteriores de 4D.

> El número de opciones mostradas depende de la versión de 4D con la que se creó la base de datos/proyecto original, así como de los ajustes modificados en esta base de datos/proyecto.
> Esta página enumera las opciones de compatibilidad disponibles para las bases de datos/proyectos convertidos a partir de 4D v18. Para las opciones de compatibilidad más antiguas, consulte la [página Compatibilidad](https://doc.4d.com/4Dv20/4D/20.2/Compatibility-page.300-6750362.en.html) en **doc.4d.com**.
:::note

- **Utilizar XPath estándar**: por defecto, esta opción está desmarcada para las bases convertidas desde una versión 4D anterior a la v18 R3, y marcada para las bases creadas con 4D v18 R3 y superiores. A partir de la v18 R3, la implementación de XPath en 4D ha sido modificada para ser más compatible y soportar más predicados. Como consecuencia, las funcionalidades no estándar de la implementación anterior ya no funcionan. Incluyen:
- El número de opciones mostradas depende de la versión de 4D con la que se creó la base de datos/proyecto original, así como de los ajustes modificados en esta base de datos/proyecto.
- This page lists the compatibility options available for database/projects converted from 4D 18 onwards. Para las opciones de compatibilidad más antiguas, consulte la [página Compatibilidad](https://doc.4d.com/4Dv20/4D/20.2/Compatibility-page.300-6750362.en.html) en **doc.4d.com**.

:::

- **Use standard XPath:** By default this option is unchecked for databases converted from a 4D version prior to 18 R3, and checked for databases created with 4D 18 R3 and higher. Starting with 18 R3, the XPath implementation in 4D has been modified to be more compliant and to support more predicates. Como consecuencia, las funcionalidades no estándar de la implementación anterior ya no funcionan. Incluyen:

- el caracter inicial "/" no es sólo el nodo raíz - la utilización del caracter / como primer caracter en una expresión XPath no declara una ruta absoluta desde el nodo raíz
- no hay nodo actual implícito - el nodo actual debe incluirse en la expresión XPath
- no hay búsquedas recursivas en las estructuras repetidas: sólo se analiza el primer elemento. \

Aunque no es estándar, es posible que desee seguir utilizando estas funcionalidades para que su código siga funcionando como antes -- en este caso, basta con establecer la opción *desmarcarcada*. Por otra parte, si su código no se basa en la implementación no estándar y si desea beneficiarse de las funcionalidades extendidas de XPath en sus bases de datos (como se describe en el comando [`DOM Find XML element`](../commands/dom-find-xml-element)), asegúrese de que la opción \**Utilizar XPath estándar* esté *marcada*.

- **Utilizar LF como caracter de fin de línea en macOS**: a partir de 4D v19 R2 (y 4D v19 R3 para archivos XML), 4D escribe archivos texto con salto de línea (LF) como caracter de fin de línea (EOL) por defecto en lugar de CR (CRLF para xml SAX) en macOS en nuevos proyectos. Si desea beneficiarse de este nuevo comportamiento en proyectos convertidos a partir de versiones anteriores de 4D, marque esta opción. Ver [`TEXT TO DOCUMENT`](../commands/text-to-document), [`Document to text`](../commands/document-to-text), y [XML SET OPTIONS](../commands/xml-set-options).
- **Use LF for end of line on macOS:** Starting with 4D 19 R2 (and 4D 19 R3 for XML files), 4D writes text files with line feed (LF) as default end of line (EOL) character instead of CR (CRLF for xml SAX) on macOS in new projects. Si desea beneficiarse de este nuevo comportamiento en proyectos convertidos a partir de versiones anteriores de 4D, marque esta opción. Ver [`TEXT TO DOCUMENT`](../commands/text-to-document), [`Document to text`](../commands/document-to-text), y [XML SET OPTIONS](../commands/xml-set-options).

- **Don't add a BOM when writing a unicode text file by default:** Starting with 4D 19 R2 (and 4D 19 R3 for XML files), 4D writes text files without a byte order mark (BOM) by default. En las versiones anteriores, los archivos texto se escribían con un BOM por defecto. Seleccione esta opción si desea activar el nuevo comportamiento en los proyectos convertidos. Ver [`TEXT TO DOCUMENT`](../commands/text-to-document), [`Document to text`](../commands/document-to-text), y [XML SET OPTIONS](../commands/xml-set-options).

- \*\*No añadir un BOM al escribir un archivo de texto unicode por defecto:\*\*a partir de 4D v19 R2 (y 4D v19 R3 para archivos XML), 4D escribe archivos de texto sin BOM ("Byte order mark") por defecto. En las versiones anteriores, los archivos texto se escribían con un BOM por defecto. Seleccione esta opción si desea activar el nuevo comportamiento en los proyectos convertidos. Ver [`TEXT TO DOCUMENT`](../commands/text-to-document), [`Document to text`](../commands/document-to-text), y [XML SET OPTIONS](../commands/xml-set-options).
- **Map NULL values to blank values unchecked by default at field creation**: For better compliance with ORDA specifications, in databases created with 4D 19 R4 and higher the **Map NULL values to blank values** field property is unchecked by default when you create fields. Puede aplicar este comportamiento por defecto a sus bases de datos convertidas marcando esta opción (se recomienda trabajar con valores Null, ya que están totalmente soportados por [ORDA](../ORDA/overview.md).

- **Mapear valores NULL a valores en blanco sin marcar por defecto una creación de campo**: para un mejor cumplimiento con las especificaciones ORDA, en bases de datos creadas con 4D v19 R4 y superiores, la propiedad de campo **Mapear valores NULL a valores en blanco** no está marcada por defecto cuando creas campos. Puede aplicar este comportamiento por defecto a sus bases de datos convertidas marcando esta opción (se recomienda trabajar con valores Null, ya que están totalmente soportados por [ORDA](../ORDA/overview.md).
- **Non-blocking printing**: Starting with 4D 20 R4, each process has its own printing settings (print options, current printer, etc.), thus allowing you to run multiple printing jobs simultaneously. Check this option if you want to benefit from this new implementation in your converted 4D projects or your databases converted from binary mode to project mode. **When left unchecked**, the previous implementation is applied: the current 4D printing settings are applied globally, the printer is placed in "busy" mode when one printing job is running, you must call [`CLOSE PRINTING JOB`](../commands/close-printing-job) for the printer to be available for the next print job (check previous 4D documentations for more information).

- **Impresión sin bloqueo**: a partir de 4D v20 R4, cada proceso tiene sus propias configuraciones de impresión (opciones de impresión, impresora actual, etc.), lo que le permite ejecutar múltiples trabajos de impresión simultáneamente. Marque esta opción si desea beneficiarse de esta nueva implementación en sus proyectos 4D convertidos o bases de datos convertidas de modo binario a modo proyecto. **Si se deja sin marcar**, se aplica la implementación anterior: la configuración actual de impresión 4D se aplica globalmente, la impresora se pone en modo "ocupado" cuando hay un trabajo de impresión en marcha, se debe llamar a `CLOSE PRINTING JOB` para que la impresora esté disponible para el siguiente trabajo de impresión (consulte la documentación anterior de 4D para más información).
- **Save structure color and coordinates in separate catalog_editor.json file**: Starting with 4D 20 R5, changes made in the Structure editor regarding graphical appearance of tables and fields (color, position, order...) se guardan en un archivo independiente llamado `catalog_editor.json`, almacenado en la carpeta [Sources] del proyecto(../Project/architecture.md#sources). Esta nueva arquitectura de archivos facilita la gestión de conflictos en aplicaciones VCS, ya que el archivo `catalog.4DCatalog` ahora contiene sólo cambios cruciales en la estructura de la base de datos. Por razones de compatibilidad, esta funcionalidad no está habilitada por defecto en proyectos convertidos de versiones anteriores de 4D, necesita marcar esta opción. Cuando la función está habilitada, el archivo `catalog_editor.json` se crea en la primera modificación en el editor de estructuras.

- **Guardar el color y las coordenadas de la estructura en un archivo catalog_editor.json separado**: a partir de 4D v20 R5, cambios realizados en el editor de estructura en relación a la apariencia gráfica de tablas y campos (color, posición, orden...) se guardan en un archivo independiente llamado `catalog_editor.json`, almacenado en la carpeta [Sources] del proyecto(../Project/architecture.md#sources). Esta nueva arquitectura de archivos facilita la gestión de conflictos en aplicaciones VCS, ya que el archivo `catalog.4DCatalog` ahora contiene sólo cambios cruciales en la estructura de la base de datos. Por razones de compatibilidad, esta funcionalidad no está habilitada por defecto en proyectos convertidos de versiones anteriores de 4D, necesita marcar esta opción. Cuando la función está habilitada, el archivo `catalog_editor.json` se crea en la primera modificación en el editor de estructuras.
- **Use legacy print rendering**: Starting with 4D 21 R3, 4D uses a new, unified print rendering engine to print forms on macOS and Windows. To make sure forms designed with the [legacy screen-based print renderer](../FormEditor/forms.md#legacy-print-renderer) continue to be printed as expected, this option is checked by default in converted projects or databases created with 4D 21 R2 and before. You can uncheck this option to benefit from the [modern print rendering engine](../FormEditor/forms.md#print-rendering-engine). Note that when forms are rendered under Liquid Glass (macOS) or Fluent UI (Windows) interfaces, this option is ignored: in such contexts forms are always printed using the modern print renderer (see [this section](../../FormEditor/forms.md#legacy-print-rendering)).
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,47 @@ Puede añadir o modificar formularios 4D utilizando los siguientes elementos:
}
```

## Printing forms

In 4D desktop applications, forms can be printed using the various [commands of the **Printing** theme](../commands/theme/Printing).

### Print rendering engine

4D uses a dedicated print rendering engine to generate outputs with a design adapted for printing. It includes the following main features:

- Interactive widgets such as buttons, toggles, dropdowns, etc. and modern UI effects such as glass, blur, transparency, or shadow effects are converted into adapted static representations and flattened into printable styles, so that the document remains readable and professional once printed.
- Layout structure, spacing, and alignment, are preserved so that the printed document reflects the logical structure of the on-screen form.
- The same output is produced, whether the form is printed from macOS or Windows.

For example, the following form:

![](../assets/en/FormEditor/screen_rendering.png)

... will be printed with this rendering:

![](../assets/en/FormEditor/print_rendering.png)

:::tip Entrada de blog relacionada

[Printing Modern Interfaces with Clean, Consistent Output](https://blog.4d.com/printing-modern-interfaces-with-clean-consistent-output)

:::

### Legacy print renderer

In releases prior to 4D 21 R3, another print renderer was used. This legacy renderer simply draws widgets as they appear on the screen. For compatibility, the legacy renderer is **enabled by default** in projects or databases converted from versions prior to 4D 21 R3, so that forms designed with this renderer continue to be printed as expected.

You can however enable the modern print rendering engine at any moment by:

- unchecking the **Use legacy print rendering** option in the [Compatibility page of the Settings dialog box](../settings/compatibility.md) (permanent setting),
- or executing [`SET DATABASE PARAMETER`](../commands/set-database-parameter) command with `Use legacy print rendering` selector set to 1 (volatile setting).

:::warning Limitación

For technical reasons, the legacy print renderer is not available with forms displayed with [Fluent UI](#fluent-ui-rendering) on Windows or [Liquid Glass](../Notes/updates.md#support-of-liquid-glass-on-macos) on macOS. In these contexts, forms are **always printed with the modern print rendering engine**, whatever the compatibility option.

:::

## Formulario proyecto y formulario tabla

Hay dos categorías de formularios:
Expand All @@ -78,7 +119,7 @@ Normalmente, se selecciona la categoría del formulario al crearlo, pero se pued

## Páginas formulario

Cada formulario consta de al menos dos páginas:
Each form is made of at least two pages:

- una página 1: una página principal, mostrada por defecto
- una página 0: una página de fondo, cuyo contenido se muestra en todas las demás páginas.
Expand Down
Loading