Question

J'ai besoin de pouvoir autoriser les utilisateurs à exporter leurs fichiers .doc (qu'ils téléchargent) vers différents formats. J'ai commencé à utiliser OO SDK et j'ai également configuré des filtres personnalisés à l'aide de XSLT. Tout fonctionne bien et je suis capable d’exporter des documents Word au format pdf, etc.

Cependant, je souhaite utiliser ce service en tant que service Web. Je souhaite exécuter ce service de conversion sur un nœud dédié, afin que tous les téléchargements de fichiers effectués par des utilisateurs souhaitant convertir leur document atteignent ce nœud dédié. Mon application web est basée sur PHP. Quelle est la meilleure façon d'effectuer la conversion à l'aide de OO SDK? Je devrai également stocker le fichier résultant dans la base de données.

Dois-je exécuter plusieurs instances de OO et alimenter chaque fichier à convertir en une instance spécifique? Et dois-je écrire un serveur personnalisé pour gérer cela, car je ne sais pas si OO est multithread. Tout conseil grandement apprécié.

Était-ce utile?

La solution

Avez-vous envisagé d'utiliser JODConverter ? Il fait tout le travail lourd pour vous.

Autres conseils

À l’aide des dll cli, essayez avec le code suivant

public conversion()
{
        unoidl.com.sun.star.uno.XComponentContext localContext =uno.util.Bootstrap.bootstrap();

        unoidl.com.sun.star.lang.XMultiServiceFactory multiServiceFactory =(unoidl.com.sun.star.lang.XMultiServiceFactory)localContext.getServiceManager();

        XComponentLoader componentLoader =(XComponentLoader)multiServiceFactory.createInstance("com.sun.star.frame.Desktop");

        XComponent xComponent = componentLoader.loadComponentFromURL(PathConverter(FileName1),"_blank", 0,new PropertyValue[] {MakePropertyValue("Hidden", true)});

        unoidl.com.sun.star.beans.PropertyValue [] propertyValues;
        propertyValues = new unoidl.com.sun.star.beans.PropertyValue[2];
        // Setting the flag for overwriting
        propertyValues[0] = new unoidl.com.sun.star.beans.PropertyValue();
        propertyValues[0].Name = "Overwrite";
        propertyValues[0].Value = new Any(true);
        // Setting the filter name
        propertyValues[1] = MakePropertyValue("FilterName", "HTML (StarWriter)");
        /*propertyValues[1] = new unoidl.com.sun.star.beans.PropertyValue();
        propertyValues[1].Name = "FilterName";
        propertyValues[1].Value = new uno.Any("HTML (StarWriter)"); // writer_pdf_Export  ,  swriter: MS Word 97 , HTML (StarWriter) ,*/

        XStorable xStorable = xComponent as XStorable;xStorable.storeToURL(PathConverter(FileName),propertyValues);
}

Pour obtenir une liste complète des noms de fichiers à exporter, reportez-vous à une autre réponse que j'ai donnée auparavant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top