2024-10-31 15:53:04 +01:00
|
|
|
2.7.3 (to come)
|
|
|
|
|
|
|
|
o New -center-to-fit centres pages on a given paper size
|
2024-11-03 18:33:48 +01:00
|
|
|
o Allow bold, italic, colours for bookmarks
|
2024-11-04 17:29:43 +01:00
|
|
|
o Clean up @B implementation for -split-on-bookmarks
|
2024-11-04 17:45:35 +01:00
|
|
|
o Add @b<n>@ for trimming bookmark text to given length
|
2024-10-31 15:53:04 +01:00
|
|
|
|
2024-10-23 16:26:14 +02:00
|
|
|
2.7.2 (October 2024)
|
2024-09-11 16:40:28 +02:00
|
|
|
|
|
|
|
New features:
|
|
|
|
|
2024-09-02 15:00:11 +02:00
|
|
|
* New -args-json for better control files
|
2024-09-04 16:01:06 +02:00
|
|
|
* New -replace-obj to edit dictionary entries via chain
|
2024-09-11 18:22:22 +02:00
|
|
|
* Create PDF/UA files from scratch with -create-pdf-ua-[1|2]
|
2024-09-11 16:40:28 +02:00
|
|
|
* Create structure information for files with -draw
|
2024-09-15 16:33:00 +02:00
|
|
|
* Draw can now make paragraphs with -para, -paras
|
2024-10-23 16:26:14 +02:00
|
|
|
* Add structure information to -typeset
|
2024-09-20 15:15:10 +02:00
|
|
|
* -typeset can make PDF/UA documents
|
|
|
|
* -jpeg, -png and friends can make PDF/UA documents
|
2024-10-22 15:42:45 +02:00
|
|
|
* Merge PDF/UA-1 and PDF/UA-2 files, preserving standards compliance
|
2024-09-21 18:35:29 +02:00
|
|
|
o -stretch scales without preserving aspect ratio
|
2024-09-21 19:44:43 +02:00
|
|
|
o -redact removes whole pages
|
2024-09-02 15:00:11 +02:00
|
|
|
|
2024-09-24 21:40:14 +02:00
|
|
|
Extended features:
|
|
|
|
|
2024-10-23 16:26:14 +02:00
|
|
|
o Rectangles may be specified as x y x' y' rather than x y w h
|
2024-09-24 21:40:14 +02:00
|
|
|
|
2024-10-10 17:38:34 +02:00
|
|
|
Fixes:
|
|
|
|
|
2024-10-23 16:26:14 +02:00
|
|
|
o Removed setting of Producer field in AGPL version
|
|
|
|
* Removed long-deprecated -control
|
|
|
|
* More compact -print-struct-tree
|
2024-10-10 17:38:34 +02:00
|
|
|
o -image-resolution-json was listing all images
|
|
|
|
|
2024-09-02 15:00:11 +02:00
|
|
|
* = Supported by a grant from NLnet
|
2024-08-22 10:43:33 +02:00
|
|
|
|
2024-07-24 15:54:12 +02:00
|
|
|
2.7.1 (July 2024)
|
2024-03-22 14:57:04 +01:00
|
|
|
|
|
|
|
New features:
|
|
|
|
|
2024-03-22 16:33:57 +01:00
|
|
|
o Build PDF files from JPEG2000 (.jp2, .jpf/.jpx) files
|
2024-09-02 15:00:11 +02:00
|
|
|
* Mark a file as PDF/UA compliant, or remove such marking
|
2024-09-04 16:01:06 +02:00
|
|
|
* Partial verification to PDF/UA via the Matterhorn protocol
|
2024-09-02 15:00:11 +02:00
|
|
|
* Extract, edit and reapply document structure tree
|
|
|
|
* Print structure tree summary
|
|
|
|
* Split structure tree when splitting PDF to save size
|
2024-09-04 16:01:06 +02:00
|
|
|
* Combine structure trees when merging or stamping PDFs
|
2024-09-02 15:00:11 +02:00
|
|
|
* Set the natural language of a file
|
2024-06-24 16:29:32 +02:00
|
|
|
|
|
|
|
Extended features:
|
|
|
|
|
2024-06-24 17:21:28 +02:00
|
|
|
o Allow -obj to look up nested PDF information
|
2024-09-02 15:00:11 +02:00
|
|
|
* Merge structure trees better when merging files
|
|
|
|
* Report top-level natural language on -info
|
|
|
|
* Report mark information dictionary contents on -info
|
2024-03-22 14:57:04 +01:00
|
|
|
|
2024-07-03 13:54:24 +02:00
|
|
|
Backward-incompatible change:
|
|
|
|
|
2024-09-02 15:00:11 +02:00
|
|
|
* -process-struct-tree replaces -no-process-struct-tree
|
|
|
|
newly introduced in previous version
|
2024-07-23 15:47:13 +02:00
|
|
|
|
|
|
|
* = Supported by a grant from NLnet
|
2024-07-03 13:54:24 +02:00
|
|
|
|
2024-02-01 12:34:30 +01:00
|
|
|
2.7 (February 2024)
|
2023-08-15 18:59:37 +02:00
|
|
|
|
2023-10-26 14:46:51 +02:00
|
|
|
New features:
|
|
|
|
|
|
|
|
o Split files to max size with -split-max
|
2023-10-30 18:58:59 +01:00
|
|
|
o Spray splits a file to multiple outputs by alternating pages
|
2023-10-31 16:50:23 +01:00
|
|
|
o List document and page info in JSON format
|
|
|
|
o List page labels in JSON format
|
|
|
|
o List fonts in JSON format
|
2023-11-13 18:55:59 +01:00
|
|
|
o Identify PDF/A, PDF/X, PDF/E, PDF/VT, PDF/UA in -info
|
2023-11-15 17:55:06 +01:00
|
|
|
o Identify AcroForm in -info
|
2023-11-02 19:49:15 +01:00
|
|
|
o Extract font files from a document
|
2023-11-09 19:39:48 +01:00
|
|
|
o List images on a page with -list-images[-json]
|
2023-11-20 12:29:17 +01:00
|
|
|
o Chop pages up into sections with -chop
|
2023-12-05 13:20:03 +01:00
|
|
|
o Build PDF files from JBIG2 streams, including globals
|
2023-12-18 23:39:33 +01:00
|
|
|
o Reprocess images within PDFs to further compress them
|
2024-01-18 16:42:07 +01:00
|
|
|
o Extract streams to disk
|
|
|
|
o Explore PDFs by printing objects
|
2024-01-22 17:36:37 +01:00
|
|
|
o Shift page boxes with -shift-boxes
|
2023-10-26 14:46:51 +02:00
|
|
|
|
|
|
|
Extended features:
|
|
|
|
|
2023-11-09 19:39:48 +01:00
|
|
|
o -list-images-used[-json] extends -image-resolution
|
2023-11-13 18:55:59 +01:00
|
|
|
o Use -raw with -extract-images to get PNMs
|
2023-12-04 12:19:17 +01:00
|
|
|
o -extract-images can extract JBIG2 images and their globals
|
2024-01-16 15:54:45 +01:00
|
|
|
o More PNGs - greyscale 1, 2, 4, 8, 16bpp and RGB 16bpp
|
|
|
|
o Report number of annotations in -page-info
|
|
|
|
o Specify image based only on file extension
|
2024-01-16 17:25:07 +01:00
|
|
|
o -squeeze updates old compression methods
|
2024-01-18 16:42:07 +01:00
|
|
|
o Show page size summary in -info
|
2024-02-15 16:29:11 +01:00
|
|
|
o Add -no-process-struct-trees to prevent merging of structure trees
|
2023-11-09 19:39:48 +01:00
|
|
|
|
2023-10-26 14:46:51 +02:00
|
|
|
Fixes:
|
|
|
|
|
2023-08-15 18:59:37 +02:00
|
|
|
o Added opam file in-source
|
2023-09-19 14:43:57 +02:00
|
|
|
o Fixed -set-annotations with page links
|
2023-11-14 15:47:01 +01:00
|
|
|
o Allow Exif JPEGs as well as JFIF ones in -jpeg and -draw-jpeg
|
2023-12-16 21:18:06 +01:00
|
|
|
o Only compress a stream if it actually makes it smaller
|
2023-10-30 18:58:59 +01:00
|
|
|
|
2024-01-22 16:53:41 +01:00
|
|
|
|
2023-09-06 15:11:23 +02:00
|
|
|
2.6.1 (September 2023)
|
|
|
|
|
|
|
|
o Fixed regression in UTF8 text with -add-text
|
|
|
|
|
|
|
|
|
2023-07-24 13:38:26 +02:00
|
|
|
2.6 (July 2023)
|
2022-04-03 11:31:36 +02:00
|
|
|
|
2022-09-09 19:59:46 +02:00
|
|
|
New features:
|
2022-07-15 17:48:51 +02:00
|
|
|
|
2023-05-08 16:13:17 +02:00
|
|
|
o Create new PDF documents or draw on existing ones with -draw
|
2023-07-26 15:20:29 +02:00
|
|
|
o Embed TrueType fonts with -load-ttf
|
2022-11-02 22:15:46 +01:00
|
|
|
o Embed the 14 standard fonts if requested
|
2023-07-12 13:51:20 +02:00
|
|
|
o Add links to parts of text with -add-text as %URL[|]
|
2023-01-11 07:16:17 +01:00
|
|
|
o Convert JPEGs and PNGs to PDFs with -jpeg and -png
|
2023-05-04 19:57:08 +02:00
|
|
|
o Export, import, and thereby round-trip annotations via JSON
|
|
|
|
o Show composition of PDF with -composition[-json]
|
2023-03-15 22:00:34 +01:00
|
|
|
o Use page labels like <iii> and <A-2> in page specifications
|
2022-09-09 19:59:46 +02:00
|
|
|
|
|
|
|
Extended features:
|
|
|
|
|
2022-04-03 11:31:36 +02:00
|
|
|
o Allow -utf8 with -split-bookmarks -o @B.pdf to produce UTF8 filenames
|
2022-05-09 16:48:27 +02:00
|
|
|
o -merge-add-bookmarks now works with unicode filenames
|
2022-07-15 17:48:51 +02:00
|
|
|
o Better transformation of some annotation types
|
2023-01-11 07:55:50 +01:00
|
|
|
o -list-annotations[-json] now respects page range
|
2023-01-13 06:51:43 +01:00
|
|
|
o Merge now merges structure trees (tagged PDF)
|
2023-01-12 03:36:27 +01:00
|
|
|
o Merge now rewrites clashing name tree entries
|
2023-02-04 17:00:16 +01:00
|
|
|
o Preserve /GoTo actions in bookmarks when merging
|
2023-01-13 06:51:43 +01:00
|
|
|
o UTF8 option for JSON output
|
2023-03-15 22:00:34 +01:00
|
|
|
o -info now shows object stream, /ID data, page mode and layout
|
2023-03-14 19:36:37 +01:00
|
|
|
o More options for viewer preference control
|
2023-06-07 17:37:01 +02:00
|
|
|
o More default colours, by using the CSS colour list
|
2022-04-03 11:31:36 +02:00
|
|
|
|
2022-08-15 20:37:51 +02:00
|
|
|
Fixes:
|
|
|
|
|
|
|
|
o Updated Yojson to remove dependency on Stream, ready for OCaml 5
|
2022-11-02 22:15:46 +01:00
|
|
|
o -typeset was opening files in text mode, instead of binary
|
2023-02-03 14:03:51 +01:00
|
|
|
o Fixed behaviour of -squeeze-no-pagedata / -squeeze-no-recompress
|
2023-02-13 21:50:36 +01:00
|
|
|
o Significant improvements to malformed file reading
|
2023-03-14 19:36:37 +01:00
|
|
|
o Allow DUP page specifications to use larger numbers
|
2023-03-24 16:23:33 +01:00
|
|
|
o Reworked functions transforming pages to better preserve patterns
|
2022-08-19 21:27:33 +02:00
|
|
|
|
2023-06-20 17:48:34 +02:00
|
|
|
|
2022-01-31 13:39:12 +01:00
|
|
|
2.5.1 (January 2022)
|
|
|
|
|
|
|
|
o Fix a regression where standard fonts could not be chosen
|
|
|
|
|
2022-08-19 21:27:33 +02:00
|
|
|
|
2022-01-09 15:57:06 +01:00
|
|
|
2.5 (January 2022)
|
2021-07-23 17:26:07 +02:00
|
|
|
|
2021-12-15 11:46:59 +01:00
|
|
|
New features:
|
|
|
|
|
|
|
|
o Can read as well as write PDFs in JSON format with -j
|
2021-11-25 02:44:23 +01:00
|
|
|
o New operation -typeset typesets a text file as a PDF
|
2021-11-18 23:48:25 +01:00
|
|
|
o New operation -table-of-contents makes table of contents from bookmarks
|
2021-12-15 14:01:51 +01:00
|
|
|
o New operations -impose and -impose-xy for document imposition
|
2021-11-03 17:05:53 +01:00
|
|
|
o New operation -print-font-table gives (charcode, unicode, glyph name) triples
|
2021-10-29 16:09:21 +02:00
|
|
|
o New -print-dict-entry operation prints values for a given key
|
2021-10-28 18:06:46 +02:00
|
|
|
o New -replace-dict-entry function to search & replace e.g URLs
|
2022-01-08 15:26:54 +01:00
|
|
|
o Prepend e.g 2DUP to a page range to make 1,2,3 --> 1,1,2,2,3,3 etc.
|
2021-12-15 11:46:59 +01:00
|
|
|
o Prepend NOT to a page range to invert it
|
2021-10-27 18:36:42 +02:00
|
|
|
o Output annotations in JSON form with -list-annotations-json
|
2021-10-27 15:04:10 +02:00
|
|
|
o Output bookmarks in JSON format with -list-bookmarks-json
|
|
|
|
o Load bookmarks in JSON format with -add-bookmarks-json
|
2021-10-21 19:10:47 +02:00
|
|
|
o New option -collate to collate pages when merging
|
2021-12-15 11:46:59 +01:00
|
|
|
o Text added in existing fonts is now encoding-aware (plus new raw mode)
|
|
|
|
|
|
|
|
Extended features:
|
|
|
|
|
|
|
|
o Extend -remove-dict-entry to allow search
|
2021-12-17 16:25:15 +01:00
|
|
|
o Annotation /QuadPoints processed in addition to /Rect when transforming pages
|
2021-12-15 11:46:59 +01:00
|
|
|
o When adding text or graphics, may choose CYMK or Grey instead of RGB
|
|
|
|
o The -list-fonts operation now obeys the range
|
|
|
|
o Can now search for a font by real name with -font
|
|
|
|
o Basic merging of AcroForms when merging documents
|
2021-12-15 14:01:51 +01:00
|
|
|
o Add -idir-only-pdfs to restrict -idir to just files ending in .pdf
|
2021-12-18 17:36:56 +01:00
|
|
|
o Option -debug-force now properly documented as -decrypt-force
|
2021-12-15 11:46:59 +01:00
|
|
|
|
|
|
|
Internal changes:
|
|
|
|
|
2021-10-19 20:26:02 +02:00
|
|
|
o Switch to Yojson for faster/better JSON input/output
|
2021-07-23 17:26:07 +02:00
|
|
|
o Environment variable CPDF_REPRODUCIBLE_DATES for testing
|
2021-08-10 21:11:20 +02:00
|
|
|
o Environment variable CPDF_DEBUG for -debug
|
2021-07-23 17:26:07 +02:00
|
|
|
o Effectively make stderr unbuffered
|
2021-12-19 13:56:37 +01:00
|
|
|
o Split cpdf.ml into separate modules
|
2021-07-23 17:26:07 +02:00
|
|
|
|
2021-12-15 11:46:59 +01:00
|
|
|
|
2021-07-23 17:26:07 +02:00
|
|
|
2.4 (June 2021)
|
2020-01-24 09:20:40 +01:00
|
|
|
|
2020-12-11 15:13:24 +01:00
|
|
|
o New operation -extract-images
|
2021-06-21 16:44:47 +02:00
|
|
|
o New operation -output-json et al. to export PDF files in JSON format
|
|
|
|
o New operations to manipulate Optional Content Groups
|
|
|
|
o New operation -stamp-as-xobject to add one PDF as an xobject in another
|
2020-03-02 13:39:37 +01:00
|
|
|
o Optional Content Groups now preserved when merging / stamping pages
|
2021-06-22 21:52:05 +02:00
|
|
|
o Listing, coalescing and modfiying Optional Content Groups.
|
2020-01-25 09:58:41 +01:00
|
|
|
o New -labels-progress option to improve page labels interface
|
2020-07-21 13:28:32 +02:00
|
|
|
o Appearance streams transformed when transforming annotations
|
2021-06-20 18:30:14 +02:00
|
|
|
o Bookmark destination positions transformed when transforming pages
|
2021-06-21 16:44:47 +02:00
|
|
|
o No longer depends on Bigarray or Unix modules
|
2020-01-24 09:20:40 +01:00
|
|
|
|
2021-12-15 11:46:59 +01:00
|
|
|
|
2021-07-23 17:26:07 +02:00
|
|
|
2.3 (patchlevel 1, December 2019)
|
2019-09-26 12:44:54 +02:00
|
|
|
|
2019-12-12 13:30:26 +01:00
|
|
|
o Fixed bug which prevented -info working on encrypted files
|
2019-09-26 12:44:54 +02:00
|
|
|
o Allow -shift with -add-text for additional adjustment
|
2019-10-01 16:02:12 +02:00
|
|
|
o Prepend and postpend directly to page content streams
|
2019-09-26 12:44:54 +02:00
|
|
|
|
2021-12-15 11:46:59 +01:00
|
|
|
|
2021-07-23 17:26:07 +02:00
|
|
|
2.3 (October 2019)
|
2019-06-26 16:36:21 +02:00
|
|
|
|
|
|
|
o Directly set and remove Trim, Art, and Bleed boxes
|
2019-07-15 14:42:32 +02:00
|
|
|
o Dump attachments to file
|
|
|
|
o Extended bookmark format, preserving all bookmark information
|
2019-08-10 12:03:02 +02:00
|
|
|
o New -pad-with, -pad-mutiple-before options
|
2019-07-15 14:42:32 +02:00
|
|
|
o Set or create XMP metadata
|
2019-08-10 12:03:02 +02:00
|
|
|
o Remove graphics clipping
|
2019-07-15 14:42:32 +02:00
|
|
|
o Extended support for reading malformed files
|
|
|
|
o Embed missing fonts by calling out to gs
|
|
|
|
o Set bookmarks open to a given level
|
|
|
|
o Create PDF files from scatch
|
|
|
|
o Remove single images by name
|
2019-08-10 12:03:02 +02:00
|
|
|
o Add trim marks
|
2019-06-26 16:36:21 +02:00
|
|
|
|
2021-12-15 11:46:59 +01:00
|
|
|
|
2021-07-23 17:26:07 +02:00
|
|
|
2.2 (patchlevel 1)
|
2017-05-26 16:09:32 +02:00
|
|
|
|
2017-09-01 18:47:22 +02:00
|
|
|
o Fix for inability to read null objects in streams
|
|
|
|
o Workaround for Adobe "Error 21" on re-saving encrypted files
|
2017-05-29 16:30:08 +02:00
|
|
|
o More efficient bookmark operations on files with many pages
|
2017-05-26 16:09:32 +02:00
|
|
|
o New operation -hard-box to clip contents to a given box
|
|
|
|
|
2021-12-15 11:46:59 +01:00
|
|
|
|
2021-07-23 17:26:07 +02:00
|
|
|
2.2 (March 2017)
|
2014-12-02 16:12:28 +01:00
|
|
|
|
2017-05-26 16:09:32 +02:00
|
|
|
o Perform arithmetic on dimensions when specifying size or position
|
2016-11-06 13:57:46 +01:00
|
|
|
o Add simple rectangles to PDF to blank things out
|
|
|
|
o Stamping operations now preserve annotations
|
|
|
|
o Decryption fully on-demand for speed.
|
2014-12-02 16:12:28 +01:00
|
|
|
o -keep-l keeps existing linearization status
|
2015-01-22 20:16:56 +01:00
|
|
|
o -remove-dict-entry to remove the contents of a dictionary entry
|
2015-01-20 16:50:36 +01:00
|
|
|
o -topline in addition to -midline
|
2015-01-22 20:16:56 +01:00
|
|
|
o -producer and -creator may be used to alter producer and creator
|
|
|
|
in conjunction with any other operation
|
2015-02-17 16:48:00 +01:00
|
|
|
o -topline and -midline now apply to stamps
|
2016-11-04 16:57:28 +01:00
|
|
|
o -list-spot-colours
|
2016-11-06 13:57:46 +01:00
|
|
|
o -bates-at-range and -bates-pad-to
|
|
|
|
o -print-page-labels
|
|
|
|
o -squeeze replaces smpdf
|
|
|
|
o Preserve more sharing of data when doing merges and page alterations
|
2014-12-02 16:12:28 +01:00
|
|
|
|
2021-12-15 11:46:59 +01:00
|
|
|
|
2021-07-23 17:26:07 +02:00
|
|
|
2.1 (December 2014)
|
2014-10-29 17:30:25 +01:00
|
|
|
|
2014-10-30 11:35:55 +01:00
|
|
|
o Encryption now much, much faster
|
2014-10-29 17:30:25 +01:00
|
|
|
o Faster parsing of delayed object streams on large files
|
|
|
|
o -decompress now leaves object streams decompressed
|
|
|
|
o Select pages by landscape-ness or portrait-ness in a page range
|
2014-11-18 16:16:11 +01:00
|
|
|
o New -open-at-page and -open-at-page-fit option to set the open action
|
2014-10-29 17:30:25 +01:00
|
|
|
o New -recrypt option to re-encrypt output
|
2014-10-30 11:35:55 +01:00
|
|
|
o Reads XMP metadata and outputs it on -info
|
2014-10-29 17:30:25 +01:00
|
|
|
o New -center position for text
|
|
|
|
o -stamp can now use positions, just like stamping text
|
|
|
|
o Better handling of permissions for files with user passwords
|
2014-11-16 14:53:20 +01:00
|
|
|
o Linearization excised
|
2014-11-18 15:57:18 +01:00
|
|
|
o Can encrypt or recrypt output of -split and -split-bookmarks now
|
2014-10-29 17:30:25 +01:00
|
|
|
o -args replaces -control with better behaviour
|
|
|
|
o Can scale a stamp to fit before stamping with -scale-stamp-to-fit
|