AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [Bibliothek] Barcode für Delphi (Zint)

[Bibliothek] Barcode für Delphi (Zint)

Ein Thema von chaosben · begonnen am 27. Nov 2009 · letzter Beitrag vom 25. Mär 2020
Antwort Antwort
Seite 2 von 14     12 3412     Letzte » 
Benutzerbild von chaosben
chaosben
Registriert seit: 27. Apr 2005
Geschichte & Hintergrund
Ende 2009 entstand hier und im TUO-Repository die TZintBarcode-Komponente. Das war ein Compilat der Zint-Bibliothek als 32bit-Windows-DLL und die dazu passenden Delphi Wrapper-Klassen und Komponenten.
Zint ist ein C-Projekt von Robin Stuart, einem sehr netten Entwickler aus UK.
Nach einer Weile starb das original Zint-Projekt (und damit auch die Weiterentwicklung unserer Komponente) weil Robin das Projekt nicht mehr unterstützte.
Ende Mai 2012 kam wieder frischer Wind in das Zint-Projekt, auch durch den Fork (was auch gleichzeitig der aktuelle Stand der Dinge ist) von Ismael Luceno auf github.
Da wir externe Abhängigkeiten(in diesem Fall die zint.dll) nicht gern haben, entschieden wir uns (nach Absprache mit Robin), den originalen C-Code nach Pascal zu übersetzen.
Dabei gelten 2 Regeln:
  1. So nah wie möglich am originalen C-Code bleiben, damit Bugfixes und Features möglichst einfach übernommen werden können
  2. So Pascal wie möglich, damit auch die FreePascal-Gemeinde (und damit möglichst viele Plattformen) etwas davon hat.
Und damit sind wir im Heute angekommen. Die Übersetzung ist vollständig erledigt und nun warten wir auf euer Feedback.

Was es ist
Dies ist eine native Pascal-Implementation der Zint-Bibliothek zur Erstellung von verschiedenen 1D- und 2D-Barcodes.

Download
Den Code gibts per SVN.
Lizenz
Apache License 2.0

Was im Moment geht
Zur Zeit sind folgende Codes verfügbar:
  • 2of5Matrix, 2of5Industrial, 2of5Interleaved, 2of5IATA, 2of5Datalogic
  • Deutsche Post Leitcode, Deutsche Post Identcode
  • EAN128, Code128, Code128B, NVE18, ITF14, EAN14
  • Datamatrix
  • Maxicode
  • Code 11, Code 39, Pharmacentral (PZN), Extended Code39, Code93
  • Pharmacode, 2-Track-Pharmacode, Codabar, Code32
  • Australia Post Code, Australia Post Reply Code, Australia Post Route Code, Australia Post Redirect Code
  • Aztec, Azrunes
  • Code16k
  • Code49
  • Composites: EAN128
  • QR-Code, MicroQR-Code
  • Gridmatrix
  • Plessey, MSI-Plessey
  • EAN13, EAN5, EAN2, UPCA, UPCE, ISBN
  • Telepen,
  • [Korea|Dutch|Japan]Post
  • GS1-Databar
Folgende Rendering-Ziele werden im Moment unterstützt:
  • TCanvas (Delphi, FMX, Lazarus)
  • TMetafile (Delphi)
  • TlmfImage (Lazarus)
  • TBitmap (Delphi, FMX, Lazarus)
  • SVG nativ (Delphi, FMX, Lazarus)

Was noch fehlt
  • Firebird-UDF (man darf doch mal träumen, oder?)

Danke für die Mitarbeit (Ideen, Bugs, ...)
Fragen, Anregungen, Issues
Falls ihr dergleichen habt, schreibt sie bitte in den Issue-Tracker oder auch in diesen Thread (falls eine akute Google-Allergie besteht ). In der Regel sollte sich eine Lösung finden lassen.
Wünsche, die in Form einer PayPal-Zahlung ankommen, werden bevorzugt bearbeitet.

Viel Spass!
Angehängte Grafiken
 
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)

