Giter Site home page Giter Site logo

rtfarte / openpdf Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kulatamicuda/itext-4.2.0

31.0 31.0 12.0 17.63 MB

No longer actively maintained. Please send all pull requests to: https://github.com/librepdf/openpdf

License: Other

Java 100.00%

openpdf's People

Contributors

andreasrosdal avatar daviddurand avatar gskathol avatar jokimaki avatar kulatamicuda avatar mrestivill avatar ms6107 avatar rosdal avatar rtfarte avatar syakovyn avatar ubermichael avatar vicentealencar avatar weiyeh avatar ymasory avatar

Stargazers

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

Watchers

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

openpdf's Issues

ClassCastException in SimpleBookmark.getBookmark()

I sometimes get the following exception in the latest version of OpenPDF when getting bookmarks from a PDF:

Caused by: java.lang.ClassCastException: com.lowagie.text.pdf.PdfString cannot be cast to com.lowagie.text.pdf.PdfDictionary
at com.lowagie.text.pdf.SimpleBookmark.getBookmark(SimpleBookmark.java:289)
.....

The ClassCastException occurs here:
https://github.com/rtfarte/OpenPDF/blob/master/openpdf/src/main/java/com/lowagie/text/pdf/SimpleBookmark.java#L289

Continue to create modules for the different pieces of functionality

I would like to continue to create submodules that encapsulate different pieces of functionality. For example, I would like to create a crypto module that includes the bouncy castle libraries. This would be optional and you would include it only if you needed crypto functionality. Eventually, the core library would be just for managing generic documents. Even the pdf functionality would be a submodule.

HTML's unordered list parsed and put into PdfCell doesn't have bullets

Hi,

I've prepared the test example showing an issue: https://gist.github.com/syakovyn/8a28ab096bf5fa160f0baf0c6559a24a

The attached PDF shows a workaround that has bullets, but without spaces; the original lists without bullets at all; and the required behavior (default one when creating lists programmatically)
test.pdf

There are two issues here:

  1. With a Paragraph containing a List. Adding the Paragraph to a PdfCell causes the List items being rendered without bullets. A workaround is to add the List directly to PdfCell.
  2. With an HTMLWorker.parseToList method creating Lists with ListSymbol not having a space at its end.

Serhiy

Update to Java 8

I'm torn on this one. We might want to go as far as Java 7, as it's everywhere by now. However, Oracle has dropped support for even java 7. It might be best to go with java 8, which allows us to use the newest language features.

Remove anything to do with iText or proprietary tech

We don't want to be held to any copyright or protected works. We need to remove anything that might get others into trouble by including this library in their projects. I would like the license to be as open as possible, but we need to make sure we can open it up first.

License status?

I noticed that you changed the license to MIT in b7af357. However, the original iText source files state that they are licensed under LGPL/MPL. I assume that only new contributions are licensed under the MIT license? I don't think you can change the license of the whole code base unless you're the original copyright holder, especially from a restrictive license like LGPL to more permissive MIT.

Another question is what would be the license of the whole library. I'm under the impression that because LGPL is a copyleft license, the whole work would have to be licensed under that?

Perhaps you could clarify the license status in README? In my opinion the clearest and (from a legal perspective) safest thing to do would be to revert back to the original license. But again, I'm not a legal expert on FOSS licenses and I would just like to know your reasoning.

maven install fails on goal org.apache.maven.plugins:maven-gpg-plugin:1.5:sign

I get the following build failure error messages when running 'mvn install' on the current git master branch of this project, related to the goal org.apache.maven.plugins:maven-gpg-plugin:1.5:sign.

I think we should update the README to document how to build OpenPDF with maven-gpg-plugin.
A workaround to fix 'mvn install' is to comment out the containing the 'maven-gpg-plugin' in pom.xml.

[INFO] ------------------------------------------------------------------------
[INFO] Building OpenPDF - Free and Open PDF 1.0.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-javadoc-plugin:2.10.1:jar (attach-javadocs) @ openpdf-parent ---
[INFO] Not executing Javadoc as the project is not a Java classpath-capable package
[INFO]
[INFO] --- maven-source-plugin:2.4:jar-no-fork (attach-sources) @ openpdf-parent ---
[INFO]
[INFO] --- maven-gpg-plugin:1.5:sign (sign-artifacts) @ openpdf-parent ---
gpg: no default secret key: secret key not available
gpg: signing failed: secret key not available
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] OpenPDF - Free and Open PDF ........................ FAILURE [ 1.450 s]
[INFO] openpdf ............................................ SKIPPED
[INFO] pdf-xml ............................................ SKIPPED
[INFO] pdf-rtf ............................................ SKIPPED
[INFO] pdf-html ........................................... SKIPPED
[INFO] pdf-swing .......................................... SKIPPED
[INFO] pdf-toolbox ........................................ SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.635 s
[INFO] Finished at: 2016-05-12T14:27:45+02:00
[INFO] Final Memory: 14M/245M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:1.5:sign (sign-artifacts) on project openpdf-parent: Exit code: 2 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Change to using LibrePDF/OpenPDF as the "official" repository

It seems like it would be good to point people to https://github.com/LibrePDF/OpenPDF as the most active version of OpenPDF.

Goals

  • Create a shared sense of ownership by putting OpenPDF under an organization
  • Release to Maven central from an organizational account
  • Centralize new contributions and improvements

Right now, this version (rtfarte/OpenPDF) appears as the most active. Here are the steps that I think it would take to make LibrePDF/OpenPDF more official:

  • Enable issues on LibrePDF/OpenPDF.
  • Changing the README on rtfarte/OpenPDF to direct contributors to LibrePDF/OpenPDF
  • Create a new Maven release from the new repository (LibrePDF/OpenPDF)
  • Refer people to the LibrePDF/OpenPDF if they open issues on rtfarte/OpenPDF
  • Potentially migrate existing issues to the new repository.

Please comment here if you have any reservations about this plan, or if you'd like to add, remove or change it. Thanks.

Clean up test file creation

Many of the tests generate files in the root of their module. We should make sure that the tests only generate files in the target director so that they get cleaned up and don't clutter the module folders. Another option is to have the data written to byte arrays in memory rather than to a file on disk.

Investigate a more open, fluid API for creating documents

I've never been the biggest fan of the iText style of document creation. It's an extremely powerful library, but it can be difficult to use at times. If we could investigate a way to make document creation more simple, something like a concise, fluid API, I think it might help increase adoption.

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.