Frage

Ich habe eine Notwendigkeit, die Lage sein, die Benutzer zu ermöglichen, ihre .doc-Dateien (die sie hochladen) zu einer Vielzahl von Formaten zu exportieren. Ich habe über die Verwendung OO SDK gestartet, und ich Set-up einige benutzerdefinierte Filter auch mit Hilfe von XSLT. Alles funktioniert gut, und ich bin in der Lage Word-Dokumente in PDF usw. zu exportieren.

Allerdings möchte ich dies als Web-Service laufen. Ich mag diesen Transformations-Dienst auf einem dedizierten Knoten ausgeführt, so dass alle Datei-Uploads von Nutzern, die ihr Dokument konvertieren werden diesen speziellen Knoten erreichen. Mein Web-App selbst ist PHP basiert. Was ist der beste Weg, um die Konvertierung mit OO SDK auszuführen? Ich werde die resultierende Datei in DB als auch speichern müssen.

Muss ich auf eine bestimmte Instanz mehrere Instanzen von OO und füttern jede Datei konvertiert werden ausgeführt werden müssen? Und brauche ich einen benutzerdefinierten Server zu schreiben, dies zu umgehen, da ich weiß nicht, ob OO multithreaded. Jede Beratung sehr geschätzt.

War es hilfreich?

Lösung

Haben Sie sich in mit JODConverter ? Es macht die ganze schwere Arbeit für Sie.

Andere Tipps

Mit der cli dlls versuchen, mit dem folgenden Code

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

Für eine vollständige Liste des filternames des Exports sucht in einer anderen Antwort, die ich vor gab.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top