Geändert von chaosben ( 9. Feb 2014 um 07:45 Uhr)
 
Benutzerbild von Bummi
Bummi

 
Delphi XE3 Enterprise
 
#11
  Alt 4. Nov 2011, 10:03
http://theunknownones.googlecode.com...arcode/Design/
Thomas Wassermann H₂♂
  Mit Zitat antworten Zitat
LokutusvB

 
Delphi XE6 Enterprise
 
#12
  Alt 4. Nov 2011, 10:11
Ich stelle mich sicher nur zu dumm an, aber wo versteckt sich hier die Komponente für Delphi XE?
http://theunknownones.googlecode.com...s/ZintBarcode/

Ich konnte ich keiner der pas-Dateien eine Register-Prozedur finden.
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

 
Delphi XE2 Professional
 
#13
  Alt 5. Nov 2011, 11:08
War dein letzter Post ein Ausrutscher oder Ernst?
Wenn er ernst gemeint war, dann hier noch mal der Link, den Bummi schon mal ansprach.

Ansonsten hab ich dir einen 140er/XE Ordner reingebaut.
Benjamin Schwarze
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

 
Delphi 10.2 Tokyo Professional
 
#14
  Alt 16. Mai 2012, 09:46
Da ich grad selbst nach Barcode-Kompos suche bin ich auf diesen Thread gestoßen. Ich möchte nur zum Thema GPLv3 etwas anmerken: Selbst wenn Zint unter der GPLv3 steht, so ist es hier zur zint.dll kompiliert, die Delphi-Komponenten nutzen nur die DLL und implementieren nicht selbst Quellcodes aus dem Projekt Zint. Daher müssen Projekte, welche die zint.dll benutzen, nicht zwingend unter der GPLv3 stehen. Andernfalls müßte ja auch jedes Bild das mit Gimp erstellt wurde, unter der GPL stehen. Oder die Ausführung einer unter der GPL stehenden .EXE würde das gesamte Windows-Betriebssystem unter die GPL zwingen. Das ist Mumpitz.

Die Diskussion gabs schon hunderte Male im Netz. Letztendlich ist die Lesart der GPL so, dass die Verwendung und Weiterentwicklung von Quellcodes die "Infektionalität" der GPL bewirkt. Diese endet dann jedoch bei Kompilaten wie DLLs. Um allen Missverständnissen vorzubeugen, sollte man den Lizenztexten der eigenen Software einen Hinweis zur Verwendung der unter der GPLv3 stehenden zint.dll hinzufügen und einen Link zu den Quellcodes der zint.dll mit angeben. Dann hat man der GPLv3 in jedem Fall Genüge getan.
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

 
Delphi XE2 Professional
 
#15
  Alt 30. Jul 2013, 20:08
Update 30.07.13: es wird noch besser!
Nachdem das originale Zint-Projekt eine Weile tot war, lebt es jetzt wieder und auch Pascal-Liebhaber sollen etwas davon haben.
Deshalb arbeiten wir gerade an einer Pascalübersetzung des Zint-C-Codes um dann später Barcodes aus Delphi/Freepascal/Lazarus nativ zu generieren.
Zur Zeit (nach 2 Tagen Arbeit) funktionieren schon mal 2of5-Matrix und Code128.
Dafür wird wahrscheinlich die alte Komponente sterben müssen. Aber was solls ... shi*** happens
Mal sehen wie es weiter läuft.
Und falls ihr irgendwelche Anregungen habt: immer her damit ... wir lesen sie auf jeden Fall.
Benjamin Schwarze

Geändert von chaosben ( 7. Aug 2013 um 05:33 Uhr)
  Mit Zitat antworten Zitat
Patito
 
#16
  Alt 31. Jul 2013, 07:51
Hm. Gut. Nur leider GPL und damit z.B. nicht verwendbar in Anwendungen, die nicht GPL sind.
Codehunter verwechselt in seiner Aussage oben wohl die GPL mit der LGPL.

Ein Hinweise auf der Webseite zu zint klingt ein wenig danach, als ob zint.dll freier sein sollte.
"Only the contained backend (aka ZINT shared library) is licensed under BSD 3."
Im wichtigen Sourcecode und den Lizenz-Files sehe ich aber überall nur GPL.

Konkrete Frage: Wenn jemand zint verwendet um für z.B. FastReports fehlende Barcodes zu erzeugen ist das wohl
Lizenztechnisch unmöglich?! (FastReports gibts vermutlich nicht als GPL?)
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

 
Delphi XE2 Professional
 
#17
  Alt 31. Jul 2013, 09:47
Ich versuch mal, diese Lizenz-Diskussion zu beenden:
Auf Nachfrage bei Robin Stuart (dem Entwickler von Zint) schrieb er:
Zitat von Robin Stuart:
Don't worry about any licensing issues, just go ahead - the only thing I would ask for is you put "based on Zint by Robin Stuart and the Zint team" or something to that effect in your code, and maybe a link so that those who are interested can trace the lineage.
Damit ist imho alles gesagt.
Der Pascal-Code wird letztendlich unter der DWYWBDBU-Lizenz (do what you want, but dont blame us) rauskommen, womit alle Einsatzmöglichkeiten offen sind.
Benjamin Schwarze
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

 
Delphi XE2 Professional
 
#18
  Alt 6. Aug 2013, 14:32
Update 06.08.13: Erste Erfolge
Bis jetzt läufts ganz gut. Im Moment kann man folgenden Codes erstellen (getestet mit XE2 und Lazarus):
  • 2of5 Matrix, 2of5 Industrial, 2of5 Interleaved, 2of5 IATA, 2of5 Datalogic
  • Deutsche Post Leitcode, Deutsche Post Identcode
  • EAN-128, Code128, Code128B, NVE-18, ITF-14, EAN-14
  • Datamatrix
  • Maxicode

Wer es ausprobieren will ist im SVN-Repository richtig.
Demnächst wird es dann auch mindestens eine Komponente zur einfachen Verwendung geben.
Benjamin Schwarze

Geändert von chaosben ( 7. Aug 2013 um 05:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

 
Delphi 10.2 Tokyo Professional
 
#19
  Alt 7. Aug 2013, 07:28
Wenn ich einen Wunsch äußern dürfte: Codabar wäre für mich ganz interessant und die Kompilierbarkeit für 64 Bit. Bei einem Projekt setze ich eine uralte Komponente ein, die in Pixeleinheiten auf Canvas zeichnet. Das ist äußerst lästig wenn man die Barcodes zu Papier bringen will. Man muss erst umständlich die Druckerauflösung ermitteln und dann Pixel in Millimeter umrechnen. Daher wäre es sehr wünschenswert, wenn die Komponente die Berechnung selbst vornehmen könnte wenn man ihr einen dpi-Wert sowie Höhe und Breite in mm vorgibt.
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

 
Delphi XE2 Professional
 
#20
  Alt 9. Aug 2013, 12:03
Codabar ist kein Problem, das ist seit dem letzten Commit (gestern) dabei.
x64 ist bisher theoretisch und praktisch kein Problem.

Ein bißchen stolper ich noch über die Sache mit dem Drucken. (das kann aber auch daran liegen, das ich bei diesem Thema nicht ganz fit bin)
Im Moment kommt als Resultat ein Bitmap heraus, das man dann auf die beliebige Größe skalieren kann (bei 2D natürlich nur proportional). Reicht das?

Btw:

Update 08.08.13: Nach der Zähmung der Azteken, gehts munter weiter
Neben einer simplen Demo sind folgende Codes jetzt hinzugekommen:
  • Code 11, Code 39, Pharmacentral (PZN), Extended Code 39, Code 93
  • Pharmacode, 2-Track-Pharmacode, Codabar, Code 32
  • Australia Post Code, Australia Post Reply Code, Australia Post Route Code, Australia Post Redirect Code
  • Aztec, Azrunes
Benjamin Schwarze

Geändert von chaosben (13. Aug 2013 um 12:46 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf