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

Java Discussion :

[itext] Ajout d'un champ dans un PDF


Sujet :

Java

  1. #1
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Points : 286
    Points
    286
    Par défaut [itext] Ajout d'un champ dans un PDF
    Bonjour,

    j'essaye d'ajouter un champ dans un PDF déjà existant, puis d'enregitrer le nouveau PDF dans un nouveau fichier.

    Voici mon code :

    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
     
    public static void main(String[] args) throws IOException, DocumentException {
    	PdfReader reader = new PdfReader("C:/Users/MyUser/Desktop/test.pdf"); 
     
            //prepare the output file 
            PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("C:/Users/MyUser/Desktop/test2.pdf")); 
            PdfWriter writer = stamper.getWriter(); 
     
            Rectangle rectangle = new Rectangle(40, 500, 360, 530); 
     
            TextField textF = new TextField(writer, rectangle,"testitestitestitesti"); 
            textF.setBorderStyle(PdfBorderDictionary.STYLE_SOLID); 
            textF.setText("test"); 
            textF.setFontSize(0); 
            textF.setAlignment(Element.ALIGN_CENTER); 
            textF.setOptions(TextField.REQUIRED); 
     
     
            PdfFormField field2 = textF.getTextField(); 
            stamper.addAnnotation(field2, 1); 
     
            stamper.setFullCompression(); 
            stamper.close(); 
    }
    Avec ce code rien n'est ajouté, le PDF créé est la copie conforme de mon PDF initial ...
    Est-ce-que quelqu'un aurait une idée de ce qui est faux?

    Merci d'avance.
    Cordialement

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 998
    Points
    7 998
    Par défaut
    J'ai exécuté ton code, et, chez moi il marche , j'ai bien un espece de textfield rajouté .

    Je suis partit de ce simple exemple pour générer mon pdf original puis j'ai passé ton code dessus. (http://itextpdf.com/examples/iia.php?id=12) (peut être ton "rectangle" qui fait que tu "ne vois pas" le textfield).

  3. #3
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    282
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 282
    Points : 286
    Points
    286
    Par défaut
    j'ai essayé avec ce document aussi mais chez moi le PDF test2.pdf ne contient que le "Hello World" ... j'ai essayé de modifier les parametres de mon rectangle ca ne change rien ...
    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
     
     
    public static void main(String[] args) throws IOException, DocumentException {
    // step 1
            Document document = new Document();
            // step 2
            PdfWriter.getInstance(document, new FileOutputStream("C:/Users/MyUser/Desktop/test.pdf"));
            // step 3
            document.open();
            // step 4
            document.add(new Paragraph("Hello World!"));
            // step 5
            document.close();
     
     
    	PdfReader reader = new PdfReader("C:/Users/MyUser/Desktop/test.pdf"); 
     
            //prepare the output file 
            PdfStamper stamper = new PdfStamper(reader, new FileOutputStream("C:/Users/MyUser/Desktop/test2.pdf")); 
            PdfWriter writer = stamper.getWriter(); 
     
            Rectangle rectangle = new Rectangle(40, 500, 360, 530); 
     
            TextField textF = new TextField(writer, rectangle,"testitestitestitesti"); 
            textF.setBorderStyle(PdfBorderDictionary.STYLE_SOLID); 
            textF.setText("test"); 
            textF.setFontSize(0); 
            textF.setAlignment(Element.ALIGN_CENTER); 
            textF.setOptions(TextField.REQUIRED); 
     
     
            PdfFormField field2 = textF.getTextField(); 
            stamper.addAnnotation(field2, 1); 
     
            stamper.setFullCompression(); 
            stamper.close(); 
    }

Discussions similaires

  1. Ajout d'un champ dans une table liée
    Par Herman dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 21/06/2007, 10h02
  2. Ajout dynamique de champ dans un formulaire
    Par gendalf37400 dans le forum Ruby on Rails
    Réponses: 5
    Dernier message: 06/06/2007, 15h11
  3. Ajout d'un champ dans une requete
    Par maysa dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/04/2007, 11h35
  4. Réponses: 6
    Dernier message: 10/04/2007, 23h50
  5. Réponses: 4
    Dernier message: 11/05/2006, 16h23

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