Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[FINAL][AU3][EXE] PDF_Add_Text.exe
Auteur Message
Répondre en citant
Message [FINAL][AU3][EXE] PDF_Add_Text.exe 
Utilitaire en ligne de commande pour insérer un texte (En-tête, Watermark) Dans un fichier PDF existant
Cette Utilitaire utilise les COM de PDFCreator.

PDFCreator doit donc être installé pour pouvoir l'utiliser

[ Télecharger ]

Utilisation :
PDF_Add_Text.exe ["Text"] ["PDF File"] [opt. [/Out:OutputFile]]
[opt. [/Col:"Color"]] [opt. [/xpos:Xpos]] [opt. [/ypos:Ypos]]
[opt.[/rot:Rotation degree]] [opt. [/Font:"Font.ttf"]][opt. [/FontSize:Fontsize]]
[opt. [/fromppage:Page Number /topage:Page Number]]
[/ver] To get actual version

Les couleurs disponible pour le switch [/col] :

Red, Green, Yellow, Blue, Brown, White, Orange, Purple, Pink

Voici quelques exemples d'utilisation :


EXEMPLES :

Dans ces exemples j'utiliserai ce PDF DevMag201310.pdf (Le magazine de Developpez.com No 48):
http://magazine.developpez.com/index/detail/id/53

Exemple 1 :

Inserer en entête "Bonjour à tous les dévellopeurs" sur la première page du PDF avec tous les paramètres par défaut.

Commande : PDF_Add_Text.exe "Bonjour à tous les dévellopeurs" "DevMag201310.pdf"

La sortie par défaut ce fait dans le nom du fichier d'entré + "_modified"
Dans ce cas nous aurons : "DevMag201310.pdf_modified.pdf"

Résultat :
DevMag201310.pdf_modified.pdf




Exemple 2 :


Inserer en entête "Bonjour à tous les dévellopeurs" sur la première page du PDF en définissant le nom du fichier de sortie
comme "Fichier_test.pdf" (switch [/out]) et en mettant le texte d'entête en jaune (switch [/col]).

Commande : PDF_Add_Text.exe "Bonjour à tous les dévellopeurs" "DevMag201310.pdf" /out "Fichier_test.pdf" /col "Yellow"

Résultat :

Fichier_test.pdf





Exemple 3 :

Inserer en entête "Bonjour à tous les dévellopeurs" sur la première page du PDF en laissant le nom du fichier de sortie
par défaut en mettant le texte d'entête en Bleu (switch [/col])
avec le font "Vani.ttf" (switch [/font])à la taille 32 (switch [/fontsize])

Commande : PDF_Add_Text.exe "Bonjour à tous les dévellopeurs" "DevMag201310.pdf" /col "Blue" /font "vani.ttf" /Fontsize 32


Attention : Les fonts doivent être de type .ttf (true type)

Résultat :

DevMag201310.pdf_modified.pdf




Exemple 4 :

Comme vous pouvez le constater dans l'exemple 3 le texte étant un peu grand il déborde en haut.
Nous allons donc refaire la commande de l'exemple 3 mais en modifiant la position en Y du texte (switch [Ypos])
Le calcul de la pos Y est inversé (par défaut nous avons 290 qui correspond au sommet de la page) pour descendre
nous allons diminuer la position Y on va mettre 285 dans l'exemple.

Commande : PDF_Add_Text.exe "Bonjour à tous les dévellopeurs" "DevMag201310.pdf" /col "Blue" /font "vani.ttf" /Fontsize 32 /ypos 285

Résultat :

DevMag201310.pdf_modified.pdf





Exemple 5 :

Nous allons maintenant appliquer une rotation à notre texte pour cela nous allons le mettre en position /Ypos 200 et lui appliquer
une rotation de 30 Degrés.

Commande : PDF_Add_Text.exe "Bonjour à tous les dévellopeurs" "DevMag201310.pdf" /col "Blue" /font "vani.ttf" /Fontsize 32 /ypos 200 /rot 30

Résultat :

DevMag201310.pdf_modified.pdf




Exemple 6 :

Jusqu'à maintenant nous avons appliqué une transformation seulement sur la première page de notre document PDF.
Nous allons maintenant appliquer une transformation de la page 1 à la page 6.

Commande : PDF_Add_Text.exe "Bonjour à tous les dévellopeurs" "DevMag201310.pdf" /frompage 1 /topage 6

