Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1244 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Modifier un PDF avec Javascript

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Modifier un PDF avec Javascript

n°1895425
Rukk
Posté le 15-06-2009 à 21:24:44  profilanswer
 

Bonjour,  
 
je suis en train de créer une fonction JavaScript (qui sera exécuter dans une page JSP plus tard) qui va me permettre d'ajouter du text en haut à gauche dans des fichiers PDF. Jusqu'ici tout va bien. Je suis capable d'ouvrir mon fichier, insérer ma note, imprimer le fichier avec mes modifications... le seul problème est que je ne suis pas capable de positionner le message. Voci ma fonction:  
 
 
 

Code :
  1. function modifPdf(src)
  2. {
  3.  // Créer l'objet qui permet de manipuler un PDF
  4.  var pdf = new ActiveXObject('AcroExch.PDDoc');
  5.  // Variables
  6.  var pdfJS;
  7.  var annot;
  8.  var props;
  9.  var printParams;
  10.  var page;
  11.  var rectSize = new Array();
  12.  // Ouverture du PDF
  13.  pdf.Open(src);
  14.  page = pdf.AcquirePage(0);
  15.  page = page.GetSize()
  16.  rectSize[0] = 25;
  17.  rectSize[1] = page.y - 50;
  18.  rectSize[2] = page.x - 25;
  19.  rectSize[3] = page.y - 25;
  20.  // Obtenir le javascript du PDF
  21.  pdfJS = pdf.GetJSObject();
  22.  // Ajout de l'annotation
  23.  // L'annotation est crée, mais elle n'est pas positionnée (rect n'est pas pris en compte)
  24.  pdfJS.addAnnot({page: 0,type: 'FreeText',rect: rectSize,author: 'SA',contents: 'Test'});
  25.  pdfJS.addAnnot({page: 0,type: 'FreeText',rect: [25,742,1199,767],author: 'SA',contents: 'Test'});
  26.  pdfJS.addAnnot({page: 0,type: 'FreeText',rect: new Array(25,742,1199,767), author: 'SA',contents: 'Test'});
  27.  // Impression
  28.  printParams = pdfJS.getPrintParams();
  29.  printParams.interactive = -1;
  30.  printParams.firstPage = 0;
  31.  printParams.pageHandling = printParams.constants.handling.fit;
  32.  //pdfJS.print(printParams);
  33.  // Je save sur mon disque dur à place d'imprimer pour les tests
  34.  pdf.Save(1, "C:/Tempo/test.pdf" );
  35.  pdf.Close();
  36. }


 
 
La méthode addAnnot() crée bien mon annotation, mais elle se positionne à 0,0 dans mon document avec une grosseur (width & height) nulle. Par contre (et c'est là que c'est étrange), lorsque j'ajoute directement une de ces 3 lignes ci-dessous dans mon PDF (via Advanced -> Document Processing -> JavaScript Debugger...) cela fonctionne avec la bonne position!  
 
 

Code :
  1. this.addAnnot({page: 0,type: 'FreeText',rect: rectSize,author: 'SA',contents: 'Test'}); // rectSize est setter plus haut avec les bonnes valeurs
  2. this.addAnnot({page: 0,type: 'FreeText',rect: [25,742,1199,767],author: 'SA',contents: 'Test'});
  3. this.addAnnot({page: 0,type: 'FreeText',rect: new Array(25,742,1199,767), author: 'SA',contents: 'Test'});


 
 
Alors, voilà ma théorie est que JavaScript a de la misère à passer un array à mon pdfJS comme paramètre...  
 
Quelqu'un sait comment règler ce problème? Merci!

mood
Publicité
Posté le 15-06-2009 à 21:24:44  profilanswer
 

n°1895475
SICKofitAL​L
misanthrope
Posté le 16-06-2009 à 00:54:44  profilanswer
 

tu as un lien vers l'API de AcroExch.PDDoc ?


Message édité par SICKofitALL le 16-06-2009 à 00:55:00

---------------
We deserve everything that's coming...
n°1895480
Rukk
Posté le 16-06-2009 à 04:35:51  profilanswer
 

Bonsoir,
 
voici le lien vers l'API: http://livedocs.adobe.com/acrobat_ [...] 3.100.html
 
Merci, Rukk.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Modifier un PDF avec Javascript

 

Sujets relatifs
PHP ou Javascript ? pour cette gallerie photoslire et modifier une ligne précise
Error Javascript:"Object Required"- 5 lignes de code [RESOLU]probleme validation de formulaire javascript
afficher un doc PDF ou word dans la même page HTMLScript javascript fonctionne / IE mais pas / Mozilla
Erreur avec setTimeout dans javascript externe[AJAX/PHP] Executer du javascript provenant d'un php
[HTML / JavaScript?] probleme de retour[Javascript/PHP ?] Couper une chaine de caractères en morceaux
Plus de sujets relatifs à : Modifier un PDF avec Javascript


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR