- Do not inherit from PdfTokenizer
- Interactive forms support
- convert PdfDocument / PdfStreamedDocument such that:
+ PdfDocument becomes PdfMemDocument
+ Common code moves to new shared base PdfDocument
+ PdfStreamedDocument does not depend on PdfMemDocument for base implementation
+ Most output-oriented tasks can be performed on any PdfDocument without caring
what kind it is.
- PdfString supports now unicode strings and conversions
+ PdfDocEncoding to UTF16
+ UTF8 to UTF16
+ UTF16 to UTF8
- Simple content stream parsing was added
- Support for reading & writing encrypted PDFs
- More filters (read & write)
- Support for attaching an ICC profile to an image or content stream
- Some more drawing routines (tiles, save and rstore?) also finish cleanup
the existing ones revamp color support to be more general & support more
- PNG predictor functions in filters
- CMYK image handling for podofoimgextract, images in different colour
spaces in general.
- Semi-streamed writing mode using normal in-memory document and a PdfStream
class that can read input from a file / PdfInputStream on ::write() calls.
(like PdfFileStream, but with support for user-supplied input files).
- Streamline core datatypes to reduce repeated initialization, copy-construction,
etc. Focus on limiting memory allocation/deallocation and heap fragmentation.
Known trouble areas:
+ Small strings on heap in PdfString. Use an in-object buffer for
small PdfStrings/PdfRefCountedBuffers since these are the most common type.