Résultat :

Les 6 premières pages de notre document "DevMag201310.pdf_modified.pdf" ont subit la transformation



Voilà si vous avez des problèmes, des suggestions ou si vous remarquer des bugs, faîtes le savoir....

A+



;;PDF_Add_Text.au3
;;(c) By SachaDee 2014
;;Free for non comercial use

#AutoIt3Wrapper_Change2CUI=y

Global $VERSION = "1.0.1C"


;;;Les couleurs selon tabelle : http://www.mathworks.com/matlabcentral/fileexchange/screenshots/3140/origin…
;;;LES COULEURS POSSIBLES - Red, Green, Yellow, Blue, Brown, White, Orange, Purple, Pink


Local $NbParam
Local $Texte
Local $FichierPDF
Local $FichierSortie
Local $Color

;;Valeurs par défaut des variables
Local $R=0
Local $G=0
Local $B=0
Local $Font="timesbd.ttf"
Local $FontSize=10
Local $Rotate=0
Local $Xpos=5
Local $YPos=290
Local $FromPage=1
Local $ToPage=1

;;Définition des arrays couleurs
Global $Col_Red[5] = ["Red", 255, 0, 0]
Global $Col_Green[5] = ["Green", 0, 130 ,0]
Global $Col_Yellow[5] = ["Yellow", 255, 255, 0]
Global $Col_Blue[5] = ["Blue", 0, 0, 255]
Global $Col_Brown[5] = ["Brown", 165, 40, 41]
Global $Col_White[5] = ["White", 255, 255, 255]
Global $Col_Orange[5] = ["Orange", 255, 121, 0]
Global $Col_Purple[5] = ["Purple", 132, 0, 132]
Global $Col_Pink[5] = ["Pink", 255, 190, 206]

$NbParam=UBound($cmdLine)-1

if $cmdline[0]==1 Then
   if $cmdline[1]=="/ver" Then
      ConsoleWrite("*** PDF_Add_Text ***" & @CRLF&"Version : " & $Version)
      Exit
      EndIf
   if $cmdline[1]=="/?" Then
      _AffHelp()
       Exit
      EndIf

EndIf

if $cmdline[0]==2 Then
   local $Texte = $cmdLine[1]
   local $fichierPDF = $cmdline[2]
   local $FichierSortie = $fichierPDF & "_modified.pdf"
