Documentation

La base de connaisance complète sur ARender - Comment l’installer et le configurer pour répondre à vos besoins

Annotations

Configuration de la politique de creation d’annotation

Il est possible de définir au préalable différents comportements vis à vis de la création d'‘annotation dans ARender. Cette configuration se fait dans le fichier arender-server-custom-<…>.properties.

Propriété Description Type
arender.server.annotations.can.create Autoriser à créer des annotations. Booléen
arender.server.annotations.text.html.support Notes textuelles supportent le HTML. Booléen
arender.server.annotations.text.reply.support Notes textuelles supportent les réponses. Booléen
arender.server.annotations.text.status.support Notes textuelles supportent les statuts. Booléen
arender.server.annotations.text.security.support Annotations supportent la sécurité. Booléen

Voir les parties correspondantes pour la configuration de la sécurité des annotations AnnotationSecurity et les modèles de tampon Stamp.

Configuration des modèles de tampons

Afin de modifier les tampons existants, ou bien en rajouter de nouveaux, modifier la configuration existante dans annotation-template-catalog.xml. Deux types de tampons sont disponibles, les tampons texte et image.

Tampon texte

Les propriétés configurables sont :

Description Clé du paramètre Type
Nom du tampon name Texte
Couleur de la police fontColor Texte (couleur en texte ou hexadécimal)
Taille de la police fontSize Entier
Couleur du fond backgroundColor Texte (couleur en texte ou hexadécimal)
Couleur de la bordure borderColor Texte (couleur en texte ou hexadécimal)
Style de bordure borderStyle Entier (O ou 1, sans ou avec bordure)
Rotation (en °) rotation Entier
Exemple d'un tampon texte
<bean class="com.arondor.viewer.client.api.annotation.templates.AnnotationTemplate">
    <property name="name" value="Urgent" />
    <property name="annotationType">
         <value
             type="com.arondor.viewer.client.api.annotation.Annotation$AnnotationType">Stamp</value>
    </property>
    <property name="contentTemplate" value="Urgent" />
    <property name="annotationStyle">
         <bean class="com.arondor.viewer.client.api.annotation.AnnotationStyle">
             <property name="fontColor" value="red" />
             <property name="fontSize" value="20" />
             <property name="backgroundColor" value="none" />
             <property name="borderColor" value="red" />
             <property name="borderStyle" value="1" />
             <property name="borderWidth" value="1" />
             <property name="rotation" value="350" />
         </bean
    </property>
</bean>

Tampon image

Les propriétés configurables sont :

Description Clé du paramètre Type
Nom du tampon name Texte
Chemin vers l’image imageLocation Texte (image base64 ou url vers l’image)
Taille de l’image defaultPosition PageRelativePosition
Largeur width Entier
Hauteur height Entier
Rotation (en °) rotation Entier
Exemple d'un tampon image
<bean class="com.arondor.viewer.client.api.annotation.templates.AnnotationTemplate">
    <property name="name" value="Image" />
        <property name="annotationType">
            <value
                type="com.arondor.viewer.client.api.annotation.Annotation$AnnotationType">ImageStamp</value>
        </property>
        <property name="imageLocation"
            value="data:image/png;base64,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" />
        <property name="defaultPosition">
            <bean class="com.arondor.viewer.client.api.geometry.PageRelativePosition">
                 <property name="w" value="200" />
                 <property name="h" value="100" />
            </bean>
        </property>
        <property name="annotationStyle">
            <bean class="com.arondor.viewer.client.api.annotation.AnnotationStyle">
                <property name="rotation" value="340" />
            </bean>
        </property>
</bean>

Configuration de la création d’annotations

Il est possible de surcharger des propriétés d’annotation définies par défaut dans arender-default.properties, comme par exemple l’opacité ou bien la couleur. La configuration a lieu dans events-configuration.xml dans un bean d’action de création (class = com.arondor.viewer.client.toppanel.behavior.annotation.CreateAnnotationButtonHandler) Pour cela il faut définir en plus du type d’annotation à créer, un modèle d’annotation.

Le bean complet d’un rectangle bleu avec une bordure de taille 12 et vide au centre (Opacité à 0) est composé de la manière suivante :

<bean id="SquareCreationAction" class="com.arondor.viewer.client.toppanel.behavior.annotation.CreateAnnotationButtonHandler">
    <constructor-arg>
        <bean class="com.arondor.viewer.client.annotation.events.PrepareAnnotationCreationEvent">
            <constructor-arg>
                <value type="com.arondor.viewer.annotation.common.AnnotationType">Square</value>
            </constructor-arg>
            <!-- Définition de l'annotation -->
            <property name="model">
                <!-- Classe d'annotation -->
                <bean class="com.arondor.viewer.annotation.api.SquareElemType">
                    <!-- annotation properties -->
                    <property name="width" value="12" />
                    <property name="opacity" value="0" />
                    <property name="color">
                        <bean class="com.arondor.viewer.annotation.common.Color">
                            <property name="r" value="0" />
                            <property name="g" value="0" />
                            <property name="b" value="255" />
                        </bean>
                    </property>
                </bean>
            </property>
            <!-- Fin de la définition de l'annotation -->
        </bean>
    </constructor-arg>
</bean>

Les propriétés disponibles selon les types d’annotation sont :

Type d’annotation Classe Propriétés configurables (Type de la propriété)
Square SquareElemType opacity (décimal), width (entier), color (Color, couleur de la bordure), interiorColor (Color, couleur intérieure),
Circle CircleElemType opacity (décimal), width (entier), color (Color, couleur de la bordure), interiorColor (Color, couleur intérieure), style (StyleBEType, style de la bordure)
Text SquareElemType opacity (décimal), color (Color)
Highlight HighlightElemType opacity (décimal), color (Color), flags (AnnotationFlags)
Underline UnderlineElemType opacity (décimal), color (Color), flags (AnnotationFlags)
Strikeout StrikeoutElemType opacity (décimal), color (Color), flags (AnnotationFlags)
Line LineElemType opacity (décimal), color (Color), head (LineEndType , tête de la flèche), tail (LineEndType, queue)
Polygon PolygonElemType opacity (décimal), width (entier), color (Color,couleur de la bordure), interiorColor (Color, couleur intérieure), style (StyleBEType, style de la bordure)
Polyline PolylineElemType opacity (décimal), width (entier), color (Color)
Ink InkElemType opacity (décimal), width (entier), color (Color)

Précision sur les propriétés :

  • Color : une couleur est définie de la façon suivante. Les valeurs r,g et b sont comprises entre 0 et 255.
<property name="color">
    <bean class="com.arondor.viewer.annotation.common.Color">
        <property name="r" value="0" />
        <property name="g" value="0" />
        <property name="b" value="255" />
    </bean>
</property>
  • LineEndType : les valeurs autorisées sont SQUARE, CIRCLE, DIAMOND, OPEN_ARROW, CLOSED_ARROW, NONE, BUTT, R_OPEN_ARROW, R_CLOSED_ARROW
<property name="head">
    <value type="com.arondor.viewer.annotation.api.LineEndType">NONE</value>
</property>
  • AnnotationFlags : un tag d’obfuscation est disponible
<property name="flags">
    <bean class="com.arondor.viewer.annotation.common.AnnotationFlags">
        <property name="obfuscate" value="true" />
    </bean>
</property>
  • Style : Deux styles sont disponibles : CLOUDY et SOLID
<property name="style">
    <bean class=" com.arondor.viewer.annotation.api.StyleBEType">
        <constructor-arg>
            <value>CLOUDY</value>
        </constructor-arg>
    </bean>
</property>

Configuration de la sécurité des annotations

La liste des sécurités permet de définir les sécurités que l’on souhaite pour toutes les annotations. Cette liste sera visible en tant que liste déroulante dans la barre d’outils lors de l’édition d’une annotation. Chaque sécurité est défini par deux paramètres :

  • symbolicName, correspondant à la valeur envoyée au serveur pour traitement.
  • localizedDisplayNames, correspondant à un tableau associatif ayant pour chaque entrée la locale comme clé et valeur affichée à l’utilisateur comme valeur.
Exemple
<bean id="availableSecurityLevels" class="java.util.ArrayList">
    <constructor-arg>
        <list>
            <bean class="com.arondor.viewer.annotation.common.SecurityLevel">
                <property name="symbolicName" value="private" />
                <property name="localizedDisplayNames">
                    <map>
                        <entry>
                            <key>
                                <value>fr</value>
                            </key>
                            <value>Privé</value>
                        </entry>
                        <entry>
                            <key>
                                <value>en</value>
                            </key>
                            <value>Private</value>
                        </entry>
                    </map>
                </property>
            </bean>
            <bean class="com.arondor.viewer.annotation.common.SecurityLevel">
                <property name="symbolicName" value="public" />
                <property name="localizedDisplayNames">
                    <map>
                        <entry>
                            <key>
                                <value>fr</value>
                            </key>
                            <value>Public</value>
                        </entry>
                        <entry>
                            <key>
                                <value>en</value>
                            </key>
                            <value>Public</value>
                        </entry>
                    </map>
                </property>
            </bean>
        </list>
    </constructor-arg>
</bean>