Тихо и незаметно вышел новый xpdf 4.00 со значительными изменениями. Теперь он собирается при помощи cmake и вместо Motif'а на Qt 5.
4.00 (2017-aug-10) ------------------ Complete rewrite of the xpdf GUI, using Qt instead of Motif. Multithreaded rasterization in the viewer - pages are now rasterized in a separate thread so that scrolling and other UI activity is not blocked. Added a linear text selection mode. Limit transparency groups to the clip rectangle (performance optimization). Optimized the SplashScreen code, used in 1-bit monochrome mode. Added setmode calls to pdftopng, when writing to stdout on Windows. [Thanks to Robert Schroll.] Regenerate the appearance stream for an AcroForm field if there is no appearance stream, even if NeedAppearances isn't set. When regenerating AcroForm field appearance streams, use a default font (Helvetica) for fields that don't have a valid font. When the line width is increased by the minLineWidth setting, force the line join mode to "bevel" to avoid "whiskers" at sharp corners. Change the pdftoppm/pdftopng resolution (-r) argument from an integer to floating point. Use the FontDescriptor 'CapHeight' value in place of 'Ascent' if it's available. OC (optional content) entries in image XObjects were being ignored. Added support for preblended soft-masked images. Added optional support for using libjpeg to decode DCT (JPEG) streams. Transparency groups weren't being composited correctly in mono1 mode. Switched to a different IDCT transform in the DCT (JPEG) decoder, to get better accuracy; the new transform is also a bit faster. Modified the polygon scan converter to avoid O(n^2) performance, which can get really bad with paths that have extremely large numbers of segments. Added the maxTileWidth, maxTileHeight, tileCacheSize, and workerThreads xpdfrc settings. Modified PSOutputDev so it doesn't output resources (fonts, etc.) for pages that are rasterized (because they use transparency). Added the -alpha flag to pdftopng. Handle TrueType fonts with out-of-bounds loca entries. Optimize consectutive "q" (gsave) operations in PostScript output. Various improvements to the XFA rendering code. Added the -nodiag flag to pdftotext. Switched to cmake instead of autoconf. Look for Widget-type annotations that aren't attached to the AcroForm, and add them to the AcroForm. Added the "-z" option to pdftohtml. The JPEG 2000 decoder now treats invalid boxes after the image codestream as non-fatal errors. Improved the handling of drop caps in pdftohtml. Added the "psNeverRasterize" setting. Pdftohtml now converts invisible PDF text to transparent HTML text. Check for zero-width/height bitmaps in the JBIG2 decoder -- these can happen in corrupted JBIG2 streams. Pdfimages was inverting 1-bit monochrome images. Added CCITTFaxStream::getBlock() to speed up the CCITTFax decoder. Added resolution info to PNG files generated by pdftopng. The DCT decoder now ignores non-Adobe APP14 markers (rather than generating an error). Regenerate appearance streams for FreeText annotations. The TextString class now handles UTF-16LE in addition to UTF-16BE. (UTF-16LE isn't allowed by the PDF spec, but I've seen it used.) Added the simple one-column text extraction mode (pdftotext -simple). Added a -cmyk option to pdftoppm to write CMYK PAM files. Modified pdfinfo to output "static XFA" or "dynamic XFA", rather than just "XFA". Added the "drawFormFields" xpdfrc command. Various performance optimizations in the rasterizer. Fixed the tiling pattern code to avoid stripes between pattern cells, and to honor the TilingType flag. Always split axial shadings into 256 slices. Handle the case where an optional content block is left open at the end of a page content stream. Accept code-to-CID-type CMaps as ToUnicode CMaps (to work around buggy PDF generators). Unicode-to-unicode maps weren't working correctly with fonts that have an "Identity" encoding. Modify the lexer to interpret "--123.4" as -123.4, "--123" as 0, and "123-45" as "123" to match Adobe's behavior. The text extractor now reverses the order of side-by-side columns for right-to-left scripts. Worked on right-to-left script support in pdftohtml (still not complete). Switched the default display mode to continuous (from single page). Added the "-bom" switch to pdftotext. Share font objects when multiple font tags point to the same object. The transfer function goes before alpha blending in the rasterizer pipeline. Added the "-allinvisible" switch to pdftohtml. Added overprint mode (OPM) support in Level 3 PostScript output. Added support for DeviceN color spaces in Level 3 PostScript output. Added the "-userunit" option to pdftops. Added the "-raw" and "-list" options to pdfimages. Pdfimages now writes PGM files (instead of PPM files) for DeviceGray and CalGray images. Added grayscale PostScript output -- added the '-level2gray' and '-level3gray' switches to pdftops. Fix up Type 1 fonts when embedding in PostScript. Added the "problematic" column to pdffonts output. Generate an appearance stream for signature fields in AcroForms. Correctly handle line dash patterns with zero-length segments when the line cap is butt or project. Added the "strokeAdjust cad" xpdfrc option; fixed some issues with stroke adjustment and projecting line caps. Added support for Code128B bar codes in XFA forms. Look at both the ON and OFF arrays in the default OCCD (optional content config dict), to work around certain broken PDF files. Added support for XFA 'numericEdit' fields. Added support for 'picture' formatting in XFA forms. Added mouseClickN events (in addition to mousePressN and mouseReleaseN). External CID OpenType CFF fonts should map through Unicode (similarly to external CID TrueType fonts). Handle axial and radial shadings in SplashOutputDev, in device space. Use the PDF 2.0 inline image length field. Handle duplicate embedded Type 1 font names in PostScript output. Handle the case of a stroked closed path with a dash pattern -- if the dash pattern is "on" at both the start and end of a subpath, it should be joined. If the line dash phase is negative, add a multiple of 2x the total dash length. Indexed color space indexes should be clipped to [0,hival]. Fix the handling of the text render mode with Type 3 fonts, in the rasterizer and in PostScript output. CID font metrics shouldn't be sorted - the PDF 2.0 spec says that, in the case of duplicate entries, the first entry should be used. PSOutputDev now converts tiling patterns to PostScript tiling patterns (in Level 2/3). Fixed a security hole in SecurityHandler.cc (uninitialized variables). This vulnerability was discovered by Kushal Shah of Fortinet's FortiGuard Labs. Fixed a security hole in Function.cc (write past end of array). Fixed a security hole with the use of d0/d1 operators outside of a Type3 CharProc [CVE-2016-9027].
Готовый пакет для Slackware x86_64: https://yadi.sk/d/Af8BkZq23MAntQ