Donnez vie à vos documents numériques !
 

JavaScript Debugger identifies flattenPages is not a function

abracadabraPDF Forums Support & assistance JavaScript Debugger identifies flattenPages is not a function

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #46180
    GD
    Membre

    Hi, I’m using Acrobat Pro 9 on Mac using macOS Sierra version 10.12.6. I have a need to flatten pages as I am storing different file names of the same PDF fillable form in the same folder. I found your flatten tool plug-in and the installation was easy. However, when I tried to flatten the file I got the following error message in a JavaScript Debugger window:

    Acrobat EScript Built-in Functions Version 9.0
    Acrobat Annotations / Collaboration Built-in Functions Version 9.0
    Acrobat Annotations / Collaboration Built-in Wizard Functions Version 9.0
    Acrobat SOAP 9.0
    TypeError: this.flattenPages is not a function

    I am a very basic user and definitely not a programmer. So baby talk is much appreciated.

    Thanks
    GD

Affichage de 8 réponses de 1 à 8 (sur un total de 8)
  • Auteur
    Réponses
  • #66564
    Merlin
    Maître des clés

    Welcome

    I guess that you are using the current version of the abracadabraTools DC plugin into your Acrobat 9.
    This could raises compatibility issues because many things have changed in 10 years.
    With Acrobat Pro 9 you must use abracadabraTools version 3.1

    Download this PDF and open it with Acrobat Pro, the plugin and instructions are in the PDF (remove any previously installed abracadabraTools version before installing this one) : http://www.abracadabrapdf.net/download/abracadabraTOOLS_31.pdf

    #66565

    Bonjour les Magiciens et Magiciennes,

    sur Mac OSX 10.8.5 avec Acrobat Pro X 10.1.16, ça retourne cette erreur à partir de l’icône seulement
    mais ça marche à partir du menu.

    – –
    JEH

    #66566
    Merlin
    Maître des clés

    Ce bug a été réglé dans la version 2020 des abracadabraTools, je vous invite à télécharger et à installer cette version :
    https://www.abracadabrapdf.net/utilitaires/acrobat-plugins/abracadabratools/

    #66567

    j’utilise la version 2020.

    en réduisant la fonction sur l’icone comme ceci, ça fonctionne

    Code:
    function aplatirDepuisIcone(){
        //app.alert(“lolo”)
        this.flattenPages()
        //event.rc = event.target != null
        //myTrustedAplatirDoc(aplatirDoc)
        //null!=this.event.target&&(documentCible=this,choix=app.popUpMenuEx({cName:apla2,bEnabled:!0},{cName:”-“,bEnabled:!1},{cName:apla3,bEnabled:!0}),choix&&(choix==apla2&&myTrustedAplatirDoc(aplatirDoc),choix==apla3&&myTrustedAplatirPage(aplatirPage)))
    }

    ok c’est le this qui diffère

    • appel par l’icone renvoie object root
    • appel par menu renvoie object doc
    • [/list]avec

      Code:
      function aplatirDoc(){
          app.beginPriv();
          app.alert(this)
    #66568

    Bon ça marche correctement maintenant
    en redéfinissant le this à l’entrée des 2 fonctions

    Code:
    function aplatirDoc(){
        var myDoc = event.target;

    function aplatirPage(){
        var myDoc = event.target;

    ensuite remplacer les this qui appelle flattenPages

    Code:
    this.flattenPages
    DEVIENT
    myDoc.flattenPages

    :soleil:

    #66569
    Merlin
    Maître des clés

    Merci pour ta contribution magique.

    En fait le bug que j’ai corrigé dans la version 2020 n’existait que sur Windows et pas sur Mac.
    Grâce à toi j’apprends que maintenant cette correction fait que ce même bug existe maintenant sur Mac.

    J’y ai passé des heures pour finalement comprendre que c’est un bug d’Acrobat, qui se mélange les pinceaux. Je l’ai signalé à Adobe…  :siffle:
    En attendant j’ai essayé de le contourner mais comme je n’ai plus de Mac récent je n’ai pas vraiment pu tester la version 2020 sur cet OS.

    Je suis preneur de ton code qui fonctionne pour l’intégrer à la version 2021 mais je crois que je vais devoir faire ce que je ne voulais pas faire : deux fonctions identiques mais séparée, au final ce sera plus simple.
    :geek:

    #66570

    pas de quoi, merci pour ton site.
    Voici la partie finale du code qui inclus les modifications :

    Code:
    function aplatirDepuisIcone(){
        null!=this.event.target&&(documentCible=this,choix=app.popUpMenuEx({cName:apla2,bEnabled:!0},{cName:”-“,bEnabled:!1},{cName:apla3,bEnabled:!0}),choix&&(choix==apla2&&myTrustedAplatirDoc(aplatirDoc),choix==apla3&&myTrustedAplatirPage(aplatirPage)))
    }

    function aplatirDoc(){
        app.beginPriv();
        var myDoc = event.target;
        try{
            if(“undefined”==typeof bAffichAlerteAplatir&&(bAffichAlerteAplatir=!0),bAffichAlerteAplatir){var f={bInitialValue:!0,bAfterValue:!1};4==app.alert({cMsg:cMessAplatissDoc,cTitle:strTitreId,oCheckbox:f,nIcon:2,nType:2})&&(bAffichAlerteAplatir=!f.bAfterValue,myDoc.flattenPages(),app.beep())
            } else {
                myDoc.flattenPages()
                app.beep()
            }
        }catch(ty){
            console.println(ty)
            console.show()
        }
        app.endPriv()
        }
        var myTrustedAplatirDoc=app.trustedFunction(aplatirDoc);

    function aplatirPage(){
        var myDoc = event.target;
        app.beginPriv();try{if(“undefined”==typeof bAffichAlerteAplatir&&(bAffichAlerteAplatir=!0),bAffichAlerteAplatir){var f={bInitialValue:!0,bAfterValue:!1};4==app.alert({cMsg:cMessAplatissPag,cTitle:strTitreId,oCheckbox:f,nIcon:2,nType:2})&&(bAffichAlerteAplatir=!f.bAfterValue,myDoc.flattenPages(myDoc.pageNum),app.beep())}else myDoc.flattenPages(myDoc.pageNum),app.beep()}catch(f){console.println(f),console.show()}app.endPriv()}var myTrustedAplatirPage=app.trustedFunction(aplatirPage);if(1!=global.aTmenAide){if(“FRA”==app.language)var strMenAide00=”abracadabraTools”,strMenAide01=”Support & assistance…”,strMenAide02=”Actualisation…”,strMenAide03=”https://www.abracadabrapdf.net/?p=111″,strMenAide04=”Site web”,strMenAide05=”https://www.abracadabrapdf.net/”;else strMenAide00=”abracadabraTools”,strMenAide01=”Support & Assistance…”,strMenAide02=”Check for update…”,strMenAide03=”https://www.abracadabrapdf.net/?p=972″,strMenAide04=”Web Site”,strMenAide05=”https://www.abracadabrapdf.net/?p=1591″;app.addMenuItem({cName:”-“,cParent:”Help”,nPos:21,cEnable:!1,cExec:null}),app.addSubMenu({cName:strMenAide00,cParent:”Help”,nPos:22}),app.addMenuItem({cName:strMenAide04,cParent:strMenAide00,nPos:0,cExec:”app.launchURL(strMenAide05);”}),app.addMenuItem({cName:strMenAide02,cParent:strMenAide00,nPos:1,cExec:”app.launchURL(strMenAide03);”}),app.addMenuItem({cName:strMenAide01,cParent:strMenAide00,nPos:2,cExec:”app.launchURL(‘https://abracadabrapdf.net/forum/’);”}),global.aTmenAide=1}}

    #66571
    Merlin
    Maître des clés

    Merci.

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