Git Product home page Git Product logo

pdfrenderer's Introduction

Pdf-renderer improvement branch

This is a fork of pdf-renderer (covered by the LGPL-2.1 license) for improvement purposes.

The principal objective of the fork is to improve the original PDF renderer. The original version is able to handle most of the PDF 1.4 features, but has several bugs and missing functionality.

It uses an improved version of JPedal's JBig2 decoder API.

To do:

  • some colours are displayed incorrect, there seem to be open issues regarding colour space handling
  • some fonts can't be rendered and are replaced with built in fonts
  • embedded Type0 font with a CIDType0 font is not supported correctly. Currently there is a hack in the code to fall back to the built in fonts in this case.

Done:

  • support for widget annotation containing digital signature
  • support function type 4 rendering (subset of the PostScript language, specification taken from http://www.adobe.com/devnet/acrobat/pdfs/adobe_supplement_iso32000.pdf)
  • support link annotations for being able to render links
  • rough support of stamp and freetext annotations
  • handle alternate colour spaces (colour space plus a function to be applied on the colour values)
  • fixes transparency issues / transparent masked images (even though transparency is still not completely supported)
  • corrected handling of overlapping shapes
  • better support Type0 fonts that use embedded CID fonts
  • jbig2 image format decoded with (improved) "jpedal" API
  • DeviceCMY / DeviceRGB colour spaces are working now, but some PDFs are still displayed in wrong format.
  • Improved reading of CMYK images. Some colours are still displayed wrong. (using the ch.randelshofer.media.jpeg.JPEGImageIO API)
  • Improved run length decoding (corrected reading of buffer)
  • fixed compression issues
  • fixed size of outline fonts
  • fixed several exceptions
  • Fixed various font encoding problems (Flex in Type 1, wrong stemhints in Type 1C and inverted presentation of Type 3)
  • fixed rotation of text (http://java.net/jira/browse/PDF_RENDERER-91)
  • JPEG decoding with imageio
  • Work-around lack of YCCK decoding support in standard JRE image readers and thus allow CMYK jpeg images without using 3rd party image readers (e.g., JAI)
  • Employ local TTF files if available instead of using the built-ins as substitutes. Scanning of available TTFs will take some time on the first request for an unavailable TTF. This behaviour can be disabled by setting the system property PDFRenderer.avoidExternalTtf to true. The PDFRenderer.fontSearchPath system property can be used to alter the search path, though Windows and Mac OS X defaults should hopefully be sensible.
  • Added TIFF Type 2 Predictor for decoding
  • use built in font as workaround for MMType1 fonts instead of throwing an exception

pdfrenderer's People

Contributors

borisvl avatar katjas avatar philippecade avatar sabomichal avatar

Watchers

 avatar

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.