Domanda

Ho bisogno di essere in grado di consentire agli utenti di esportare i loro file .doc (che caricano) in una varietà di formati. Ho iniziato a utilizzare OO SDK e ho impostato anche alcuni filtri personalizzati utilizzando XSLT. Tutto funziona bene e sono in grado di esportare documenti Word in pdf ecc.

Tuttavia, voglio eseguirlo come servizio web. Vorrei eseguire questo servizio di conversione su un nodo dedicato, quindi tutti i caricamenti di file da parte degli utenti che desiderano convertire il proprio documento raggiungeranno questo nodo dedicato. La mia stessa web app è basata su PHP. Qual è il modo migliore per eseguire la conversione utilizzando OO SDK? Dovrò anche archiviare il file risultante nel DB.

Devo eseguire più istanze di OO e alimentare ciascun file per convertirlo in un'istanza specifica? E devo scrivere un server personalizzato per gestirlo, poiché non so se OO è multithread. Qualche consiglio molto apprezzato.

È stato utile?

Soluzione

Hai esaminato l'utilizzo di JODConverter ? Fa tutto il lavoro pesante per te.

Altri suggerimenti

Usando i cli dlls provare con il seguente codice

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);
}

Per un elenco completo dei nomi dei file da esportare, cerca un'altra risposta che ho dato prima.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top