JPEG 2000 Backend

От версия 3.9.0 поддръжката на JPEG 2000 използва OpenJPEG 2.5.4. Публичният API на TJpeg2000Bitmap е непроменен, но зареждането и записването вече използват OpenJPEG 2.x кодек и API базирано на callback-потоци

Win32 и Win64 свързват статично включените обектни файлове на OpenJPEG. Lib\thirdparty\build-openjpeg-bcc32.bat и Lib\thirdparty\build-openjpeg-bcc64x.bat изграждат отново включените обекти директно под Lib\thirdparty\Win32 и Lib\thirdparty\Win64. При Win64 се използва bcc64x с изключени jump tables, така че dcc64 да използва статичните COFF64 обекти без runtime DLL на OpenJPEG

Бекендът поддържа откриване на JP2 и суров J2K поток чрез съществуващия зареждащ механизъм. Посочването на цветови компоненти се извежда от цветното пространство на изображението OpenJPEG 2.5, броя на компонентите и алфа-метаданните, защото разширението PDFlibPas comp_type вече не се поддържа от по-ранните версии

Надеждност на JPEG изхода в 3.9.1

Версия 3.9.1 коригира включените свързвания към libjpeg-turbo, използвани от TPDFJPEGImage и рендерирането на PDF страници. Експортирането на JPEG вече използва съвместими с ABI булеви полета, декларации за callback, подравняване на структури и буфери в памет на Win32 и Win64

Същото издание коригира декомпресията на Win32 FlateDecode с включения zlib бекенд, така че xref потоковете на PDF в линейзираните файлове да се зареждат коректно преди началото на рендериране на страницата

Приложенията, които извикват TPDFJPEGImage.SaveToStream, LoadFromFile или рендерират PDF страници към JPG файлове, не се налага да променят изходния код. Прекомпилирайте библиотеките за Win32 и Win64, за да могат съществуващите проекти да ползват коригираните backend модули за изображения и FlateDecode

AES бекенд в 3.9.3

Версия 3.9.3 обновява включения модул AES от изходните C файлове на Brian Gladman's от 2018 г. както за Win32, така и за Win64. Публичното API на PDFlibPas за криптиране не е променено, но AES обектните файлове вече могат да се изграждат от Lib\thirdparty\AES чрез отделните build скриптове

Lib\thirdparty\build-aes-bcc32.bat създава OMF обектите за Win32, а Lib\thirdparty\build-aes-bcc64x.bat създава COFF64 обектите за Win64. PDFlibAES.pas декларира AES входовете с C calling convention, така че AES-CBC криптирането и дешифрирането да съвпадат със C ABI на двете платформи

Обработка на DEVMODE на принтера в 3.9.4

Версия 3.9.4 променя настройката на PDF принтирането, така че персонализирани стойности за поднос за хартия, медиен тип, двустранен режим, качество, брой копия, цвят и ориентация да се подават чрез DEVMODE ръчката на принтера, върната от TPrinter.GetPrinter. Кодът вече не третира TPrinter.Handle като глобален handle за памет, защото това свойство е HDC на принтера, а не DEVMODE блок

Това подобрява печатането през споделени мрежови принтери, включително ситуации, в които приложенията печатат през IP адрес на сървър или избират нестандартен поднос за хартия преди печат. Съществуващите API извиквания като SetPrinterDevModeFromString и настройките за печат остават със същото публично поведение