AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Text aus Word.DOC extrahieren (MS-Word 97-2003-Binär-Format:)
Thema durchsuchen
Ansicht
Themen-Optionen

Text aus Word.DOC extrahieren (MS-Word 97-2003-Binär-Format:)

Ein Thema von Ralf Stehle · begonnen am 4. Jan 2014 · letzter Beitrag vom 6. Jan 2014
Antwort Antwort
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#1

AW: Text aus Word.DOC extrahieren (MS-Word 97-2003-Binär-Format:)

  Alt 6. Jan 2014, 11:46
Das binäre Word-Format setzt auf Windows Structured Storage auf.
Jeder Versuch das Word-Format direkt zu lesen und Structured Storage zu ignorieren ist von vornerein zum Scheitern verurteilt.
Man muss die StgOpenStorageEx()-Funktion verwenden und sich mit der überkomplizierten Microsoft-API rumschlagen.
Wenn man das schön in Delphi-Klassen verpackt bekommt man vielleicht auch eine API die man benützen kann.

Aber einfach so direkt in die Datei reingreifen - vergiss es.

PS: die Jedi Code Library enthält die Unit JclStructStorage.pas die schon mal einige grundlegende Klassen enthält.
fork me on Github

Geändert von sx2008 ( 6. Jan 2014 um 11:52 Uhr)
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: Text aus Word.DOC extrahieren (MS-Word 97-2003-Binär-Format:)

  Alt 6. Jan 2014, 12:01
Eine weitere Möglichkeit, Word-Dateien ohne installiertes Word zu öffnen, wäre OpenOffice, denn auch dafür gibt es Automationsmöglichkeiten.
  Mit Zitat antworten Zitat
Ralf Stehle

Registriert seit: 8. Aug 2003
124 Beiträge
 
Delphi 7 Professional
 
#3

AW: Text aus Word.DOC extrahieren (MS-Word 97-2003-Binär-Format:)

  Alt 6. Jan 2014, 14:11
Mit OpenOffice Dateien zu durchsuchen dauert wahrscheinlich genauso lange wie mit Word. Ich möchte Word-OLE vor allem wegen der Geschwindigkeit nicht benutzen.

Außerdem geht es mir auch darum, den prinzipiellen Aufbau der Worddateien zu verstehen. Wie gesagt, funktioniert die Komponente TMSWordDocument von www.scalabium.com recht gut
Ralf Stehle
ralfstehle@yahoo.de
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.233 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Text aus Word.DOC extrahieren (MS-Word 97-2003-Binär-Format:)

  Alt 6. Jan 2014, 14:39
Mit OpenOffice Dateien zu durchsuchen dauert wahrscheinlich genauso lange wie mit Word. Ich möchte Word-OLE vor allem wegen der Geschwindigkeit nicht benutzen.
Hat sich beim ersten Post anders angehört.
Oft sind Performanceproblem auf fehlerhafte Implementierung zurück zu führen (z. B. bei Excel arbeiten mit Zellen statt mit Ranges).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

AW: Text aus Word.DOC extrahieren (MS-Word 97-2003-Binär-Format:)

  Alt 6. Jan 2014, 14:49
Ich möchte Word-OLE vor allem wegen der Geschwindigkeit nicht benutzen.
Es wird vieeeeeeel schneller, wenn man Word in der Zeit unsichtbar macht.

vorher:  WordApplication.Visible := False; nachher:
Delphi-Quellcode:
  
  WordApplication.Visible := True;
  WordApplication.ShowMe;
  WordApplication.Activate;
  WordDocument.Activate;
  ...
  oder wie auch immer
Die permanente Aktualisierung des Bildschirmes dauert und dauert und dauert...
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz