Hallo Michael,
<http://members.chello.at/easyfilter/barcode.ods>
Mit dieser Datei habe ich im Vorfeld schon experimentiert.
Darauf basiert auch meine hier gepostete Anfrage.
Mir ist es jedoch bis jetzt nicht gelungen den komplexen Algorithmus
nach Writer zu portieren.
Da LibreOffice nun über einen internen QR-Code-Generator verfügt, hatte
ich gehofft, dass mir jemand
sagen kann wie ich den Code schreiben muss, damit im Zeichnungsobjekt
ein QR-Code erscheint.
Nach meiner Code-Inspektion (mittels MRI) wird der QR-Code in einem
Shape-Objekt gezeichnet.
Für das Shape-Objekt gibt es aber keine Schnittstelle/ keinen Service
für den QR-Code-Generator.
Es gibt zwar ein Struct mit dem man die gewünschten Eigenschaften setzen
kann, aber diese
werden weder per API-Programmierung, noch per Dispatchercode angenommen.
Es hat den Anschein, als würden die Struct-Anweisungen in Leere laufen :(
"mehrzeilig" habe ich nicht verstanden,
Wenn man in Writer den QR-Code-Dialog aufruft, ist es in der
Eingabezeile nur möglich einen einzeiligen Text einzugeben.
z.B.:
Datum Sachbearbeiter Rechnungsnummer Kundennummer
Eine Zeilen-/ Absatzschaltung ist NICHT möglich.
1)
In meinem externen QR-Code-Scanner/ Generator ist eine mehzeilige
Eingabe möglich:
Eingabe im Textfeld des Generator:
Datum
Sachbearbeiter
Rechnungsnummer
Kundennummer
usw.
2)
Es wird ein QR-Code mit genannten Eingabe generiert, inklusive der
Zeilenschaltung.
3)
Der gespeicherte QR-Code kann nun gescannt werden und das Ergebnis ist
nun 1:1 im Textfeld sichtbar, inkl. der Mehrzeiligkeit:
Ausgabe im Textfeld des Scanners:
Datum
Sachbearbeiter
Rechnungsnummer
Kundennummer
usw.
@Dennis
Vielen Dank. Es scheint so, als hätte ich anfänglich einen Fehler
begangen, welchen weiß ich nicht.
Jetzt funktioniert es jedenfalls.
Viele Grüße
Jürgen
Am 10.09.2020 um 11:31 schrieb Hessler, Klaus-Michael:
Hallo Jürgen,
Danke für die
Erläuterung:
1) Es geht bei mir um eine Dokumentvorlage.
2) In einer Tabellenzelle soll der QR-Code in einer vorgegebenen Größe
erscheinen.
3) Öffnet man die Dokumentvorlage, dann liegt zunächst ein Dokument
"unbenannt1" vor
4) Der Anwender soll das Dokument unmittelbar nach dem Öffnen speichern.
Damit der Anwender dies nicht vergißt,
gibt es ein ereignisgesteuertes Makro, welches den Filepicker aufruft.
5) Es liegt nun eine URL vor. Aus "ThisComponent.URL" wird der Dateiname
extrahiert.
6) Jetzt soll per Makro ein QR-Code generiert werden oder der
bestehenden QR-Code soll editiert werden, wobei der Eigenschaft
"Payload" zunächst der Dateinname übergeben werden soll.
7) Es ist ggf. eine Positionierung und eine Größenänderung des QR-Codes
erforderlich. Dieses habe ich per Zugriff auf "Drawpage.Shape" gelöst.
8a) Der Anwender nimmt nun noch Änderungen am Dokument vor. Einige
dieser Daten sollen auch noch in den QR-Code übernommen werden.
Somit wäre hier ein ereignisgesteuertes Editieren des QR-Codes
erforderlich.
Ereignisgesteuerung = z.B. "Dokument schließen"
8b) Die hinzugefügten Daten sollen mehrzeilig in den QR-Code eingefügt
werden:
Mein Test mit einem QR-Code-Scanner und dem aus dem Writer-Menü
erzeugten Code:
Dateiname \n Datum
führte leider nicht dazu, dass "Dateiname" und "Datum" in zwei Zeilen
standen.
Es blieb wortwörtlich bei:
Dateiname \n Datum
Ich habe da keine tiefere Kenntnisse, jedoch hatte ich hier
<http://members.chello.at/easyfilter/barcode.html> einmal eine
Anleitung gefunden und die dort
<http://members.chello.at/easyfilter/barcode.ods> zum Download
angebotene .ODS heruntergeladen und erfolgreich genutzt; Deinen
Hinweis "mehrzeilig" habe ich nicht verstanden, das kann mein Beispiel
wohl nicht, die Anforderung von Boris sollte aber erfüllt sein. Deren
Makro-Code ist sichtbar, vielleicht hilft das ...
Gruß
Michael
--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.