Erstellen einer Open Document Textdatei (ODT) aus Delphi / C++Builder / Lazarus

Creating an Open Document Text (ODT) file from Delphi

Die ODT Dateierweiterung wird für Open-Document-Textdateien verwendet, die in der Regel mit den kostenlosen Textverarbeitungsprogrammen OpenOffice oder LibreOffice erstellt werden. Dieses Dokumentenformat basiert auf der XML Auszeichnungssprache und ist daher leicht zu konvertieren.
Um zu verstehen, worum es sich bei diesem Format handelt, müssen Sie nur den offenen Standard OpenDocument Format (von der OASIS-Gemeinschaft entwickelt) betrachten, der direkt mit ODT verbunden ist. Da ODF Office-Dokumente speichern und austauschen kann, gehört dazu auch die Dateierweiterung Open Document Text, die verschiedene Berichte, Notizen, Bücher usw. enthält. Wir haben das ODF-Format in diesem Artikel ausführlicher behandelt. 

Die ODT-Datei wurde vor nicht allzu langer Zeit, im Jahr 2014, besonders populär, als die Google Docs-Webanwendungen, zusammen mit Sheet und Slides, anfingen, den ODF-Standard zu unterstützen, so dass die Benutzer die Möglichkeit hatten, Textdokumente im .odt-Format zu speichern, und jetzt wird die Dateierweiterung selbst immer häufiger verwendet. Diese Dateien sind einfach zu öffnen und dank der XML-Auszeichnungssprache können Sie sie mit den entsprechenden Dienstprogrammen leicht in andere Formate konvertieren.

Um eine ODT-Datei korrekt zu öffnen, müssen Sie Office-Suiten wie LibreOffice, StarOffice oder OpenOffice verwenden, mit denen Sie Dateien in diesem Format problemlos konvertieren und bearbeiten können. Wenn der Benutzer versucht, eine ODT-Datei mit der Microsoft Office-Anwendung zu öffnen, muss er das ODF Sun Plugin für MS Office installieren. Viele PC-Besitzer öffnen ODT-Dateien mit Corel WordPerfect Office, es gibt auch NeoOffice und Lotus Symphony. Meiner Meinung nach ist die Auswahl riesig! Für die Importsubstitution verwendet übrigens auch das inländische Office-Suite MyOffice diesen Standard für seine Dokumente.

Speichern im ODT-Format aus Delphi mit FastReport

Warum FastReport? Weil es für die Erstellung von Dokumenten konzipiert ist! Zunächst sollten Sie bereits ein Projekt mit dem implementierten FastReport und der Komponente „Export nach Open Documents Text" zusammengebaut und einen Bericht erstellt haben (es gibt einen separaten Artikel über die Erstellung von Berichten). Starten Sie die Anwendung, drücken Sie in der Vorschau auf "Speichern" und rufen Sie den Export aus dem Vorschaufenster auf (am Ende dieses Artikels finden Sie eine Möglichkeit, wie Sie die ODT-Datei direkt aus dem Code heraus speichern können), dann sollte das Einstellungsfenster erscheinen:

Mit den FastReport-Tools können Sie auswählen, welche Seiten unseres Dokuments an Excel gesendet werden sollen, einen Bereich oder nur bestimmte Seiten.

Exporteinstellungen – bessere visuelle Übereinstimmung mit der Originalversion (WYSIWYG), page breaks - Seitenumbrüche werden beibehalten, continuous - fortlaufendes Dokument mit Überspringen von Zwischenkopf- und -fußzeilen, background - Export von Hintergrundgrafikobjekten, die der Berichtsseite zugeordnet sind.

Wie üblich können Sie angeben, wo die Datei gespeichert werden soll (im lokalen Speicher, als E-Mail senden, auf einem FTP-Server oder in die Cloud hochladen).

Nach dem Export öffnen - die resultierende Datei wird sofort nach dem Export mit dem Standardprogramm zum Öffnen von ODS-Dokumenten geöffnet.

Code zum Speichern im Open Document Textformat direkt aus Delphi / Lazarus

Speichern im ODT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
procedure TForm1.Button2Click(Sender: TObject);
begin
 {Generieren Sie einen Bericht. Der Bericht muss vor dem Exportieren generiert werden}
 frxReport1.PrepareReport();
 {Legen Sie den Bereich der zu exportierenden Seiten fest. Standardmäßig werden alle Seiten des generierten Berichts exportiert}
 frxODTExport1.PageNumbers := '2-3';
 {Legen Sie fest, ob ein fortlaufendes Dokument generiert werden soll oder nicht}
 frxODTExport1.SingleSheet := False;
 {Legen Sie fest, ob Seitenumbrüche innerhalb eines Buchblattes exportiert werden sollen,}
 {damit die Seiten beim Drucken mit den Seiten des generierten Berichts übereinstimmen}
 frxODTExport1.ExportPageBreaks := True;
 {Legen Sie WYSIWYG fest}
 frxODTExport1.Wysiwyg := True;
 {Legen Sie fest, ob der Hintergrund exportiert werden soll}
 frxODTExport1.Background := True;
 {Legen Sie fest, ob die resultierende Datei nach dem Export geöffnet werden soll}
 frxODTExport1.OpenAfterExport := False;
 {Legen Sie fest, ob der Exportfortschritt angezeigt werden soll (anzeigen, welche Seite gerade exportiert wird)}
 frxODTExport1.ShowProgress := False;
 {Legen Sie fest, ob das Dialogfeld für die Exportfiltereinstellungen angezeigt werden soll oder nicht}
 frxODTExport1.ShowDialog := False;
 {Legen Sie den Namen der resultierenden Datei fest.}
 {Bitte beachten Sie, dass wenn Sie den Dateinamen nicht festlegen und das Dialogfeld für den Exportfilter deaktivieren,}
 {wird der Dialog zur Auswahl des Dateinamens weiterhin angezeigt}
 frxODTExport1.FileName := 'C:\Output\test.odt';
 {Exportieren Sie den Bericht}
 frxReport1.Export(frxODTExport1);
end;

Vergleich von Microsoft Word 2007 XML und Open Document Text 

Was ist also besser zu verwenden? Werfen wir einen Blick auf ihre Grundlagen. Der "Kern" dieser Formate ist derselbe, nämlich die XML Auszeichnungssprache. XML ist eine Technologie zur Verwaltung strukturierter Daten und zur Darstellung dieser Daten in einer für Menschen lesbaren Textdatei. XML entspricht den Industriestandards und kann von vielen Datenbanken und Anwendungen verarbeitet werden. Mithilfe von XML können viele Entwickler ihre eigenen benutzerdefinierten Tags, Datenstrukturen und Schemata erstellen. Im Allgemeinen erleichtert XML die Definition, Übertragung, Validierung und Interpretation von Daten in verschiedenen Datenbanken, Anwendungen und Organisationen erheblich. Das bedeutet, dass beide Dateien Zip-Archive sind, die in .docs / .odt umbenannt sind.

Lassen Sie uns über die Merkmale und Funktionen sprechen. Wenn Sie Ihre Kommentare an bestimmte Teile eines Dokuments anhängen, wird Ihr Feedback deutlicher; dafür gibt es die Funktion "Notizen". Wenn Sie das Dokument im ODT-Format speichern und es erneut in Word 2007 öffnen, werden die Kommentare zu einer Wortgruppe zu einem einzelnen Punkt. In der Regel wird dieser Punkt am Ende der Wortgruppe angezeigt. Tabellen in Notizen werden nicht unterstützt. Der Inhalt der Tabelle wird in Notizen beibehalten, aber die Struktur geht verloren.

