français

Procédure : exporter par lots des pièces jointes d’une classe d’entités

Résumé

Il n’existe pas d’outils de géotraitement permettant aux utilisateurs d’exporter et d’enregistrer l’ensemble des pièces jointes localement. Les instructions indiquées ci-dessous proposent une solution.

Le script suivant, applicable à l’intégralité de la table des pièces jointes d’une classe d’entités unique, copie toutes les pièces jointes (enregistrées en tant que BLOB) dans le fichier.

Procédure

Pour ce faire, la table en entrée doit correspondre à la table des pièces jointes standard générée lorsque des pièces jointes sont activées sur une classe d’entités. Le script ci-dessous se base, en effet, sur les champs DATA, ATT_NAME et ATTACHMENTID stockés dans cette table. Conformément à la convention d’affectation de noms habituelle, _ATTACH doit être ajouté à la fin du nom de la table.

  1. Copiez et collez le script suivant dans le Bloc-Notes et enregistrez-le sous le nom ExportAttachments.py.
    import arcpy
    from arcpy import da
    import os
    
    inTable = arcpy.GetParameterAsText(0)
    fileLocation = arcpy.GetParameterAsText(1)
    
    with da.SearchCursor(inTable, ['DATA', 'ATT_NAME', 'ATTACHMENTID']) as cursor:
        for item in cursor:
            attachment = item[0]
            filenum = "ATT" + str(item[2]) + "_"
            filename = filenum + str(item[1])
            open(fileLocation + os.sep + filename, 'wb').write(attachment.tobytes())
            del item
            del filenum
            del filename
            del attachment
  2. Cliquez avec le bouton droit sur la boîte à outils et sélectionnez Add (Ajouter) > Script (Script).
  3. Attribuez un nom et une étiquette au script. Cochez la case en regard de Store relative path names (Stocker les noms de chemins relatifs), puis cliquez sur Next (Suivant).
  4. Pour le fichier script, accédez à l’emplacement où vous avez enregistré le script ExportAttachments.py. Sélectionnez le script, cliquez sur OK, puis cliquez sur Next (Suivant).
  5. Sous Parameters (Paramètres), saisissez Table des pièces jointes sous Display Name (Nom d’affichage) et configurez son type de données comme Table (Table). Ajoutez un second paramètre et saisissez Emplacement en sortie sous Display Name (Nom d’affichage), puis choisissez Folder (Dossier) en guise de type de données.
  6. Cliquez sur Finish (Terminer).
  7. Vous venez d’ajouter un nouvel outil de script à la boîte à outils.
  8. Double-cliquez sur l’outil de script. Dans la boîte de dialogue, choisissez la table des pièces jointes contenant les pièces jointes à extraire pour le premier paramètre. Sélectionnez le dossier réservé aux pièces jointes exportées sous Emplacement en sortie. Cliquez sur OK pour exécuter l’outil.