Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com

Accueil

 
4D v20
Accéder au contenu des documents par programmation

Accéder au contenu des documents par programmation  


 

 

4D Write Pro propose un ensemble complet de commandes de langage vous permettant de modifier les attributs de texte et d'image de vos documents. Grâce à ces fonctionnalités, les développeurs 4D peuvent concevoir leurs propres interfaces (à l'aide de boutons, menus, cases à cocher, etc.) pour les documents 4D Write Pro. Les commandes peuvent s'appliquer à tout le document ou uniquement à certaines parties, basées soit sur la sélection utilisateur, soit sur des sélections créées par programmation. Les attributs disponibles incluent les unités du document, les marges internes et externes, les arrière-plans, les propriétés des paragraphes, couleurs, polices, styles, ainsi que les propriétés des images. 

Par exemple, l'objet de la bibliothèque Zone 4D Write Pro s'appuie sur toutes ces fonctionnalités pour proposer une interface de zone 4D Write Pro complète et sophistiquée :

4D Write Pro permet de sélectionner et de manipuler par programmation les contenus des documents. Comme le contenu sélectionné peut inclure du texte, des images, des tableaux, etc, et également des balises (invisibles) de formatage, 4D Write Pro travaille avec des objets appelés plages.

Une plage est un objet qui représente une portion de document 4D Write Pro :

  • Une plage de caractères, de paragraphes, d'images ou de tableaux est définie grâce à l'emplacement des caractères dans le document parent,
  • Une plage de cellules, de colonnes et de lignes est définie grâce à l'emplacement des cellules et sont ancrées au tableau parent.

