Git Product home page Git Product logo

jfreepdf's People

Contributors

jfree avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

jfreepdf's Issues

Could reference in project that using the apache license 2?

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>

Coordinate precision issues in vector elements inside produced PDF

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);

image
image

Missing import in FunctionType.java for PDFGraphics2D (causes javadocs error), plus minor POM and gitignore oversights

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.

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.