Wenn wir über den Schutz von Dokumenten und Daten sprechen, sollten wir uns an die Funktionen "Dokumentenschutz" und "Information Rights Management (IRM)" erinnern. Wenn Sie ein Word 2007-Dokument im ODT-Format speichern, wird diese Funktion gelöscht; Sie können solche Dateien nicht öffnen.

Die von allen bevorzugte Korrekturfunktion, die viele von uns gerettet hat, funktioniert in ODT nicht, bzw. es werden alle Änderungen akzeptiert und Ihre Informationen können darunter stark leiden. Literaturverzeichnisse und Überschriften werden in reinen Text umgewandelt, und Fußnoten verschwinden einfach.

Rahmen werden teilweise unterstützt. Wenn Sie ein Word 2007-Dokument im ODT-Format speichern, werden Rahmen in Textfelder umgewandelt, Bindungen an einige Feldbereiche werden nicht unterstützt. Wenn nicht unterstützter Inhalt vorhanden ist, wird der Rahmen gelöscht, aber nicht der Inhalt selbst. Dazu gehören Tabellen, AutoFormen, Textfelder, Rahmen und SmartArt-Grafiken.

Wenn Sie das Word 2007-Dokument im ODT-Format speichern, gehen bei kontinuierlichen Abschnittswechseln möglicherweise einige Eigenschaften verloren, z. B. Ränder oben/unten, Kopf-/Fußzeilen, Rahmen und Zeilennummerierung.

Tabellen werden teilweise unterstützt. In ODT werden Tabellen mit mehr als 64 Spalten nicht unterstützt und die Themenformatierung wird in eine Formatierung auf Zellebene umgewandelt. Darüber hinaus können Textfelder nicht verschachtelt werden. Die Textausrichtung in Tabellenzellen wird ebenfalls nicht unterstützt.

Was die grafischen Elemente betrifft, so funktioniert etwas in jedem Format, aber etwas wird überhaupt nicht unterstützt. Einige Objekte können in Word nicht gruppiert werden. Wenn Sie also eine OpenDocument-Datei öffnen, werden die Objekte ungruppiert. Dies gilt für alle Objekte, die mit einem Diagramm gruppiert sind, sowie für Bilder, die mit einer Form, einer Beschriftung oder einem OLE-Objekt gruppiert sind. Die Sichtbarkeit von Objekten kann sich ändern. Unsichtbare Objekte werden nach dem Speichern der ODT-Datei und dem erneuten Öffnen in Word wieder sichtbar.

Die Liste der Funktionen ist endlos, ich habe nur die interessantesten hervorgehoben. Eine detaillierte Vergleichstabelle finden Sie hier. 


Was die Dateigröße betrifft, so gibt es keinen großen Unterschied. Ein Word-Dokument ist wegen der Verschlüsselungsunterstützung etwas größer und eine ODT-Datei unterstützt dies nicht. Wir haben diese Fische als Beispiel verwendet. Dieses Dokument enthält eine Menge Text, Tabellen und 30 Fotos. Zur Verdeutlichung siehe Screenshots:

Fassen wir kurz zusammen. Beide Formate sind modern, offen (was wichtig ist) und werden von vielen Textverarbeitungsprogrammen unterstützt. Der Vorteil von ODT ist, dass es von der Open Source-Community und von der OASIS-Gemeinschaft unterstützt wird, während DOCX nur von Microsoft unterstützt wird, das sich inzwischen Open-Source-Initiativen zugewandt hat. Die Wahl liegt bei Ihnen und Ihren Kunden - in jedem Fall können Sie sich auf die Erstellung von qualitativ hochwertigen Dokumenten verlassen, die die FastReport-Standards unterstützen. 

Fast Reports
  • 800-985-8986 (Englisch, die USA)
  • +4930568373928 (Deutsch)
  • +55 19 98147-8148 (Portugiesisch)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314

© 1998-2024 Fast Reports Inc.
Trustpilot