Une plage est utilisée pour désigner les éléments à sélectionner ou pour manipuler des attributs sur une partie du document (à l'aide des commandes WP LIRE ATTRIBUTS et WP FIXER ATTRIBUTS).

Il existe différents types de plages. Vous pouvez connaître le type d'une plage à l'aide de l'attribut wk type (en lecture seule). Chaque plage contient plusieurs attributs privés qui la définissent  :

Constante Valeur Comment
wk end end (Attribut de plage en lecture seule) Position fin de plage. Valeur : entier long
wk owner owner (Attribut en lecture seule) Possesseur de la plage. Valeur : objet
wk start start (Attribut de plage en lecture seule) Position début de plage. Valeur : entier long
wk type type (Attribut de plage en lecture seule) Type d'objet 4D Write Pro. Valeurs possibles :
  • wk type default : Plage sans type défini
  • wk type paragraph : Plage de type paragraphe
  • wk type image : Image (ancrée ou en ligne)
  • wk type image anchored : Image ancrée
  • wk type image inline : Image en ligne
  • wk type container : En-tête ou pied, par exemple
  • wk type table : Référence de tableau
  • wk type table row : Référence de ligne de tableau
  • wk type table cell : Référence de cellule de tableau
  • wk type table column : Référence de colonne de tableau (uniquement pour plage colonne)
  • wk type body : Référence de corps (body)

Note : Les plages de cellules, de colonnes et de lignes contiennent des attributs spécifiques (cf. paragraphe ci-dessous). 

Plusieurs commandes vous permettent de définir les plages d'un document :

  • WP Plage texte retourne une nouvelle plage correspondant aux limites que vous avez passées en paramètres.
  • WP Plage selection retourne une nouvelle plage correspondant à la sélection utilisateur courante.
  • WP Plage images retourne une nouvelle plage contenant uniquement les images.
  • WP Plage paragraphes retourne une nouvelle plage contenant uniquement les paragraphes.
  • WP Plage tableaux retourne une nouvelle plage contenant uniquement les tableaux.

Vous pouvez obtenir des informations sur l'emplacement d'une plage dans un document (numéro de page, numéro de colonne...) à l'aide de la commande WP Lire position.

Les tableaux 4D Write Pro sont créés et construits par programmation à l'aide des commandes suivantes :

(*) Les colonnes n'ont pas d'équivalent en HTML. Dans 4D Write Pro, une plage de colonne est en réalité une plage de cellules.

Les plages de lignes, colonnes et cellules disposent d'attributs privés spécifiques permettant de les définir :

Constante Valeur Comment
wk cell count cellCount Nombre total de cellules dans la ligne. Type de valeur : Entier long (valeur pour wk type table row)
wk column count columnCount (Disponible pour les tableaux, les documents les sections) Nombre de colonnes. Type de valeur : Entier long
  • Pour un tableau : attribut en lecture seulement
  • Pour un document ou une section : attribut en lecture/écriture. Valeur par défaut=1 (colonne unique). Valeur maximum=20
wk first column firstColumn (Attribut en lecture seule) Numéro de la première colonne du tableau incluse dans la plage. Valeur : Entier long
wk first row firstRow (Attribut en lecture seule) Numéro de la première ligne du tableau incluse dans la plage. Valeur : Entier long
wk header row count headerRowCount

(Lecture/Écriture) Nombre de lignes du tableau pour lesquelles l'attribut wk header est défini sur True. 

La valeur maximale est 5. Si vous indiquez une valeur supérieure à 5, wk header est défini sur True pour les cinq premières lignes uniquement (voir Répétition des en-têtes).

wk row count rowCount (Attribut en lecture seule) Nombre total de lignes. Valeur : Entier long
wk table table

(Attribut en lecture seule) La table parente. Type de valeur : Objet

wk table ID tableID (Attribut en lecture seule) ID du tableau parent. Valeur : Chaîne

Comme indiqué dans le paragraphe Gestion des en-têtes, pieds de pages et sections, les documents 4D Write Pro peuvent contenir :

  • une ou plusieurs sections (une section par défaut)
  • jusqu'à trois sous-sections par section  :
    • sous-section de première page
    • sous-section de(s) page(s) de gauche
    • sous-section de(s) page(s) de droite

Les sections et sous-sections sont des objets qui peuvent être gérés par programmation à l'aide des commandes suivantes :

Notez également que des en-têtes et pieds de page spécifiques peuvent être associés à des sections ou des sous-sections, à l'aide des commandes suivantes :

Les objets section et sous-section prennent en charge les attributs suivants :

4D Write Pro vous permet de créer et de manipuler des références dynamiques sur des parties de vos documents, appelées signets. Un signet est une référence nommée associée à une plage spécifique dans un document 4D Write Pro.

Les signets sont dynamiques, ce qui signifie que si l'utilisateur déplace, ajoute ou supprime du texte appartenant au signet, la plage associée sera automatiquement mise à jour et le signet continuera de référencer le même contenu dans le document. Par exemple :

  • Vous créez un signet nommé "MyBM" qui référence la plage de texte "Hello world" à la page 20 de votre document.
  • Puis vous insérez 50 pages au début du document.
  • Vous pouvez toujours accéder automatiquement au même contenu "Hello world", maintenant à la page 70 du document, par l'intermédiaire du signet "MyBM".

Un document peut contenir un nombre illimité de signets. Plusieurs signets peuvent référencer la même plage, et les plages des signets peuvent être entrelacées. Cependant, chaque nom de signet doit être unique dans le document. Les signets ne sont pas importés lorsque la commande WP INSERER DOCUMENT est utilisée (les signets dans le document de destination ne peuvent pas être écrasés).

Une fois créé, un signet est stocké dans le document. Il est enregistré avec le document, et peut être manipulé par différentes commandes.

Les signets peuvent être utilisés pour référencer des parties d'un document modèle (template). Ces parties peuvent alors être automatiquement assemblées avec des données de la base afin de générer des documents finaux tels que des catalogues ou des factures.

Plusieurs commandes vous permettent de créer, supprimer et utiliser les signets :

Les commandes suivantes permettent de lire et de fixer tout attribut dans le document :

Les attributs sont détaillés dans la section Attributs 4D Write Pro.

Une commande vous permet d'obtenir des informations sur la prise en charge des styles dans une plage :

  • WP Style pris en charge vous permet de savoir si une plage prend en charge un style de police spécifique (utile pour concevoir une interface). 

4D Write Pro vous permet d'associer des liens hypertexte à n'importe quel objet cible de votre document, y compris à des plages (texte, image, etc.), à des éléments (tableau, corps, pied, etc.), ou au document intégral. Par exemple, vous pouvez définir un hyperlien URL pour une plage de type image ; si le document 4D Write Pro est exporté en HTML, les utilisateurs pourront cliquer sur l'image et ouvrir la page Web qui correspond à l'adresse du lien.

Les liens hypertexte peuvent également être activés directement depuis les documents 4D Write Pro à l'aide des raccourcis Ctrl+clic (Windows) ou Commande+clic (macOS). Dans un document 4D Write Pro non saisissable, un lien peut être activé par un simple clic.

4D Write Pro prend en charge les types de liens suivants :

Type de lienDescription
urlCrée des liens vers des pages web ou à tout type de document, ou bien ouvre l'application associée lorsqu'il est activé (*). L'activation d'un lien URL vers un document 4D Write Pro (.4wp, .4w7) remplace le document courant dans la zone 4D Write Pro.
(*) tout comme la commande OUVRIR URL.
signetCrée des liens vers les signets du document
méthodeL'association d'un lien à une méthode 4D exécute la méthode (sous réserve d'être enregistré par la méthode FIXER METHODES AUTORISEES).

Les liens hypertexte sont gérés via les commandes suivantes :

  • WP FIXER LIEN pour insérer un lien à l'aide de l'objet cible
  • WP Lire liens pour lire la collection de tous les liens dans un objet cible.

Note : Les liens sont gérés en tant qu'attributs, ils peuvent donc être définis ou lus à l'aide des commandes WP FIXER ATTRIBUTS et WP LIRE ATTRIBUTS associées à la constante wk link url. Toutefois, il est recommandé d'utiliser les commandes WP FIXER LIEN et WP Lire liens, puisqu'elles encodent/décodent automatiquement les liens hypertexte sous forme d'URL. Lorsque les liens sont lus à l'aide de la commande WP LIRE ATTRIBUTS, si l'objet cible contient plusieurs liens, la commande retourne la chaine du premier lien.

Par exemple, si vous souhaitez transformer le texte sélectionné par l'utilisateur en URL :

Vous pouvez écrire :

 $range:=WP Lire selection(*;"WParea")
 WP FIXER LIEN($range;Creer objet("url";"http://www.4d.com"))

Pour supprimer un lien dans un objet cible, vous pouvez écrire :

 WP REINITIALISER ATTRIBUTS($range;wk link url)

ou

 WP FIXER ATTRIBUTS($range;wk link url;"")

Note : Si $range ne contient pas le lien complet, ce dernier est tronqué mais n'est pas entièrement supprimé.

Une feuille de style est un objet composé d'un ensemble de paramètres d'attributs définis pour gérer l'apparence de vos documents 4D Write Pro. Ces paramètres peuvent s'appliquer aux paragraphes et aux caractères, tels que la police à afficher, sa taille, sa couleur et son poids. Une fois la feuille de style définie, elle est sauvegardée en tant qu'objet dans le document 4D Write Pro afin d'être réutilisée facilement. Les feuilles de style vous permettent de donner à vos documents un aspect unique et distinctif, tout en gagnant du temps et au moindre effort. 

Style par défaut

Tous les documents 4D Write Pro ont une feuille de style de paragraphe par défaut nommée "Normal". De nouvelles feuilles de style (créées à l'aide de la commande WP Creer feuille de style) sont héritées automatiquement du style Normal. Les attributs modifiés par une feuille de style ont uniquement une incidence sur les paragraphes auxquels ils s'appliquent, le reste des documents conserve les paramètres par défaut (Normal). Si une feuille de style est supprimée, les attributs qui ont été modifiés reprendront le style Normal.

Le style Normal définit une valeur par défaut à chaque feuille de style dans un document 4D Write Pro et peut être récupéré à l'aide de la commande WP Lire feuille de style. La feuille de style Normal peut être modifiée (mais ne peut pas être renommée) à l'aide de la commande WP FIXER ATTRIBUTS. Si les feuilles de style créées avec la commande WP Creer feuille de style peuvent être supprimées avec la commande WP SUPPRIMER FEUILLE DE STYLE, la feuille de style Normal ne peut pas être supprimée.

Attributs des feuilles de style de paragraphe et de caractère

Les feuilles de style vous permettent de définir les attributs de paragraphes entiers ou de caractères spécifiques :

  • Paragraphe - La majorité des attributs pouvant être modifiés s'appliquent uniquement aux paragraphes. Les feuilles de style de paragraphe incluent les paramètres de style de caractère ainsi que les attributs de formatage qui ne peuvent s'appliquer qu'au niveau des paragraphes (ex : marges, bordures, tabulations, etc.). 
  • Caractère - Les feuilles de style de caractère utilisent uniquement les attributs appropriés pour distinguer le style du texte (un ou plusieurs caractères) du style du paragraphe (ex : en-têtes, titres, texte surligné, etc.). 

A noter que les styles de paragraphe s'appliquent à l'ensemble des paragraphes. Si vous souhaitez appliquer un style uniquement à une partie spécifique du paragraphe, vous devez utiliser une feuille de style de caractère.

Priorité des feuilles de style

Plusieurs feuilles de style de paragraphe et de caractère peuvent être intégrées au document 4D Write Pro. Il est important de noter que la priorité des feuilles de style est déterminée selon l'ordre dans lequel elles s'appliquent :

  • Si vous appliquez une feuille de style de paragraphe suivie d'une feuille de style de caractère, la feuille de style de caractère sera prioritaire par rapport à la feuille de style de paragraphe. Par exemple, vous pouvez appliquer une feuille de style de paragraphe au corps de votre document et créer ensuite une feuille de caractère "gras" et l'appliquer à certains mots. La feuille de style de paragraphe continuera de s'appliquer au reste du texte, mais la feuille de style de caractère sera prooritaire pour les mots qui avaient été désignés. 
  • Si vous appliquez une feuille de style de caractère suivie d'une feuille de style de paragraphe, la feuille de style de paragraphe s'appliquera à l'ensemble du texte et tous les style de caractères liés à la feuille de style de caractère seront supprimés.

Appliquer les feuilles de style

Les feuilles de style s'appliquent à l'aide de la commande WP FIXER ATTRIBUTS et des constantes wk style sheet ou wk new line style sheet (ou à l'aide de la notation objets). Pour plus d'informations, consultez Attributs 4D Write Pro.

Récupérer les feuilles de style

La commande WP Lire feuilles de style vous permet de récupérer toutes les feuilles de style d'un document en fonction de leur type. La commande WP Lire feuille de style vous permet de récupérer une feuille de style via son nom.

Importer et exporter des feuilles de style

Les feuilles de style étant stockées sous forme d'objets, elles peuvent être facilement importées dans d'autres documents 4D Write Pro ou maintenues lorsqu'elles sont exportées sous plusieurs formats. 

Attributs des feuilles de style

Les attributs de paragraphe et de caractère ci-dessous peuvent être modifiés à l'aide des commandes WP FIXER ATTRIBUTS et WP REINITIALISER ATTRIBUTS, ou récupérés à l'aide de la commande WP LIRE ATTRIBUTS.

Note : Certains attributs sont liés. Ainsi, lorsque vous ajoutez l'un de ces attributs, les autres attributs qui sont liés seront également créés avec les valeurs par défaut. La valeur par défaut des attributs liés peut être différente de la valeur définie dans la feuille de style Normal. Par exemple, si vous définissez uniquement une bordure gauche de couleur rouge, les autres bordures seront noires (valeur par défaut) même si les bordures de la feuille de style Normal étaient précédemment définies comme violettes. 

 

AttributsParagrapheCaractèreLié à
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 (lecture seule)X (lecture seule) 
wk vertical alignXX 
wk widthX  



Voir aussi  

Download HDI database

 
PROPRIÉTÉS 

Produit : 4D
Thème : 4D Write Pro - Langage
Nom intl. : Accessing document contents by programming

 
PAGE CONTENTS 
 
HISTORIQUE 

Modifié : 4D v16
Modifié : 4D v16 R4
Modifié : 4D v16 R5

 
UTILISATION DE L'ARTICLE

4D Write Pro ( 4D v20)