Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 18

Thema: LibreOffice als Webdienst

  1. #1
    Registrierter Benutzer
    Registriert seit
    May 2014
    Beiträge
    8

    LibreOffice als Webdienst

    Hallo zusammen

    Ich bin nun seit einiger Zeit normalo Linux-User und muss für die Firma einige Abklärungen machen. Hobbymässig programmiere ich im Web.

    Zur meiner Frage:

    Unsere Webseite soll den Usern ein Dateiupload für Dokumente bereitstellen (.odt, .docx, .pdf etc.) und anschliessend automatisiert kleine Aufgaben erledigen, wie z.B unser Firmennamen am Schluss einfügen und die Wörter zaehlen etc.

    Mit PHP konnte ich leider nicht 100% zuverlässig arbeiten, da MSOffice Produkte bzw. deren Dateien nicht wirklich mit PHP zuverlässig arbeiten kann. Wundert mich auch nicht.

    Ich dachte deshalb das man einen kleinen Server aufbereitet wo LibreOffice dann auf die Dateien wartet und mir z.B. die Wörteranzahl zurück liefert und andere Aufgaben erledigt.

    Wie muss ich vorgehen damit LibreOffice auf Server automatisiert seine Aufgaben erledigt? Mir geht es eher darum wo ich ansetzen muss damit ich weiss wo ich mich einlesen soll. Momentan habe ich keine Richtung und bin planlos:

    Muss/Kann ich hier in Bash programmieren das nach einem Dateiupload LibreOffice startet?
    Kann ich mir einer Sprache (PHP, Python o.ä.) LibreOffice "steuern".

    Am Schluss sollte es dann einfach die Wörteranzahl auf der Website angezeigt bekommen und in einer Datei-Kopie den Inhalt ändern.

    Ich hoffe ich habe mich genug klar ausgedrückt.
    Ich bedanke mich für eure Tipps

    mit freundlichen Grüssen

  2. #2
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.062
    für php AFAIK Module, mit denen man recht problemlos mit MS-Office und auch LibreOffice-Dateien arbeiten kann.

    Zudem gerade Libreoffice ja mit der Trennung von Design und Content recht einfach "einfach so" abzugreifen sein sollte.

    LibreOffice selbst würde ich auf einem Server nicht laufen lassen bzw. starten - meist die sind die Kommandozeilenoptionen von solchen Programmen auch auf alles mögliche eingerichtet aber nicht zwingend auf Batchverarbeitung.

    Einfacher macht man es sich, wenn man auf standardisierte und offene Dateiformate setzt.

    Und grundlegend - Du suchst also ein Dokumentenmanagementsystem?
    Ich bin root - ich darf das.

  3. #3
    Registrierter Benutzer
    Registriert seit
    May 2014
    Beiträge
    8
    Zitat Zitat von marce Beitrag anzeigen
    für php AFAIK Module, mit denen man recht problemlos mit MS-Office und auch LibreOffice-Dateien arbeiten kann.

    Zudem gerade Libreoffice ja mit der Trennung von Design und Content recht einfach "einfach so" abzugreifen sein sollte.

    LibreOffice selbst würde ich auf einem Server nicht laufen lassen bzw. starten - meist die sind die Kommandozeilenoptionen von solchen Programmen auch auf alles mögliche eingerichtet aber nicht zwingend auf Batchverarbeitung.

    Einfacher macht man es sich, wenn man auf standardisierte und offene Dateiformate setzt.

    Und grundlegend - Du suchst also ein Dokumentenmanagementsystem?
    Nein nicht wirklich.
    Die Dokumente werden dann abgelegt und dann irgendwann man bearbeitet.
    Wenn es grosse Dateimengen sind ist natürlich die Überlegung nicht weit entfernt, da hast du recht.

    Aber wenn du meinst es gäbe PHP Module die zuverlässig arbeiten dann schaue ich mal genauer hin und berichte.

  4. #4
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.819
    Für Office Dokument:
    Also nach deren Seite ist das möglich:
    The LibreOffice 4.2 SDK comes with a set of development tools, base libraries, header files and helper class files that can be used to develop Java/C++ components, to embed the LibreOffice 4.2 application in your own programs, or to use the API (scripting or remote control the office).
    Soweit so gut, für die Scripte sieht es allerdings eher schlecht aus, zwar zeigen die hier unter anderem, dass man von außen Scripten kann, auf die Schnelle habe ich da aber nur Zeugs für Mircrosoft System gesehen. Für andere System ist Python wohl eine Alternative, oder eben die "echten" bzw. hohen Programmiersprachen.
    Aus eigener Erfahrung würde ich dennoch davon abraten, Office fernsteuern läuft einfach nicht stabil genug, was nutzt es wenn es doch nur in 99,9% der Fälle läuft? Da biste hintenheraus nur mit drumherum frickeln zu gangen! Versuche so schnell wie möglich in ein Format zu kommen, welches vernünftig ist, also offen, also doc->docx oder odt, für beide gibt es genüngend Script APIs für alle möglichen Script Sprachen.

    Für PDF:
    Gibt es ebenfalls APIs für eigentlich alle Script Sprachen. Manipulieren ist aber so eine Sache, geht zwar idR ist aber oft keine gute Idee, da die meisten PDFs dabei beschädigt werden, so dass diese für eine weiter Verarbeitung in der PDF Normen bzw. Formate eine Rolle spielen nicht geeignet sind.
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

  5. #5
    Registrierter Benutzer
    Registriert seit
    May 2014
    Beiträge
    8
    Zitat Zitat von nopes Beitrag anzeigen
    Für Office Dokument:
    Also nach deren Seite ist das möglich:Soweit so gut, für die Scripte sieht es allerdings eher schlecht aus, zwar zeigen die hier unter anderem, dass man von außen Scripten kann, auf die Schnelle habe ich da aber nur Zeugs für Mircrosoft System gesehen. Für andere System ist Python wohl eine Alternative, oder eben die "echten" bzw. hohen Programmiersprachen.
    Aus eigener Erfahrung würde ich dennoch davon abraten, Office fernsteuern läuft einfach nicht stabil genug, was nutzt es wenn es doch nur in 99,9% der Fälle läuft? Da biste hintenheraus nur mit drumherum frickeln zu gangen! Versuche so schnell wie möglich in ein Format zu kommen, welches vernünftig ist, also offen, also doc->docx oder odt, für beide gibt es genüngend Script APIs für alle möglichen Script Sprachen.

    Für PDF:
    Gibt es ebenfalls APIs für eigentlich alle Script Sprachen. Manipulieren ist aber so eine Sache, geht zwar idR ist aber oft keine gute Idee, da die meisten PDFs dabei beschädigt werden, so dass diese für eine weiter Verarbeitung in der PDF Normen bzw. Formate eine Rolle spielen nicht geeignet sind.
    Wenn ich natürlich per Skript erledigen kann, ist es für uns noch besser da wir uns dann eventuell den Server sparen können.
    Kannst du den aus Erfahrung eventuell verraten welche Programmiersprache dir vorschwebt?
    Ich werde mal weiter forschen!
    Geändert von sertu (29.05.14 um 14:33 Uhr)

  6. #6
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.819
    Eine in der man auf kein laufendes Office Produkt angewiesen ist, um die Dokumente zu bearbeiten. Welche ist dann egal, halt die die du am besten kannst. Allerdings behaupten viele Leute, dass Python ganz tolle Design Features hat, die es toller als andere machen, wenn du also unbelastet bist, warum kein Schlangenbeschwörer werden?
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

  7. #7
    Registrierter Benutzer Avatar von ThorstenHirsch
    Registriert seit
    Nov 2002
    Beiträge
    6.558
    Ich lehne mich mal weit aus dem Fenster und behaupte: das kann nur schiefgehen. Office-Dokumente kann man nur innerhalb der Office-Anwendung vernünftig automatisiert bearbeiten, also in MS Office mit VBA.

    Von außen Office-Dokumente automatisiert verarbeiten? No way.

    Nur mal ein Detail (und von dieser Sorte gibt es hunderte bei dieser Aufgabenstellung): Wo soll denn das Logo hin? Wenn ich das Dokument manuell bearbeite, würde ich es bündig mit dem Rand einfügen. Der Rand kann aber verschieden groß sein (kann ja der Autor entscheiden). Wie willst du automatisiert die Breite des Rands abfragen? Bei MS Office und LibreOffice wird das möglicherweise noch funktionieren, bei PDF aber bestimmt nicht.

    Wollt ihr euren Usern nicht lieber Templates zur Verfügung stellen, in denen ihr das Logo schon drin habt?
    ¡Nuestro amigo... el Computador!

  8. #8
    Registrierter Benutzer
    Registriert seit
    May 2014
    Beiträge
    8
    Ja, so beim durchlesen und nachforschen ist mir das auch klarer geworden.
    Höchstens einen MSServer und mit .NET Framework --> nicht wirklich angestrebt.

    Ich konnte soweit mit PHP eine WordDatei öffnen (besser: die XML Datei), auslesen und nur der Text ausgeben.
    Eigentlich nicht allzu schlecht. Nur unterscheidet Word irgendwie die einzelnen Zeilenumbrüche nicht. Also diese Zeilenumbrücke die mit "Shift+Enter" gemacht wurden haben kein Leerzeichen sondern sind am vorigen String angehängt. Somit kann die Wörterzählung niemals genau sein.
    Der PHP Code habe ich im Netz gefunden und minimal verändert

    Code:
    function docx2text($filename) {
    return readZippedXML($filename, "word/document.xml");
    }
    
    function readZippedXML($archiveFile, $dataFile) {
    // Create new ZIP archive
    $zip = new ZipArchive;
    
    // Open received archive file
    if (true === $zip->open($archiveFile)) 
    {
    // If done, search for the data file in the archive
      if (($index = $zip->locateName($dataFile)) !== false) 
      {
        // If found, read it to the string
        $data = $zip->getFromIndex($index);
        // Close archive file
        $zip->close();
        // Load XML from a string
        // Skip errors and warnings
        $xml = DOMDocument::loadXML($data, LIBXML_NOENT | LIBXML_XINCLUDE | LIBXML_NOERROR | LIBXML_NOWARNING);
        // Return data without XML formatting tags
        return strip_tags($xml->saveXML());
      }
     $zip->close();
    }
    
    // In case of failure return empty string
    return "";
    }
    ?>

  9. #9
    Registrierter Benutzer
    Registriert seit
    May 2014
    Beiträge
    8
    Kleines Update von mir.

    Wie schon empfohlen werde ich die geladenen Dokumente zu einem gemeinsamen Nenner bringen.

    Ich wandle die docx. Dokumente in .pdf um.
    Die .pdf werden dann zu .html Dateien.
    Jetzt kann man dann bequemer und um Welten zuverlässiger verarbeiten bzw. Wörter zählen
    Personen die schon .pdf heraufladen ist auch schon geholfen

    freundliche Grüsse

    P.S. Ich ärgere mich dass ich mich den ganzen Tag im Kreis gedreht habe und zufällig darauf gestossen bin

  10. #10
    Registrierter Benutzer Avatar von ThorstenHirsch
    Registriert seit
    Nov 2002
    Beiträge
    6.558
    Ärgere dich nicht. Du machst dir Gedanken, fragst hier nach Tipps und hast jetzt schon groß umdisponiert (meiner Meinung nach in die richtige Richtung). Das ist viel besser als unreflektiert in blinden Aktionismus zu verfallen und während oder sogar nach der Umsetzung erst zu bemerken, dass man komplett falsch vorgegangen ist.
    ¡Nuestro amigo... el Computador!

  11. #11
    Registrierter Benutzer
    Registriert seit
    May 2014
    Beiträge
    8
    Zitat Zitat von ThorstenHirsch Beitrag anzeigen
    Ärgere dich nicht. Du machst dir Gedanken, fragst hier nach Tipps und hast jetzt schon groß umdisponiert (meiner Meinung nach in die richtige Richtung). Das ist viel besser als unreflektiert in blinden Aktionismus zu verfallen und während oder sogar nach der Umsetzung erst zu bemerken, dass man komplett falsch vorgegangen ist.
    Schlussendlich besser, ja.

    Momentan schaue ich wie automatisiert pdf konvertieren kann bzw. ohne gross Bibliotheken zu laden. Ich habe einige PHP Sachen gefunden. Sie verlangen jedoch einige Bibliotheken die einen normalen Webhoster nicht haben sondern eher ShellZugriff verlangen. Nur wegen der Datensicherheit oder allgemein traue ich mich nicht wirklich an RootServer heran.

    Kennt sich jemand aus bzw. kennt eine gut API (Google?)

    Folgendes muss er können:
    .odt in .pdf
    .doc in .pdf
    .docx in pdf
    usw.
    und schlussendlich
    .pdf in .html

  12. #12
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.819
    Naja vielleicht gibt es irgendwelche Online Dienste die sowas kostenfrei anbieten, so dass du mit simplen HTTP-Requests auskommen würdest, weiß ich aber nicht. Ansonsten führt da denke ich kein Weg an einen echten Server vorbei und du wirst auch große Teile eines, bis hin zu einem kompletten Office Paket brauchen.

    Ansonsten drängt sich das CLI von libre auf, siehe hier, man beachten auch hier; außerdem die Eingebung das man auch direkt nach HTML gehen kann und bekommt dann das:
    Code:
    libreoffice --headless --invisible --convert-to html:"HTML.xcu" /srv/myService/input/* --outdir /srv/myService/converted_html
    Für PDF-Dateien gibt es das Werkzeug "PDFTOHTML".
    Geändert von nopes (31.05.14 um 00:26 Uhr) Grund: cmdline korrigiert
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

  13. #13
    Open-Xchange Avatar von cane
    Registriert seit
    Nov 2002
    Ort
    NRW
    Beiträge
    6.682
    Wir bei Open-Xchange haben mittlerweile fast 30 der ehemaligen Star Office und OpenOffice Truppe eingestellt, die Jungs haben unter Oracle Hoheit seinerzeit übrigens auch ein Cloud Office entwickelt.

    Haben jetzt schon einige dutzend Mannjahre entwickelt und das ganze OX Documents genannt, ist als einzigstes Online Office OpenSource und speichert und liest per Standard DOCX / XLSX, keine Konvertierung notwendig. Der ein oder andere mag die ix Artikel dazu gelesen haben.

    Vielleicht kannst du damit etwas anfangen für deine Zwecke:
    http://oxpedia.org/wiki/index.php?ti...allation_Guide

    mfg
    cane
    Es existiert kein Patch für die menschliche Dummheit.

  14. #14
    Registrierter Benutzer
    Registriert seit
    May 2014
    Beiträge
    8
    Hallo

    Ich kann einige Fortschritte verzeichnen.

    Ich konnte mittels API von www.cloudconvert.org entsprechende Konvertierungen per PHP machen.

    Mein Chef fand die Idee nicht so toll da Drittanbieter und unsere Dokumente höchst heikel sind.... tjaaaa (Für die "verschwendete" Zeit hat er mir dafür einen Tag geschenkt inkl. Nachtessen )

    Er will einen Root-Server wo alles unter unserer/seiner Kontrolle ist.
    Linux Programme gibt es eigentlich auch gute (pdftotext und docx2txt). Danke an "nopes"

    Wie funktioniert das, wenn bei einem Dateiupload automatisch die Programme gestartet werden? Die beiden genannten Programme lassen sich über das Terminal bedienen.

    Muss ich mich in die Shell-Programmierung einlesen?


    Gruss und guten Wochenstart
    Geändert von sertu (01.06.14 um 21:55 Uhr)

  15. #15
    Freelancer Avatar von TheDarkRose
    Registriert seit
    Jun 2009
    Ort
    Oberalm
    Beiträge
    669
    Rootserver ist da ein Muss, jap. Wobei überlegt werden sollte, ob die Maschine nicht auch in der Firma stehen kann.

    Zum Zusammenbau, hast dir da ziemlich was vorgenommen. Würde da auf jeden Fall mehrschichtig arbeiten. Ein Web Frontend welches halt für den Upload und die Speicherung. Den Rest würde ich z. B. über RabbitMQ an entsprechende Programme weiterleiten, die die Verarbeitung unabhängig vom Web erledigen.
    foo bar

Ähnliche Themen

  1. LibreOffice 3.5.7.2: Dropdown geht nicht (mehr)
    Von X_FISH im Forum Anwendungen Allgemein, Software
    Antworten: 3
    Letzter Beitrag: 22.09.13, 09:37
  2. Libreoffice: Wie Präsentationen NICHT fullscreen starten/umstellen?
    Von Noether im Forum Anwendungen Allgemein, Software
    Antworten: 4
    Letzter Beitrag: 08.09.13, 16:27
  3. Excel Makros unter LibreOffice
    Von LordMaultasch im Forum Anwendungen Allgemein, Software
    Antworten: 8
    Letzter Beitrag: 11.02.12, 17:08
  4. libreoffice stürzt beim Schließen von Dokumenten ab
    Von rstuby im Forum Anwendungen Allgemein, Software
    Antworten: 11
    Letzter Beitrag: 07.02.12, 10:42
  5. Keine Rechtschreibprüfung unter LibreOffice
    Von scorpius im Forum Anwendungen Allgemein, Software
    Antworten: 2
    Letzter Beitrag: 30.10.11, 08:57

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •