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

avec Java Discussion :

Modification des documents PDF avec iText


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 16
    Points : 13
    Points
    13
    Par défaut Modification des documents PDF avec iText
    Bonsoir à toutes et à tous,

    Je suis entrain de travailler sur iText pour la création et la manipulation des documents PDF. j'ai pu créer un document contenant le texte"hello world", et lire la structure du fichier sur NotePad++ (lire les obj, obj 1 0 R, obj 2 0 R, ....).
    La question est comment modifier la position de chaque caractère, c.à.d le TJ operator ?.
    En d'autres termes, comment je peux jouer avec le positionnement de chaque caractère avec un code java afin de modifier le texte original?.

    Exemple:
    (Hello world)Tj
    Comment modifier le positionnement des caractères afin d'obtenir par exemple:
    [(H)120(e)60(llo)120(w)60(orld)]TJ

    Je ne sais pas comment débuter ou réfléchir par un code java perméttant de faire tout ca.
    Prière de m'aider le plus possible.

    Merci d'avance,

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    je sais pas si tu veux absolument maniopuler du code ps pour ton texte, mais il te sera plus simple de gérer le texte avec iText en utilisant les classes et méthodes prévues à cet effet :

    - soit tu utilises les méthodes de dessin de texte de PDFContentByte,

    par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     PdfContentByte cb= writer.getDirectContent(); 
    cb.beginText(); // début d'une séquence d'écritrue
    cb.setTextMatrix(x, y); // placement du texte en x et y
    cb.showText("Coucou"); // écriture
    cb.endText();  // fin d'une séquence d'écriture
    change ta police par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cb.setFontAndSize(getBaseFont(), fontsize);
    ou getBaseFont() est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    private static BaseFont getBaseFont() {
    			if ( basefont==null ) {
    				Font font = new Font(Font.HELVETICA, 12, Font.NORMAL);
    				basefont = font.getCalculatedBaseFont(true);
    			}
    			return basefont;
    		}
    ...



    - soit tu utilises des classes comme Paragraph, Chunk, Phrase, Element, Image...

    je te copie direct un bout de code que j'ai fait sans entrer dans le détail pour te montrer un exemple :

    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    private static AnnotationHandler drawBoxText(WBox box, DrawPdfHandler drawHandler, float boxLeft, float boxTop, float boxWidth, float boxHeight, boolean setbackground) throws DocumentException, IOException {
    		StringBuilder boxText = new StringBuilder();
    		String boxTitle=null;
    		PdfContentByte cb = drawHandler.getDirectContent();
    		ColumnText ct = new ColumnText(cb);
    		ct.setSimpleColumn(boxLeft, boxTop, boxLeft+boxWidth, boxTop-boxHeight, 15, drawHandler.getDrawPreferences().textBoxAlign);
    		boolean newLine = false;
    		Assignment assignment = WXMLTools.getAssignment(box);	
    		if ( assignment!=null ) {
    			Chunk chunk = new Chunk(assignment.getName());
    			if ( setbackground ) {
    				chunk.setBackground(BG_COLOR);
    			}
    			ct.addText(chunk);
    			boxTitle = chunk.getContent();
    			Phrase statusPhrase = getStatusPhrase( PdfWxmlMessagesConstants.STATUS_MSG, assignment , setbackground, drawHandler);
    			if ( statusPhrase!=null ) {
    				ct.addText(Chunk.NEWLINE);
    				ct.addText(statusPhrase);
    				appendText(boxText, statusPhrase, true);		
    			}
    			newLine=true;
    		}
    		if (box.isImage()) {
    			if ( assignment!=null ) {
    				WImg wimage = box.getImage();
    				if ( wimage!=null ) {
    					AbstractRichImage richImage = wimage.getContent();
    					if ( richImage!=null ) {
    						Phrase statusPhrase = getStatusPhrase(PdfWxmlMessagesConstants.STATUS_IMAGE_MSG, richImage, setbackground, drawHandler);
    						if ( statusPhrase!=null ) {
    							if( newLine ) ct.addText(Chunk.NEWLINE);
    							ct.addText(statusPhrase);
    							appendText(boxText, statusPhrase, newLine);			
    						}
    					}
    				}
    				wimage.getContent();
    				newLine = true;
    			}
    		} 
    		else if ( box.isText() ) {
    				WText wtext = box.getText();
     
    				if ( drawHandler.getDrawPreferences().includeBoxTags ) {
    					//String boxTag = box.getTextTag();
    					String boxTag = box.getContentTag();
    					if ( boxTag!=null && boxTag.trim().length()>0 ) {
    						if ( newLine ) ct.addText(Chunk.NEWLINE);
     
    						Chunk tagChunk = new Chunk( "["+boxTag+"]" );
    						if ( setbackground ) {
    							tagChunk.setBackground(BG_COLOR);
    						}			
    						ct.addText(tagChunk);	
    						appendText(boxText, tagChunk, newLine);
    						newLine=true;
    					}
    				}
     
    				if ( drawHandler.getDrawPreferences().includeBoxStyles ) {
     
    					Set<WField> fields = wtext.getFields();
    					if ( fields!=null ) {
    						//Set<String> styles = new TreeSet<String>();
    						Set<String> originalStyles = new TreeSet<String>();
    						for( WField field: fields ) {
     
    							Set<WStyle> wstyles = field.getWStyles(WStyle.WType.paragraph);
    							if ( wstyles!=null ) {
    								for( WStyle wstyle : wstyles ) {
    //									styles.add(wstyle.getName() + "/" + wstyle.getOriginalName());
    									//styles.add(wstyle.getName());
    									originalStyles.add(wstyle.getOriginalName());
    								}
    							}
     
    						}
    						if ( originalStyles.size()>0 ) {
    							if ( newLine ) ct.addText(Chunk.NEWLINE);
    							Chunk stylesChunk = new Chunk( String.valueOf(originalStyles) );
    							if ( setbackground ) {
    								stylesChunk.setBackground(BG_COLOR);
    							}	
    							ct.addText(stylesChunk);	
    							appendText(boxText, stylesChunk, newLine);							
    							newLine=true;
    						}
    					}
    				}
     
    			}
     
    		if ( drawHandler.getDrawPreferences().displaySizeBox ) {
    			if ( newLine ) ct.addText(Chunk.NEWLINE);
     
    			Unit adaptedPdfUnit = drawHandler.getPdfUnit();
    			Unit adaptedSizeBoxUnit = drawHandler.getDrawPreferences().sizeBoxUnit;
     
    			Chunk chunk = new Chunk("("+getSizeText(boxWidth, boxHeight, adaptedPdfUnit, adaptedSizeBoxUnit)
    					+ " "
    					+ PdfWxmlMessages
    							.getString(PdfWxmlMessagesConstants.UNIT_PREFIX
    									+ adaptedSizeBoxUnit) + ")");
    			if ( setbackground ) {
    				chunk.setBackground(BG_COLOR);
    			}			
    			ct.addText(chunk);		
    			appendText(boxText, chunk, newLine);			
    			//LOG.info(chunk.getContent());
    		}
    		ct.go();
    		if ( boxText.length()==0 ) return null;
     
    		return new AnnotationHandler(boxTitle,boxText.toString());
    	}
     
    	private static void appendText(StringBuilder boxText, String content, boolean newline) {
    		if ( newline && boxText.length()!=0 ) boxText.append('\n');
    		boxText.append(content);
    	}
    	private static void appendText(StringBuilder boxText, Chunk chunk, boolean newline) {
    		appendText(boxText, chunk.getContent(), newline);
    	}
    	private static void appendText(StringBuilder boxText, Phrase phrase, boolean newline) {
    		appendText(boxText, phrase.getContent(), newline);
    	}
    	private static Phrase getStatusPhrase(String statusMsgKey, Instance instance, boolean background, DrawPdfHandler drawHandler) throws BadElementException, IOException {
    		Instance status = instance.getCurrentStatus();
    		Instance nextStatus = instance.getNextStatus();
     
    		boolean hasStatus=false;
    		Phrase phrase = null;
    		if ( status!=null ) {
    			phrase = new Phrase();
    			Instance color = null;
    			if ( !drawHandler.getDrawPreferences().paintStatusBackground || drawHandler.getDrawPreferences().statusBackgroundType!=StatusBGType.ASSIGNMENT) {
    				color = status.getProperty("color", ChildProperty.class).getChild();
    			 	if(color!= null){
    					String colorName = color.getName();
    					java.awt.Image img = ImageFactory.createColorImage( colorName, 12, 12 );
    					Image image = Image.getInstance(img, null);
    					Chunk imageChunk = new Chunk(image,0,0,true);
    					if (background ) {
    						imageChunk.setBackground(BG_COLOR);
    					}
    					phrase.add(imageChunk);
    				}
    			}
    		 	String statusName = status.getName();
    		 	//Chunk chunk = new Chunk("\u00A0"+statusName);
    		 	Chunk chunk = new Chunk((color!=null?"\u2002":"")+statusName);
    		 	if (background ) {
    		 		chunk.setBackground(BG_COLOR);
    			}
    		 	phrase.add(chunk);
    		 	hasStatus=true;
    		}
    		if ( nextStatus!=null ) {
    			if ( hasStatus ) {
    				Chunk chunk = new Chunk(", ");
    				if (background ) {
    			 		chunk.setBackground(BG_COLOR);
    				}
    				phrase.add(chunk);
    			}
    			else {
    				phrase=new Phrase();
    			}
     
     
    			String statusName = instance.getNextStatusAction();
    			if ( statusName==null ) {
    				statusName = StringTools.getStringCap(instance.getStatusProperty().getName());
    			}
    			else if ( instance instanceof IAffectable ) {
    		 		IAffectable affectable = (IAffectable)instance;
    		 		Instance userinst = affectable.getAffectationUser();
    		 		String user = userinst==null?null:affectable.getAffectationUser().getName();
    		 		Date date = affectable.getDueDate();
    		 		String dateString = DateFormatFactory.getInstance(DateFormatter.getDateFormatPattern(Format.LONG)).format(date);
    		 		if ( user==null ) {
    			 		statusName = PdfWxmlMessages.getFormattedString(statusMsgKey+ ".nouser", 
    			 				statusName.toLowerCase(),
    			 				dateString);
    		 		}
    		 		else {
    			 		statusName = PdfWxmlMessages.getFormattedString(statusMsgKey, 
    			 				statusName.toLowerCase(),
    			 				user,
    			 				dateString);
    		 		}
    		 	}
     
    		 	Chunk chunkStatus = new Chunk(statusName);
    		 	if (background ) {
    		 		chunkStatus.setBackground(BG_COLOR);
    			}
    		 	phrase.add(chunkStatus);
     
    		}
    		return phrase;
    	}
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Tiens, d'autres exemples ici : Adding content at absolute positions
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 16
    Points : 13
    Points
    13
    Par défaut remplacer l'ancien texte par le nouveau
    Salut Joel,

    D'abord un grand merci pout ta réponse que je l'apprécie beaucoup.
    En fait, je sais bien comment positionner un tel texte ainsi à spécifier le font et les espacements entre les caractères etc.
    Mais le problème est que j'ai un document PDF contenant le string "Hello world" et j'ai besoin de le manipuler (modifier ou éditer le texte, non à ajouter des élements dans le doucment).
    ci dessous un petit code qui sert à créer un document PDF contenant le string "hello world" ansi à le manipuler en modifiant les espacements entre les caractères. Le problème avec ce code est qu'il ne remplace pas le nouveau string par l'ancien, mais il ajoute un autre string jusqu'à avoir dans le document deux string: l'un avec l'ancien CharacterSpacing, et l'autre avec le nouveau CharacterSpacing. J'ai besoin de remplacer l'ancien texte par le nouveau, mais comment ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    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
    Public Static void CreatePdf(String src)throws IOException,DocumentException{
    Rectangle rec= new Rectangle(400,400);
    Document document= new Document(rec,15,15,15,15);
    PdfWriter writer= PdfWriter.getInstance(document, new FileOutputStream("doc.pdf"));
    writer.setCompressionLevel(0);
    document.open();
    PdfContentByte content=writer.getDirectContent();
    String texte="hello world";
    BaseFont bf=BaseFont.createFont();
    content.setFontAndSize(bf,12);
    content.setCharacterSpacing((float)2.5);
    content.beginText();
    content.showTextAligned(Element.ALIGN_LEFT, texte, 15, 385, 0);
    content.endText();
    document.close();
    }
     
    public static void ManipulatePdf(String src, String dest)throws IOException, DocumentException{
    PdfReader reader= new PdfReader("doc.pdf");
    PdfStamper stamper= new PdfStamper(reader, new FileOutputStream("doc_modifié.pdf"));
    PdfContentByte canvas= stamper.getUnderContent(1);
    canvas.beginText();
    canvas.setFontAndSize(bf,12);
    canvas.setCharacterSpacing((float)4.5);
    canvas.showTextAligned(Element.ALIGN_LEFT, texte, 15, 385, 0);
    canvas.endText();
    stamper.close();
    reader.close();
    }
    //le problème avec ce code est qu'il crée un document modifié avec deux string. L'un avec 2.5 comme character spacing et l'autre avec 4.5 comme character spacing. Mais moi je dois arriver à créer un document modifié qui remplace l'ancien texte par le nouveau avec 4.5 comme character spacing.. MAIS COMMENT FAIRE CETTE TÂCHE?

    Prière de m'aider , je compte sur vous

  6. #6
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    tu dois pouvoir faire ça avec la classe PdfContentStreamProcessor...

    quelques explications ici...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    ah donc faire éditer ou remplacer un texte par un autre avec iText n'est pas impossible non ? donc cette tache est faisable, non?

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par bittar Voir le message
    ah donc faire éditer ou remplacer un texte par un autre avec iText n'est pas impossible non ? donc cette tache est faisable, non?
    c'est pas vraiment fait pour ça (modifier des pdf) mais pour générer des pdfs.

    mais on doit pouvoir faire ça avec la classe que je t'ai indiqué (par contre la plupart des exemples d'utilisation de cette classes sont des exemples d'extraction de texte, mais regénérer le flux pdf en sortie en le modifiant à la volée est possible en principe, et faire ta modification d'espacement est possible puisqu'il s'agit d'appliquer un opérateur et que cette classe le permet
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    ah ok, donc je dois lire tout d'abord ce document et après je te dis qu'est ce que j'ai trouvé comme résultat on peut travailler ensemble si tu veux afin de résoudre ce probleme j'ai tout l'honneur et ansi mettre ton nom comme référence dans mon projet

  10. #10
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par bittar Voir le message
    ah ok, donc je dois lire tout d'abord ce document et après je te dis qu'est ce que j'ai trouvé comme résultat on peut travailler ensemble si tu veux afin de résoudre ce probleme j'ai tout l'honneur et ansi mettre ton nom comme référence dans mon projet
    désolé mais j'ai pas vraiment beaucoup de temps à passer dessus en ce moment...(à moins que tu me trouves pourquoi mon document est perdu par EditLive lors de l'appel de setBody, dans mon appli RCP/swt sous mac )
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  11. #11
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Liban

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 16
    Points : 13
    Points
    13
    Par défaut
    Hélas, sincèrement je suis tellement désolé, mais moi je suis un étudiant en télécommunication, donc je suis débutant en pragrammation (désolé de n'avaoir pas la capacité de t'aider sur ton problème ). Maintenant je fais un stage de recherche sur la Stéganographie dans les documents PDF, donc j'utilise iText pour la manipulation des documents. Au début j'étais très surpri qu'il ya de programmation java dans ce stage, mais maintenant ca va

    Accessoirement, j'ai lu le chapitre 15 dans "Itext in Action-2nd Edition", malheureusement je reste bloquer afin de résoudre mon problème.
    Prière de me donner un peu de ton temps pour écrire le code ensemble

    Amicalement,

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/09/2014, 09h20
  2. Réponses: 0
    Dernier message: 02/08/2011, 12h15
  3. Réponses: 3
    Dernier message: 19/08/2009, 23h57
  4. Splitter des documents PDF avec iText
    Par osmoz dans le forum Général Java
    Réponses: 2
    Dernier message: 11/03/2008, 17h58
  5. peut-on protéger des documents pdf avec 4d?
    Par longomarc dans le forum 4D
    Réponses: 2
    Dernier message: 06/10/2007, 13h11

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