Donnez vie à vos documents numériques !
 

Pièce jointe à un PDF (supprimer)

abracadabraPDF Forums PDF – Général Pièce jointe à un PDF (supprimer)

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #45535
    carrerond
    Membre

    Bonjour à tous,

    J’utilise comme ressource ce java : http://abracadabrapdf.net/ressources-et-tutos/js-et-formulaires-ressources/importer-programmatiquement-une-piece-jointe-dans-un-pdf/

    J’ai un PDF interactif dans lequel mon client à le choix, via une puce, de choisir de joindre une pièce jointe ou d’écrire un texte dans un champ qui apparait lorsque ce choix a été activé (puce active). Mais il peut revenir sur ses choix et si par exemple il choisit de joindre une pièce, j’ai le petit picto trombone qui apparait, et si après il choisit la seconde option (de mettre du texte), ce picto reste. Quelqu’un aurait il une astuce pour faire en sorte que ce picto disparaisse ainsi que la pièce jointe ?

    Je vous ai mis en pièce jointe une copie d’écran ; mon PDF étant trop lourd.

    Merci pour votre aide.

Affichage de 13 réponses de 1 à 13 (sur un total de 13)
  • Auteur
    Réponses
  • #61670
    bebarth
    Maître des clés

    bonjour,
    Je vois déjà la remarque de Merlin :
    ==> http://abracadabrapdf.net/forum/index.php/topic,2160.msg10980.html#msg10980  :Smiley01:

    par contre, la pièce jointe n’a pas dû fonctionner !!!
    @+
    :bonjour:

    #61671
    Merlin
    Maître des clés

    Bonjour et bienvenue.

    Pour supprimer icônes et leurs pièces jointes il faut utiliser ce script :

    Code:
    var annotations = this.getAnnots({nPage: this.pageNum});
    for (var i = 0; i < annotations.length; i++) {annotations[i].destroy();}

    Attention ce script est brutal, dans le sens où il détruit irréversiblement et sans avertissement tous les commentaires présents sur la page active et toutes les pièces jointes qui y sont associées.
    :Smiley15:

    Je vois déjà la remarque de Merlin

    Oui effectivement, tu me mâches le travail.  :Smiley01:

    J’ajouterais juste ceci pour envoyer une pièce jointe volumineuse : Acrobat > menu Fichier > Envoyer le fichier > Envoyer et effectuer le suivi > Créer un lien anonyme (option par défaut)
    Ou : http://abracadabrapdf.net/forum/index.php/topic,2974.0.html

    #61672
    Merlin
    Maître des clés

    Voilà un script un peu moins brutal, qui ne détruit irréversiblement et sans avertissement que les pièces jointes, et leurs icônes associées, importées sur la page active, donc en laissant intacts tous les autres commentaires.

    Code:
    var annotations = this.getAnnots({nPage: this.pageNum});
    for (var i = 0; i < annotations.length; i++) {
    if (annotations.type == “FileAttachment”) {annotations.destroy();}
    }

    Dans tous les cas ces scripts n’ont aucun impact sur les pièces jointes “normales”, celles qui sont importées directement dans le document via le panneau de navigation “Pièces jointes” et qui ne sont pas attachées à une page en particulier.
    Mais ça n’a aucune importance parce-que même en présence d’un PDF “Reader-Extended” Acrobat Reader ne peut pas importer de pièces jointes “normales”.

    #61673
    carrerond
    Membre

    Merci pour cette aide précieuse qui me sauve la vie !

    #61674
    daninet
    Participant

    Salve,
    Bonsoir,
    j’ai trouvé le script dans le forum: destroy

    est-il possible de l’améliorer?
    avec Un avis d’alerte.
    “Attention, vous supprimez une pièce jointe.”
    Ou bien l’idéal serait de… sauvegarder la pièce jointe et la supprimer.
    Je vous remercie beaucoup.

    Script:
    var annotations = this.getAnnots({nPage: this.pageNum});
    for (var i = 0; i < annotations.length; i++) {
    if (annotations.type == “FileAttachment”) {annotations.destroy();}
    }

    Je vous remercie beaucoup  :bonjour:

    #61675
    bebarth
    Maître des clés

    bonjour,
    Moi j’écrirais ceci :

    Code:
    var annotations = this.getAnnots({nPage: this.pageNum});
    for (var i = 0; i < annotations.length; i++) {
        if (annotations.type == “FileAttachment”) {
            var nButton = app.alert({
            cMsg: “Attention, vous allez supprimer la pièce jointe : “+annotations.name+” !nVoulez-vous l’enregistrer avant ?”,
            cTitle: “Suppression d’une pièce jointe”,
            nIcon: 2,
            nType: 2
            });
            if (nButton!=4) {
                annotations.destroy();
            } else {
                break;
            }
        }
    }

    …avec en option le nom de la pièce jointe qui ne correspond pas au nom réel.
    Et l’enregistrement de la pièce jointe se fera manuellement car je crois qu’on ne peut pas le faire via JavaScript.
    @+
    :bonjour:

    #61676
    daninet
    Participant

    Si et No sont un peu trompeurs …..
    Mais après avoir réalisé que Oui .. est en train d’enregistrer.
    et NO est supprimer ….

    Ça fonctionne parfaitement. Merci  :bravo: :extra:

    #61677
    Merlin
    Maître des clés

    :bonjour:

    #61678
    DavidFeder
    Participant

    Bonjour,

    Est-il possible de supprimer seulement certaines pièces jointes d’une page? (pas toutes celles de la page)Dans mon formulaire, j’ai plusieurs boutons “ajouter une pièce jointe”, dont les noms apparaissent dans des champs de texte respectifs.
    Je voudrais offrir la possibilité de supprimer une pièce jointe (ou toutes celles dont le nom est ajouté à un même champs de texte), mais pas toutes celles de la page.

    #61679
    bebarth
    Maître des clés

    bonjour,
    Voici ma proposition.
    Ce script ne supprime uniquement que les pièces jointes attachées à la page active. On peut l’adapter pour qu’il fonctionne sur toutes les pages s’il y en a plusieurs !
    Dans cet exemple, le fichier “Pie?ce Jointe #5.pdf” est attaché au document (il n’a pas d’icône sur la page) et n’est donc pas supprimé.
    @+
    :bonjour:

    #61680
    Merlin
    Maître des clés

    :bravo:

    #61681
    DavidFeder
    Participant

    Bonjour,

    Merci pour ta réponse.
    Du coup on devrait pouvoir supprimer les pièces jointes d’une page spécifique, sans pour autant qu’elle existe réellement?
    Et à l’attachment, est-il possible d’ajouter une pièce jointe à une autre page que celle depuis laquelle l’utilisateur finale est? C’est à dire celle où on a mis le bouton “ajouter une pièce jointe” ?

    #61682
    bebarth
    Maître des clés

    bonjour,

    Du coup on devrait pouvoir supprimer les pièces jointes d’une page spécifique, sans pour autant qu’elle existe réellement?

    Ça, je n’ai pas compris !!! Comment veux-tu supprimer une pièce jointe à une page qui n’existe pas ???

    Et à l’attachment, est-il possible d’ajouter une pièce jointe à une autre page que celle depuis laquelle l’utilisateur finale est? C’est à dire celle où on a mis le bouton “ajouter une pièce jointe” ?

    Avec “addAnnot” tu spécifies la page sur laquelle tu veux ajouter la pièce jointe.
    https://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FDoc_methods.htm%23TOC_addAnnotbc-1&rhtocid=_6_1_8_23_1_0
    @+
    :bonjour:

Affichage de 13 réponses de 1 à 13 (sur un total de 13)
  • Vous devez être connecté pour répondre à ce sujet.