Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/12/2010, à 01:21

Gari

[Résolu] Décaler les marges sur un PDF

Bonjour à tous,

Malgré quelques recherches sur le forum et sur Internet, je n'arrive pas à trouver réponse à mes questions.

Je pose le contexte : je dispose d'un fichier PDF de 250 pages (125 feuilles recto-verso). Les marges de ce fichier pdf sont de 1cm à gauche et 1cm à droite (à vue de nez).
Je souhaite imprimer ce fichier puis le relier à l'aide d'un système qui "mange" le premier centimètre.

Le problème est donc que le système de reliure se retrouve à ras du début des lignes écrites. Ce n'est pas très beau, et ça empire quand on tourne les pages : au bout d'un moment, même le premier caractère de début de ligne disparait à cause de la reliure et de la masse de pages qui entoure.

Je souhaite ardemment garder ma méthode de reliure : il n'est pas question de passer au classeur avec des feuilles plastiques wink

La solution que j'envisage : décaler la zone imprimée de quelques mm (3, par exemple). Il s'agirait d'une simple translation : les marges passeraient de (10mm à gauche et 10mm à droite) à (13mm à gauche et 7mm à droite pour les pages impaires et 7mm à gauche et 13mm à droite pour les pages paires). 

Est-ce que quelqu'un saurait faire ce genre de manipulation ? J'aimerais, si possible, obtenir un autre PDF contenant le résultat (ce qui permet de l'imprimer ensuite à volonté). Si cette solution n'es pas possible, je suis preneur d'une méthode pour imprimer le PDF d'origine en modifiant à la volée les positions des marges. 

Avec mes remerciements,

Gari.

Dernière modification par Gari (Le 23/12/2010, à 12:18)

Hors ligne

#2 Le 23/12/2010, à 08:52

Brunod

Re : [Résolu] Décaler les marges sur un PDF

Salut,
Regarde vers pdfedit, translation de la page.
Après un coup d'œil rapide, je pense que ça s'appliquera à toutes les pages. Si ton doc est recto/verso, je ne pense pas que ça puisse se faire en alternance une page sur deux, du moins pas directement.
Donc dédouble ton doc, Glisse vers la droite sur 1, vers la gauche sur 2c scinde les pages puis fusionne les bonnes 1 sur 2 avec pdftk (pdfsam).
wink
Tiens-nous au courant smile

Dernière modification par Brunod (Le 23/12/2010, à 08:53)


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne

#3 Le 23/12/2010, à 12:17

Gari

Re : [Résolu] Décaler les marges sur un PDF

Bonjour Brunod,

Après téléchargement de pdfedit et essais, j'ai effectivement trouvé ce que je voulais. Sur la version très bien traduite (!) dont je dispose, il faut :
- Ouvrir le pdf
- Aller dans Page / Définir la matrice de transformation de la page
- Cocher la case "traduire (déplacement) page" (oui, ici, "traduire" est la traduction de "translation")
- Aller sur l'onglet "page de traduction" (comprendre : "page de translation")
- Mettre un nombre dans le champ "tx". Je n'ai pas réellement compris comment définir ce nombre mathématiquement, aussi y suis-allé un peu au hasard.

Inconvénient : on ne peut faire cela que sur une page, ou sur un intervalle de page consécutives.

Ayant réalisé qu'on pouvait scripter un peu, je me suis penché sur l'outil de scripting de pdfEdit.  Je dois dire que je suis complètement abasourdi par la simplicité à générer ses propres scripts... Il y a une heure, je ne connaissais pas pdfEdit et j'ai créé le petit script qui me permet de faire ce que je veux !

Le voilà :

/** Permet de décaler les marges pour augmenter la place pour la reliure
    Décale les pages impaires de "décalage" unités vers la droite
        et les pages   paires de "décalage" unités vers la gauche */
function AugmenterMargeReliure(decalage) {
 pages=document.getPageCount();
 for (i=1;i<=pages;i++) {
  pg=document.getPage(i);
  pg.setTransformMatrix([1, 0, 0, 1, decalage, 0]);
  decalage = -decalage;
 }
 go();
}

/** Callback when menu is selected to change the margins (default is "decallage = 10") */
function AugmenterMargeReliure_menu() {
 AugmenterMargeReliure(10);
}

createMenuItem('toolsmenu','augmenter_marge_reliure',tr('Décaler les marges pour une reliure'),'AugmenterMargeReliure_menu()','','page_edit_metrics.png',['need_page']);

Ce code est à mettre dans le fichier ~/.pdfEdit/scripts/augmentermargereliure.qs

Au lancement de pdfEdit, un nouveau menu apparait : "Outils / Décaler les marges pour une reliure". Cliquer dessus permet de décaler les marges des pages impaires de 10 unités vers la droite ; vers la gauche pour les pages paires.

Je ne sais pas trop à quoi correspondent les "unités". Si "10" n'est pas bon, qu'on veut 31 par exemple, on peut aussi directement écrire dans la petite invite de commande du logiciel :

AugmenterMargeReliure(31)

J'aurais aussi pu, il me semble, faire ouvrir une fenêtre de dialogue pour demander à l'utilisateur de combien il veut faire le décalage, mais le script me convient en l'état, donc je laisse le travail à un autre smile

Bref, mission accomplie avec grand succès ! Merci Brunod smile

Dernière modification par Gari (Le 23/12/2010, à 12:17)

Hors ligne

#4 Le 23/12/2010, à 13:17

Brunod

Re : [Résolu] Décaler les marges sur un PDF

Merci pour tes explications aussi, et Joyeux Nowel wink
BD


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne

#5 Le 16/08/2014, à 11:46

Bruno93200

Re : [Résolu] Décaler les marges sur un PDF

bonjour,
j'aimerais bien me servir du script créé par Gari pour décaler les marges d'un doc pdf, mais étant sous Linux 14.04, je ne trouve pas pdfedit.
Est-il disponible quelque-part ?
Merci de votre aide.
Bruno93200

Hors ligne

#6 Le 16/08/2014, à 13:30

Brunod

Re : [Résolu] Décaler les marges sur un PDF

Salut Bruno,
Ici si il n'est pas dans les paquets :
http://sourceforge.net/projects/pdfedit/
BrunoD


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne

#7 Le 18/08/2014, à 21:03

Bruno93200

Re : [Résolu] Décaler les marges sur un PDF

merci

Hors ligne

#8 Le 18/08/2014, à 21:26

Bruno93200

Re : [Résolu] Décaler les marges sur un PDF

j'ai décompressé le tar.bz2 mais après, je ne sais pas comment m'en débrouiller
le readme s'adresse à des "évolués" en informatique !
est-ce pdfedit ne se trouve pas quelque part dans un dépôt ?
et d'ailleurs, comment faire pour savoir si un logiciel se trouve dans un dépôt ?
merci de votre aide
Bruno93200

Hors ligne

#9 Le 19/08/2014, à 10:16

bishop

Re : [Résolu] Décaler les marges sur un PDF

Bruno93200 !
Il n'est pas possible d'installer PDFedit sur Ubuntu 14.04 car les dépendances ne peuvent être satisfaites. Il est réclamé des paquets en QT3 qui ne sont plus proposés dans les dépôts Ubuntu.


La plus grande surprise que puisse faire un con c'est de faire une pause.

Hors ligne

#10 Le 21/08/2014, à 08:57

Bruno93200

Re : [Résolu] Décaler les marges sur un PDF

moi qui croyais que les nouvelles versions offraient toujours un plus ! me voilà déniaisé...

Hors ligne

#11 Le 21/08/2014, à 14:03

bishop

Re : [Résolu] Décaler les marges sur un PDF

Je ne sais pas si PDF Split and Merge peut faire ce que tu demandes. Tu peux toujours essayer, il n'y a pas d'installation.
Télécharge pdfsam-2.2.4-out.zip, décompresse l'archive zip pdfsam-2.2.4-out.zip dans ton dossier personnel.
Dans le dossier pdfsam-2.2.4-out tu fais un clique droit sur pdfsam-2.2.4.jar => Ouvrir avec Java Runtime (ça dépend quel JAVA tu as installé) et c'est parti...
Site officiel PDF Split and Merge


Sinon tu peux visiter la page PDF dans la documentation ubuntu-fr où tu trouveras de nombreux logiciels.

Dernière modification par bishop (Le 21/08/2014, à 14:05)


La plus grande surprise que puisse faire un con c'est de faire une pause.

Hors ligne