All Versions
4
Latest Version
Avg Release Cycle
-
Latest Release
-
Changelog History
Changelog History
-
v0.10.0 Changes
- ๐ PdfImage: Cleaned/reviewed/fixed SetData()/SetDataRaw()
- ๐ Renamed PdfPageTree -> PdfPageCollection
- โ Added XMP metadata reading/saving. Added PdfMetadata class
- โ Added text extraction API
- ๐ Review I/O API: Merged InputDevice/OutputDevice into StreamDevice. New hierarchy deriving StreamDevice
- Reviewed PdfObjectStream API: added streaming operations, GetInputStream(), GetOutputStream(). Renamed GetFilteredCopy() -> GetUnwrappedCopy()/UnwrapTo(). They only unwrap non media filters (see PdfImage::DecodeTo for media ones)
- PdfImage: Added DecodeTo(pixelFormat)
-
v0.9.22 Changes
- ๐ Fixed serialization of strings with non ascii PdfDocEncoding characters
- โ Removed PdfLocaleImbue
- ๐ PdfEncrypt: Removed PdfReference state. Added PdfStatefulEncrypt
- โ Removed use of std::ostringstream. Added efficient outstringstream
- โ Added PdfMath functionalities (matrix transformations and so on)
-
v0.9.21 Changes
- ๐ Fixed serialization of UTF-16BE strings
- ๐ More lenient PdfDate parsing
-
v0.9.20 Changes
- pdfmm is now a C++17 library
- โ Added move semantics for PdfVariant, PdfObject, PdfArray, PdfDictionary
- ๐ Improved XRefStream support, added support in incremental saves
- ๐ Many fixes in save incremental object/generation number incrementing
- String backed with UTF-8 storage
- PdfName backed with UTF-8 storage
- ๐ Brand new PdfEncoding class with support for both /Encoding and /ToUnicode, more complete Unicode support
- โ Added a PdfDynamicEncoding class that creates a custom CID encoding based on actual used glyphs used
- Automatic creation of CIDMap and /ToUnicode
- โ Added PdfSigner class and mm::SignDocument()
- โ Added PdfFontType1Encoding, which support Type1 implicit encoding
- โ Added support for PDF 2.0 UTF-8 strings (untested)
- โ Added indirect iteration for PdfArray/PdfDictionary (see GetIndirectIterator methods)
- โ Added PdfDocument::GetPdfALevel()
- โ Added PDFA preserving writing
- ๐จ Refactored/Reviewed PdfInputDevice: versions that take buffer do not copy it (use istringviewstream)
- โ Added font replacement facility PdfFont::TryCreateFontSubstitute()
- โ Added standard14 fonts embedding, with font programs from PDFium
- Reviewed PdfXObject hierarchy, added PdfXObjectForm, PdfXObjectPostScript
- โ Added PdfTextState and use it to compute string widths in PdfFont
- ๐ Improved PdfDocEncoding to expose conversion utf8 conversion facilities
- ๐ PdfParser: Support also files with whitespace offset before magic start
- PdfObject auto ownership
- PdfContents: create on demand /Contents. First create a single stream, after array
- ๐ Improved IsDirty handling: less dirty bit sets
- โ Added PdfPostScriptTokenizer that as better general support for PostScript
- PdfDictionary: Review/convert GetKey -> FindKey
- PdfDictionary: Review GetKeyAs methods
- ๐ Fixed hundreds of warnings. No warnings left in tested builds
- ๐ง FontConfigManager: better handling with custom configurations
- โ Removed PdfMutex. Used std::mutex where necessary
- ๐ Datatypte: remove PdfDataType::HexString
- โ Removed support for old compilers (MSVC6, hpux, borland, turbo...)
- โ Added better endian swap functions
- โ Removed auto_ptr usage
- Removed pdf_int/pdf_uint types
- โ Removed use of pdf_long/long types
- โ Removed use of ptrdiff_t
- โ Removed unistring and ugly string conversion code. Moved to utfcpp
- Reviewed PdfObject::GetNumber/PdfObject::GetReal (strict/lenient)
- โ Remove PdfObject inheritance on PdfVariant
- Reviewed PdfVariant/PdfObject/PdfArray/PdfDictionary equality/disequality operators
- Simplified copyright headers
- Object copy constructor must copy also stream
- PdfElement: GetDocument(), GetObject() refs
- PdfVecObjects: GetParentDocument() -> GetDocument()
- โ Remove PdfSignOutputDevice::SetSignatureSize(size)
- ๐ Moved inline code to .cpp
- โ Remove comments on overrides
- ๐ Cleaned CMakeFiles (removed custom Find<>.cmake)
- NULL -> nullptr
- ๐ Use shared_ptr in PdfFontMetrics, PdfEncoding in PdfFont
- ๐ Cleaned PdfFontCache (renamed PdfFontManager), removed font functions from PdfDocument
- PdfArray::FindAt() return ref
- Simplified license headers
- Reviewed PdfPageTree and PdfPageTreeCache API
- Reviewed most int vs unsigned indexing
- โ Remove all hungarian notation
- ๐ Sanitize code style
- Removed all const char* and passed to string/string_view
- ๐ Renamed PdfFontCache -> PdfFontManager
- ๐ Renamed PdfVecObjects -> PdfIndirectObjectList
- ๐ Renamed PdfNamesTree -> PdfNameTree
- ๐ Renamed PdfPagesTree -> PdfPageTree
- ๐ Renamed PdfPagesTreeCache -> PdfPageTreeCache
- ๐ PdfObject: removed GetIndirectObject(), MustGetIndirectKey (must use PdfDictionary now)
- ๐ Remove PdfMemoryManagement.cpp, Removed podofo_new, podofo_free
- โ Add chars type for char array storage/buffering which inerits string
- Review pointer vs ref parameters/return types
- โ Remove PdfRefCountedBuffer, PdfRefCountedInputDevice, PdfRefCountedOutputDevice
- โ Removed PdfMemoryManagement and all C style malloc/free usage
- ๐จ Refactored PdfOutputDevice (PdfMemoryOutputDevice/PdfFileOutputDevice/etc.)
- ๐ Clean PdfError, remove wchar_t
- โ Remove printf, snprintf
- ๐ Renamed PdfElement-> {PdfDictionaryElement|PdfArrayElement} that respectively have GetDictionary(), GetArray()
- Reviwed PdfWriteFlags, added PdfSaveOptions