1Version 0.8 2 See SVN ChangeLog 3 4Version 0.7 5 Fixed PdfPainter::ArcTo 6 Fixed crash in FlateDecode and LZWDecode predictor functions 7 Fixed writing of unicode PdfStrings with brackets (will be escaped 8 now) 9 Fixed encoding of bytes in PdfName 10 Added many new unit tests 11 Added methods to free object memory of objects that are not needed 12 anymore (These objects will be re-read from disk if they are 13 needed again) 14 Fixed a crash when appending PDFs 15 Added unicode support on Win32 (wchar_t* constructors and methods 16 where apropriate, e.g. file handling) 17 Fixed a memory leak in PdfStream 18 Small optimizations in various places 19 Fixed DCTDecode filter for CMYK images 20 PdfReference is now immutable, which allows for various optimizations 21 Fixed PdfInputDevice::Read to return now the correct number of bytes 22 read 23 Fixed a memory leak in PdfImmediateWriter/PdfStreamedDocument 24 Fixed several minor parsing issues 25 Fixed adding text to existing pages 26 Added Lua5.1 plan file support to podofoimpose 27 Several fixes in creating XObjects from pages 28 Fixed a possible crash in PdfNamesTree 29 Added support for setting colors in PdfAnnotations 30 Added advanced text drawing support to PdfPainter 31 Fixed parsing of Type1 fonts 32 Fixed deletion of PdfAnnations (fixes a memory leak) 33 34 35Version 0.6 36 Many many changes :) See SVN log 37 38Version 0.5 39 Added support for Embedded Files (annotations & named objects) 40 Added support for ExtGStates when drawing 41 initially only supports basic transparency 42 Fixed reading values from nametrees 43 Added support for named destinations 44 Fixed a memory leak in PdfDestination::GetPage 45 Pages do not know their page number inside of the document 46 Fixed reading PdfActions from PDF files 47 Moved filter implementations to PdfFiltersPrivate.h 48 Added PdfFilter::CanEncode and PdfFilter::CanDecode 49 Simpliefid PoDoFos handling of XRef tables 50 51Version 0.4 52 PdfImage now supports creating an image stream from a "raw bitmap" 53 which can also be optionally Flate compressed 54 Added some new Page-related methods to PdfDocument 55 Append - append one document to another 56 InsertPages - insert a range of pages from one document to another 57 DeletePages - delete a range of pages 58 Added new tool podofomerge for merging two PDFs together 59 Added methods to get & set a document's PageMode 60 Added methods to set a document's FullScreen mode 61 Added methods to set all the various ViewerPreferences for a document 62 Added methods to set the document's PageLayout 63 Added Outline support 64 modified podofoinfo to display them, if present 65 Added a PdfDestination class 66 Added PdfNamesTree class for handling the global named objects 67 modified podofoinfo to display them, if present 68 PdfPainter can draw bezier curves 69 Added XCode project for building on Mac OS X 70 fixed up conditionals in font code to enable building on 71 MacOSX - but no font loading, YET 72 Added support for writing linearized PDF 73 Added support for garbage collection of unused objects 74 Simplified PdfObject constructor 75 Improved annotation support 76 Added support to encode names and various name testcases 77 Fixed ascent and descent of fonts 78 Improved PdfImage API 79 Added support for the creation of file identifiers which makes 80 PoDoFo created PDF files work in more different PDF 81 workflows 82 PdfImage optionally takes ownership of buffers 83 Fixed a major parser bug: The parser expected all objects in 84 object streams to be of type dictionary. 85 86Version 0.3 87 TOTAL revamp of PdfObject & PdfVariant to enable clean/consistent object handling; 88 Added new PdfDocument object - new high level object for reading & writing a PDF doc; 89 TOTAL revamp of the PdfDocument, PdfWriter & PdfParser relationship 90 PdfDocument is now hub for both reading and writing a document 91 it holds the PdfVecObjects - the others just reference them. 92 TOTAL revamp of PdfPainter 93 now uses PDF coordinates - UserUnits from bottom/left 94 added PdfPainterMM for mm-based coords 95 supports user-specified float precision 96 and writes out floats in an optimal manner 97 supports "appending" mode for drawing on existing documents 98 Improved handling of the /Info dict for both reading and writing PDFs; 99 Added new test app - podofopdfinfo, which will be used to dump metadata, etc. from a PDF; 100 Added PdfError::DebugMessage() as the official way to write out debugging info; 101 updated all other debugging msgs to use this; 102 Added PdfError::DebugEnabled() to enable/disable display of debug messages; 103 Added tracking of file size in PdfParser; 104 Minor tweak to Linearization handling - to enable getting the status from a doc; 105 Added getting GetPdfVersionAsString() to PdfWriter; 106 Added new info/object getting methods to PdfDocument; 107 bool IsLinearized(); 108 size_t FileSize(); 109 PdfObject* GetStructTreeRoot(); 110 PdfObject* GetMetadata(); 111 PdfObject* GetOutlines(); 112 PdfObject* GetAcroForm(); 113 Updated pdfinfo & podofopdfinfo to call the new PdfDocument methods; 114 Added PdfDictionary and PdfArray classes; 115 Added new PdfPagesTree (inside of PdfDocument.cpp) for handling walking a /Pages tree; 116 Added new GetPageCount() method to PdfDocument; 117 Modifications to PdfPage to attach it to a PdfDocument & construct from a PdfObject; 118 Added new Legal and A3 standard page sizes; 119 Changed page coordinates to be PDF unit-based instead of 1/1000mm; 120 Changed PdfRect to use PDF units and also use bottom instead of top; 121 Added ability to go between PdfRect and PdfArray & also get string version of a PdfRect; 122 Added support for PdfPage to return all the standard boxes (Media, Crop, etc); 123 Added support for fetching inherited values from pages (eg. boxes, rotation, etc.) 124 Added more methods to PdfPage; 125 GetRotation(); 126 GetNumAnnots(); 127 Use Exceptions now instead of error codes; 128 Removed Init from PdfOutputDevice; 129 Removed Init from PdfParser; 130 Added LZW Filter support; 131 Added PdfElement as base class for PdfAction, PdfAnnotation and 132 PdfPage; 133 Fixed podofoimageextract, podofotxt2pdf and podofopdfinfo; 134 Removed PdfSimpleWriter in favour of PdfDocument; 135 Headers are now installed in includedir/podofo/; 136 Added a new WatermarkTest 137 demonstrates how to read an existing PDF and draw on each page 138 139 140Version 0.2 141 Improved Documentation; 142 Added SetInformation for additional error information to PdfError; 143 Fixed the underline color of text; 144 Introduced PdfReference class; 145 Fixed PdfStream::GetFilteredCopy; 146 Improved handling of DecodeParms for filters; 147 Fixed PDF files with more than one DecodeParms dictionary in one 148 object; 149 Added on demand loading of objects to the PdfParser; 150 Ported to windows by Leonard Rosenthol; 151 On demand loading of objects is now the default; 152 Refactored PdfFilter interface so that filters are cached; 153 Fixed multiple connected XRef tables through /Prev keys in the trailer; 154 Fixed a number of compiler warnings; 155 Replaced char*'s with std::strings in a number of classes; 156 Added std::ostream support to PdfOutputDevice; 157 Improvements to the ImageExtractor tool; 158 Refactored PdfVariant so that it is easier to use; 159 160Version 0.1 (11 June 2006) 161 Initial release; 162 163