JMuPdf - PDF, XPS, and CBZ Rendering Library for Java

...Document rendering made easy

  • Increase font size
  • Default font size
  • Decrease font size

JMuPdf News

E-mail Print PDF

Updates for 02-23-2012 (V.0.4.1)

  1. Exposed more link types to outline class.
  2. Added new setAutoRotate() to PrintServices class.
  3. Fixed bug in swing viewer sample app where pages where not displayed in Linux with different regional settings other than us_EN.
  4. Several "last minute" bug fixes found in v.0.4.0.
  5. Many thanks to users who helped with testing and suggested improvements.


Updates for 02-19-2012 (V.0.4.0)

  1. Removed array pinning from pixel creation in JNI code. This should help the GC as it won't be disabled during large batch rendering jobs.
  2. Updated test swing viewer to show off features. Make sure to right click and drag your mouse to see cropping and text selection in action.
  3. Updated examples to reflect changes.
  4. More options available for generating buffered images. Now you have ARGB, ARGB_PRE, RGB, BGR, BYTE_BINARY, and BYTE_GRAY.
  5. Fixed issue when rendering grey images.
  6. Expanded link types returned in PageLinks class.
  7. Added support for XPS page links.
  8. Rendered pages can now be saved with "umlauts".
  9. Better handling of unicode characters when opening and exporting documents.
  10. JNI and Java Code have been greatly simplified and optimized.
  11. Added new document type. Comic Book files (CBZ) can now be rendered.
  12. Added new PagePixel class to manage pixel data.
  13. Exposed gamma feature for color correction.


Updates for 01-24-2012 (V.0.3.0)

  1. Fixed a bug where margins were incorrect when rendering certain pdf's.
  2. The mupdf core now supports multi-threading and process locking. All dependencies to PThreads are now removed.
  3. XPS documents can now generate outlines.
  4. Improved memory management. Now you can specify memory limits on a per document basis.
  5. Added better RGB vs ARGB support.
  6. Many minor bug fixes.

Upcoming features:

  1. Extract embedded fonts.
  2. Extract embedded images.
  3. Extract and render embedded pdf documents.


Updates for 08-23-2011 (V.02d)

  1. Important (Windows only issue): Pthread DLL dependency was missing in V.02d release. This is causing an "UnsatisfiedLinkError". You can download the required dependencies using the following link:
  2. Fixed a memory leak when rendering pages.
  3. New static method provided to set native memory limits. See JmuPdf.setMemoryLimit(...) / getMemoryLimit()
  4. New static method provided that returns the currently used memory while rendering. Useful for monitoring memory while testing application. 
    - See JmuPdf.getMemoryUsed()
  5. Anti-aliasing functions have been normalized. Anti aliasing settings are set at document level.
    - pdfDoc.setAntiAliasLevel(int level) 
    - The antialias parameter has been removed from all functions. Just set it at document level before rendering.
  6. Added new functions to Document class:
    - saveAsBmp()
  7. Fixed several bug fixes with saveAsTif() method.
  8. Many improvements to thread management and syncronization.
  9. Implemented Tile management and caching when printing documents. This greatly reduces the memory overhead when printing in high quality.
  10. New PdfOutline class to provide a data structure that can be used to build a tree of a pdf's outline. If document has no outline then the class returns no data.
  11. More examples provide in com.examples package.
  12. The JMuPdf source has been deleted and merged into the mupdf project. The JNI code is in a subfolder called "jni". Building the JNI binaries is much easier by using a single makefile. Hopefully this will enable others to port it to other platforms. Currently only Win and Linux binaries are provided. I am hoping to provide more.

Updates for 06-14-2011 (V.02c)

  1. The Document class has been changed to enable or disable anti-aliasing when rendering pages.
    - saveAsPng(), saveAsPnm(), saveAsPam(), saveAsPbm(), saveAsJpeg(), saveAsTif()
  2. The PageRender class has been changed to enable or disable anti-aliasing when rendering pages.
    - Added methods set/getAntiAliasLevel().
  3. Update all examples.
  4. Added a new com.examples.pdf.antialiasing package with examples on how to disable anti-aliasing.

Updates for 06-01-2011 (V.02b - Stable)

  1. IMPORTANT! This is considered a major update and not compatible with updates prior to 06-01-2011.
  2. The JNI code has been greatly improved to better manage memory and multi-threaded processes.
  3. There no longer is a limit on the number of documents that can be opened. The limit is now based on available memory.
  4. XPS documents can be rendered. See examples on how to use. (See com.examples.xps)
  5. Many new examples were added. (See com.examples...)
  6. The SWING viewer has been moved to com.examples.swing.

Updates for 03-20-2011 (V.01 - Stable)

  1. IMPORTANT! This is considered a major update and not compatible with updates prior to 03-20-2011.
  2. Class PdfDocument has been changed.
    - Renamed writeTif() to saveAsTif().
    - Renamed writePng() to saveAsPng()
    - New saveAsJPeg() method.
    - New saveAsPnm() method.
    - New saveAsPam() method. 
  3. Class PdfPage has been completely  rewritten.
  4. Class PdfRenderer has been added to handles all page rendering.
  5. Class PdfRectangle has been added to handle all geometry functions.
  6. Class PdfLinks has been added to manage links from pages.
  7. Class PdfTextSpan has been optimized for interactive rendering.
  8. Class PdfPrint has been changed:
    - Black & white binary printing with optional dithering
    - Custom resolutions may be specified which will override default printer resolutions.
  9. JNI and Java programs have been optimized and enhanced to better mange server side muti-threading environments.
  10. Enhanced TIFF exporting options.
  11. - Added JPEG quality parameter.
    - Added ZLIB compression ratio parameter.
  12. Enhanced sample Swing viewer. This is a great place to learn how to use JMuPdf interactively. 
    - Use left mouse button and drag to pan document in viewer.
    - Use right mouse button to drag and select items on page
    - Text can selected and copied
    - Areas of page can be selected and copied as images
    - Pages are linkable and will invoke default browser if URL or goto a specific page. Use left button to click on linkable items.
  13. Cleaned up code and optimized where possible.
  14. Many minor bug fixes.
  15. Many examples of how to use JMuPdf is provided in the source file. Examples are found in /src/com/examples.You will need to download the Java source.
  16. The How-To section on the web site was removed.


Last Updated on Saturday, 10 March 2012 16:39