IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AppleScript Discussion :

Récupérer le numéro de page (ou page de gauche ou page de droite) dans le nom du fichier


Sujet :

AppleScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut Récupérer le numéro de page (ou page de gauche ou page de droite) dans le nom du fichier
    Bonjour PBELL,

    Cela fait un moment que je ne suis pas passé , overbooké de toute part.

    j'ai récupéré un script AS à mon travail (la personne qui l'à fait est parti…) permettant dans InDesign CS3, d'exporter les tableaux se trouvant sur la double page.
    J'ai du le modifier afin de le faire Marché sur InDesign CC, et c'est OK …
    Mon problème est le suivant :
    j'ai besoin de récupérer le numéro de page/folio dans le nom du fichier en export pour chaque élément/tableau exporter.
    Après moulte moulte tentatives infructueuses, je n'arrive pas à trouver la solution (dans mes recherches sur le net je n'ai pas trouver de réponse satisfaisante dans mon contexte);
    je requiert ton aide stp PBELL.

    voilà le code qui marche actuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    -- script d'export des objets tableaux Adobe InDesign CC 2017 Mac vers fichiers type Excel. 
     
    tell application "Finder"
    	-- dossier contenant les fichiers source Indesign (ss dossiers non pris en compte)
    	set myFolder to choose folder with prompt "Chosissez le DOSSIER SOURCE des fichiers Indesign"
    	set nbFiles to (count of files in folder myFolder)
    	--display dialog nbFiles & " fichiers à traiter" as string
     
    	-- chemin de sortie, ou sont déposé les fichiers excel
    	set myOutFolder to choose folder with prompt "Chosissez le DOSSIER d'export pour les fichiers texte"
    	log myOutFolder
    	set mylist to (every file in folder myFolder)
     
    end tell
     
    tell application "Adobe InDesign CC 2017"
    	-- pas de message via gui
    	tell script preferences
    		set user interaction level to never interact
    	end tell
    end tell
     
    -- pour chaque Indesign de la liste...
    repeat with this_item in mylist
    	try
    		tell application "Adobe InDesign CC 2015"
    			-- gestion des prefs d'export, jeu de caracteres
    			tell text export preferences
    				set character set to UTF16 --Unicode
    				set platform to macintosh
    			end tell
    			-- ouverture, test et traitement
    			open this_item
    			delay 3
    			set Itemfilename to get name of this_item
    			set mydoc to active document
    			set myExportFormat to 0 as integer
    			repeat with myCounter from 1 to (count stories of mydoc)
    				set myStory to story myCounter of mydoc
    				set myID to id of myStory
    				set myFileName to myOutFolder & Itemfilename & myID & ".xls"
    				tell myStory
    					set nbtable to count table
    					try
    						if nbtable is not equal to 0 then
    							export format text type to (myFileName as string)
    						end if
    					end try
    				end tell
    			end repeat
    			-- on ferme le doc ss enr sinon pb
    			close mydoc
    		end tell
    	end try
    	-- pas d'alternative en cas d'echec sur try. poser des logs si on veut un retour verbose
    end repeat
     
    tell application "Finder"
    	activate
    	set nbFilestxt to nbFiles as string
    	display dialog nbFilestxt & " fichiers traités"
    end tell
    --  recap : génère iun msg d'erreur du fait du time out... c'est aussi un indicateur !
    et le seul code qui m'a donné une piste pour essayer de ce faire, sauf que là il ne s'agit pas d'une sélection de l'objet ci-dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    tell application "Adobe InDesign CC 2017"
    	return name of parent page of selection
    end tell
    Merci d'avance pour toute aide

    Ryu

    PS : je sais que j'ai laissé un sujet en suspend dû au manque de temps (je le reprendrai dès que possible) mais celui-ci est vraiment urgent => utilisation à mon taf sur plus de 1000 pages
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  2. #2
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonjour,
    N'ayant pas InDesign, je peux difficilement t'aider. Cependant, j'ai regardé sur le net et il semble bien que "parent page" soit bien la bonne syntaxe pour récupérer ou assigner un numéro de page.
    L'exemple de code que tu indiques avec cette expression me laisse perplexe car "parent page of selection" doit dépendre de ce qu'est la sélection. Si tu as simplement ouvert un fichier de 10 pages, quelle peut être la sélection ? Là où est le curseur ?
    Qu'en est-il si la sélection est multi-blocs/multi-pages ?

    C'st sans doute là qu'il faut creuser pour bien récupérer le N° de page. Une fois cette difficulté résolue, il te suffira ensuite d'inclure cette valeur dans l'assignation de myFileName.

    Bon courage

  3. #3
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Re,

    Merci de ta réponse.

    En fait, de ce que j'ai cru comprendre, je ne suis pas sur qu'il s'agit d'une sélection mais d'un pointage objet (si on peut dire), donc ici de l'objet tableau table
    Le problème c'est que j'ai du mal à comprendre de quel manière il est défini dans le code. Apparement il es possible de count table à chaque passage dans la boucle
    mais comment définir l'objet table sur lequel est fait l'export dans le document ouvert à chaque passage de la boucle pour en déterminer ensuite la page afin de l'insérer dans le nom du fichier ???

    Et c'est là je pense que se situe le problème … qu'en penses tu ?
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  4. #4
    Membre émérite

    Homme Profil pro
    Directeur de projet
    Inscrit en
    Septembre 2010
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Septembre 2010
    Messages : 606
    Par défaut
    Bonjour,
    Faute d'avoir In Design, je ne peux que lire la documentation Adobe sur le scripting the InDesign, mais sans pouvoir tester.
    Cette documentation, que j'ai lu rapidement, semble complète avec de nombreux exemples. voici le lien (tu peux télécharger en PDF pour l'avoir toujours à portée de main ):
    http://wwwimages.adobe.com/content/d...ngGuide_AS.pdf


    En page 104, Adobe décrit comment gérer les tables, les lignes et les colonnes. Tu dois trouver ton bonheur là dedans avec quelques essais et tests simples.

    Cordialement

  5. #5
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    merci
    je vais regarder voir si je peux m'en sortir avec
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  6. #6
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonjour PBELL,

    juste pour te tenir au courant, comme j'ai eu un manque de temps, la partie pour sélectionner le N° de page dans InDesign à mettre dans le nom du fichier,
    s'est faite à la main pour chaque tableau exporter et non en AS pour l'instant.
    Je vais continuer à chercher afin de trouver la solution pour une prochaine fois, je posterai dès que j'ai qq chose.

    PS : Si un admin passe par là, est t'il possible de rajouter dans le préfixe de la discussion AppleScript - merci d'avance

    Ryu
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  7. #7
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Bonsoir PBELL,

    J'ai refait de l'AS et en effet on utilise parent page, un exemple avec ce que j'ai fait en ce moment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     		set Nom_Fichier to name
    		tell current application to set Nom_Doc to do shell script "basename " & Nom_Fichier & " | cut -d\".\" -f1"
    		tell current application to set Cata to do shell script "basename " & Nom_Doc & " | cut -d\"_\" -f2"
    		----------------------------------------------------------------------------------------------------
    		try
    			set TxtF_1 to {}
    			set TxtF_1 to id of every text frame whose paragraphs contains "TOTO"
    		end try
    		----------------------------------------------------------------------------------------------------
    		try
    			set TxtF_2 to {}
    			set TxtF_2 to id of every text frame of page items whose paragraphs contains "TITI"
    		end try
    		----------------------------------------------------------------------------------------------------
    		set AllTxtFrame to TxtF_1 & TxtF_2
    		set TxtFrame to {}
    		----------------------------------------------------------------------------------------------------
    		repeat with I in AllTxtFrame
    			try
    				set the end of TxtFrame to (name of parent page of page item id I)
    			end try
    		end repeat
    C'est résolu

    Merci pour l'aide que tu peux apporter sur ce forum
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/03/2011, 17h13
  2. Réponses: 2
    Dernier message: 07/03/2008, 10h52
  3. Numéro de semaine dans le nom du fichier
    Par scofield69 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/02/2008, 16h33
  4. [VBA-W]Récupérer le numéro de page
    Par perdix dans le forum VBA Word
    Réponses: 4
    Dernier message: 31/07/2007, 09h54
  5. [PDF - FOP - XSL] Récupérer le numéro d'une page
    Par caro. dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 15/02/2005, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo