2011-12-08 3 views
0

Je tente de convertir une image svg en pdf en utilisant la boîte à outils Batik SVG sur Ubuntu-11.10. J'ai installé Batik 1.7 et Fop 0.95. Lorsque vous exécutez ce qui suit dans le terminal:Conversion de svg en pdf avec Batik ne fonctionnant pas sous Ubuntu 11.10

java -jar /usr/java/share/batik-rasterizer.jar -m application/pdf /home/user/Batik_Test/colors.svg 
-scriptSecurityOff 

Je reçois l'erreur suivante:

Erreur lors de la conversion de fichiers:
    Erreur: ne peut pas accéder transcodeur pour l'image de type application/pdf

La seule chose que j'ai remarquée était que le fichier 'pdf-transcoders.jar' n'était pas sur la machine donc j'ai ajouté cela à/usr/share/java au hasard c'était le problème mais ça n'a pas faire une différence.

J'apprécierais n'importe quelle aide de n'importe qui là-bas avec l'expérience utilisant Batik sur Ubuntu. Qu'est-ce que je rate?

-J

Répondre

1

si vous avez la java exécutable batik-rasterizer.jar dans /usr/java/share/, vous pouvez créer un répertoire nommé lib dans ce même chemin (/usr/java/share/)

afin d'avoir

/usr/java/share/lib

dans ce dernier dir (lib), vous copiez le pdf-transcoder.jar afin d'avoir

/usr/java/share/lib/pdf-transcoder.jar

de toute façon, vous avez besoin également d'autres libs en plus de cela, donc, il vaut mieux pour vous, copiez le contenu tout de lib contenu dans fichier zip distribution binaire batik

à

/usr/java/share/lib/

seulement * contenu *, pas lib, si vous voulez copier le toute lib à la fois, vous devez mettre en

/usr/java/share/

+0

Merci Dingo! Je vais essayer et vous faire savoir comment cela fonctionne. –

+0

OK, Ma copie de batik-rasterizer.jar est dans/usr/share/java donc j'ai ajouté un dossier intitulé 'lib' et j'ai mis tous les fichiers de lib dans batik1.7 mais j'ai toujours la même erreur. –

+0

s'il vous plaît, décompressez ce fichier que vous avez téléchargé (http://mirror.nohup.it/apache//xmlgraphics/batik/batik-1.7.zip) et lancez batik-rasterizer à partir de ce même dossier. J'ai utilisé avec succès de cette manière – Dingo

0

Si vous exécutez Batik de fedora en utilisant le.fichier jar c'est assez douloureux à cause du java qui ignore le drapeau -classpath. Je suppose que le batik dans/usr/share/java Sélectionnez l'emplacement en fonction de votre système Une solution pourrait être la suivante: créer un répertoire de zéro (je suppose que vous êtes super-utilisateur, de toute façon, vous pouvez toujours sudo commandes)

mkdir scratch 
cd scratch 
jar -xf /usr/share/java/batik-rasterizer.jar 

Cette sortie le contenu du fichier jar dans zéro, puis créez un fichier MANIFEST.MF ou prendre la sortie un de la décharge

cp META-INF/MANIFEST.MF . 

modifier maintenant le fichier MANIFEST.MF (j'aime utiliser vi, toute utilisation leur préféré)

vi MANIFEST.MF 

Ajouter une classe Chemin: ligne dans le MANIFEST.MF comme par exemple:

Class-Path: batik-all.jar xmlgraphics-commons.jar xml-commons-apis-ext.jar pdf-transcoder.jar avalon-framework.jar avalon-framework-api.jar apache-commons-logging.jar apache-commons-io.jar 

Ensuite, fermez le fichier et recréer le fichier jar

jar cmf MANIFEST.MF /usr/share/java/batik-rasterizer.jar org/* 

Inclure tous jar batik a classes imbriquées

Ensuite, vous pouvez l'utiliser! Par exemple, et c'est tout!

Questions connexes