Barcodes erzeugen

#7252643
Lesenswert?

michael_ schrieb:
> Warum sollte ich in der Firma was machen, was die Firma verbietet?

Wenn es die Firma verbietet, kann man es eben nicht machen. Nach der 
Arbeit ist Feierabend. Und für die Firma was am privaten PC machen ist 
nicht. Schon garnicht in Bezug auf Datenschutz. Wir z.B. dürfen Daten 
vom Firmenrechner nicht mitnehmen, und wenn es sein muss dann nur mit 
Datenträgern die vom AG ausgegeben werden, private Datenträger sind 
offiziell untersagt. Will der AG, dass Barcodes erstellt werden, muss er 
eben die Ausstattung zur Verfügung stellen. Weshalb soll der AN auf 
seine Kosten das zuhause machen.
Gast #7252808
Lesenswert?

Ausdrucken darftst Du jeden Code.

Was man nicht 'sollte', ist den z.B. EAN-8 / EAN13 auf eigene Produkte 
kleben, und diese veräußern.
Der EAN-13 ist so aufgebaut :  länderkennziffer (2), Hersteller(5), 
Produkt (5), Prüfziffer (1).

EAN-8 ist meines Wissen komplett offen, da keine Verwendung seitens der 
Industrie mehr da ist. Wurde abgelöst durch EAN-13

2/5 Interleave ist frei verfügbar. Auch alle anderen sind frei.
#7253035
Lesenswert?

Wie gesagt, Früher™ war das in Word fix und fertig dabei.
Excel-Sheet als Datenquelle, Serienbrief in Word, Feld einfügen mit
>> { DISPLAYBARCODE { MERGEFIELD MeineDatenSpalte } QR \q 3 }
(oder gleich "MergeBarcode" als Shortcut)

Und schon hatte jedes Schreiben einen individuellen QR-Code.

Und laut

https://support.microsoft.com/de-de/office/feldfunktionen-displaybarcode-6d81eade-762d-4b44-ae81-f9d3d9e07be3?ui=de-de&rs=de-de&ad=de

ist das in Office365 wohl auch noch vorhanden.

Und nein, du brauchst dafür nicht den Serienbrief-Assistenten bemühen, 
statt dem "MERGEFIELD" kannst du auch einfach Statisch Daten 
eintippen...

Und, oh Wunder, statt "QR" kannst du auch aus einem ganzen Satz 
alternativer Codierungen auswählen.
Gast #7259311
Lesenswert?

René H. schrieb:
> Hans schrieb:
>
>> Darfst du Macros? Dann Daten an einen Webgenerator senden.
>
> Da spielt aber die DSGVO rein. Daher für Firmen m.E. eher nicht
> geeignet. Da wäre es besser, den Code offline per VBA zu erzeugen.

Die DSGVO gilt nur für personenbezogene Daten… und av Verträge gibt es 
auch
Gast #7259519
Lesenswert?

René H. schrieb:
> Herr M. schrieb:
>> Es gibt diverse JavaScript Barcode Generatoren, die offline
>> funktionieren. Vielleicht kann man die irgendwie benutzen.
>
> Ich nutze für QR-Code eine kompilierte Exe-Datei, die per Kommandozeile
> gesteuert wird. Ich kann morgen mal einen Link auf mein Beispielprojekt
> posten.

Wow, du hast es also geschafft den QR-Coder bei NuGet zu finden und es 
in eine Exe zu verfrachten, die dann sogar noch Kommandozeilen Argumente 
entgegen nimmt, ich bin echt beeindruckt...
#7259525
Lesenswert?

Tim T. schrieb:
> Wow, du hast es also geschafft den QR-Coder bei NuGet zu finden

Wie kommst Du auf diese Idee? Die EXE-Datei gab es fertig zum Download. 
Ist allerdings eine 10 Jahre alte Exe (mindestens). Da sind auch ein 
paar "Fehler" drin, die bemerkt aber der "Standard User" nicht.

