❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

HTML Komponente im Report-Desinger

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
KRose
Beiträge: 5
Registriert: Fr 9. Sep 2016, 13:53
Wohnort: Freiburg

HTML Komponente im Report-Desinger

Beitrag von KRose » Fr 9. Sep 2016, 14:06

Hallo zusammen,

wird ein Textfeld einer Datenbank-Tabelle in ein Report aufgenommen, das reinen HTML-Code beinhaltet, wird beim Ausführen des Reports der HTML-Code als reiner Text angezeigt.
Gibt es eine HTML-Komponente, die den Inhalt des Textfeldes als eine HTML-Seite anzeigt?
Oder gibt es die Möglichkeit der Text-Komponente aus dem Report-Designer als Format einen HTML-Renderer zuzuweisen?

Vielen Dank für eure Hilfe.

Grüße
KRose

RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: HTML Komponente im Report-Desinger

Beitrag von RobertG » Fr 9. Sep 2016, 21:08

Hallo KRose,

Du meinst ein Feld, das Formatierungen darstellt, die aus einer HTML-Datei stammen wie z.B. <br> als Absatzumbruch usw.? Das wirst Du im ReportBuilder nicht finden. In den gesamten Formularfeldern steht so etwas nicht zur Verfügung und auch der ReportBuilder greift auf solche Formularfelder zu.

Wie hast Du denn überhaupt den Code entsprechend in die Datenbank rein bekommen?
Ist der gesamte Inhalt im Prinzip HTML-Code, so dass es sinnvoller wäre, nicht eine Writer-Datei, sondern eine HTML-Datei zu erstellen und mit dem Inhalt zu füllen? So etwas könnte ich mir per Makro vorstellen - aber nicht kombiniert mit irgendwelchen anderen Feldern, die wiederum ganz anderen Inhalt haben können.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

KRose
Beiträge: 5
Registriert: Fr 9. Sep 2016, 13:53
Wohnort: Freiburg

Re: HTML Komponente im Report-Desinger

Beitrag von KRose » Mo 12. Sep 2016, 11:04

Hallo Robert,

danke für Deine Nachricht!
Ja ich habe eine Komponente in LibreOffice-Reporter gesucht, die wie ein Textfeld mit DB-Verbindung den Inhalt des Datenbankfeldes liest und automatisiert den Inhalt als eine HTML-Seite darstellt.
Der Inhalt des Datenbankfeldes wurde mit einem HTML-Editor(ChkEditor in Redmine) erstellt und direkt in das Feld in der Datenbank gespeichert.
Es handelt sich also um reinen HTML-Code, der einfach durch die (neue)Komponente interpretiert wird und als HTML-Seite angezeigt wird.
Es sind Tabellen, Fettschrift, Kursivschrift, Unterstrichen, verschiedene Schriftgrößen, etc. enthalten (keine Bilder).

Hoffe die Informationen sind ausreichend für Dich.
Danke für ein Feedback.
Klemens

KRose
Beiträge: 5
Registriert: Fr 9. Sep 2016, 13:53
Wohnort: Freiburg

Re: HTML Komponente im Report-Desinger

Beitrag von KRose » Mo 12. Dez 2016, 13:37

Hallo Robert,

leider besteht das oben beschriebene Problem nach wie vor und niemand konnte mir einen Tip geben, um das zu lösen.
Ich habe gesehen, dass Du Dich gut auskennst mit LO-BASE und das Reporting-Tool.
Hast Du das Thema mal prüfen können oder gibt es eine Doku dazu?
Würde mich freuen, wenn Du mir einen Tip geben könntest, wie reiner HTML-Code im LO-BASE-Report korrekt angezeigt werden kann.
Oder gibt es diesbezüglich Planungen zur Weiterentwicklung des LO-BASE-Reportdesigner?

Danke und viele Grüße
Klemens
RobertG hat geschrieben:Hallo KRose,

Du meinst ein Feld, das Formatierungen darstellt, die aus einer HTML-Datei stammen wie z.B. <br> als Absatzumbruch usw.? Das wirst Du im ReportBuilder nicht finden. In den gesamten Formularfeldern steht so etwas nicht zur Verfügung und auch der ReportBuilder greift auf solche Formularfelder zu.

Wie hast Du denn überhaupt den Code entsprechend in die Datenbank rein bekommen?
Ist der gesamte Inhalt im Prinzip HTML-Code, so dass es sinnvoller wäre, nicht eine Writer-Datei, sondern eine HTML-Datei zu erstellen und mit dem Inhalt zu füllen? So etwas könnte ich mir per Makro vorstellen - aber nicht kombiniert mit irgendwelchen anderen Feldern, die wiederum ganz anderen Inhalt haben können.

Gruß

Robert

RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: HTML Komponente im Report-Desinger

Beitrag von RobertG » Mo 12. Dez 2016, 16:17

Hallo Klemens,

die einzige Möglichkeit, die ich wüsste, wäre:
HTML-Code in eine Datei auslesen und mit Hilfe des Browsers extern darstellen.
Das geht aber nur unter Zuhilfenahme von Makros. Da habe ich nicht so auf Anhieb ein paar Codezeilen parat.

Für den Report-Builder werden vermutlich vorerst keine zusätzlichen Funktionen bereitgestellt. Dazu fehlt einfach die entsprechende Anzahl an interessierten EntwicklerInnen. Ich persönlich wäre erst einmal froh, wenn einige Bugs beseitigt würden, die bereits seit Beginn an in dem Teil schlummern.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

KRose
Beiträge: 5
Registriert: Fr 9. Sep 2016, 13:53
Wohnort: Freiburg

Re: HTML Komponente im Report-Desinger

Beitrag von KRose » Di 13. Dez 2016, 12:28

Hallo Robert,

Ok vielen Dank für die Infos!

Die Lösung mit dem Browser ist leider nicht praktikabel, da der Report als PDF verteilt werden soll.
Und an der Stelle scheitern fast alle Report-Generatoren, wenn es darum geht den Feldinhalt als HTML-Code zu interpretieren und im Report direkt darzustellen.

Gäbe es denn grundsätzlich Interesse an ein solches Feature?
Könnte man sich an der Entwicklung einer solchen Option in LO - BASE - Rep.-Designer evtl. beteiligen?
In welcher Sprache ist der RD geschrieben?

Ich nutze LO-Rep.-Designer für Reports aus der Projektverwaltung "Redmine".

Kennst Du evtl. andere Report-Generatoren, die HTML-Code-Interpreter unterstützen?

Vielen Dank und Grüße
Klemens
RobertG hat geschrieben:Hallo Klemens,

die einzige Möglichkeit, die ich wüsste, wäre:
HTML-Code in eine Datei auslesen und mit Hilfe des Browsers extern darstellen.
Das geht aber nur unter Zuhilfenahme von Makros. Da habe ich nicht so auf Anhieb ein paar Codezeilen parat.

Für den Report-Builder werden vermutlich vorerst keine zusätzlichen Funktionen bereitgestellt. Dazu fehlt einfach die entsprechende Anzahl an interessierten EntwicklerInnen. Ich persönlich wäre erst einmal froh, wenn einige Bugs beseitigt würden, die bereits seit Beginn an in dem Teil schlummern.

Gruß

Robert

RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: HTML Komponente im Report-Desinger

Beitrag von RobertG » Di 13. Dez 2016, 18:29

Hallo Klemens,

wenn Du das Ganze sowieso als *.pdf-Datei verteilen willst, warum machst Du dann keine html-Datei daraus und lässt die als *.pdf über LO abspeichern? Wie so eine Speicherung als *.pdf-Datei erfolgen könnte habe ich im Handbuch beschrieben. Allerdings müsstest Du dann die HTML-Datei über den Writer und nicht über einen Browser (im Hintergrund) öffnen.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

KRose
Beiträge: 5
Registriert: Fr 9. Sep 2016, 13:53
Wohnort: Freiburg

Re: HTML Komponente im Report-Desinger

Beitrag von KRose » Mi 14. Dez 2016, 15:46

Hallo Robert,

vielen Dank, aber das löst das Problem leider auch nicht, da die HTML-Ausgabe ebenfalls keine korrekte Interpretation der HTML-Tags des Text-Feldes der Tabelle durchführt.
Ausserdem ist das letztlich die gleiche Vorgehensweise wie mit Windows-Word.
Das habe ich auch schon ausprobiert und klappt ja auch:
- Inhalt des Text-Feldes in eine Datei kopieren und speichern
- Die Datei umbenennen nach *.htm
- Datei in Word laden
- Ergebnis: Alles wird korrekt dargestellt
- Fazit: Das ist viel zu umständlich und sehr aufwendig in der Bedienung.

Ich möchte letztlich eine Vorlage erstellen die Version, Logo, Revision, etc. bereits beinhaltet und die dynamischen Daten bei der Ausgabe als Report aus einer Datenbank hinzufügt. Dabei gibt es eben Tabellen, die Text-Felder beinhalten, die reinen HTML-Code enthalten. Dieser HTML-Code sollte beim Lesen eben direkt als solcher interpretiert und im Report angezeigt werden.

Der Umweg über die HTML-Ausgabe klappt ebenfalls nicht, da der Feldinhalt genauso als Text und nicht als HTML-Code interpretiert wird.
Letztlich kann man das Problem nachstellen, in dem man eine beliebige HTML-Seite aus dem Internet (ohne Bilder) in ein Text-Feld einer Tabelle kopiert und anschließend den Inhalt als Report ausgibt.

In sofern bleibt das Problem weiterhin bestehen und ich werde weiter prüfen, welche Lösung es dafür gibt.

Ich danke Dir für Deine Unterstützung!

Grüße
Klemens
RobertG hat geschrieben:Hallo Klemens,

wenn Du das Ganze sowieso als *.pdf-Datei verteilen willst, warum machst Du dann keine html-Datei daraus und lässt die als *.pdf über LO abspeichern? Wie so eine Speicherung als *.pdf-Datei erfolgen könnte habe ich im Handbuch beschrieben. Allerdings müsstest Du dann die HTML-Datei über den Writer und nicht über einen Browser (im Hintergrund) öffnen.

Gruß

Robert

RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: HTML Komponente im Report-Desinger

Beitrag von RobertG » Mi 14. Dez 2016, 19:15

Hallo Klemens,

auch wenn Du es vermutlich nicht weiter nutzen kannst: Ich habe das Ganze mit einem Makro einmal nachvollzogen. Dafür musst Du natürlich die Ausführung von Makros erlauben.
Öffne das Formular in der *.odb-Datei. Dort ist ein Button, der den Inhalt des Textfeldes mit allen HTML-Formatierungen ausliest, in eine Datei im Backup-Verzeichnis von LibreOffice schreibt, anschließend den Writer öffnet und die html-Datei dort einliest, die Datei von dort nach *.pdf (wieder in das Backup-Verzeichnis) exportiert und den Writer wieder schließt.
Das einzige Problem, das sich nicht in den Griff bekommen habe, ist das Öffnen des Writers im Hintergrund zusammen mit dem Export als *.pdf. Da wurde im *.pdf ein Seitenumbruch erzeugt und dann begann der Text mit dem 2. Wort - warum auch immer.

Gruß

Robert
Dateianhänge
HTML_Export_PDF.odb.zip
(11.12 KiB) 120-mal heruntergeladen
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

Wanderer
* LO-Experte *
Beiträge: 909
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: HTML Komponente im Report-Desinger

Beitrag von Wanderer » Mi 14. Dez 2016, 23:31

Hallo,

GUI-Unterstützung kann ich zwar nicht anbieten, aber die Erzeugung eines HTML-Reports ist eigentlich nicht
schwer, wenn man im Hinterkopf hat, daß eine html-Datei erstmal nur Text im Sinne von ASCII-Datei ist.
Meine erste Idee war zwar auch die html-Email-Ausgabe des Serienbrief-Assistenten zu nutzten,
mekte dann aber, daß die html-Formatierungscodes zerlegt und dadurch lesbar aber inaktiv wurden.

Dann wollte ich mir ansehen, was er beim Speichern im Textformat .txt mit den Codes macht und stellte fest, das
sie unverändert im Text landeten.
In der Beispiel-Zip ist also eine Mikro-Datenbank mit 3 Datensätzen, wobei das Adress-Feld einfache html-Codes enthält:
Zeilenumbruch fett und kursiv. z.B.:

Code: Alles auswählen

 Museo Dali<br><i>12345</i><b>Figueras</b>
Für die Serienbriefdatei sbt.odt muß diese Datenbank als Datenquelle angemeldet werden.
Sie enthält ein rudimentäres html-Gerüst und mit h3-Formatierungen weitere eigene html Codes und natürlich die Datenbankfelder.
(Achtung beide werden durch < und > begrenzt, aber die Datenfelder sind grau hinterlegt.)

Code: Alles auswählen

<html>
<body>

<h3><Vorname> <Nachname> </h3><br> <Adresse> <P>

</body>
</html>
Nun Drucken wählen und als Ausgabe "In Datei" wählen. Bei der Frage nach dem Dateinamen auch das Ausgabeformat auf .txt ändern
und dann statt automatischer Dateinamenerweiterung direkt z.B in Test.html schreiben.
Das Resultat lässt sich im Browser inspizieren. Es funktioniert, aber der Quelltext zeigt, daß html und body für
jedes Element erzeugt werden (eigentlich nicht erstaunlich). Html-Header und Ende sollten also extern erzeugt werden.

Es sollte also möglich sein:
- In einem beliebigen HTML-Editor eine Maske für einen Datensatz zu erzeugen
- Den Quelltext der Maske in Writer zu kopieren (als reinen Text)
- Datenbankfelder in die kopierte Maske einzusetzen
- und damit einen vollständigen "Report" zu erzeugen, der nur noch (per Makro?) mit einen html-Head und -Tail versehen werden muß.

Derzeit fehlt mir die Zeit das auszuarbeiten, aber bei Gelegenheit werde ich das Thema mal etwas vertiefen.

mfg, Jörn
Dateianhänge
htmlSerienbrief.zip
Datenbank, Serienbrief und html-Ausgabe
(10.82 KiB) 131-mal heruntergeladen
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten