abracadabraPDF › Forums › PDF – Général › Introduire métadonnées d’un fichier XML dans un PDF avec Enfocus Switch
- Ce sujet est vide.
-
CréateurSujet
-
4 mai 2015 à 11:41 #45145MaellyosMembre
Bonjour,
Cela fait maintenant quelques jours que je cherche comment introduire des métadonnées d’un fichier XML dans un fichier PDF à l’aide d’Enfocus Switch. Dans mes recherches j’ai entendu parler du logiciel PDF Constructor d’apago. Est-il indispensable d’avoir ce logiciel ou alors puis-je me débrouiller seulement avec Switch et les logiciels standards de prépresse. Je tiens à préciser que je suis débutant sur ce logiciel. :doute:
Merci d’avance de vos réponses !
Cordialement
-
CréateurSujet
-
AuteurRéponses
-
4 mai 2015 à 12:57 #58890MerlinMaître des clés
Bonjour.
:joker:
5 mai 2015 à 07:18 #58891MaellyosMembreBonjour Merlin,
Ton smiley “Joker” veut dire que tu saute cette question ???
5 mai 2015 à 08:36 #58892MerlinMaître des clésOui. Joker = joker.
Je ne savais même pas qu’Enfocus Switch existait.Par-contre Cricri qui fréquente ce forum est un grand-gourou Enfocusien, il saura certainement te répondre.
:Smiley01:6 mai 2015 à 13:57 #58893MaellyosMembreOk ! Espérons que M. Cricri passe par ici car pour l’instant je n’ai toujours pas avancé :mur:
Edit: en recherchant dans les messages de Cri-cri, j’ai trouvé ceci : http://abracadabrapdf.net/forum/index.php/topic,2687.msg14711.html#msg14711 c’est ce que je cherche à faire je pense. Donc je vais tester les solutions dites dans ce post !
6 mai 2015 à 21:40 #58894Cri-criParticipantHello (et merci à Merlin de m’avoir pointé le topic :Smiley01: )
Ca dépend réellement ce que tu entends par introduire des métadonnées XML dans un PDF.
Si tu parles d’injecter des informations venant d’un fichier XML dans le contenu XMP d’un PDF, tu as effectivement plusieurs solutions avec Switch.Pour ce qui est des métadonnées standards PDF (celles visibles dans les infos du fichier, aussi bien sur Reader que sur Acrobat)
– un script Acrobat tout fait téléchargable ici : http://www.crossroads-world.com/en/Home/Get%20Flows/Enfocus/Add%20document%20info%20using%20a%20JavaScript%20in%20Acrobat
– une solution externe type Command Line, telle CoherentPDF (cité dans le topic que tu mets en lien) ou équivalentSi tu veux injecter des métadonnées non-standards (visibles uniquement avec Acrobat – pas Reader – via le bouton “Métadonnées supplémentaires…”, c’est un peu plus compliqué et demande une version de Siwtch comprenant le module de scripting. Là, tu peux créer n’importe quelle arborescence XMP, selon les spécifications XMP, via du scriting Switch/Javascript.
Pas très évident pour un débutant, car le scripting Switch n’est pas trivial, pas plus que la structuration XMP.J’ai écrit pas mal de scripts d’injection XMP donc n’hésite pas à poser des questions :Smiley03:
7 mai 2015 à 07:11 #58895MaellyosMembreHello !
Et bien merci pour la enfin les réponses ! Je vais tester ça dès que possible et vous tiens au jus de ma réussite (ou pas…) !
7 mai 2015 à 11:49 #58896MaellyosMembreHmmmm, ça me dérange, j’ai rajouté un travaux à problème au flux proposé par crossroads, et mes travaux termine dedans. Dans mes messages il me dit qu’il n’arrive pas à lire le fichier Javascript, j’ai réédité le lien pour être sûr que ce n’était pas une erreur de chemin, mais non, ça me l’envoie quand même dans travaux à problèmes…
Voici un petit screen des messages d’erreur
Edit: Est-ce que tout simplement je ne pourrais pas utiliser le module de base XML pickup en nommant le fichier XML et PDF de la même façon ??
7 mai 2015 à 13:54 #58897Cri-criParticipantNon, le XMP Pickup va injecter les données du fichier XML en jeu de données attaché au fichier DANS Switch.
Tu peux les utiliser dans le flux pour router des fichiers, renommer, et faire plein d’autres choses, mais une fois en dehors du flux, il n’y a plus rien.
C’est pour cela que l’on fait de l’injection en XMP pour intégrer certaines infos DANS le fichier et faire qu’elles ont donc accessibles, même en dehors de Switch.Par contre, pour ton problème, as-tu vérité que tu autorises bien l’accès Javascript dans Acrobat ?
Dans les préférences d’Acrobat, dans la section Javascript, il faut que tu coches le bouton “Autoriser les privilèges d’exécution Javascript d’éléments de menu”.
Si bien sûr “Activer Acrobat Javascript” est coché, sinon, ça ne marchera pas non plus :Smiley08:11 mai 2015 à 07:49 #58898MaellyosMembreHello tout le monde !
Aujourd’hui c’est mon anniversaire et comme cadeau Cri-cri m’a aidé à réussir ce que je voulais faire !! Merci ça fonctionne !! :extra:
Bonne journée à tous, la mienne commence bien
11 mai 2015 à 08:05 #58899Cri-criParticipantBon anniversaire ! :soleil:
11 mai 2015 à 09:42 #58900MaellyosMembreMerci ! :bonjour:
11 mai 2015 à 10:21 #58901MerlinMaître des clésCri-cri a fait sa B.A. (Bon Anniversaire).
:Smiley08:
11 mai 2015 à 10:32 #58902Cri-criParticipant:Smiley08:
11 mai 2015 à 14:47 #58903MaellyosMembreDu coup, maintenant pour injecter des données venant d’un fichier XML, (car avec le script acrobat, les metadonnées sont fixes) il faut donc forcément passer par un script XMP ?
12 mai 2015 à 16:46 #58904Cri-criParticipantEn fait, cel dépend de ce que tu veux faire.
Dans tous les cas, tu utilises d’abord le XML Pickup pour insérer en jeu de données le contenu de ton XML dans ton fichier PDF.
Ensuite,
Cas 1 : tu souhaites utiliser les champs standards pour injecter tes données (par exemple, tu mets ça dans objet ou keywords, etc.), même si les données concernent autre chose (il suffit de préciser à tes interlocuteurs où trouver quoi), et là, tu peux parfaitement utiliser le script que tu as déjà utilisé – tu pointes chaque argument vers la variable (incluant métadonnées) concernée
Cas 2 : tu souhaites créer une arborescence spécifique pour tes données XMP, et là, je pense que ça va être coton vu que tu dis être débutant.
Il faut créer un script Switch (donc il faut également que ton Switch possède le module Scripting) qui injecte les données dans la bonne arborescence XMP.
Pour ça, tu dois maîtriser Javascript, les variables Switch, la structuration XMP et l’injection.
Ca dépasse largement le cas de l’aide au travers de quelques posts dans un forum.
Soit tu sais te débrouiller, soit tu me contactes par MP ou email (je pense que tu as mes coordonnées si je ne me trompes :Smiley03: ) et on en parle offline.13 mai 2015 à 09:53 #58905MaellyosMembreHello !
Le cas n°1 est amplement suffisant J’ai réussi à me débrouiller et ça a l’air de fonctionner
13 mai 2015 à 11:52 #58906Cri-criParticipantOui, en général, ça fonctionne très bien comme ça. En plus, cela permet d’avoir accès à ces infos aussi bien avec Reader que Acrobat.
Le cas 2 est plus dans le cas d’une automatisation basée sur des informations XMP (donc plus pour des machines que des utilisateurs, d’autant plus que c’est moins facile à lire).
Content que tu aies pu atteindre ton objectif :bravo:
13 mai 2015 à 12:12 #58907MerlinMaître des clésCas 1 : tu souhaites utiliser les champs standards
cela permet d’avoir accès à ces infos aussi bien avec Reader que Acrobat.
On peut aussi utiliser les “Propriétés personnalisées”, également accessibles dans Reader.
13 mai 2015 à 12:36 #58908Cri-criParticipantEffectivement, bonne idée. Je n’ai jamais essayé.
L’injection se fait de la même manière qu’avec les métadonnées de base ?
C’est accessible en javascript ?13 mai 2015 à 12:39 #58909MerlinMaître des clésL’injection se fait de la même manière qu’avec les métadonnées de base ?
Je n’ai pas tout suivi ci-dessus donc je ne peux pas vraiment répondre. Mais a priori oui.
C’est accessible en javascript ?
Oui, en lecture-écriture.
13 mai 2015 à 12:41 #58910Cri-criParticipantOK, cool, je vais jeter un coup d’oeil, car ça peut être pas mal :Smiley01:
Pour l’automatisation, je reste sur l’XMP perso car c’est l’idéal pour piloter des process externes, mais dans u but de stockage d’infos “lisibles par être humain”, c’est plutôt pas mal.
Merci !
13 mai 2015 à 12:51 #58911MerlinMaître des clésJ’avais fait ce script pour je ne sais plus qui pour intégrer les zones graphiques en métadonnées perso via une Action :
Code:var mbox = this.getPageBox(“Media”);
var Mzeroz = Math.round(mbox[0] * 0.3527);
var Munz = Math.round(mbox[1] * 0.3527);
var Mdeuz = Math.round(mbox[2] * 0.3527);
var Mtroiz = Math.round(mbox[3] * 0.3527);var cbox = this.getPageBox(“Crop”);
var Czeroz = Math.round(cbox[0] * 0.3527);
var Cunz = Math.round(cbox[1] * 0.3527);
var Cdeuz = Math.round(cbox[2] * 0.3527);
var Ctroiz = Math.round(cbox[3] * 0.3527);var tbox = this.getPageBox(“Trim”);
var Tzeroz = Math.round(tbox[0] * 0.3527);
var Tunz = Math.round(tbox[1] * 0.3527);
var Tdeuz = Math.round(tbox[2] * 0.3527);
var Ttroiz = Math.round(tbox[3] * 0.3527);var bbox = this.getPageBox(“Bleed”);
var Bzeroz = Math.round(bbox[0] * 0.3527);
var Bunz = Math.round(bbox[1] * 0.3527);
var Bdeuz = Math.round(bbox[2] * 0.3527);
var Btroiz = Math.round(bbox[3] * 0.3527);var abox = this.getPageBox(“Art”);
var Azeroz = Math.round(abox[0] * 0.3527);
var Aunz = Math.round(abox[1] * 0.3527);
var Adeuz = Math.round(abox[2] * 0.3527);
var Atroiz = Math.round(abox[3] * 0.3527);if (app.language == “FRA”)
{
this.info.Zone_de_media_en_mm = Mzeroz + “, ” + Mdeuz + “, ” + Munz + “, ” + Mtroiz;
this.info.Zone_de_recadrage_en_mm = Czeroz + “, ” + Cdeuz + “, ” + Cunz + “, ” + Ctroiz;
this.info.Zone_de_rognage_en_mm = Tzeroz + “, ” + Tdeuz + “, ” + Tunz + “, ” + Ttroiz;
this.info.Zone_de_fond_perdu_en_mm = Bzeroz + “, ” + Bdeuz + “, ” + Bunz + “, ” + Btroiz;
this.info.Zone_graphique_en_mm = Azeroz + “, ” + Adeuz + “, ” + Aunz + “, ” + Atroiz;
}else
{
this.info.MediaBox_in_mm = Mzeroz + “, ” + Mdeuz + “, ” + Munz + “, ” + Mtroiz;
this.info.CropBox_in_mm = Czeroz + “, ” + Cdeuz + “, ” + Cunz + “, ” + Ctroiz;
this.info.TrimBox_in_mm = Tzeroz + “, ” + Tdeuz + “, ” + Tunz + “, ” + Ttroiz;
this.info.BleedBox_in_mm = Bzeroz + “, ” + Bdeuz + “, ” + Bunz + “, ” + Btroiz;
this.info.ArtBox_in_mm = Azeroz + “, ” + Adeuz + “, ” + Aunz + “, ” + Atroiz;
}La multiplication par 0.3527 c’est pour convertir les pouces en mm.
:Smiley15:
-
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.