154 lines
5.6 KiB
Plaintext
154 lines
5.6 KiB
Plaintext
2.6 (next version, to come)
|
|
|
|
New features:
|
|
|
|
o Create new PDF graphics with -draw
|
|
o Embed TrueType fonts with -font-ttf for -add-text et al.
|
|
o Embed the 14 standard fonts if requested
|
|
o Add links to parts of text with -add-text as %URL[|].
|
|
o Convert JPEGs and PNGs to PDFs with -jpeg and -png
|
|
o Export fully, import, and round-trip annotations via JSON
|
|
|
|
Extended features:
|
|
|
|
o Allow -utf8 with -split-bookmarks -o @B.pdf to produce UTF8 filenames
|
|
o -merge-add-bookmarks now works with unicode filenames
|
|
o Better transformation of some annotation types
|
|
o -list-annotations[-json] now respects page range
|
|
o Merge now merges structure trees (tagged PDF)
|
|
o Merge now rewrites clashing name tree entries
|
|
o UTF8 option for JSON output
|
|
|
|
Fixes:
|
|
|
|
o Updated Yojson to remove dependency on Stream, ready for OCaml 5
|
|
o -typeset was opening files in text mode, instead of binary
|
|
o Preserve /GoTo actions in bookmarks when merging and optionally
|
|
when extracting bookmarks
|
|
|
|
|
|
2.5.1 (January 2022)
|
|
|
|
o Fix a regression where standard fonts could not be chosen
|
|
|
|
|
|
2.5 (January 2022)
|
|
|
|
New features:
|
|
|
|
o Can read as well as write PDFs in JSON format with -j
|
|
o New operation -typeset typesets a text file as a PDF
|
|
o New operation -table-of-contents makes table of contents from bookmarks
|
|
o New operations -impose and -impose-xy for document imposition
|
|
o New operation -print-font-table gives (charcode, unicode, glyph name) triples
|
|
o New -print-dict-entry operation prints values for a given key
|
|
o New -replace-dict-entry function to search & replace e.g URLs
|
|
o Prepend e.g 2DUP to a page range to make 1,2,3 --> 1,1,2,2,3,3 etc.
|
|
o Prepend NOT to a page range to invert it
|
|
o Output annotations in JSON form with -list-annotations-json
|
|
o Output bookmarks in JSON format with -list-bookmarks-json
|
|
o Load bookmarks in JSON format with -add-bookmarks-json
|
|
o New option -collate to collate pages when merging
|
|
o Text added in existing fonts is now encoding-aware (plus new raw mode)
|
|
|
|
Extended features:
|
|
|
|
o Extend -remove-dict-entry to allow search
|
|
o Annotation /QuadPoints processed in addition to /Rect when transforming pages
|
|
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
|
|
o Add -idir-only-pdfs to restrict -idir to just files ending in .pdf
|
|
o Option -debug-force now properly documented as -decrypt-force
|
|
|
|
Internal changes:
|
|
|
|
o Switch to Yojson for faster/better JSON input/output
|
|
o Environment variable CPDF_REPRODUCIBLE_DATES for testing
|
|
o Environment variable CPDF_DEBUG for -debug
|
|
o Effectively make stderr unbuffered
|
|
o Split cpdf.ml into separate modules
|
|
|
|
|
|
2.4 (June 2021)
|
|
|
|
o New operation -extract-images
|
|
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
|
|
o Optional Content Groups now preserved when merging / stamping pages
|
|
o Listing, coalescing and modfiying Optional Content Groups.
|
|
o New -labels-progress option to improve page labels interface
|
|
o Appearance streams transformed when transforming annotations
|
|
o Bookmark destination positions transformed when transforming pages
|
|
o No longer depends on Bigarray or Unix modules
|
|
|
|
|
|
2.3 (patchlevel 1, December 2019)
|
|
|
|
o Fixed bug which prevented -info working on encrypted files
|
|
o Allow -shift with -add-text for additional adjustment
|
|
o Prepend and postpend directly to page content streams
|
|
|
|
|
|
2.3 (October 2019)
|
|
|
|
o Directly set and remove Trim, Art, and Bleed boxes
|
|
o Dump attachments to file
|
|
o Extended bookmark format, preserving all bookmark information
|
|
o New -pad-with, -pad-mutiple-before options
|
|
o Set or create XMP metadata
|
|
o Remove graphics clipping
|
|
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
|
|
o Add trim marks
|
|
|
|
|
|
2.2 (patchlevel 1)
|
|
|
|
o Fix for inability to read null objects in streams
|
|
o Workaround for Adobe "Error 21" on re-saving encrypted files
|
|
o More efficient bookmark operations on files with many pages
|
|
o New operation -hard-box to clip contents to a given box
|
|
|
|
|
|
2.2 (March 2017)
|
|
|
|
o Perform arithmetic on dimensions when specifying size or position
|
|
o Add simple rectangles to PDF to blank things out
|
|
o Stamping operations now preserve annotations
|
|
o Decryption fully on-demand for speed.
|
|
o -keep-l keeps existing linearization status
|
|
o -remove-dict-entry to remove the contents of a dictionary entry
|
|
o -topline in addition to -midline
|
|
o -producer and -creator may be used to alter producer and creator
|
|
in conjunction with any other operation
|
|
o -topline and -midline now apply to stamps
|
|
o -list-spot-colours
|
|
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
|
|
|
|
|
|
2.1 (December 2014)
|
|
|
|
o Encryption now much, much faster
|
|
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
|
|
o New -open-at-page and -open-at-page-fit option to set the open action
|
|
o New -recrypt option to re-encrypt output
|
|
o Reads XMP metadata and outputs it on -info
|
|
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
|
|
o Linearization excised
|
|
o Can encrypt or recrypt output of -split and -split-bookmarks now
|
|
o -args replaces -control with better behaviour
|
|
o Can scale a stamp to fit before stamping with -scale-stamp-to-fit
|