xref: /aosp_15_r20/external/zxing/README.md (revision 513427e33d61bc67fc40bc261642ac0b2a686b45)
1*513427e3STreehugger Robot<img align="right" src="https://raw.github.com/wiki/zxing/zxing/zxing-logo.png"/>
2*513427e3STreehugger Robot
3*513427e3STreehugger Robot## Project in Maintenance Mode Only
4*513427e3STreehugger Robot
5*513427e3STreehugger RobotThe project is in maintenance mode, meaning, changes are driven by contributed patches.
6*513427e3STreehugger RobotOnly bug fixes and minor enhancements will be considered. The Barcode Scanner app can
7*513427e3STreehugger Robotno longer be published, so it's unlikely any changes will be accepted for it.
8*513427e3STreehugger RobotThere is otherwise no active development or roadmap for this project. It is "DIY".
9*513427e3STreehugger Robot
10*513427e3STreehugger Robot## Get Started Developing
11*513427e3STreehugger Robot
12*513427e3STreehugger RobotTo get started, please visit: https://github.com/zxing/zxing/wiki/Getting-Started-Developing
13*513427e3STreehugger Robot
14*513427e3STreehugger RobotZXing ("zebra crossing") is an open-source, multi-format 1D/2D barcode image processing
15*513427e3STreehugger Robotlibrary implemented in Java, with ports to other languages.
16*513427e3STreehugger Robot
17*513427e3STreehugger Robot## Supported Formats
18*513427e3STreehugger Robot
19*513427e3STreehugger Robot| 1D product            | 1D industrial | 2D             |
20*513427e3STreehugger Robot|:----------------------|:--------------|:---------------|
21*513427e3STreehugger Robot| UPC-A                 | Code 39       | QR Code        |
22*513427e3STreehugger Robot| UPC-E                 | Code 93       | Data Matrix    |
23*513427e3STreehugger Robot| EAN-8                 | Code 128      | Aztec          |
24*513427e3STreehugger Robot| EAN-13                | Codabar       | PDF 417        |
25*513427e3STreehugger Robot| UPC/EAN Extension 2/5 | ITF           | MaxiCode       |
26*513427e3STreehugger Robot|                       |               | RSS-14         |
27*513427e3STreehugger Robot|                       |               | RSS-Expanded   |
28*513427e3STreehugger Robot
29*513427e3STreehugger Robot## Components
30*513427e3STreehugger Robot
31*513427e3STreehugger Robot### Active
32*513427e3STreehugger Robot
33*513427e3STreehugger Robot| Module              | Description
34*513427e3STreehugger Robot| ------------------- | -----------
35*513427e3STreehugger Robot| core                | The core image decoding library, and test code
36*513427e3STreehugger Robot| javase              | JavaSE-specific client code
37*513427e3STreehugger Robot| android             | Android client Barcode Scanner [<img height='62' width='161' src='https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png'/>](https://play.google.com/store/apps/details?id=com.google.zxing.client.android)
38*513427e3STreehugger Robot| android-integration | Supports integration with Barcode Scanner via `Intent`
39*513427e3STreehugger Robot| android-core        | Android-related code shared among `android`, other Android apps
40*513427e3STreehugger Robot| zxingorg            | The source behind `zxing.org`
41*513427e3STreehugger Robot| zxing.appspot.com   | The source behind web-based barcode generator at `zxing.appspot.com`
42*513427e3STreehugger Robot
43*513427e3STreehugger Robot### Available in previous releases
44*513427e3STreehugger Robot
45*513427e3STreehugger Robot| Module | Description
46*513427e3STreehugger Robot| ------ | -----------
47*513427e3STreehugger Robot| [cpp](https://github.com/zxing/zxing/tree/00f634024ceeee591f54e6984ea7dd666fab22ae/cpp)                   | C++ port
48*513427e3STreehugger Robot| [iphone](https://github.com/zxing/zxing/tree/00f634024ceeee591f54e6984ea7dd666fab22ae/iphone)             | iPhone client
49*513427e3STreehugger Robot| [objc](https://github.com/zxing/zxing/tree/00f634024ceeee591f54e6984ea7dd666fab22ae/objc)                 | Objective C port
50*513427e3STreehugger Robot| [actionscript](https://github.com/zxing/zxing/tree/c1df162b95e07928afbd4830798cc1408af1ac67/actionscript) | Partial ActionScript port
51*513427e3STreehugger Robot| [jruby](https://github.com/zxing/zxing/tree/a95a8fee842f67fb43799a8e0e70e4c68b509c43/jruby)               | JRuby wrapper
52*513427e3STreehugger Robot
53*513427e3STreehugger Robot### ZXing-based third-party open source projects
54*513427e3STreehugger Robot
55*513427e3STreehugger Robot| Module                                                                                    | Description
56*513427e3STreehugger Robot| ----------------------------------------------------------------------------------------- | -----------
57*513427e3STreehugger Robot| [SCodes](https://github.com/scytheStudio/SCodes)                                          | Qt & Qml wrapper
58*513427e3STreehugger Robot| [QZXing](https://github.com/ftylitak/qzxing)                                              | port to Qt framework
59*513427e3STreehugger Robot| [glassechidna/zxing-cpp](https://github.com/glassechidna/zxing-cpp)                       | port to C++ (forked from the [deprecated official C++ port](https://github.com/zxing/zxing/tree/00f634024ceeee591f54e6984ea7dd666fab22ae/cpp))
60*513427e3STreehugger Robot| [zxing-cpp/zxing-cpp](https://github.com/zxing-cpp/zxing-cpp)                             | latest/active port to C++, includes Android, iOS, Python, WASM and WinRT wrappers
61*513427e3STreehugger Robot| [zxing_cpp.rb](https://github.com/glassechidna/zxing_cpp.rb)                              | bindings for Ruby (not just JRuby), powered by [zxing-cpp](https://github.com/glassechidna/zxing-cpp)
62*513427e3STreehugger Robot| [jsqrcode](https://github.com/LazarSoft/jsqrcode)                                         | port to JavaScript
63*513427e3STreehugger Robot| [python-zxing](https://github.com/oostendo/python-zxing)                                  | bindings for Python
64*513427e3STreehugger Robot| [ZXing .NET](https://github.com/micjahn/ZXing.Net)                                        | port to .NET and C#, and related Windows platform
65*513427e3STreehugger Robot| [php-qrcode-detector-decoder](https://github.com/khanamiryan/php-qrcode-detector-decoder) | port to PHP
66*513427e3STreehugger Robot| [ZXing Delphi](https://github.com/Spelt/ZXing.Delphi)                                     | Port to native Delphi object pascal, targeted at Firemonkey compatible devices (IOS/Android/Win/OSX) and VCL.
67*513427e3STreehugger Robot| [ZXingObjC](https://github.com/TheLevelUp/ZXingObjC)                                      | Port to Objective-C
68*513427e3STreehugger Robot| [php-zxing](https://github.com/dsiddharth2/php-zxing)                                     | PHP wrapper to Zxing Java library
69*513427e3STreehugger Robot| [zxing-js/library](https://github.com/zxing-js/library)                                   | TypeScript port of ZXing library
70*513427e3STreehugger Robot| [pyzxing](https://github.com/ChenjieXu/pyzxing)                                           | Python wrapper to ZXing library
71*513427e3STreehugger Robot| [zxing-dart](https://github.com/shirne/zxing-dart)                                        | Port to dart
72*513427e3STreehugger Robot| [rxing](https://github.com/rxing-core/rxing)                                                | Port to rust
73*513427e3STreehugger Robot
74*513427e3STreehugger Robot### Other related third-party open source projects
75*513427e3STreehugger Robot
76*513427e3STreehugger Robot| Module                                         | Description
77*513427e3STreehugger Robot| ---------------------------------------------- | -----------
78*513427e3STreehugger Robot| [Barcode4J](http://barcode4j.sourceforge.net/) | Generator library in Java
79*513427e3STreehugger Robot| [BoofCV](https://boofcv.org) | Generator and reader library in Java
80*513427e3STreehugger Robot| [ZBar](http://zbar.sourceforge.net/)           | Reader library in C99
81*513427e3STreehugger Robot| [OkapiBarcode](https://github.com/woo-j/OkapiBarcode)  | Generator library in Java |
82*513427e3STreehugger Robot
83*513427e3STreehugger Robot## Links
84*513427e3STreehugger Robot
85*513427e3STreehugger Robot  * [Online Decoder](https://zxing.org/w/decode.jspx)
86*513427e3STreehugger Robot  * [QR Code Generator](https://zxing.appspot.com/generator)
87*513427e3STreehugger Robot  * [Javadoc](https://zxing.github.io/zxing/apidocs/)
88*513427e3STreehugger Robot  * [Documentation Site](https://zxing.github.io/zxing/)
89*513427e3STreehugger Robot
90*513427e3STreehugger Robot## Contacting
91*513427e3STreehugger Robot
92*513427e3STreehugger RobotPost to the [discussion forum](https://groups.google.com/group/zxing) or tag a question with [`zxing`
93*513427e3STreehugger Roboton StackOverflow](https://stackoverflow.com/questions/tagged/zxing).
94*513427e3STreehugger Robot
95*513427e3STreehugger Robot## Etcetera
96*513427e3STreehugger Robot
97*513427e3STreehugger Robot[![codecov](https://codecov.io/gh/zxing/zxing/branch/master/graph/badge.svg?token=6RrJHvUMDl)](https://codecov.io/gh/zxing/zxing)
98*513427e3STreehugger Robot[![Codacy](https://app.codacy.com/project/badge/Grade/5d1186edeb714f0187e3eb18cc6aeef1)](https://www.codacy.com/gh/zxing/zxing/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=zxing/zxing&amp;utm_campaign=Badge_Grade)
99*513427e3STreehugger Robot
100*513427e3STreehugger RobotQR code is trademarked by Denso Wave, inc. Thanks to Haase & Martin OHG for contributing the logo.
101*513427e3STreehugger Robot
102*513427e3STreehugger RobotOptimized with [![JProfiler](https://www.ej-technologies.com/images/banners/jprofiler_small.png)](https://www.ej-technologies.com/products/jprofiler/overview.html)
103