singingbush / barcode4j Goto Github PK
View Code? Open in Web Editor NEWThis barcode4j fork was migrated from Sourceforge svn with full commit history
License: Apache License 2.0
This barcode4j fork was migrated from Sourceforge svn with full commit history
License: Apache License 2.0
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.
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.
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.
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.DefaultBarcodeClassResolverby 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 BarcodeUnder Barcode 2 is;
59 = Customer Barcode 2Under Barcode 3 are;
62 = Customer Barcode 3
44 = Currently ReservedDPID:
- This is a unique 8A value of each address, supplied by Australia Post.
Example: 39549554Therefore, is you want a Standard Barcode 1, $Barval would be;
1139549554This will return a blank value if DPID could not be converted.
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
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.
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
Hi @SingingBush,
Do you have any plans on releasing this fork to maven ?
And what is the status of the project in general ? are you still invested in ?
Thanks
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)
Please specify the license under which this fork of barcode4j is released.
plan is to try and get a maven build working without messing with project structure at first. Just want the builds for:
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
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.
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
the Avalon Framework is now retired so any dependency on it should be removed
https://cwiki.apache.org/confluence/display/excalibur/AvalonFramework
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
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
make sure that barcode4j-examples doesn't get published when doing releases.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.