Stefan Weinbrenner: Kleine Konvertierungstools gesucht

Hallo,

ich bekomme als Webmaster häufiger Texte, die ich auf die HP bringen soll. Leider liegen die meist als MS-Word-Dokument vor, und so muß ich sie erstmal in den HTML-Editor ("Phase 5" von U. Meybohm; gutes Programm!) kopieren und da von Hand neu formatieren. Meine Frage:

Kennt jemand ein kleines Tool, was die bestehende Formatierung von Word-Dokumenten direkt in HTML verwandeln kann? (Ich weiß, daß Word das auch kann, aber das Ergebnis ist ja meist furchtbar...) Es muß/darf auch nur die elemtarsten Formatierungen (Zeilenumbruch --> <br>; Fett --> <b></b>; etc.) können.

Ein Programm, was das gleiche mit Excel-Tabellen macht, würde mir auch sehr helfen (nur <table>, <td> und <tr> muß es können). Das würde mir auch schon eine Menge "Kopieren & Einfügen" ersparen.

--
Stefan Weinbrenner

  1. Hallo,

    1. Text in Word als HTML abspeichern
    2. Das Tool TIDY drüberjagen (gibt extra für Word-Exporte eine spezielle Option)

    Alternative:
    Von Microsoft gibt es inzwischen ein Tool zum Download mit dem man angeblich Word-Dateien in "vernüftigen" HTML speichern kann. Ist allerdings nur für Office 2000.
    http://office.microsoft.com/downloads/2000/msohtmf2.aspx

    Gruss
       MichaelB

      1. Text in Word als HTML abspeichern
      2. Das Tool TIDY drüberjagen (gibt extra für Word-Exporte eine spezielle Option)

      Ist mir leider noch nicht "radikal" genug. Da bleibt immer noch zu viel stehen.

      Alternative:
      Von Microsoft gibt es inzwischen ein Tool zum Download mit dem man angeblich Word-Dateien in "vernüftigen" HTML speichern kann. Ist allerdings nur für Office 2000.
      http://office.microsoft.com/downloads/2000/msohtmf2.aspx

      Wie du schon sagst: "angeblich". Ich habs gerade mal getestet. Man merkt zwar einen Unterschied, aber es ist höchstens eine Verbesserung von "zum Verrecken schlecht" zu "immer noch verdammt schlecht".

      Wenn man beides kombiniert, hat man bei sehr wenig Formatierungen ein einigermaßen akzeptables Ergebnis, aber sobald man wirklich viele Formatierungen zu konvertieren hat, wirds wieder unbrauchbar. Das ist zumindest keine Ideallösung.

      --
      Stefan Weinbrenner

  2. Hallo Michael,

    Kennt jemand ein kleines Tool, was die bestehende Formatierung von Word-Dokumenten direkt in HTML verwandeln kann? (Ich weiß, daß Word das auch kann, aber das Ergebnis ist ja meist furchtbar...) Es muß/darf auch nur die elemtarsten Formatierungen (Zeilenumbruch --> <br>; Fett --> <b></b>; etc.) können.

    Dreamweaver hat eine Funktion inkludiert word -> html, das entfernt sehr gut alles überflüsige.
    Gruss
    Christian

    1. Moin!

      Dreamweaver hat eine Funktion inkludiert word -> html, das entfernt sehr gut alles überflüsige.

      Du erzählst einem Benutzer von Phase 5 was von Dreamweaver?!? Das sind ja gleich drei Fehler auf einmal. :)

      1. Dreamweaver kostet, Phase 5 nicht
      2. Dreamweaver ist klicki-bunti, Phase 5 nicht
      3. Es sind doch nur zwei Fehler. ;)

      Naja, ganz untauglich ist dein Tipp zwar nicht, aber er geht etwas am Ratsuchenden vorbei. Warum sonst wurde die Benutzung von Phase 5 explizit erwähnt? :)

      - Sven Rautenberg

  3. Moin!

    Ein Programm, was das gleiche mit Excel-Tabellen macht, würde mir auch sehr helfen (nur <table>, <td> und <tr> muß es können). Das würde mir auch schon eine Menge "Kopieren & Einfügen" ersparen.

    Dafür gibts einen simplen Trick, der ein wenig Handarbeit in Excel erfordert:

    Du baust zwischen jede bestehende Spalte eine neue Spalte. In die erste Spalte (vor der ersten Originalspalte) schreibst du rein: "<tr><td>"

    In alle Spalten in der Mitte kommt "</td><td>" rein.

    Und ganz am Ende hinter der letzten Spalte kommt "</td></tr>" rein.

    Jeweils die Spalteninhalte über die Länge der Zeilen vervielfachen (einmal mit der Maus am schwarzen Punkt ziehen), und schon steht eine HTML-Tabelle kopierfertig in Excel.

    <table></table> drumherumbauen geht dann in Phase 5 relativ einfach.

    Problematischer ist natürlich, wenn colspans und rowspans ins Spiel kommen, aber da ist es einfacher, von einer existierenden Tabelle was wegzunehmen, als die Tabelle in die Rohdaten hineinzuhacken.

    Und der Tabellenzerleger hilft dabei. ;)

    PS: Der Trick ist nicht von mir, sondern kommt aus dem Phase5-Forum.

    - Sven Rautenberg

    1. Moin!

      Ein Programm, was das gleiche mit Excel-Tabellen macht, würde mir auch sehr helfen (nur <table>, <td> und <tr> muß es können). Das würde mir auch schon eine Menge "Kopieren & Einfügen" ersparen.

      Dafür gibts einen simplen Trick, der ein wenig Handarbeit in Excel erfordert:
      [...]

      *mitderHandvordenKopfschlag*
      Einfach genial [hätte von mir sein können :-) ].

      Vielen Dank.

      --
      Stefan Weinbrenner

  4. Hallo,

    Kennt jemand ein kleines Tool, was die bestehende Formatierung von Word-Dokumenten direkt in HTML verwandeln kann? [...] Es muß/darf auch nur die elemtarsten Formatierungen (Zeilenumbruch --> <br>; Fett --> <b></b>; etc.) können.

    Ich würde (wieder einmal) mir eins mit Hilfe von Perl schreiben. Dazu benötigst Du im wesentlichen das Modul Win32::OLE. Da ist sogar ein Beispiel dabei, wie man mit Word-Dokumenten umgehen kann.

    Ein Programm, was das gleiche mit Excel-Tabellen macht, würde mir auch sehr helfen (nur <table>, <td> und <tr> muß es können). Das würde mir auch schon eine Menge "Kopieren & Einfügen" ersparen.

    Auch hier könnte Perl Dein Freund sein. Das Modul Spreadsheet::ParseExcel ist wirklich gut geeignet, um solche Aufgaben zu erledigen.

    Somit hättest Du größtmögliche Einflußnahme auf das Ergebnis.

    Grüße
      Klaus

    1. Hallo,

      Kennt jemand ein kleines Tool, was die bestehende Formatierung von Word-Dokumenten direkt in HTML verwandeln kann? [...] Es muß/darf auch nur die elemtarsten Formatierungen (Zeilenumbruch --> <br>; Fett --> <b></b>; etc.) können.

      Ich würde (wieder einmal) mir eins mit Hilfe von Perl schreiben. Dazu benötigst Du im wesentlichen das Modul Win32::OLE. Da ist sogar ein Beispiel dabei, wie man mit Word-Dokumenten umgehen kann.

      Das Problem dabei ist nur, daß ich keine Ahnung vom Programmieren habe (man spricht natürlich gerne mal von "HTML-Programmierung" ...). Ich kann gerade mal ein bisschen Javascript (OK, und Basic vom C64er!), aber Perl wäre mir persönlich ein zu großes Projekt.

      Aber wenn es für dich kein größeres Problem darstellt, könntest du ja dieses kleine Programm mal schreiben! Ich (und vermutlich viele andere auch) wären dir auf ewig dankbar.

      --
      Stefan Weinbrenner

    2. Hallo Klaus!

      Ein Programm, was das gleiche mit Excel-Tabellen macht, würde mir auch sehr helfen (nur <table>, <td> und <tr> muß es können). Das würde mir auch schon eine Menge "Kopieren & Einfügen" ersparen.

      Auch hier könnte Perl Dein Freund sein. Das Modul Spreadsheet::ParseExcel ist wirklich gut geeignet, um solche Aufgaben zu erledigen.

      Rolf Rost bietet auf INET-Lab unter Module so ein Script an, allerdings nicht mit dem Modul Spreadsheet::ParseExcel, sondern mit dem Win32::OLE - Modul. Ich habe es ausprobiert und erhalte in der ErrorLog folgende Meldung:

      -------------------------------------
      OLE exception from "Microsoft Excel":

      Das Anwendung-Objekt hat nicht die Eintrag-Methode.

      Win32::OLE(0.1502) error 0x80020009: "Ausnahmefehler aufgetreten"
          in METHOD/PROPERTYGET "" at D:\www\cgi-bin\excel2html.pl line 12
      -------------------------------------

      Was hat es mit dieser Meldung auf sich?

      Grüße,
      Patrick

      1. Hallo Patrick,


        OLE exception from "Microsoft Excel":

        Das Anwendung-Objekt hat nicht die Eintrag-Methode.

        Win32::OLE(0.1502) error 0x80020009: "Ausnahmefehler aufgetreten"
            in METHOD/PROPERTYGET "" at D:\www\cgi-bin\excel2html.pl line 12

        Was hat es mit dieser Meldung auf sich?

        Ui, ist der Eindruck entstanden, daß ich mich bei OLE wirklich auskenne? Da muß ich Dich enttäuschen.

        Ich hab das Script bei mir einmal ausprobiert, und eigentlich hat es funktioniert, nachdem ich die Datei mit vollständigem Pfad angegeben habe. (Da kommt aber eine andere Fehlermeldung, wenn Du es nicht machst)

        Vielleicht passt die Excel-Version nicht zum Script, da MS dazu neigt, die Zugriffsmethoden nach Belieben zu ändern:-(

        Vielleicht ist Excel auch nicht richtig initialisiert worden.

        Fragen, für die ich so auch keine Antwort weiß. Tut mir leid:-(

        Auf Excel habe ich bisher nur mittels Spreadsheet::ParseExcel zugegriffen, und hatte absolut keine Probleme damit.

        Grüße
          Klaus

        1. Hallo Klaus!

          Ui, ist der Eindruck entstanden, daß ich mich bei OLE wirklich auskenne?

          Nö, aber hätte ja sein können ;-)

          Ich hab das Script bei mir einmal ausprobiert, und eigentlich hat es funktioniert, nachdem ich die Datei mit vollständigem Pfad angegeben habe. (Da kommt aber eine andere Fehlermeldung, wenn Du es nicht machst)

          Ich habe es versucht mit C:\dingsbums\datei.xls sowie maskiert C:\dingsbums\datei.xls ... Beides mal die gleiche Meldung.

          Vielleicht passt die Excel-Version nicht zum Script, da MS dazu neigt, die Zugriffsmethoden nach Belieben zu ändern:-(

          Kann sein, ich habe noch das "alte" Excel 95 (Excel 7).

          Vielleicht ist Excel auch nicht richtig **initialisiert** worden.

          ???

          Auf Excel habe ich bisher nur mittels Spreadsheet::ParseExcel zugegriffen, und hatte absolut keine Probleme damit.

          Werde ich wohl ausprobieren müssen, danke für den Hinweis!

          Grüße,
          Patrick

          1. Hallo,

            Vielleicht passt die Excel-Version nicht zum Script, da MS dazu neigt, die Zugriffsmethoden nach Belieben zu ändern:-(

            Kann sein, ich habe noch das "alte" Excel 95 (Excel 7).

            Ihc hab' irgendwo mal gelesen, daß da 'Workbooks' nicht funktioniert. Versuch mal rauszukriegen, welche, hmm, Eigenschaften $Excel so besitzt:
            foreach my $key (sort keys %{$Excel})
             {
             print "$key\n";
             }

            (Aber nimm nicht Data::Dumper! Außer UD willst testen, wie gut Deine Swapdatei arbeitet;-)

            Vielleicht ist Excel auch nicht richtig **initialisiert** worden.

            ???

            $Excel meinte ich eigentlich, aber wie sagte Puh schon so treffend: 'Als ich anfing, darüber nachzudenken, machte es ja noch Sinn. Aber unterwegs muß ihm irgendwas zugestoßen sein.'

            Auf Excel habe ich bisher nur mittels Spreadsheet::ParseExcel zugegriffen, und hatte absolut keine Probleme damit.

            Werde ich wohl ausprobieren müssen, danke für den Hinweis!

            Was ich so eigenartig finde, daß es auch funktioniert, obwohl ich kein MS-Office installiert habe, sondern nur Star-Office.

            Grüße
              Klaus

  5. Hallo Stefan Weinbrenner,

    Word hat ausgezeichnete Suchen/Ersetzen Funktionen.
    Da gibt es wirklich nix, was man nicht suchen/ersetzen könnte.

    Wenn Du öfter Word-Doks kriegst,
    mach doch einfach 1-2 Makros.

    DAUer Grüsse