Closed stm9x9 closed 7 months ago
Ja, wäre witzig, wenn man das mit libreOffice einfügen könnte. Ich habe jetzt entdeckt, dass meine Sparkassen App das sogar auch schon einlesen könnte.
(funfact zur Digitalisierungsgeschwindigkeit in Deutschland: Das YouTube Video ist schon 7 Jahre alt)
Man kann einen Girocode per LibreOffice automatisiert einfügen?
Das dürfte ja dann auch für andere QR-Codes gehen?
Mit freundlichen Grüßen / Kindly Regards
Patrick Baumfalk Rechtsanwalt / Lawyer
Mobil: +49 1525 53 04 194 E-Mail: @.***
Baumfalk - Rechtsanwaltskanzlei Hauptstr. 195 50169 Kerpen
Tel.: +49 2273 40 68 504 Fax: +49 2273 59 03 565
E-Mail: @.*** Web: www.kanzlei-baumfalk.de
Sent by Mobile
Am 27.10.2021 um 06:57 schrieb Dickmaulruessler @.***>:
Ja, wäre witzig, wenn man das mit libreOffice einfügen könnte. Ich habe jetzt entdeckt, dass meine Sparkassen App das sogar auch schon einlesen könnte.
(funfact zur Digitalisierungsgeschwindigkeit in Deutschland: Das YouTube Video ist schon 7 Jahre alt)
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.
Man kann einen Girocode per LibreOffice automatisiert einfügen?
nein. Man kann in LO nur allgemein einen QR-Code erzeugen. Siehe der Link zu der LO-Hilfe.
https://s-publicservices.de/leistungen/girocode Auch mit Java API.
Ich halte das erst einmal nur für eine lustige Spielerei. Und soweit ich das verstehe würde das auf lange Sicht ohnehin kein jl-Feature, sondern allenfalls eines für libre Office sein, oder?
Nicht unbedingt. Es könnte Teil der Gebührenrechner sein, der dann nicht nur die Gebührentabelle ausgibt, sondern auch diesen QR-Code. LO alleine hat ja keinen Zugriff auf Kontonummer etc.
noch eine API: https://zahlen-mit-code.com/#api
Paßt ja zur aktuellen Rechnungs-Offensive! :-D
noch was zum Dateninhalt: https://de.wikipedia.org/wiki/EPC-QR-Code#Dateninhalt
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Base64;
import javax.imageio.ImageIO;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
public class GirocodeGenerator {
public static void main(String[] args) throws WriterException, IOException {
// Define invoice data
String iban = "DE89370400440532013000";
String bic = "COBADEFFXXX";
String name = "John Doe";
String amount = "10.50";
String purpose = "Invoice 12345";
// Encode invoice data as a Girocode string
String girocodeData = String.format("BCD\n001\n1\nSCT\n%s\n%s\n%s\nEUR%s\n\n\n%s\n\n\n\n", iban, bic, name, amount, purpose);
byte[] girocodeBytes = girocodeData.getBytes("ISO-8859-1");
String girocodeBase64 = Base64.getEncoder().encodeToString(girocodeBytes);
// Generate QR code from Girocode string
QRCodeWriter qrWriter = new QRCodeWriter();
BitMatrix matrix = qrWriter.encode(girocodeBase64, BarcodeFormat.QR_CODE, 300, 300, getHints());
// Write QR code to file
File qrFile = new File("girocode.png");
Path qrPath = qrFile.toPath();
MatrixToImageWriter.writeToPath(matrix, "PNG", qrPath);
// Read QR code file as base64 string
byte[] qrBytes = Files.readAllBytes(qrPath);
String qrBase64 = Base64.getEncoder().encodeToString(qrBytes);
System.out.println("Girocode data: " + girocodeData);
System.out.println("Girocode base64: " + girocodeBase64);
System.out.println("QR code base64: " + qrBase64);
}
private static java.util.Map<EncodeHintType,Object> getHints() {
java.util.Map<EncodeHintType,Object> hints = new java.util.EnumMap<EncodeHintType,Object>(EncodeHintType.class);
hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);
hints.put(EncodeHintType.CHARACTER_SET, "ISO-8859-1");
return hints;
}
}
benötigt Startup-Parameter
--add-exports=java.base/sun.security.action=ALL-UNNAMED --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED
{{BEL_GIROCODE}}
Auch wenn es für die Produktivversion vermutlich nicht mehr benötigt werden wird, wäre es vermutlich noch hilfreich darauf hinzuweisen, wo man die Parameter einfügen muss. Ich würde es in der /etc/init.d/j-lawyer-server ab Zeile 167 unterbringen, korrekt? Hier ab Zeile 166:
if [ "$JBOSS_MODE" = "standalone" ]; then start-stop-daemon --start --user "$JBOSS_USER" \ --chuid "$JBOSS_USER" --chdir "$JBOSS_HOME" --pidfile "$JBOSS_PIDFILE" \ --exec "$JBOSS_SCRIPT" -- -c $JBOSS_CONFIG $JBOSS_OPTS >> "$JBOSS_CONSOLE_LOG" 2>&1 &
Um Überweisungen zu erleichtern, gibt es eine Sonderform des QR-Codes, der SEPA-Informationen enthält. Die kann man einfach mit der Banking-App scannen und alle Daten sind ohne Abtippfehler und Arbeit in der Überweisungsmaske.
siehe zb https://www.youtube.com/watch?v=VPx0pCauW64
Da Name und Kontoverbindung ja schon in jl hinterlegt sind, könnte man beim Erzeugen einer Rechnung auch so einen Code erzeugen lassen.
Dafür gibt es mehrere Moglichkeiten:
@j-dimension 2024-02-08 ------------------------------------
10,25h
zukünftig könnte es auch sinnvoll sein, die Kontoinformationen nicht aus dem Kanzleiprofil zu nehmen, sondern die Bankverbindung am Nutzer zu hinterlegen (Bürogemeinschaften).