AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Word-Dok ohne Word verändern...

Ein Thema von erich.wanker · begonnen am 9. Aug 2022 · letzter Beitrag vom 10. Aug 2022
Antwort Antwort
Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
460 Beiträge
 
Delphi XE4 Professional
 
#1

Word-Dok ohne Word verändern...

  Alt 9. Aug 2022, 11:44
Hallo,
ich würde gerne Word-Dokumente "ausfüllen" OHNE Word zu verwenden.

Wenn im Word Dokument der Text <<Name>> oder <<Ort>> oder <<Gewicht>> steht - sollte es durch einen Datenbankeintrag ersetzt werden

Wenn Ein Dokument als "Word als XML" vorhanden ist - ist es kein Problem (in Memo einlesen -> Stringreplace machen -> wieder abspeichern)

Aber dann habe ich ein XML mit dem keiner so recht was anfangen will .. besser wäre natürlich ein Dokumententyp

Ps. Opendokument: im Quelltext eines Dokuments kann ich nix ändern .. das schaut so Binär aus?


Hat jemand eine Idee wie ich das besser machen könnte?

Ligrü und vielen Dank
Erich
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.006 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Word-Dok ohne Word verändern...

  Alt 9. Aug 2022, 11:54
Sind es denn DOCX Dateien?
DOCX sind gezippte Dateien, die man mit Delphi-Bordmitteln extrahieren, ändern und wieder speichern kann.
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
460 Beiträge
 
Delphi XE4 Professional
 
#3

AW: Word-Dok ohne Word verändern...

  Alt 9. Aug 2022, 15:23
Hallo mjustin

ich habe gerade ein text.docx in test.zip umbenannt .. und siehe da - es hat erfolgreich ungezipped und mir einen ordner erstellt mit div subfoldern..

Ich hab test/word/document.xml eingesehen - und da steht der Text vom Worddokument drinnen

Wenn ich nun den Text im document.xld ändere und die ganzen ordner dann wieder zippe und als "docx" umbenenne - ist das dann eine saubere und stabile Lösung?

Vielen Dank für Hinweise
Erich
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#4

AW: Word-Dok ohne Word verändern...

  Alt 9. Aug 2022, 15:29
Im Prinzip ist das ja auch eine ZIP ... einfach nur mit der "falschen" Endung.


mit 7-Zip läst sich das auch ganz einfach machen
* gewünschte Datei extrahieren
* diese Datei bearbeiten
* und dann die Datei in der "ZIP" updaten/replacen

Bei Google suchen7 zip update files in archive
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#5

AW: Word-Dok ohne Word verändern...

  Alt 9. Aug 2022, 16:00
Eine ZIP-Komponente Deiner Wahl ins Programm aufnehmen.

Aus der ZIP-Datei (*.docx) die gewünschte XML in 'nen Stream extrahieren.

Diesen Stream in einen TStrings(-Nachfahren) per LoadFromStream laden.

Änderungen vornehmen.

TStrings(-Nachfahren) per SaveToStream in 'nen Stream kopieren.

Diesen Stream per ZIP-Komponente in die ZIP-Datei packen.

Mach' ich in der Art mit EPubs. Sind ja auch nur ZIP-Dateien.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.443 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Word-Dok ohne Word verändern...

  Alt 9. Aug 2022, 18:53
ist das dann eine saubere und stabile Lösung?
Definiere stabil. Ich meine Nein. Microsoft kann jederzeit das Format ändern.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.942 Beiträge
 
Delphi 12 Athens
 
#7

AW: Word-Dok ohne Word verändern...

  Alt 9. Aug 2022, 22:48
Stabil? Naja, MS kann jederzeit das Format ändern, dann wäre aber die ISO Standardisierung wohl futsch, die sie scheinbar vor Jahren auf etwas "unkoscherem Weg" erhalten hatten und mancher Anwender darf's dann evtl. nicht mehr nutzen, da es kein offenes bzw. standardisiertes Format ist.
=> die werden das nicht ganz so einfach abändern wollen...

Zu ZIP: in neueren Delphis ist ja in der RTL schon eine ZIP-Bibliothek mit drin, die zumindest für die einfacheren Fälle reicht.
Ver/Entschlüsselung kann die m.W. z. B. nicht, aber normale .DOCX Dateien sind ja auch nicht verschlüsselt...

Grüße

TurboMagic
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#8

AW: Word-Dok ohne Word verändern...

  Alt 10. Aug 2022, 00:38
Zitat:
... MS kann jederzeit das Format ändern, ...
=> die werden das nicht ganz so einfach abändern wollen...
Doch, tun sie jedes Jahr mehrmals (nur Dieses war wohl Corona ), zumindestens Teilweise, auch wenn wohl grundlegende Dinge sich nicht so stark ändern werden.


Nja, im Gegensatz zum alten Format ist es hier ja gut dokumentiert.
https://docs.microsoft.com/en-us/ope...6-5954d0abbccd

Aber ja, es sollte klar sein, dass man besser auch das Protokoll-Format ausliest und mindestens prüft, ob es in einem für sich gültigen Bereich liegt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (10. Aug 2022 um 00:41 Uhr)
  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 16:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz