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 18/11/2008, à 20:40

Кຼزດ

script de conversion récursive ?[presque résolu ^^]

Bonjour,
je dispose d'une collection assez conséquente de livres au format pdf, que je voudrais convertir en .txt pour permettre à mon mp3 de les lire.
Donc, si quelqu'un accepte de m'aider, j'aimerais :
- pouvoir changer de dossier un par un, automatiquement
-éviter d'avoir l'extension .pdf.txt à la fin du fichier
je précise que je ne sais pas me servir de find, qui, je crois, pourrait être pratique dans mon cas .

j'ai commencé un truc du genre :

#!/bin/bash

cd "/home/mathieui/Documents/E-books/"
for filename in *.pdf
do
	pdftotext "${filename}" "${filename}.txt"
done
exit 0

mais je sais pas trop, donc si quelqu'un peut m'aider....

Dernière modification par mathieuI (Le 19/11/2008, à 15:22)


dou

Hors ligne

#2 Le 18/11/2008, à 21:54

Respawner

Re : script de conversion récursive ?[presque résolu ^^]

L'idée c'est ça, j'ai pas eu le temps de tester. Mais ça peut peut-être t'aider.

#!/bin/bash

pdf2text() {
	for filename in $1/*; do
		if [ -d ${filename} ]; then
		#	echo "Entree dans ${filename}"
			pdf2text ${filename}
		elif [ "application/pdf" = `file ${filename} -b --mime-type` ]; then
			echo "Convertion de ${filename}"
			pdftotext "${filename}" "${filename%pdf}txt"
		fi
	done
}

pdf2text $1
exit 0

Edit: Ca a l'air de fonctionner ;-)

Dernière modification par Respawner (Le 18/11/2008, à 22:18)

Hors ligne

#3 Le 18/11/2008, à 22:14

Кຼزດ

Re : script de conversion récursive ?[presque résolu ^^]

./pdf.sh: line 14: [: trop d'arguments

hmm , mais sinon ça m'a l'air d'être presque ça smile


dou

Hors ligne

#4 Le 18/11/2008, à 22:16

Respawner

Re : script de conversion récursive ?[presque résolu ^^]

Hop matte plus haut j'ai corrigé ^^

Hors ligne

#5 Le 18/11/2008, à 22:29

Кຼزດ

Re : script de conversion récursive ?[presque résolu ^^]

./pdf.sh: line 8: [: trop d'arguments

désolé...
Mais sinon je place le script dans le dossier de mon choix, ou j'ajoute cd /répertoire/ au début ?


dou

Hors ligne

#6 Le 18/11/2008, à 22:44

Respawner

Re : script de conversion récursive ?[presque résolu ^^]

La le script s'utile comme ceci => ./pdf.sh /le/repertoire/

#!/bin/bash

pdf2text() {
	for filename in $1/*; do
		if [ -d ${filename} ]; then
			echo "Entree dans ${filename}"
			pdf2text ${filename}
		elif [ "application/pdf" = `file ${filename} -b --mime-type` ]; then
			echo "Convertion de ${filename}"
			pdftotext "${filename}" "${filename%pdf}txt"
			sleep 2
		fi
	done
}

pdf2text $1
exit 0

Je te refile le code avec les messages de debug que j'ai utilisé (chez moi ça fonctionne).

Hors ligne

#7 Le 18/11/2008, à 22:54

Кຼزດ

Re : script de conversion récursive ?[presque résolu ^^]

encore une fois :

./pdf.sh ~/Documents/E-books
Entree dans /home/mathieui/Documents/E-books//Feist
./pdf.sh: line 5: [: trop d'arguments

tongue
C'est peut-être à cause de la taille du nom des fichiers : exemple :

/home/mathieui/Documents/E-books/Feist/Feist, Raymond E - Legends Of The Riftwar 01 - Honoured Enemy.pdf

dou

Hors ligne

#8 Le 18/11/2008, à 23:12

Alain.g

Re : script de conversion récursive ?[presque résolu ^^]

Bonsoir

avec find

#!/bin/bash
find '/home/mathieui/Documents/E-books' -iname '*.pdf' | while read -r i
do
[ -f "${i%.*}.txt" ] || pdftotext "${i}" "${i%.*}.txt"
done

Dernière modification par Alain.g (Le 18/11/2008, à 23:21)


Xubuntu Karmic !

Hors ligne

#9 Le 19/11/2008, à 11:02

alexduf

Re : script de conversion récursive ?[presque résolu ^^]

en fait le "trop peu d'argument" vient certainement de ça :

if [ -d ${filename} ]; then

à corriger en ça :

if [ -d "${filename}" ]; then

Hors ligne

#10 Le 19/11/2008, à 15:21

Кຼزດ

Re : script de conversion récursive ?[presque résolu ^^]

La solution d'Alain.g marche, merci smile .
@alexduf : j'avais essayé aussi, il y avait plus de message d'erreur mais ça convertissait rien ....
Bon, je mets en résolu, mais si quelqu'un a une solution pour virer les caractères inconnus de la même manière (qui correspondent , je crois à des tabulations qui sont mal interprétées ) et le petit

Y

Y

Y

PD

F T ra n sf o

rm

Y

PD

F T ra n sf o

rm

er

er

ABB

ABB

y

bu

bu C lic k he re to
w

y
w.
A B B Y Y.c

2.0

2.0

C

lic

k

he

re
om

to

w

w.

A B B Y Y.c

om

w

w

qui correspond à une image implantée par un convertisseur pdf en ligne et qui est à chaque en-tête de page ?
Sinon ça marche big_smile
edit : Hs, mais personne connait un logiciel qui convertit les .lit ou .rtf en txt ?

Dernière modification par mathieuI (Le 19/11/2008, à 15:42)


dou

Hors ligne