Page 1 sur 1
[R] Traitement fichier pdf
Posté : mer. 23 déc. 2009 12:16
par Strofe
Bonjour
Après avoir utilisé pdftk pour décompresser un chier pdf, je souhaite faire des modifications dans le texte sans altérer le pdf.
Je m'explique
Si j'utilise cette commande :
J'obtiens 56 lignes.
Par contre avec cette boucle
Code : Tout sélectionner
$file = FileOpen($lepdf, 0)
While 1
$line = FileReadLine($file)
If @error = -1 Then ExitLoop
$cpt=$cpt+1
Wend
J'obtiens 4581 lignes.
Donc avec la commande suivante, cela ne marche pas.....
Code : Tout sélectionner
_FileWriteToLine($lepdf, $avArray[$t][0], $avArray[$t][1], 1)
Erreur = 1 : File has less lines than $iLine
Je n'arrive pas à modifier les lignes de ce fichier pdf....
Il faut dire que le fichier est truffé de codes bizarres.
Si quelqu'un à une solution ou un début de solution.... je suis preneur
Bonne journée
Christophe
Re: Traitement fichier pdf
Posté : mer. 23 déc. 2009 13:07
par timmalos
Merci de respecter les règles du forum, a savoir l'edition de votre titre. Merci
Re: [..] Traitement fichier pdf
Posté : mer. 23 déc. 2009 21:33
par Tlem
Vous ne pouvez pas modifier directement le texte d'un PDF.
Quelque chose qui peut éventuellement vous aider :
http://www.autoitscript.fr/forum/viewto ... &hilit=pdf
Re: [..] Traitement fichier pdf
Posté : mer. 23 déc. 2009 22:17
par Strofe
Bonsoir
Merci pour l'information, mais j'ai déjà décompressé le pdf.
Par contre lors de la lecture, ça bloque sur le caractère "null".
A+
Christophe
Re: [..] Traitement fichier pdf
Posté : jeu. 24 déc. 2009 07:06
par Tlem
La nouvelle version de AutoIt vous permet de déplacer le pointeur là ou vous le voulez pour lire/écrire à un endroit donné. C'est peut être là solution pour vous.

Re: [..] Traitement fichier pdf
Posté : jeu. 24 déc. 2009 16:06
par Strofe
Bonjour
Merci pour l'info cela m'a donne une autre piste.... lecture en mode binaire..
Je repense à mon algorithme et vous tiens au courant.
Bon Réveillon de Noël
Re: [..] Traitement fichier pdf
Posté : ven. 25 déc. 2009 22:20
par Strofe
Joyeux Noël
Rien de tel que le champagne (cosommer avec modération) pour libérer mon neurone.
J'ai repensé la méthodologie, pourquoi enlever ce que l'on peut cacher.......
► Afficher le texteObjectif
Supprimer des caractères génants d'un fichier pdf
1°) Le décompresser avec pdftk
2°) Repérer dans le texte (Notepad++) la chaine à supprimer (copier)
3°) Cliquer glisser le fichier pdf sur l'exécutable du fichier dont le code est en-dessous
► Afficher le texteVoici mon code
Code : Tout sélectionner
#Include <File.au3>
#include <string.au3>
If $CmdLine[0] = "0" Then
MsgBox(16, "Pdf Cleaner", "Cliquer, glisser et lâcher le fichier pdf à traiter")
Exit
EndIf
If $CmdLine[0] >1 then
MsgBox(16, "Pdf Cleaner", "Un seul fichier pdf à la fois")
Exit
EndIf
If StringUpper(StringRight($CmdLine[1],3))<>"PDF" Then
MsgBox(16, "Pdf Cleaner", "Uniquement pour les fichiers pdf")
Exit
EndIf
$chaine = InputBox("Efface les traces","Chaîne à remplacer (min 10 caractères)","")
If StringLen($chaine) < 10 Then Exit
If @error > 0 Then Exit
$in=FileOpen($CmdLine[1],16) ; 16+0=Read binary
;Nom de sortie
$nom_out=StringLeft($CmdLine[1],Stringlen($CmdLine[1])-4) & "__clean.pdf"
$out = FileOpen($nom_out, 2+16)
$ch_in=FileRead($in)
$cherche=_StringToHex($chaine)
$chgt=_StringToHex(_StringRepeat(" ",StringLen ($chaine)))
$ch_out = StringReplace($ch_in,$cherche,$chgt,0,1)
FileWrite($out,$ch_out)
FileClose($in)
FileClose($out)
Merci pour vos critiques
Christophe
PS : Je considère ce poste comme résolu.
Re: [R] Traitement fichier pdf
Posté : ven. 25 déc. 2009 22:58
par timmalos
J'aime bien, ca ne m'est pas utile pour l'instant, mais j'aime bien
(Avouez que ca vous fait une belle jambe hein

)