Else
   if $cmdline[0]==3 Then
      local $Texte = $cmdLine[1]
      local $fichierPDF = $cmdline[2]
      local $FichierSortie = $cmdline[3] & ".pdf"
   Else
     if $cmdline[0]>3 Then
        _GetParam($cmdline)
        Else
        ConsoleWrite("*** PDF_Add_Text ***" & @CRLF&"Advertising : [Failing Args]" &@CRLF&"******"&@CRLF& 'Usage : PDF_Add_Text.exe  ["Header Text"]  ["PDF File"] [opt. [OutputFile]]')
        exit (3) ; on set errorlevel à 3 (parametre inexistant
     EndIf
  EndIf

EndIf

If not FileExists($fichierPDF) Then
   ConsoleWrite("*** PDF_Add_Text ***" & @CRLF&"Advertising : [File Not Found] ---> " &$FichierPDF)
   exit (4) ; on set l'errorlevel à 4 Fichier source PDF inexistant
EndIf

local $WshShell = ObjCreate("WScript.Shell")
local $pdf = ObjCreate("pdfforge.pdf.pdf")
If Not IsObj($pdf) Then
    ConsoleWrite("*** PDF_Add_Text ***" & @CRLF&"Advertising : [PDFCREATOR COM NOT FOUND] ---> You have to install PDFCREATOR to run this !!!"
   exit (5) ; on set l'errorlevel à 5 PDFCreator não installé
EndIf

local $pdfText = ObjCreate("pdfforge.pdf.pdfText")

    With $pdfText
       .Text = $texte
        .fillOpacity = 1
        .FontColorRed = $R
        .FontColorGreen = $G
        .FontColorBlue = $B
        .FontName = $Font
        .FontSize = $FontSize
        .Rotation = $Rotate
         .XPosition = $Xpos
        .YPosition = $Ypos
    EndWith

$pdf.AddTextToPDFFile($FichierPDF, $FichierSortie, $FromPage, $ToPage, $pdfText)

ConsoleWrite("// *** PDF_Add_Text " & $Version&" By SachaDee (c) 2014 *** \\")

Func _AffHelp()
ConsoleWrite("*** PDF_Add_Text ***" & @CRLF& "Usage :" & @CRLF &'PDF_Add_Text.exe ["Text"] ["PDF File"] [opt. [/Out:OutputFile]]'&@CRLF& '[opt. [/Col:"Color"]] [opt. [/xpos:Xpos]] [opt. [/ypos:Ypos]]'&@CRLF)
ConsoleWrite('[opt.[/rot:Rotation degree]] [opt. [/Font:"Font.ttf"]][opt. [/FontSize:Fontsize]]'&@CRLF)
ConsoleWrite('[opt. [/frompage:Page Number /topage:Page Number]] [opt. [/img:Image Name]]' & @Crlf & "[/ver] To get actual version" & @Crlf & "Available Color with [/Col] switch :" &@crlf& "   Red" & @crlf& "   Green"&@CRLF& "   Yellow"&@CRLF&"   Blue"&@crlf& "   Brown"&@crlf& "   White"&@crlf&"   Orange"&@CRLF&"   Purple"&@CRLF&"   Pink"&@CRLF)
ConsoleWrite("// *** PDF_Add_Text " & $Version&" By SachaDee (c) 2014 *** \\")
EndFunc

Func _GetParam ($Array)
   $Texte = $Array[1]
   $fichierPDF = $Array[2]
   $FichierSortie = $fichierPDF & "_modified.pdf"
$i=1
   While $i<=UBound($Array)-1
      If $Array[$i]="/out" Then $FichierSortie = $Array[$i+1]
      If $Array[$i]="/Font" Then $Font = $Array[$i+1]
      If $Array[$i]="/FontSize" Then $FontSize = $Array[$i+1]
      ;If $Array[$i]="/Ver" Then ConsoleWrite(" Version : " & $Version)
      If $Array[$i]="/Rot" Then $Rotate = $Array[$i+1]
      If $Array[$i]="/Xpos" Then $Xpos = $Array[$i+1]
      If $Array[$i]="/Ypos" Then $YPos = $Array[$i+1]
      If $Array[$i]="/FromPage" Then $FromPage = $Array[$i+1]
      If $Array[$i]="/ToPage" Then $ToPage = $Array[$i+1]
      If $Array[$i]="/Col" Then
         $Color = $Array[$i+1]
         If $Color="Red" Or $Color="Green" Or $Color="Yellow" or $Color="Blue" or $Color="Brown" or $Color="White" or $Color="Orange" Or $Color="Purple" Or $Color="Pink" Then
            $R = Eval("COL_"&$Color)[2]
            $G = Eval("COL_"&$Color)[3]
            $B = Eval("COL_"&$Color)[4]
         Else
            $R = 0
            $G = 0
            $B = 0
         EndIf
      EndIf
      $i+=1
   WEnd
   EndFunc




Okay



Dernière édition par sachadee le Sam 6 Déc 2014 - 12:25; édité 12 fois

______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [FINAL][AU3][EXE] PDF_Add_Text.exe 
Coucou
les images ont disparu Sad




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [FINAL][AU3][EXE] PDF_Add_Text.exe 
Corrigé !

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [FINAL][AU3][EXE] PDF_Add_Text.exe 
Shocked Surprised super Okay




______________________________________________________
Cordialement,
Hugo, qui adore programmer, jouer à Minecraft, ZT2 et FSX.
Boutons-liens :
Visiter le site web du posteur Skype
Répondre en citant
Message [FINAL][AU3][EXE] PDF_Add_Text.exe 
Nice Job Okay




______________________________________________________
Une question ? N'hésitez pas à me contacter par Message Privé ou via le topique concerné.
Visiter le site web du posteur
Répondre en citant
Message [FINAL][AU3][EXE] PDF_Add_Text.exe 
Merci  Okay

Code source publié sur le premier POST

Enjoy !!!

Wink




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [FINAL][AU3][EXE] PDF_Add_Text.exe 
Je ne vois pas les images ^^ sinon joli Wink




______________________________________________________
Visiter le site web du posteur
Message [FINAL][AU3][EXE] PDF_Add_Text.exe 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch