cancel
Showing results for 
Search instead for 
Did you mean: 

Problème (insoluble ?) pour transformer TIF ou PDF en texte

chaloupe
Champ in-the-making
Champ in-the-making
Bonjour à tous,

Sachez tout d'abord que je suis tout nouveau sur Alfresco et que je galère de manière insoupçonnable depuis 15 jours avant que je me décide à poster ici !
Ma config :
Ubuntu 10.04 LTS sous VMware ESXi 4.0
Alfresco 3.4-d

Je cherche à convertir mes PDF ou TIF (qui proviennent d'un copieur réseau) en format texte (au pire…mais ça suffira). Je pense avoir TOUT fait ! : (dans le désordre)
1. Installation de tous les outils nécessaires (moult installations pour avoir un truc clean qui passe comme un charme aux logs) : tesseract, cuneiform, imagemagick, les lib qui vont avec ;
2. Réalisation des bashes qui me font le travail (PDF images en PDF textes, TIF en PDF) : tout fonctionne nickel en ligne de commande ;
3. Intégration dans Alfresco (tous les fichiers de …/extension passent l'init sans problème et mes "transformers" sont bien reconnus par l'application) ;

Là où je commence à pester :
1. La conversion des PDF en texte (normalement native ?) me renvoie des fichiers vides ! (ça c'est au boulot, chez moi, sur une Ubuntu 10.10, ça fonctionne sans problème) ;
2. Impossible de faire fonctionner mes scripts bash intégrés dans Alfresco (alors qu'ils fonctionnent du tonner en ligne de commande), y'a toujous un truc qui lui plait pas !!! (le dernier étant "ImageMagick: no decode delegate for this image format", tiff en l'occurrence)

Je ne sais plus où donner de la tête (et surtout pour le PDF en texte qui me suffiraient dans l'immédiat, et vu que ça fonctionne très bien à la maison !)

J'ai tout positionné les variables pour loguer ce qui se passe, mais rien n'apparaît lors de la transformation PDF -> TXT et j'ai toujours une erreur de librairie TIFF à l'exécution du script sous Alfresco (alors que, je le rappelle, il fonctionne parfaitement en ligne de commande).

Pitié, sauvez moi, je ne sais plus que faire…
10 REPLIES 10

chaloupe
Champ in-the-making
Champ in-the-making
CA MARCHE !!

Vous pouvez pas savoir comme je suis content  :mrgreen:
Il faut que je remercie plus particulièrement xsudan qui m'a mis sur la bonne voie. J'ai suivi son lien et suis tombé sur un fichier de config que j'ai récupéré et adapté. Je ne sais pas trop pourquoi mais, avec celui ci, ça fonctionne  :?

J'ai mis le "pas bon" dans mon second post. Voici celui qui va bien :
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>
    <bean id="transformer.worker.tiff2rtf" class="org.alfresco.repo.content.transform.RuntimeExecutableContentTransformerWorker">
        <property name="mimetypeService">
            <ref bean="mimetypeService" />
        </property>
        <property name="checkCommand">
            <bean class="org.alfresco.util.exec.RuntimeExec">
                <property name="commandsAndArguments">
                    <map>
                        <entry key=".*">
                            <list>
                                <value>/usr/local/bin/cuneiform</value>
                            </list>
                        </entry>
                    </map>
                </property>
            </bean>
        </property>
        <property name="transformCommand">
            <bean class="org.alfresco.util.exec.RuntimeExec">
                <property name="commandsAndArguments">
                    <map>
                        <entry key=".*">
                            <list>
                                <value>/usr/local/bin/cuneiform</value>
                                <value>-l</value>
                                <value>fra</value>
                                <value>-f</value>
                                <value>rtf</value>
                                <value>-o</value>
                                <value>${target}</value>
                                <value>${source}</value>
                            </list>
                        </entry>
                    </map>
                </property>
                <property name="errorCodes">
                    <value>1,2</value>
                </property>
            </bean>
        </property>
        <property name="explicitTransformations">
            <list>
                <bean class="org.alfresco.repo.content.transform.ExplictTransformationDetails">
                    <property name="sourceMimetype"><value>image/tiff</value></property>
                    <property name="targetMimetype"><value>application/rtf</value></property>
                </bean>
            </list>
        </property>
    </bean>
    <bean id="transformer.worker.tiff2txt" class="org.alfresco.repo.content.transform.RuntimeExecutableContentTransformerWorker">
        <property name="mimetypeService">
            <ref bean="mimetypeService" />
        </property>
        <property name="checkCommand">
            <bean class="org.alfresco.util.exec.RuntimeExec">
                <property name="commandsAndArguments">
                    <map>
                        <entry key=".*">
                            <list>
                                <value>/usr/local/bin/cuneiform</value>
                            </list>
                        </entry>
                    </map>
                </property>
            </bean>
        </property>
        <property name="transformCommand">
            <bean class="org.alfresco.util.exec.RuntimeExec">
                <property name="commandsAndArguments">
                    <map>
                        <entry key=".*">
                            <list>
                                <value>/usr/local/bin/cuneiform</value>
                                <value>-l</value>
                                <value>fra</value>
                                <value>-f</value>
                                <value>text</value>
                                <value>-o</value>
                                <value>${target}</value>
                                <value>${source}</value>
                            </list>
                        </entry>
                    </map>
                </property>
                <property name="errorCodes">
                    <value>1,2</value>
                </property>
            </bean>
        </property>
        <property name="explicitTransformations">
            <list>
                <bean class="org.alfresco.repo.content.transform.ExplictTransformationDetails">
                    <property name="sourceMimetype"><value>image/tiff</value></property>
                    <property name="targetMimetype"><value>text/plain</value></property>
                </bean>
            </list>
        </property>
    </bean>
    <bean id="transformer.tiff2rtf" class="org.alfresco.repo.content.transform.ProxyContentTransformer" parent="baseContentTransformer">
        <property name="worker">
            <ref bean="transformer.worker.tiff2rtf" />
        </property>
    </bean>
    <bean id="transformer.tiff2txt" class="org.alfresco.repo.content.transform.ProxyContentTransformer" parent="baseContentTransformer">
        <property name="worker">
            <ref bean="transformer.worker.tiff2txt" />
        </property>
    </bean>
</beans>
Bon, ça fonctionne bien avec cuneiform, mais pas avec un script plus compliqué qui créé des fichiers temporaires (pdfocr que j'ai trouvé sur le net en l'occurrence)…c'est un début !

Voilà, si ça peut aider…
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.