http://www.rholtz-office.de/counters/getfile.php?id=104
(Bitte zuerst die Anleitung lesen. VBA-Kennwort ist ein kleines a)
Gast #7259534
Lesenswert?

René H. schrieb:
> Tim T. schrieb:
>> Wow, du hast es also geschafft den QR-Coder bei NuGet zu finden
>
> Wie kommst Du auf diese Idee? Die EXE-Datei gab es fertig zum Download.
> Ist allerdings eine 10 Jahre alte Exe (mindestens). Da sind auch ein
> paar "Fehler" drin, die bemerkt aber der "Standard User" nicht.
>
> http://www.rholtz-office.de/counters/getfile.php?id=104
> (Bitte zuerst die Anleitung lesen. VBA-Kennwort ist ein kleines a)

Ein Tool zum Erstellen von QRCodes kann man selber in ~15 Minuten 
zusammen knüppeln...
#7259540
Lesenswert?

Tim T. schrieb:
> Ein Tool zum Erstellen von QRCodes kann man selber in ~15 Minuten
> zusammen knüppeln...

Das bezweifle ich. Da es verschiedene QR-Codes gibt (2FA, GiroCode, 
Micro-Code, Standardtext, VCard, MeCard, WLAN/WiFi, Telefon, SMS, Email, 
Url), dürfte das kaum in 15 Minuten zu schaffen sein. Und nur 
"Standardtext" reicht wohl kam. Es dauert schon lange, sich in die 
Materie der verschiedenen QR-Codes einzuarbeiten.
Gast #7259545
Lesenswert?

René H. schrieb:
> Tim T. schrieb:
>> Ein Tool zum Erstellen von QRCodes kann man selber in ~15 Minuten
>> zusammen knüppeln...
>
> Das bezweifle ich. Da es verschiedene QR-Codes gibt (2FA, GiroCode,
> Micro-Code, Standardtext, VCard, MeCard, WLAN/WiFi, Telefon, SMS, Email,
> Url), dürfte das kaum in 15 Minuten zu schaffen sein. Und nur
> "Standardtext" reicht wohl kam. Es dauert schon lange, sich in die
> Materie der verschiedenen QR-Codes einzuarbeiten.

Alles fertig im QRCoder, das aufwändigste ist das Parsen der 
Commandline.
Gast #7259553
Lesenswert?

René H. schrieb:
> Tim T. schrieb:
>> Alles fertig im QRCoder
>
> Den möchte ich sehen. Vielleicht lässt sich damit mein Code
> verschlanken. Aber den Text muss man trotzdem erst aus verschiedenen
> Zellen oder Textboxen zusammensetzen, bevor man ihn zum Coder schickt.

Hatte mich auch mal dran gesetzt und ein Tool für das Erstellen von 
QRCodes geschrieben, einfache Alphanumerische Codes funktionierten auch 
schon sowie die verschiedenen Fehlerkorrekturen. Naja, dann habe ich den 
QRCoder bei NuGet entdeckt und die Sache hatte sich erledigt.

Also besorg dir einfach die Dll und fertig.
Gast #7259565
Lesenswert?

René H. schrieb:
> BTW:
>
> Tim T. schrieb:
>> zusammen knüppeln
> Das ist das selbe wie "Ich habe zwei Kabel zusammengefrickelt". 😉

Naja, mehr ist es doch eigentlich auch nicht, gewöhn' dich dran das es 
fertige Libs gibt, die dir die Arbeit abnehmen. Heute wird praktisch für 
fast alles eine Bibliothek benutzt, bei manchen Sachen ist es lächerlich 
aber für die Generierung von QR-Codes durchaus angebracht.
#7259578
Lesenswert?

Tim T. schrieb:
> gewöhn' dich dran das es
> fertige Libs gibt, die dir die Arbeit abnehmen

