mirror of
				https://github.com/johnwhitington/cpdf-source.git
				synced 2025-06-05 22:09:39 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			162 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			162 lines
		
	
	
		
			6.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 2.6 (next version, to come)
 | |
| 
 | |
| New features:
 | |
| 
 | |
| o Create new PDF documents or draw on existing ones with -draw
 | |
| o Embed Google/URW TrueType fonts with -font-ttf.
 | |
| 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, import, and thereby round-trip annotations via JSON
 | |
| o Show composition of PDF with -composition[-json]
 | |
| o Use page labels like <iii> and <A-2> in page specifications
 | |
| 
 | |
| 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 Preserve /GoTo actions in bookmarks when merging
 | |
| o UTF8 option for JSON output
 | |
| o -info now shows object stream, /ID data, page mode and layout
 | |
| o More options for viewer preference control
 | |
| o Export some PNGs directly, rather than via an external program
 | |
| o More default colours, by using the CSS colour list
 | |
| 
 | |
| 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 Fixed behaviour of -squeeze-no-pagedata / -squeeze-no-recompress 
 | |
| o Significant improvements to malformed file reading
 | |
| o Allow DUP page specifications to use larger numbers
 | |
| o Reworked functions transforming pages to better preserve patterns
 | |
| 
 | |
| 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
 |