convertir des documents en pdf - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 11-10-2004 à 15:44:01
tu peux le faire à partir d'OpenOffice par exemple
soit directement depuis la barre d'outils, soit en fesant imprimer dans un fichier pdf
edit: j'avais pas fait gaffe que tu souhaitais le faire ne ligne de commande, là je sait pas mais j'imagine qu'il est possible de faire une macro avec OO
Marsh Posté le 11-10-2004 à 15:45:54
smea> ok mais je pense qu'il cherche un moyen pour scripter tout ça en ligne de commande
J'avais déjà regardé, et j'avais pas trouvé (peut-être pas bien cherché )
Ça m'intéresse toujours
Marsh Posté le 11-10-2004 à 15:49:30
j'viens de me souvenir que tu peux le faire avec la commande a2ps
Citation : [peshane@smeamdk10 peshane]$ a2ps --help |
Marsh Posté le 11-10-2004 à 15:50:02
salut,
ouais, en fait, je voudrais scripter tout ca, c'est pour cela que je demandais s'il existait un script ou un petit soft.
J'ai aussi bien cherché avant de poser ma question mais j'ai rien trouvé!
Tenez moi au courant si vous avez du neuf.
Merci
++
Marsh Posté le 11-10-2004 à 15:56:26
Je pense avoir trouvé
une macro OOo, qui a l'air d'être utilisable en ligne de commande
http://www.oooconv.de/engine/HowToConv.php?lang=fr
Marsh Posté le 11-10-2004 à 16:10:38
héhé, on se rapproche ...
http://www.oooforum.org/forum/viewtopic.php?t=3772
Marsh Posté le 11-10-2004 à 16:46:26
Bon alors, à partir du dernier lien que j'ai donné, voilà la démarche :
Sub ConvertWordToPDF( cFile ) |
(vous pouvez supprimer le squelette par défaut (sub main ...)
/usr/lib/openoffice/program/soffice "macro:///Convertisseur.Module1.ConvertWordToPDF($HOME/test.doc)" |
Reste plus qu'à faire des scripts (et des servicesmenus pour KDE) pour intégrer tout ça dans notre environnement favori
Marsh Posté le 11-10-2004 à 16:58:24
ya pas sans passer par oo??? genre pour une debian en mode text !!
Marsh Posté le 11-10-2004 à 17:02:15
petitefonc a écrit : ya pas sans passer par oo??? genre pour une debian en mode text !! |
Si tu veux éviter OOo, va voir du côté de wvware : http://wvware.sourceforge.net/
Mais bon, côté rendu, je sais pas ce que ça donne
Note, que la macro OOo doit passer en mode texte
Puisque une fois, la macro écrite, l'appel ne nécessite pas l'ouverture de fenêtre (je pense qu'il faut utiliser l'option --invisible ...)
Marsh Posté le 11-10-2004 à 17:02:34
aparement il y a "cl-pdf" mais j'ai jamais testé
Marsh Posté le 11-10-2004 à 17:04:43
Je confirme.
Avec l'option -invisible (un seul tiret ), aucune fenêtre donc pas de X et autres cochoncetés nécessaires
Marsh Posté le 11-10-2004 à 17:08:49
je n'ai meme pas de serveur X d'installé et g pas l'intention d'en installer 1 ...
yavais pas une solution avec samba ( genre pdf printer ?? )
Marsh Posté le 11-10-2004 à 17:15:35
salut,
moi aussi, je n'ai pas de serveur X d'installer et je ne peux pas en installer 1, sinon, c clair que la solution avec OOo est bien pratique...
Marsh Posté le 11-10-2004 à 17:15:48
ben oui, mais le pb, c'est que ça ça prends quoi comme format de fichier en entrée cette imprimante
Marsh Posté le 11-10-2004 à 17:18:55
ben ça ^rend des données brut!!!
tu crois pas ke ton imprimante a tout les format dans ça petite memoire! c le PC ki converti le format en donné brutes vers le port imprimante..... d'où le PDF printer de samba!!!
mais jec plus comment ça fonctionne :-(
merci
Marsh Posté le 11-10-2004 à 19:02:04
petitefonc a écrit : ya pas un print-pdf ki est utilisé avec samba ??? |
j'ai trouvé ca : http://www.bashprofile.net/article.php3?id_article=119
Marsh Posté le 11-10-2004 à 19:05:52
ohan a écrit : j'ai trouvé ca : http://www.bashprofile.net/article.php3?id_article=119 |
et aussi ca : http://higgins.free.fr/doc/PDF-Ser [...] html#ss3.2
Marsh Posté le 11-10-2004 à 19:06:05
voir la fin pour Samba :
http://forum.hardware.fr/forum2.ph [...] 0&subcat=0
Marsh Posté le 11-10-2004 à 21:50:07
bobuse a écrit : Bon alors, à partir du dernier lien que j'ai donné, voilà la démarche :
|
Salut
j'ai une erreur lorsque je lance la commande
/usr/lib/openoffice/program/soffice "macro:///Convertisseur.Module1.ConvertWordToPDF($HOME/test.doc)"
Runtime Error Basic
oDoc.storeToURL( cURL, Array(MakePropertyValue( "FilterName", "writer_pdf_Export" ),) ==> Variable d'objet non paramétrée
as tu une idée ?
merci
a+
el liberator
Marsh Posté le 11-10-2004 à 21:54:50
Bon alors, à partir du dernier lien que j'ai donné, voilà la démarche :
Sub ConvertWordToPDF( cFile ) |
(vous pouvez supprimer le squelette par défaut (sub main ...)
/usr/lib/openoffice/program/soffice "macro:///Convertisseur.Module1.ConvertWordToPDF($HOME/test.doc)" |
Reste plus qu'à faire des scripts (et des servicesmenus pour KDE) pour intégrer tout ça dans notre environnement favori
Salut
j'ai une erreur au lancement de la commande :
/usr/lib/openoffice/program/soffice "macro:///Convertisseur.Module1.ConvertWordToPDF($HOME/test.doc)"
Runtime Erreur Basic
oDoc.storeToURL( cURL, Array(MakePropertyValue( "FilterName", "writer_pdf_Export" ),)
Variable d'objet non Paramétrée
as tu une idée ?
merci
a+
el liberator
Marsh Posté le 12-10-2004 à 09:16:03
ohan> Je comprends pas tout
Ta question de départ était de convertir des sxw en pdf en ligne de commande. L'imprimante samba, je vois pas trop le rapport
el liberator> As-tu bien un fichier test.doc dans ton repertoire personnel ?
Marsh Posté le 13-10-2004 à 15:40:26
Effectivement, pour convertir du DOC en PDF, OOo est probablement la meilleure solution.
Mais le fait qu'avec l'option "-invisible", OOo n'ouvre pas de fenêtre, ne veut pas dire qu'il ne se connecte pas au serveur X. Typiquement, il en a besoin pour tout un tas de choses ennuyantes, comme accéder aux fontes, etc...
Donc la ligne de commande donnée marche bien dans une fenêtre X, mais pas dans un script système ou en mode console.
Pour contourner ce problème, il suffit d'installer le serveur virtuel xvfb (X Virtual Framebuffer). Sous Debian, le paquet s'appelle xvfb, sous SuSE, c'est xextra. Ensuite, on lance :
xvfb-run ooffice "macro:///Convertisseur.Module1.ConvertWordToPDF($HOME/test.doc)"' |
ça mouline un peu (quand même presque 6 secondes pour un Hello World sur un Athlon XP et tout dans le cache disque), mais ça devrait marcher
Attention toutefois à installer la macro pour l'utilisateur qui exécutera le script (dans ~/.openoffice/<version>/user/basic).
Marsh Posté le 13-10-2004 à 16:41:56
Ha d'accord ! Merci pour la précision et la solution
Cependant, la solution qui utilise X peut tout de même étre scripter en mode console
Marsh Posté le 13-10-2004 à 20:35:08
bobuse a écrit : ohan> Je comprends pas tout |
Salut
effectivement mon fichier n'était pas dans mon home
mais maintenant j'ai un Segmentation fault lorsque je lance
la macro
a+
el liberator
Marsh Posté le 11-12-2004 à 16:10:27
J'ai moi aussi un nombre important (+-1000) de .doc a convertir en pdf.
J'ai essayé la solution avec open office mais il y a au moins un document qui n'est pas passé.
Toujours avec open office j'ai essayé les convertions suivantes :
- imprimer dans un fichier en PostScript
- convertir en pdf avec ps2pdf
La convertion fonctionne; mais j'ai une erreure lors de la fermeture du document j'ai un message controleur disagre (très bref), puis ooffice se termine par Segmentation fault.
Lors du test de la macro pas à pas tout est OK.
Quelqu'un peut-il m'indiquer où est le problème ?
la macro :
Sub ConvertWordToPS ()
dim oDoc as object
dim document as object
dim dispatcher as object
cFile = "/home/alain/tmp/3.DOC"
cURL = ConvertToURL (cFile)
' Open the document.
' Just blindly assume that the document is of a type that OOo will
' correctly recognize and open -- without specifying an import filter.
Dim args1(0) As New com.sun.star.beans.PropertyValue
args1(0).Name = "Hidden"
args1(0).Value = True
oDoc = StarDesktop.loadComponentFromURL (cURL, "_blank", 0, args1())
' document = oDoc.CurrentController.Frame
cFile = Left (cFile, Len (cFile) - 4) + ".ps"
cURL = ConvertToURL (cFile)
'Voulez vous choisir une imprimante particulire ?
Dim mPrintopts1(0) As New com.sun.star.beans.PropertyValue
Dim mPrinter(1) As New com.sun.star.beans.PropertyValue
mPrinter(0).Name = "Name"
mPrinter(0).value = "Generic PostScript output (distillable)"
mPrinter(1).Name = "PrinterFormat"
mPrinter(1).Value = "A4"
mPrintopts1(0).Name = "FileName"
mPrintopts1(0).Value = cFile
oDoc.SetPrinter (mPrinter())
'Pour imprimer simplement les documents, faire ceci :
oDoc.Print(mPrintopts1())
'Enregistre en HTML
cFile = Left (cFile, Len (cFile) - 3) + ".html"
cURL = ConvertToURL (cFile)
Dim args2(0) As New com.sun.star.beans.PropertyValue
args2(0).Name = "FilterName"
args2(0).Value = "HTML (StarWriter)"
oDoc.StoreAsURL (cURL, args2())
oDoc.setModified (False)
oDoc.close (True)
End Sub
p.s. : Bien qu'elle s'appelle ConvertWordToPS la macro converti également le document en html.
Marsh Posté le 24-02-2005 à 20:18:13
moi ce que je recherche et que je n'ai pas trouvé, c'est un moyen d'augmenter le degré de compression en pdf.
Par exemple, j'ai un fichier bourré d'images volumineuses, et je voudrais que ça compresse en même temps le degré de résolution de images.
Marsh Posté le 24-02-2005 à 20:22:56
Nelyot Tchagui a écrit : moi ce que je recherche et que je n'ai pas trouvé, c'est un moyen d'augmenter le degré de compression en pdf. |
imprime dans un fichier avec une mauvaise qualité (75 dpi), puis ps2pdf ?
Nâe Ryo Tchagui ?
Marsh Posté le 24-02-2005 à 20:43:59
je vois pas comment imprimer "dans un fichier".
J'ai mon .ps qui fait 187Mo; quelle commmande pour l''imprimer en mauvaise qualité?
Marsh Posté le 24-02-2005 à 21:41:52
quel est le format du document au départ ?
ce que je te propose, et qui fait gagner des pouiemes, c'est de réduire la taille du .ps, en imprimant en basse qualité (dépend du soft).
Marsh Posté le 24-02-2005 à 22:41:36
en fait j'avais un pdf que j'ai mis en ps et que je voudrais mettre en pdf mais plus petit que le premier. Je me demande comment imprimer basse qualité (je veux bien utiliser un autre soft)
Marsh Posté le 24-02-2005 à 22:48:36
et tu n'a pas le fichier source qui a permis de générer ce pdf ?
Marsh Posté le 24-02-2005 à 22:53:22
ben si mais c'est un fichier publisher, je crois pas que ce soit possible d'ouvrir le moindre .pub sous linux.
Marsh Posté le 24-02-2005 à 22:58:18
Nelyot Tchagui a écrit : ben si mais c'est un fichier publisher, je crois pas que ce soit possible d'ouvrir le moindre .pub sous linux. |
OOo le fait pas ?
Marsh Posté le 11-10-2004 à 15:42:33
Bonjour,
est ce qu'il existe un petit soft ou script qui converti des .doc ou des .sxw en pdf via la ligne de commande.
Merci pour vos infos
++