jfree / jfreepdf Goto Github PK
View Code? Open in Web Editor NEWJFreePDF is a modular library for the Java platform that provides an implementation of the Graphics2D API that emits PDF.
License: GNU General Public License v3.0
JFreePDF is a modular library for the Java platform that provides an implementation of the Graphics2D API that emits PDF.
License: GNU General Public License v3.0
Can I reference (copy source code or maven import) this project in a project using the Apache license 2?
If I reference it, can the current project only use the GPL 2 license? Thanks in advance.
I am using this version:
<dependency>
<groupId>com.orsonpdf</groupId>
<artifactId>orsonpdf</artifactId>
<version>1.9</version>
</dependency>
It seems there is an issue when translating java2D graphics to PDF. Some lines are getting off their real precise coordinates. Same graphics exported to SVG from jfreeSVG are coordinate accurate. There might be some kind of optimization (or java variable type setting, float to double maybe) that actually reduces the number of coordinate digits and as a result some points are off their actual position in the used grid. I have noted such behavior in inkscape 's SAVE optimization algorithms that optionally can reduce the SVG size by reducing the number of digits used in coordinates. For some designs this might be and look OK, but for coordinate accurate or complex graphics this might lead to this artifact. You can consider this as a high priority bug as it can distort the produced graphics data with irreversible loss in specific cases.
There should be a way to improve the accuracy of the exported vectors, and this could be selectable scenarios by entering a new parameter hint value upon the fundamental call of graphics, something like
graphicsPDF.setRenderingHint(PDFHints.KEY_VECTOR_ACCURACY,
PDFHints.VALUE_DRAW_VECTOR_ACCURACY_LOW/MED/HIGH);
Javadocs gets an error due to the missing import for a "@link" annotation of the PDGGraphics2D class in FunctionType.java.
Also, Javadocs and its containing Maven target folder is not in the gitignore. I added these lines to my own gitignore:
target/
The POM file appears to have a copy/paste mistake in the "name" field, which is set to "org.jfree.pdf" instead of "JFreePDF".
I tried to do a partial pull for the two issues mentioned at the top (I did not change the POM file so am just commenting my observations here), but was unsuccessful in that endeavor, so I chose to document the relevant changes in this new Issue instead.
After all, I only created my new fork in order to switch the build for Java 1.8 vs. Java 11 (I am still stuck at Java 8 until SpreadsheetView in ControlsFX finally becomes available for Modular Java), and those changes shouldn't be merged into the main branch. So a pull request, event with commentary, seemed inappropriate.
I also added ".DS_Store" to my gitignore file, but there seems to be a recommended best practice of not including these or ".class" files or anything else fairly general and to instead trust that all potential contributors set up a global gitignore on their computer using the recommendations here:
http://egorsmirnov.me/2015/05/04/global-gitignore-file.html
I'm not seeing that as a widely adopted practice, so you may want to add "*.DS_Store" to your gitignore files as those show up for every directory on macOS and are time-consuming to exclude manually from a commit. There's a way to prevent their creation, or to batch-delete them, but it can mess up other applications to do so.
I was going to make the suggestion to add "*.DS_Store" to the Java template in the gitignore project on GitHub:
https://github.com/github/gitignore/blob/master/Global/macOS.gitignore
That's where I saw people's hands slapped with the admonition to use a global gitgnore for one's computer instead.
So the PDF shows UTF-8 charecters as "?". Can we specifiy char encoding somewhere? Or at least it could load the system default char encoding.
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.