Die von mir genutzte Exe ist auch nichts weiter als eine Lib, eben im 
Exe-Gewand (Da kann ich auch die Dateindung in txt ändern, wenn Office 
bei Exe-Dateien rummeckert. Und es funktioniert trotzdem) Man setzt den 
Text für den QR-Code zusammen, gibt die Parameter an (Text, Größe, 
Farbe, Auflösung) und sendet es per Kommandozeile an den Coder. Die in 
meinem Projekt vorhandene JAB-Code-Funktion beruht auch nur auf fertigen 
Librarys (Text zusammenstellen und an den Coder schicken).
Gast #7259597
Lesenswert?

René H. schrieb:
> Tim T. schrieb:
>> gewöhn' dich dran das es
>> fertige Libs gibt, die dir die Arbeit abnehmen
>
> Die von mir genutzte Exe ist auch nichts weiter als eine Lib, eben im
> Exe-Gewand (Da kann ich auch die Dateindung in txt ändern, wenn Office
> bei Exe-Dateien rummeckert. Und es funktioniert trotzdem) Man setzt den
> Text für den QR-Code zusammen, gibt die Parameter an (Text, Größe,
> Farbe, Auflösung) und sendet es per Kommandozeile an den Coder. Die in
> meinem Projekt vorhandene JAB-Code-Funktion beruht auch nur auf fertigen
> Librarys (Text zusammenstellen und an den Coder schicken).

Dann ist eine managed Dll doch auch noch deutlich entspannter.

Also ein minimal Beispiel wäre dann so etwas:
1
QRCodeGenerator qrGenerator = new QRCodeGenerator();
2
QRCodeData qrCodeData = qrGenerator.CreateQrCode("Blablub", QRCodeGenerator.ECCLevel.H);
3
QRCode qrCode = new QRCode(qrCodeData);
4
Bitmap qrCodeImage = qrCode.GetGraphic(5); // Pixel pro Modul

Wenn du das Ganze für was anderes als Text brauchst, z.B. Girocode, 
einfach
1
PayloadGenerator.Girocode girocode = new PayloadGenerator.Girocode(...);
2
QRCodeData qrCodeData = qrGenerator.CreateQrCode(girocode, eCCLevel);
benutzen.

Bunt bekommst du es mit den Überladungen von qrCode.GetGraphic(), wo du 
die Farbe von Vorder- und Hintergrund ändern kannst und dann auch bei 
Bedarf ein Logo ins Zentrum des QRCodes packen kannst.

Achja, rendern kannst du nicht nur als Bitmap sondern auch als SVG, PS, 
PDF, PNG und was auch immer noch sonst.
Gast #7259642
Lesenswert?

René H. schrieb:
> Wo findet man denn die/eine "QR-Coder-DLL"? (Auf GitHub gibt es nur die
> "Master" mit lauter CS-Dateien)

Am einfachsten das NuGet Paket in ein VS Projekt importieren.
Alternativ auf Github den Source besorgen und selber kompilieren oder 
einfach das NuGet Release Package von Github entpacken und die DLL da 
raus nehmen.
Gast #7259671
Lesenswert?

René H. schrieb:
> Nicht leicht zu finden das Ganze. Aber so wie es aussieht funktioniert
> das nicht per Kommandozeile oder API!?

Sag mal, bist du so ahnungslos oder stellst du dich absichtlich doof?

Natürlich funktioniert das nicht von Kommandozeile aus, bis du einen 
Wrapper drum packst, aber warum sollte man das machen wenn man doch 
direkt auf die API zugreifen kann?!?

Und wenn Excel und Co Probleme mit den Datentypen haben, packt man um 
die QRcoder.dll eben noch eine eigene Wrapper DLL die dann mundgerecht 
für Excel die QRcoder.dll anspricht.
#7259683
Lesenswert?

Tim T. schrieb:
> aber warum sollte man das machen wenn man doch
> direkt auf die API zugreifen kann?!?

