Giter Club home page Giter Club logo

barcode4j's People

Contributors

mrhuber71 avatar singingbush avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

barcode4j's Issues

Releases Schedule

Hi @SingingBush,

Thank you again for the great efforts in maintaining this library.

Do you have any releases scheduled soon ? or in other words, what is the frequency of releases you are planning to have ?

I am using the library, and multiple dependencies require updates (which truly don't want to do them one by one regularly, as I am only using them through this one). If you need any help in doing so I will be happy to assist in what I can.

add support for Saxon PE/EE versions 10, 11 & 12

as part of the maven migration #5 I setup a separate sub-module for Saxon 8 support. In more recent versions of Saxon (9, 10, 11) the PE or EE version is required. These are not available through maven and require a license. I've downloaded both saxon-ee-10.6.jar and saxon-ee-11.1.jar and taken a look at what would be required to support those versions. There are definitely breaking changes in the Saxon API since Saxon 8/9. With some work it should be possible to add a barcode4j-saxon module that works on both v10 and v11 but the saxon documentation isn't great and the requirement to have a valid license of the classpath makes testing a problem.

update the constants in MimeTypes to reflect current standards

mime types in barcode4j are pretty old and in some cases use the x- prefix that's used to indicate non-standard mime types. For example; the mime type for png currently used image/x-png instead of the image/png value as defined by the png ISO/IEC standard in 2004.

This can result in:

java.lang.UnsupportedOperationException: No BitmapEncoder available for image/x-png

To prevent any breaking changes for users tests should be in place to ensure that both the standardised and non-standard values work with the code.

apply patch 18 Australia Post Barcode

Add the Australia Post barcode generation from the Format control code and Sort code (DPID).
https://sourceforge.net/p/barcode4j/patches/18/
Created: 2009-01-02 by Antun Oreskovic

the zip contained following readme:

Hi Jeremias,

I believe that I have matched the code style, as you request. I took your RoyalBC code,
and converted to Austpost. All my changes were new classes, as I am not sure what the deal
is with changing existing code.

Obviously, I had to change;
org.krysalis.barcode4j.DefaultBarcodeClassResolver

by adding;
registerBarcodeClass("austpost",
"org.krysalis.barcode4j.impl.fourstate.AustPost", true);

Please review and let me know what you think. Any suggestions or changes you want made to it,
go right ahead, or let me know and I will make them.

I had to override some methods in the Fourstate classes, as the bars are reversed in
Austpost, then they are in Fourstate.

Additions;
org.krysalis.barcode4j.impl.fourstate.AustPost
org.krysalis.barcode4j.impl.fourstate.AustPostBean
org.krysalis.barcode4j.impl.fourstate.AustPostLogicImpl
These 3 you should recognise, very similar to RoyalMailCBC.
Just has some override methods for the bar calcs.

org.krysalis.barcode4j.impl.fourstate.FourStateAustPostLogicHandler
This class overrides the addbar, as the bars are reversed.

org.krysalis.barcode4j.impl.fourstate.AbstractAustPostLogicImpl
This class is the one that converts the Australian Format control and Sort code(DPID)
into the bar value representation. It does the Reed solomon calcs.

  • Instructions for Use

To use this in XSL using FOP:

Set up variable,

<xsl:variable name="gbl-auspost-bc">

5.4mm
0.4mm
2.5
2mm
1.4mm
0.7mm

ignore
none

</xsl:variable>

fo:block
fo:instream-foreign-object
<xsl:copy-of select="barcode:generate($gbl-auspost-bc, $barval)"/>
</fo:instream-foreign-object>
</fo:block>

There are three customer barcode structures;
the inclusion of customer information being allowed in two bar types:

  • Standard Customer Barcode 1 - length 37 bars, no bars of customer information
  • Customer Barcode 2 - length 52 bars, 16 bars of customer information
  • Customer Barcode 3 - length 67 bars, 31 bars of customer information

The $barval needs to be a concatenation of FFC and DPID.

FFC:

  • Under Barcode 1 are;
    11 = Standard Customer Barcode
    45 = Reply Paid Barcode
    92 = Redirection Barcode

  • Under Barcode 2 is;
    59 = Customer Barcode 2

  • Under Barcode 3 are;
    62 = Customer Barcode 3
    44 = Currently Reserved

DPID:

  • This is a unique 8A value of each address, supplied by Australia Post.
    Example: 39549554

Therefore, is you want a Standard Barcode 1, $Barval would be;
1139549554

This will return a blank value if DPID could not be converted.

update com.google.zxing

once #5 is complete then focus on getting the code base to work with a more recent version of com.google.zxing

It's currently 1.7 so any update will require code changes

barcode4j-fop-ext depends on barcode4g-xgc which is not published

Hi @SingingBush again : )
First of all, thank you for the efforts in publishing the 2.2.0 release.
I tried using the barcode4j-fop-ext library, but for some reason it wasn't recognized, as not all dependencies were loaded and checked (we have private maven repo, which will not fetch any public library not uploaded in public maven central, for some reason).
I think the solution is to publish the barcode4g-xgc library.

Thank you again for the efforts.

change font used in test xml

update test resources (src/test/xml/*.xml) to change from <font-name>Courier</font-name> to <font-name>Courier New</font-name>.

May need to consider the need for Linux to have mscorefonts installed

Difficulty getting CLI to work

Not sure how to get CLI to work with this project. I've tried running with the JAR file and with java -cp with no luck.

(I'm sure it is something I am not understanding as I don't spend much time with Java)

switch from Ant to Maven

plan is to try and get a maven build working without messing with project structure at first. Just want the builds for:

  • barcode4j.jar
  • barcode4j-fop-ext.jar

anything else is bonus.

I'll try and get CI working for both Ant and Maven at first, then once that's done I'll consider restructuring the project into standard maven format and dropping Ant alltogether

encoding problem with migrated sources

although the files are all UTF-8 there are charset problems that need fixing. I suspect this was a problem in Sourceforge, perhaps when going from CVS to svn. An example is files that are showing Jeremias M�rki instead of Jeremias Märki even though the charset is UTF-8.

As there's a lot of chars in the test classes some care will need to be taken to ensure they are set to the intended values.

update batik and fop dependencies

To keep the current source compiling batik dependencies need to stay at 1.7, it would be good to make the required changes to update to 1.12 once #5 is done

Issue with Xalan extension

Hi,
sorry for the stupid question, but is it maybe possible that you forgot to release the xalan extension package (artifactId barcode4j-xalan)?
Because right now I try to migrate from Barcode4J 2.1 to your version and still after a lot of changes I get:

file:/simple_test.xsl; Line #31; Column #64; java.lang.NoSuchMethodException: For extension function, could not find method org.apache.xml.dtm.ref.DTMNodeIterator.generate([ExpressionContext,] #STRING).
2024-03-05 16:29:53,501 [FATAL] [de.fop.generator.LogEventListener] [0000]: "fo:instream-foreign-object" is missing child elements. Required content model: one (1) non-XSL namespace child (No context info available)
(Location of error unknown)org.apache.fop.fo.ValidationException: "fo:instream-foreign-object" is missing child elements. Required content model: one (1) non-XSL namespace child (No context info available)

Thanks & BR
Florian

Support Graalvm native image

I've done some testing with Quarkus Native and found that after building a native executable there are runtime issues. It's worth investigating a little further as it may well be possible to get things working with some configuration properties

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.