Poppler 0.62.0

Poppler is librarified PDF rendering toolkit derived from the Xpdf 3.0 code base. It can utilize X11-independent rendering backends like Cairo, Splash, or Qt4 Arthur. It's not designed for platform-agnosticy, but proper BSD/Linux integration; is used by various PDF applications (Evince, Okular, TeXStudio, pdftotext, Zathura, Xournal, Inkscape), and comes with a set of command-line tools of its own.

Tags c++ pdf rendering library developers
License GNU GPL
State initial

Recent Releases

0.62.005 Dec 2017 06:05 major bugfix: core: Stop supporting lcms1, you really want to use lcms2 :). Stop supporting openjpeg1, you really want to use openjpeg2 :). Open files that state 8 bits as third field of W. GfxLabColorSpace::parse: crash in broken documents. leak if parseDA fails. Include glibc.h where needed. Document the meaning of the 'type' integer of a shading. UTF test fail. INSTALL: add deoptions. qt5: Add API to let the rendering process callback to get a partial rendering. qt4: Remove the Qt4 frontend. utils: Support unicode on windows console. pdfsig: install man page. sort encoding list. glib: demo: warning.
0.61.113 Nov 2017 07:25 minor bugfix: Core: CairoOutputDev: don't overflow y stride when accessing image data. Cpp: For corrupted image files on Windows. build system: Incorrect paths in.pc files. add the custom buildtests target only once..
0.61.005 Nov 2017 21:05 major bugfix: core: crashes in broken files. Cleanup unused functions from GlobalParams. Tweak LZWStream::processNextCode error handling. Warning Remove t1lib code. qt5: Clean up the remaining Splash code in Arthur backend. ArthurOutputDev: Properly implement saveState/restoreState. leak in ArthurOutputDev::updateFont. build system: Use GNUInstallDirs. mingw: Install pkg-config files. mingw: change library names to include the soversion. installing a.cc file as header. Use -pthread flag instead of -lpthread.
0.60.107 Oct 2017 22:05 minor feature: Qt5: ArthurOutputDev: Add missing 'return' in error paths. Build system: FindLIBOPENJPEG.cmake: Add CheckCXXSourceCompiles.
0.60.003 Oct 2017 14:05 major bugfix: Core: Enable libcurl support by default. PSOutputDev: wrong text generation. Added methods to get and set the font size of text fields. CairoOutputDev: Do not extend the pattern in drawImageMaskRegular. CairoOutputDev: do not use the custom downscaling for rendering images when using cairo = 1.14. Build with old clang. Various crashes in broken files. Some warnings. Add some constness to the basic classes. Remove unused functions from GlobalParams. Qt5: Added methods to get and set the font size of text fields. Add whether renderToImage shows annotations. ArthurOutputDev: Replace Splash font rendering by Qt font rendering. ArthurOutputDev: Implement the drawSoftMaskedImage method. ArthurOutputDev: several small related to dash pattern handling. Two minor typos. Build system: Cmake is now the default build system. Autotools based build system has been removed. Utils: Pdfinfo: don't truncate dest name.
0.59.007 Sep 2017 07:45 major bugfix: Core: Infinite recursion in NameTree parsing in broken files. Utils: Pdfunite: API porting error that caused abort in some cases. Pdfinfo: crashes and memory leaks when using -dests. Pdfinfo: use GooString.append instead of sprintf/strcat. Pdfimages: warning when compiling with cygwin. Build system: Cygwin 32-bit compile. Cmake tweaks.
0.58.003 Sep 2017 09:45 major bugfix: Core: CairoOutputDev: cairo 1.14 now has high quality downscaling. Signature related improvements. Tweak which cmap we use. Memory leak Substantial rework of the internals. Win32: call ANSI functions directly. Add some documentation. Qt5: Expose signature information. ArthurOutputDev: initialize the image with the paper color. copy'n'paste : Qt4 - Qt5. ArthurOutputDev: Properly set the QPainter transformation. ArthurOutputDev: Use Qt::SvgMiterJoin instead of Qt::MiterJoin. utils: Pdfinfo: add -dests option to print named destinations. pdftocairo: add -jpegopt for setting jpeg compression parameters. pdftoppm: add -jpegopt for setting jpeg compression parameters. pdfimages: support listing/extracting inline images. build system: Cmake: Various Windows cmake: Use -std=c++11 instead of -std=gnu++11. Cpp: Page.text() not taking page orientation into account..
0.57.001 Aug 2017 11:45 major bugfix: Core: Parsing of Type 1 fonts with newlines in encoding sequences. crash in broken documents. Utils: Pdfunite: crash with broken documents. pdftohtml: skip control characters pdfseparate: minor improvement to the documentation. build system: Cmake: Set RUNPATH for poppler shared libs. configure: --disable-FEATURE actually enabling the feature.
0.56.022 Jun 2017 16:05 major bugfix: Core: FormFieldButton::setState() shouldn't check the field is readOnly. Crashes on multiple broken files. Utils: Pdfunite: crash with broken documents..
0.55.022 May 2017 04:25 major bugfix: Core: Abort in files with broken Decode arrays. KDE memory leak (and probably logic ) parsing broken XRef entries. memory leak when reconstructing broken files. Minor optimization. Regression in GfxIndexedColorSpace::mapColorToBase. memory leak in error condition. Cpp: Return nullptr if the page at index can't be fetched. build system: Fail by default if libjpeg is not available. Fail by default if libopenjpeg2/1 is not available.
0.54.022 Apr 2017 19:25 major bugfix: Core: Make XRef reconstruction a bit better. glib: Expose movie play mode. demo: Show play mode in movie properties view. Qt5: Compile with -DQT_NO_CAST_FROM_BYTEARRAY. utils: Pdfimages: don't fail listing if inline image data contains 'EI'..
0.53.023 Mar 2017 22:05 major bugfix: Core: Form support improvements. SplashOutputDev: memory leak when rendering images with colormap and matte color. Minor in GlobalParams documentation. Qt5: Expose form calculate order. Expose Form additional actions. Utils: Pdfimages: support 16bpc png and tiff images. pdftohtml: small memory leak when constructing some filenames. Pdfinfo: leak when printing JS. Build sytem: Compile in C++11 mode.
0.52.016 Feb 2017 10:05 major bugfix: Core: Assert on reading some OCGs. Properly initialize some RichMedia variables in corner cases. qt4: Optcontent structure was leaking the headers items. Cleanup objects in tests to memory leaks. qt5: Optcontent structure was leaking the headers items. Cleanup objects in tests to memory leaks. utils: Pdftocairo.1: typo.
0.51.016 Jan 2017 21:05 major bugfix: Core: Check for error from NSS in SignatureHandler construct. Add Form Field Widget ::setPartialName. Memory leak in PDFDoc::markAnnotations. Qt5: Implement digital signature support. Add Poppler::FormField::setName. Segfault/assert if LinkDestination is constructed with invalid input string. utils: Pdfunite: add fields to AcroForm dict..
0.50.016 Dec 2016 21:05 major bugfix: Core: PSOutputDev: PS conversion for some files. Outline parsing on broken documents. PDFDoc::saveIncrementalUpdate()'s detection of document being modified. SplashOutputDev: Read softmask into memstrean in case of matte. Bail out if Hints nBitsNumObjects or nBitsDiffGroupLength are greater than 32. CairoOutputDev: initialize CairoOutputDev::antialias. crash when loading some thumbnails. utils: Pdftoppm: -tiff -gray/-mono incorrect output. Pdftops: add -passlevel1customcolor. build system: Default to libopenjpeg2 instead of libopenjpeg1. qt: Support OCG state change links. Glib: Use g_slice_new0 for PopplerActionLayer..
0.49.015 Nov 2016 13:05 major bugfix: Core: Merge type3 glyph handling from xpdf 3.04. Continue rendering in case of 'Singular matrix in shading pattern fill. memory leak in parametrized gouraudTriangleShadedFill. Crash on broken files. PDFDoc::setDocInfoStringEntry(): treat value consisting of just the unicode marker as an empty string. UBSAN warning. Misc compile. Utils: Pdfseparate: remove extra ' ' in error message. Build system: Configure: typo in disable nss help string.
0.48.010 Oct 2016 05:45 major bugfix: Core: Crashes and memory leaks in invalid files. Small memory usage improvements. TextOutputDev: Remove null characters from PDF text. TextOutputDev: Break words on all whitespace characters. UTF16 decoding of document outline title. Add functions for named destination name in name-tree/dict. Glib: Increase glib requirement to 2.41.
0.47.020 Aug 2016 06:45 major bugfix: Core: Abort on documents where the docinfo obj is not a dict. Check for XRefEntry existing before using it. memory leak on PDFDoc::setDocInfoStringEntry() with empty string. Don't presume that DocInfo is a dictionary in XRef::createDocInfoIfNoneExists(). Build system: Configure: Work with non gnu greps.
0.46.026 Jul 2016 01:45 major bugfix: Core: Cairo: in setAntialias(). Cairo: tiling patterns with BBox with non-zero x,y. Cairo: try finding glyphs in substitute fonts by unicode value. Added XRef modification flag. Added DocInfo setters getters. Be less strict when parsing FitH Link destinations. utils: Pdftocairo: revert the use of groups for blending into white page. Pdftocairo: Use fprintf for printing errors. Pdfinfo: Don't print pdf info when printing metadata, javascript, or structure. glib: Added document property setters simplified getters. Make document metatag gobject properties writeable. Cpp: Pass len to GooString constructor in detail::ustring_to_unicode_GooString(). Added functions to save a document. Added document property setters getters. Qt4: Added document property setters simplified getters. Qt5: Added document property setters simplified getters. Build system: Configure: Don't use -fPIC on cygwin. Configure: Work with non gnu greps.
0.45.018 Jun 2016 02:45 major bugfix: Core: SplashOutputDev: iccTransform + splashModeXBGR8. Memory leaks. Crash in broken files.. Emulate some non portable glibc functions when not available. Utils: Pdftohtml: crash in broken files. pdfinfo: convert dates to local time zone. Pdfinfo: add -isodates for printing dates in ISO-8601 format. Pdfinfo: memory leaks. Glib: Return date in UTC instead of local time. cpp: Switched from detail::convert_date() to core's dateStringToTime().
0.44.023 May 2016 00:45 major bugfix: Core: Compile in 32bit linux. Splash: type 3 chars. restore the current position also in output device. Splash: Improve rendering of some dotted lines. Refactor GooString::Set(). typo in GfxPatchMeshShading::parse. Memory leak in PSOutputDev::filterPSLabel. Memory leak in SignatureHandler::getDefaultFirefoxCertDB_Linux. Potential crash in SplashOutputDev::doUpdateFont. Potential crash in TextPage::coalesce. Remove call that does nothing. Utils: Pdftocairo: add -antialias option..
0.43.002 May 2016 08:45 major bugfix: Core: Implement sanity check for linearization usage. Add SymbolMT as an alias for the Symbol font. some blank files. cairo: fillToStrokePathClip crash and rendering. cairo: Check if PDF knows the width of 'm' in case of substituted font. cairo: save mask state and don't extend image mask. SplashOuputDev: Compile with C++11 compilers that don't define isinfinite. typo. Utils: Pdftocairo: Calculate rotation before scaling. qt4: Crash on certain PDF form item activation actions. qt5: Crash on certain PDF form item activation actions..
0.42.018 Mar 2016 01:05 major bugfix: Core: Add the support for version 5 + revision 6 documents. Add initial support for Signature handling. Initialize gamut mapping multipliers in ::copy() functions. Implement jpx streams support with depth 8. Handle SMaskInData = 0 for JPX encoded images. rendering of some broken PDF files. PSOutputDev: Support for LZW encoding. PSOutputDev: Add support for Flate compression in Level 3 output. SplashOuputDev: Implement function shading. SplashOuputDev: Improve rendering of some non embedded fonts. SplashOuputDev: Fall back to Gfx implementation of tiling pattern if repetition rate is small. SplashOuputDev: Implementation of Matte entries in softmasks of softmasked images. SplashOuputDev: assure line width 0 in case of text stroke. TextOuputDev: Cache result of inner loop in visitDepthFirst. Avoid attempting a tiling pattern fill with a singular transform matrix. Utils: Pdfinfo: Add option to show document structure. Pdfsig: New command that gives information about signature. Qt4: in links to remote documents getting the page number wrong sometimes. Qt5: in links to remote documents getting the page number wrong sometimes.
0.41.017 Feb 2016 20:05 major bugfix: Core: CairoOutputDev: add missing font types (fontCIDType0COT and fontTrueTypeOT). SplashOutputDev: Adjust limit check and check in addition bitmap pointer. utils: Pdfseparate: Refine resource detection. Pdfinfo: man page.
0.40.015 Jan 2016 06:05 major bugfix: Core: CairoOutputDev: Use shape mask with soft mask. TextOutputDev: Handle right-to-left text in search. TextOutputDev: finding Arabic Presentation Forms ligatures. Crash in invalid file. Regression test improvements. Utils: Pdftocairo: writing to stdout out with image output. Pdftocairo: document that -singlefile appends file type. pdftocairo: ensure surface flushed before accessing image data. Pdftocairo: check for invalid use of options. pdfunite: typo in manual. Build system: Improve cmake build system.
0.39.017 Dec 2015 13:45 major bugfix: Core: Ignore the alternateSpace and tintTransform. CairoOutputDev: Scale radial pattern. CairoOutputDev: Implement function shading using mesh gradients. Regression test improvements. Typos in error messages. Build system: Visual Studio 2015 now supports snprintf. utils: Pdftops: PageBoundingBox. pdftocairo: double free when both user and owner passwords are given. Glib: Add duration_real to PopplerPageTransition. Remove enum PopplerOrientation from API. documentation improvements. Glib-demo improvements.
0.38.017 Nov 2015 03:17 major bugfix: Core: Splash: Multiply opacity in case of pattern colorspace. Small form improvements on non ascii character rendering. Clarify README. Build system: Clarify internal DCT and JPX are only provided as deprecated fallbacks. Utils: Pdftocairo: fit to page transformation.
0.37.010 Oct 2015 16:05 major bugfix: Core: CairoOutputDev: Use mask for even-odd fill. SplashOuputDev: Protect calls to set/getAA with the proper #if guards. SplashOuputDev: Try to use an external font if the internal one is invalid. PageTransition D is a number not an int. Catalog::getNumPages(): validate page count. Catalog::cachePageTree(): recover from out of memory condition. Crashes in malformed documents. Build system: Configure: openjpeg detection.
0.36.011 Sep 2015 00:25 major bugfix: core: Patch to support RichMedia annotations. Splash: wrong memory access. Cairo: size of transparency group surface. bounds check in Linearization::getPageFirst. File Saving improvements. Add premultiplied alpha channel to SplashBitmap. for xref table creation. JBIG2Decode infinite loop and stack overflow. Minor optimization in text extraction. qt4: Basic support for RichMedia annotations. Change default image format. Minor optimizations. qt5: Basic support for RichMedia annotations. Change default image format. Minor optimizations. cpp: utf8/utf16 conversion. build system: Do not hardcode -fPIC in Makefile.am. cmake: Allow configuring SHARE_INSTALL_DIR. utils: pdfunite: Insert embedded files in result pdf. pdftotext: Add -bbox-layout option..
0.35.010 Aug 2015 18:05 bugfix: core: Fix assert in broken file. Adjust memory layout computation of GooString. Make SplashBitmap XBGR transfer alpha channel. Splash: Fix wrong writes on non rgb outputs. Splash: remove ifndef in Windows code. GlobalParamsWin bugfixes. qt4: Switch default image format. Add IgnorePaperColor render flag. qt5: Improve efficiency of Poppler::Page::renderToImage. Switch default image format. Add IgnorePaperColor render flag. build system: Allow configuring SPLASH_CMYK support. Add configure --enable-build-type. glib: Explicitly link against pthread. Deprecation fixes. utils: pdftocairo: Fix cast to pointer from integer of different size on win64.
0.34.010 Jul 2015 05:45 minor bugfix: Splash: Fix crash in PDF with nested softmasks. Splash: Speed up of rendering icc based images. PSOutputDev: Embed Type1 fonts to PostScript files correctly. Fix pedantic memory leak. glib: update new symbols section. cmake: Make sure ENABLE_LIBOPENJPEG is either 0 or 1.
0.33.015 May 2015 14:25 minor feature: core: Fix regression in pdftops parameter passing. * Combine base characters and diacritical marks. * Use width from W array for WMode positioning. * Fixed adding annotation of Subtype Popup to pdf page. * CairoOutputDev: Fix memory leak in CairoFreeTypeFont::create. * SplashOutputDev: memset on error to have reproducible outputs. qt4:. * Fix PDF Text String - QString conversion. KDE qt5:. * Fix PDF Text String - QString conversion. KDE glib:. * Add poppler_annot_markup_set_popup_rectangle(). * Fix segfault when creating PopplerAction. utils:. * pdftohtml: Set exit status adecuately. build system:. * configure: Fix invalid shell comparaison in libtiff test.
0.32.008 Mar 2015 17:05 minor feature: Annotations: Fix rendering of empty BG/BC arrays. Splash: Fix wrong colour shown when GouraudTriangleShFill uses a DeviceN colorspace. Splash: Fix use of uninitialized variable in Splash::pipeRun. Remove unnecesary check for font validity. Small optimization in GooString::appendfv. Fix crashes in malformed files. utils: pdftops: Make colorpsace optimization an option instead of default. pdfseparate: use always an unique instance for PDFDoc for savePageAs. build system: cmake: If extra-cmake-modules is around include the Sanitizers module.
0.31.009 Feb 2015 00:05 minor feature: CairoOutputDev: support embedding JBIG2 image data. Accept malformed documents whose root is a Page instead of a Pages. Fix crash on broken documents. JPEG2000Stream: Inline doGetChar and doLookChar. GlobalParams cleaning. utils: pdftops: Add rasterization option. qt4: Expose whole-words search option. qt5: Expose whole-words search option.
0.30.006 Jan 2015 22:05 major feature: New core features: Openjpeg2 support (openjpeg 1 is preferred). Fixed potential memory corruption on TextSelectionDumper. Check for invalid matrix in annotation. Open some not conforming files. PSOutputDev: Accept a list of pages indeces instead of first, last. Fix memory leak on error condition. New C++ API to set debug output function. Improve support with older clang versions. Pdfunite util: Support output intents, optional content and acroform.