Hier in diesem Thread geht es um Microsoft Office auf einem Firmen-PC, 
auf dem keine Software installiert werden darf. Da bleibt nur die 
Kommandozeile.

Ich hab mich jetzt mal in "QRCoder" eingelesen. Ich finde es nicht 
einfacher als die von mir verwendete Version.
1
Public Function Do_QRCode(ByVal ImageName As String, _
2
                          ByVal Pixelcount As Byte, _
3
                          ByVal LDPI As Long, _
4
                          ByVal Level As String, _
5
                          ByVal micro As Long, _
6
                          ByVal FileType As String, _
7
                          ByVal Forecolor As Variant, _
8
                          ByVal Backcolor As Variant, _
9
                          ByVal Message As String) As Long
10

11
Dim blnEvents As Boolean
12
Dim ret As String
13
Dim vl As String
14
Dim tmr As Date
15
Dim eXecPath As Variant
16

17
eXecPath = ThisWorkbook.Path & "\Exec\QREnCode.dll "
18

19
If InStr(1, "png svg eps", LCase(FileType)) Then
20
    If micro > 0 Then
21
        micro = Get_MicroQR(Message, Level, vl)
22
        If micro = 0 Then
23
            MsgBox ("Die Auswahl übersteigt die Kapazität des MicroQR-Codes.")
24
            Exit Function
25
        Else
26
        ret = "-o " & ImageName & _
27
              " " & vl & _
28
              " -l " & Level & _
29
              " -v " & micro & _
30
              " -M" & _
31
              " -t " & FileType & _
32
              " -s " & Pixelcount & _
33
              " --foreground=" & Forecolor & _
34
              " --background=" & Backcolor & _
35
              " " & Message
36
        End If
37
    Else
38
        ret = "-o " & ImageName & _
39
              " -t " & FileType & _
40
              " -s " & Pixelcount & _
41
              " -l " & Level & _
42
              " -d " & LDPI & _
43
              " --foreground=" & Forecolor & _
44
              " --background=" & Backcolor & _
45
              " " & Message
46
              
47
    End If
48
    
49
    ret = CreateObject("WScript.Shell").Exec(eXecPath & ret).StdOut.ReadAll
50
    tmr = Time
51
    
52
    Do
53
        If ret = "" And Dir(ImageName) <> "" Then blnEvents = True
54
    Loop Until blnEvents Or Time >= (tmr + TimeValue("00:00:05"))
55
End If
56

57
Do_QRCode = blnEvents
58
End Function
Gast #7259688
Lesenswert?

Ok, du hast nichts verstanden. Es muss auf dem Rechner nichts 
installiert werden, nur 1-2 Dlls in ein Verzeichnis gelegt; aber was 
solls bleib du bei deiner Exe und benutz das Ganze wie in der Steinzeit 
wenn das für dich reicht, mir egal.
#7259694
Lesenswert?

Tim T. schrieb:
> Ok, du hast nichts verstanden. Es muss auf dem Rechner nichts
> installiert werden

Es gibt aber keine Codebeispiele für VB/VBA. Vermutlich funktioniert das 
dort nicht. Hier geht es noch immer um Microsoft Office. Und da bekommt 
man die dll nicht eingebunden ("RegisterServer Eingangspunkt" und 
"RegisterServer Ausgangspunkt" hat die dll nicht). Das müsste dann schon 
eine ocx werden, die man über "Verweise" einbinden und dadurch 
ansprechen kann.
Gast #7259699
Lesenswert?

René H. schrieb:
> Tim T. schrieb:
>> Ok, du hast nichts verstanden. Es muss auf dem Rechner nichts
>> installiert werden
>
> Es gibt aber keine Codebeispiele für VB/VBA. Vermutlich funktioniert das
> dort nicht.
Doch, natürlich geht das, es sind doch nur Parameter und Rückgabewerte. 
Darum ja den Wrapper um die QRCoder.dll damit du es entsprechend einfach 
kapseln kannst.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren