HotPDF Opombe ob izdaji

Zgodovina različic za uporabnikom vidne funkcije HotPDF, popravke, posodobitve združljivosti in spremembe dokumentacije

Note: Only the latest 500 change records are kept

Last release

  • Latest version: 2.748.6; Release date: 2026-09-07

Version 2.748.6

Fixed

  • Popravljeno vrtenje podrazdelka cross-reference, ki naznanja več vnosov, kot jih ima tabela, skozi celotno naznanjeno število, čeprav za branje ni več podatkov, zaradi česar je zavražanje pokvarjene datoteke s štiridesetimi bajti trajalo desetke sekund
  • Popravljeno izgubljanje vseh že izdelanih rezultatov pri job runnerju, ko operacija sproži izjemo, ter izgubljanje slikovnega objekta pri uvažanju HTML, ko streama okoli njega ni bilo mogoče ustvariti

Version 2.748.5

Fixed

  • Popravljeno odpiranje datotek PKCS#12 z geslom, ki ni ASCII: geslo je niz bajtov UTF-8, a je bilo razširjano bajt za bajtom namesto da bi bilo dekodirano, zato je bil izpeljan ključ napačen za vsak znak zunaj ASCII. Datoteke, zaščitene s sodobno shemo PBES2, niso bile prizadete, od tod različno obnašanje obeh
  • Popravljeno sprožanje access violationa namesto lastne napake pri signature batch validatorju in predpomnilniku revocation evidence, ko sta zgrajena z neveljavno možnostjo, ker se je destruktor izvedel še preden so bili ustvarjeni člani, ki jih sprošča
  • Popravljeno podirjanje naloge za prenos evidence v destruktorju, ko so bili njeni argumenti zavrnjeni, ker so se preverjanja izvedla še preden je bila ustvarjena sama nit
  • Popravljeno kodiranje identifikatorja algoritma pri ponudniku cloud-signature, kadar drugi lok identifikatorja preseže 39; nepravilen identifikator zdaj sproži lastno napako ponudnika namesto napake pretvorbe
  • Vsebniki certifikatov in podpisov zdaj zavrnejo gnezdeni element, ki naznanja dolžino, segajočo čez element, ki ga vsebuje, tako da tisto, kar se preverja, in tisto, kar pokriva podpis, ne moreta več biti različna
  • Vrednosti zasebnega ključa se po podpisovanju RSA izbrišejo iz pomnilnika, namesto da ostanejo na kopici za naslednjo dodelitev

Version 2.748.4

Fixed

  • Popravljeno nalaganje pisav Type 1, ki je bralo vse lastnosti iz prve vrstice programa pisave: seznam žetonov je bil dopolnjen brez izpraznitve, zato so bili nizi za različico, družino in težo, stem hints ter dolžina charstring ključa vzeti iz zastarelih žetonov. Pisave Type 1 zdaj poročajo svoje metapodatke
  • Popravljeno hranjenje dolžine charstring ključa kot kazalca v niz, ki je bil že sproščen, in uporaba brez preverjanja obsega; zdaj se hrani kot vrednost in omeji na obseg, ki ga dovoljuje format
  • Popravljeno vračanje nevdrtih pisav vedno na privzeto pisavo sistema: ime zahtevane pisave je bilo kopirano v zapis pisave s širokimi znaki bajt za bajtom, zato se nobena nameščena družina ni nikoli ujela
  • Popravljeno branje čez konec prirezanega programa pisave pri razčlenjevanju vgrajenih pisav TrueType in OpenType med dekodiranjem obrisev glifov, argumentov sestavljenih glifov in tabele CFF vsebnika OpenType, nepravilna preslikava znakov pa ne zahteva več negativnega polja glifov
  • Popravljeno prelivanje naznanjenih številk objektov pri tabelah cross-reference in tokovih: vnos, ki trdi številko blizu meje celih števil, se je zvil v negativni indeks in bil zapisan zunaj tabele, naznanjeno število objektov ali /Size, veliko večje, kot ga datoteka lahko nosi, pa je polja nalagalnika razmerilo samo po tej trditvi

Version 2.748.3

Fixed

  • Popravljeno zavračanje veljavnega vnosa pri Data Matrix: velikost simbola je bila ocenjena s polovitvijo števila števk, a code word si delita le sosednji števki, zato je besedilo, kot je 1a2a3a, izbralo premajhen simbol za svoje podatke in kodiranje ni uspelo
  • Popravljeno dekodiranje štiribajtnih znakov UTF-8 v XFDF, na primer emoji, v napačen par surrogate; neprepoznan bajt nič več ne pogoltne treh znakov, ki mu sledijo
  • Registri območij enhanced-metafile zdaj omejijo število pravokotnikov z velikostjo zapisa, namesto da zaupajo številu v glavi območja, ki je lahko bralo daleč čez zapis
  • Slike PNG, katerih naznanjena širina krat višina preseže naslovljivi obseg, se zavrnejo že pri glavi, namesto da bi se dodelil slikovni predpomnilnik z negativno dolžino
  • Visokokakovostno ponovno vzorčenje slik zdaj poroča o zahtevi izven obsega, namesto da bi preplavilo velikost svojega vmesnega predpomnilnika
  • Slika WebP meta predpone, ki trdi več skupin entropije, kot ima slikovnih pik, se zavrne, namesto da bi iz nekaj sto bajtov vnosa dodelila stotine megabajtov tabel predpon
  • Popravljeno puščanje na napačnih poteh kodiranja Aztec, dekodiranja bitne slike WebP in delovnega bazena za dekodiranje object-stream, kjer je bilo ob napaki poznejšega koraka opuščeno delno zgrajeno telo

Version 2.748.2

Fixed

  • Popravljeno izgubljanje zadnjih bitov code word pri simbolih QR Code: sprehod po razporeditvi modulov je preskočil skrajno levi stolpec, zato rep zadnjega bloka za popravljanje napak ni bil nikoli zapisan v simbol
  • Popravljeno polnjenje celotnega preostanka podatkovnega bloka z ničelnimi biti pri QR zaključku, zaradi česar ni ostalo prostora za pad code words 0xEC / 0x11, ki jih zahteva ISO/IEC 18004; simbol različice 1 je namesto tega nosil šest ničelnih code words
  • Nov test prebere ustvarjeni simbol nazaj iz njegovih modulov, zato se podatkovni blok, pad code words, blok za popravljanje napak, maska in razporeditev preverjajo proti standardu, ne proti lastnemu izpisu kodirnika

Version 2.748.1

Fixed

  • Popravljeno obešanje treh razčlenjevalnikov na nepravilnem vnosu namesto poročanja: razčlenjevalnik objektov ob >> znotraj polja ali ] znotraj slovarja, bralnik CMap ob tujem oklepaju ali zavitnem oklepaju in bralnik XFDF ob konstrukciji brez imena oznake (na primer deklaracija vrste dokumenta) ali tujem bajtu med atributi. Vsak od njih je prenehal premikati kazalko, zato je en nepričakovan bajt spremenil razčlenjevanje v neskončno zanko
  • Popravljeno branje razdelkov CDATA v XFDF kot označbe: njihova vsebina se zdaj vzame kot besedilo elementa, oznaka razdelka pa se pravilno izmeri, namesto da bi pogoltnila prvi znak
  • Popravljeno prelivanje preverjanja velikosti pri dolžini chunk WebP blizu 2 GB, zato je kopija payloada brala čez konec medpomnilnika datoteke; dolžine chunkov se zdaj preverjajo v 64-bitni aritmetiki
  • Popravljeno sproščanje medpomnilnika chunk pri dolžini chunk PNG 0xFFFFFFFF, medtem ko je chunk še poročal o naznanjeni dolžini, kar je poznejša branja usmerilo v sproščen pomnilnik; predolgi chunki se zavrnejo
  • Popravljeno prelivanje izračuna velikosti medpomnilnika vrstic pri dekodiranju faksa CCITT za zelo velike naznanjene geometrije strani, ki je lahko pisalo čez medpomnilnik; shramba vrstic je zdaj omejena in dekodiranje se pri mejnici lepo ustavi
  • Popravljeno branje enega bajta čez konec vrstice optičnega pregleda pri kodirniku CCITT za širine, ki so večkratnik osmih
  • Popravljeno branje registrov komentarjev enhanced-metafile skozi 32-bitno porezan kazalec na 64-bitnih gradnjah, ki je bralo nepovezan naslov za vsak EMF s komentarjem GDI
  • Popravljeno objavljanje neinicializiranega pomnilnika kot repa barvne tabele pri 8-bitnih slikah z manj kot 256 vnosi palet; tabela zdaj naznanja svoje dejansko število vnosov
  • Popravljeno izčrpavanje sklada z globoko gnezdenimi strukturami BER neomejene dolžine med razčlenjevanjem vsebnika podpisa ali certifikata; gnezdenje čez 128 ravni se zavrne

Version 2.748.0

Fixed

  • Popravljeno popravljanje napak pri vseh 2D črtnih kodah, ki jih riše knjižnica: QR Code, Data Matrix, PDF417 in Aztec so gradili generatorski polinom od konstantnega člena navzgor, a delili z njim, kot da bi vodilni člen prišel najprej, zato je vsak simbol nosil kontrolne besede, ki jih noben standardu ustrezen bralnik ne sprejme. Kontrolne besede se zdaj ujemajo z obdelanimi primeri iz ISO/IEC 18004, ISO/IEC 16022 in ISO/IEC 15438
  • Popravljeno izgubljanje tovoru pri simbolih Aztec: kodirnik deli polje code words na mestu in klicatelj izpiše isto polje, zato so bile besede sporočila prepisane z deljenjem in simbol ni nosil niti podatkov niti veljavnega sporočila načina
  • Popravljeno začenjanje korenin generatorskega polinoma Data Matrix ena potenco prenizko, kar je dalo drugačen polinom od tistega, ki ga predpisuje priloga E standarda ISO/IEC 16022
  • Popravljen iskalni vzorec Data Matrix: polna L je zdaj levi stolpec in spodnja vrstica, izmenična urina sled pa zgornja vrstica in desni stolpec, vsak se začne temno v kotu, ki ga deli z L. Bila sta zamenjana, zato bralniki niso mogli ugotoviti usmerjenosti simbola

Version 2.747.4

Fixed

  • Popravljeno pisanje PDF števil pri urejanju naloženih dokumentov z decimalnim ločilom sistema: šivanje strani, črnjenje pravokotnikov, žigi besedila in slik, sestavljeni vodni žigi in ellipse appearances zdaj vedno izpišejo piko, tako da dokumenti, urejani v okoljih z decimalno vejico (na primer nemški ali francoski Windows), ne vsebujejo več content streamov, ki jih pregledovalniki zavrnejo
  • Popravljeno nalaganje pisav Type 1, ki je bilo odvisno od območnih nastavitev sistema: FontMatrix, BlueValues, stem hints in charstring realna števila se berejo kot PostScript števila s piko, tako da pisave PFB ohranijo metrike in obrise namesto da se tiho sesujejo
  • Popravljeno razčlenjevanje velikosti in barve pisave pri default appearance (/DA), atributov HTML width in size, rezultatov FormCalc in števil job JSON glede na območne nastavitve procesa; zdaj v vse smeri uporabljajo invariantno obliko
  • Popravljeno risanje vgrajenega črtnega kode, ki je svoje pravokotnike črt zapisovalo prek oblike, odvisne od območnih nastavitev, kar je na sistemu z decimalno vejico dalo neveljaven content stream
  • Gradnje Free Pascal zdaj razčlenjujejo in oblikujejo operande content stream, metrike za izdvajanje besedila in števila JavaScript z invariantno obliko, v skladu z gradnjami Delphi, namesto da se zanašajo na pretvorbo, odvisno od območnih nastavitev
  • Zapisovalnik števil ne prepiše več decimalnega ločila globalnih nastavitev oblike gostujočega programa ob vsakem klicu, kar je spreminjalo, kako program formatira svoja števila, in je bilo nevarno, ko je več niti hkrati ustvarjalo dokumente

Version 2.747.3

Fixed

  • Popravljeno pisanje PDF števil pri urejanju naloženih dokumentov z decimalnim ločilom sistema: šivanje strani, črnjenje pravokotnikov, žigi besedila in slik, sestavljeni vodni žigi in ellipse appearances zdaj vedno izpišejo piko, tako da dokumenti, urejani v okoljih z decimalno vejico (na primer nemški ali francoski Windows), ne vsebujejo več content streamov, ki jih pregledovalniki zavrnejo
  • Popravljeno nalaganje pisav Type 1, ki je bilo odvisno od območnih nastavitev sistema: FontMatrix, BlueValues, stem hints in charstring realna števila se berejo kot PostScript števila s piko, tako da pisave PFB ohranijo metrike in obrise namesto da se tiho sesujejo
  • Popravljeno razčlenjevanje velikosti in barve pisave pri default appearance (/DA), atributov HTML font size, rezultatov FormCalc in števil job JSON glede na območne nastavitve procesa; zdaj v vse smeri uporabljajo invariantno obliko
  • Gradnje Free Pascal zdaj razčlenjujejo in oblikujejo operande content stream, metrike za izdvajanje besedila in števila JavaScript z invariantno obliko, v skladu z gradnjami Delphi, namesto da se zanašajo na pretvorbo, odvisno od območnih nastavitev

Version 2.747.2

Added

  • Dodana podpora za Free Pascal Win32: paket Lazarus se zdaj gradi za i386-win32 in x86_64-win64 prek namenskih vstopnih točk za gradnjo, smoke suite sprejmejo argument arhitekture, odpravljene pa so težave s 32-bitnim prevajalnikom in povezovanjem C simbolov; ustvarjanje PDF, nalaganje, stiskanje Flate, šifriranje AES in upravljanje dokumentov CBZ so pokriti na obeh ciljih

Version 2.747.1

Fixed

  • Popravljen ponovni poskus z zavrtjeno masko v vgrajenem dekodirniku črtnih kod, ki je v nedotaknjenih celicah zavrtjene maske puščal zastarele bajte — ti so ustvarjali fantomsko črnilo ter naredili simbole Code 39, zavrtjene za četrtino, neberljive; zavrtjeni medpomnilnik se zdaj izrecno ponastavi na nič, tako da se fotografije in skeni Code 39, zavrtjeni za 90 stopinj, dekodirajo prek ponovnega poskusa z vrtenjem

Version 2.747.0

Added

  • Dodan uvoz slik WebP: AddImageFromFile zdaj sprejme datoteke .webp prek vgrajenega brezizgubnega (VP8L) dekodirnika, ki sledi RFC 9649 — kanonične prefix kode, prostorske meta prefix kode, LZ77 povratne reference s preslikavo razdalj sosedstva, barvni predpomnilnik ter vse štiri inverzne transformacije (predictor, color, subtract-green, color indexing s pakiranjem pikslov); izgubni okvirji VP8 se zavrnejo z jasnim sporočilom

Version 2.746.0

Added

  • Vgrajeni dekodirnik črtnih kod zdaj prebere simbole QR v kateri koli od osmih usmerjenosti, v kakršni lahko prispe fotografirana ali skenirana stran: finder vzorci prepoznajo manjkajoči kot, vzorčena matrika modulov pa se pred dekodiranjem zavrti ali zrcali v pričakovano postavitev, tako da se zasnetki, zavrti za četrtino ali zrcaljeni, preberejo brez predobdelave

Version 2.745.0

Added

  • Dodano vrednotenje kvalificiranih certifikatov po eIDAS za naložene podpise: GetLoadedSignatureQCStatements poroča o QCStatements certifikata podpisnika po ETSI EN 319 412-5 — vrednosti QcCompliance, QcSSCD in QcType, valuta/znesek/eksponent QcLimitValue ter lokacije PDS — poleg tega vlogi plačnika in prejemnika PSD2 po TS 119 495, ter sproži hevristiko kvalificiranega podpisa, ko sta QcCompliance in QcSSCD oba izjavljena (odločitev o zaupanju QTSP ostane pri klicatelju)

Version 2.744.0

Added

  • Dodan N-up imposition za naložene dokumente: ComposeLoadedPagesNUp preoblikuje vsako stran na mrežno sestavljene liste izvorne velikosti papirja (2-up, 4-up, 6-up, do 16x16) za tisku pripravljen izhod, pri čemer v matriko postavitve vključi /Rotate vsake strani, deli vire strani s sestavljeno formo ter po potrebi izriše tanke okvirje celic z nastavljivim razmikom

Version 2.743.0

Added

  • FlattenLoadedAnnotations zdaj splošči tudi annotacije brez appearance toka, namesto da jih tiho preskoči: widgeti najprej dobijo izgled polja, generiran iz vrednosti polja (primer /NeedAppearances, pogost pri obrazcih, natisnjenih iz brskalnika), tako da vnesena vrednost preživi v vsebino strani
  • Označevalne annotacije (markup) brez /AP dobijo sintetiziran izgled, izrisan iz njihovih lastnih lastnosti — besedilo FreeText in Stamp s stilizacijo /DA in poravnavo /Q, liki Square in Circle z barvo /C / /IC ter širino /BS, poteze Line in Ink ter quad označbe Highlight / Underline / StrikeOut / Squiggly, ki upoštevajo /QuadPoints in prosojnost /CA
  • Skrite annotacije (zastavica /F hidden) ostanejo annotacije, kadar je izgleda nimajo, ker bi sploščitev nevidne opombe naredila vidno

Version 2.742.0

Fixed

  • Popravljeni buildi paketa za Free Pascal, ki so od 2.738.0 spodleteli: deklaracije članov za LTV dokaze in seed vrednosti so stale znotraj pogojnega bloka, ki velja le za Delphi, njihove implementacije pa so bile brez pogoja, tako da se paket za Free Pascal ni več prevedel; implementacije zdaj nosijo isti pogoj in se paket spet zbuilda

Version 2.742.0

Added

  • Uvoz HTML zdaj razrešuje tabele na polni zasedbeni mreži, tako da celice s rowspan in colspan pravilno zasedejo svoje stolpce, kasnejše vrstice pa zasedena mesta preskočijo, namesto da bi se premaknile levo
  • Višine vrstic tabel izhajajo iz oblivanja besedila celice s pisavo same celice, namesto iz ocene po številu znakov, tako da mešana ozka in široka vsebina ne proizvaja več prelivajočih ali prevelikih celic
  • Širine stolpcev sledijo namigom o širini <col> in atributom širine na posamezno celico, glavne vrstice, označene s <thead> (ali začetne vrstice vseh <th>), pa se ponovijo na vrhu vsake nadaljevalne strani, ko tabela prečka prelom strani
  • Skupina z razponom po vrsticah (rowspan) ostane čez prelome strani cela: vrstice, povezane z razpenjajočo celico, se skupaj prenesejo na naslednjo stran, tako da razpenjajoče celice nikoli ne prereže

Version 2.741.0

Fixed

  • Popravljeni buildi Free Pascala, ki so se končali, namesto da bi prijavili napako, ko je dokument potreboval enega od kodekov, ki jih ti buildi ne povežejo: odpiranje TIFF-a, dekodiranje slike JPEG 2000 ali JBIG2, branje progresivnega ali pomanjšanega JPEG-a, uporaba barvne transformacije ICC ali zahteva po ponovnem stiskanju Zopfli je proces takoj končala
  • Vsaka od teh operacij zdaj odpove na način, kot ga klicatelj že pričakuje, tako da se dokument, ki eno od njih uporablja, naloži s preskočeno zmožnostjo, namesto da podre aplikacijo

Version 2.741.0

Added

  • Dodano izluževanje besedila po vrstnem redu strukture: ExtractLoadedPageStructureText obišče drevo strukture dokumenta v vrstnem redu nastajanja (ISO 32000-1 14.8.4) ter zlepi nize marked-content strani po MCID, tako da označeni dokumenti, kot so državni obrazci in dostopne publikacije, izlužijo svoj avtoritativni vrstni red branja, namesto geometrijskega ugibanja; glifi, ki jih drevo nikoli ne prevzame, padejo v geometrijski rep in se štejejo v poročilu o neoznačenih

Version 2.740.0

Fixed

  • Popravljeno izgubljanje prosojnosti barvnih glifov v buildih Free Pascala: vgrajene barvne bitmape so se brale po poti, ki zavrže alfa kanal, tako da je bil vsak glif emojija ali barvne pisave izrisan kot neprozoren pravokotnik. Bitmape zdaj ohranijo alfo na nivoju pikslov

Version 2.740.0

Fixed

  • Omogočeno dogovarjanje ključev ECDH P-384: končna pogojna odštevalna operacija CIOS Montgomery množenja je primerjala z P limb plus posojo, kar se pri vseh enicah v visokih limbih praštevil P-384 / P-521 ovije v nič ter tiho naredi napačno posojo; primerjava zdaj zazna posojo brez seštevanja s prelivanjem ter skupni skrivni ključ P-384 se ujema z referenčnimi vektorji OpenSSL bajt za bajtom

Version 2.739.0

Added

  • Buildi Free Pascala zdaj šifrirajo in dešifrirajo dokumente: vstopne točke AES posluža lastna implementacija FIPS-197 v knjižnici, namesto da bi prijavila napako nepodprte operacije, tako da je tam mogoče ustvariti in odpreti datoteke, zaščitene z AES-128 in AES-256
  • Šifriranje in dešifriranje AES-GCM, vključno s streaming kontekstom za velike payloade, je na voljo v buildih Free Pascala
  • Free Pascal smoke test zdaj preveri šifro proti znanemu odgovoru FIPS-197, izvede krožna preizkusa PKCS#7 in GCM ter ustvari in znova naloži dokument, zaščiten z AES-256, z zavrnitvijo napačnega gesla

Version 2.739.0

Added

  • Dodana tipografija odstavkov CSS2.1 v uvozni pogon HTML5: text-align (z starejšim atributom align in preslikavo oznake center), letter-spacing in word-spacing prek PDF operatorjev Tc / word-space, text-indent za zamike prve vrstice ter pravila text-decoration underline / line-through, tako da obstoječi uvozi HTML s spleta in iz e-pošte ohranijo sredinjene naslove, zamike in podčrtave
  • Razširjen vgrajeni dekodirnik QR nad verzijo 1: verzija simbola se zdaj izpelje iz geometrije finderjev prek deljivosti mreže (verzije 2-40 s čisto mrežo modulov se dekodirajo), omejitev dolžine v byte načinu sledi zmogljivosti po verzijah iz tabele 7 ISO/IEC 18004, karta funkcijskih modulov pa pokriva poravnalne vzorce in bloke informacij o verziji za višje simbole

Version 2.738.0

Added

  • Buildi Free Pascala zdaj domorodno stiskajo in razpakirajo dokumente: kodek deflate zagotavlja vgrajen backend nad implementacijo zlib v Pascalu, ki pride skupaj s Free Pascalom, tako da vsebina FlateDecode ne prijavlja več napake nepodprte operacije
  • Stisnjene dokumente je pod Free Pascalom mogoče ustvariti in znova naložiti s privzeto nastavitvijo stiskanja, tokovi navzkrižnih sklicev, tokovi objektov, vgrajene datoteke in stisnjena vsebina strani pa se tam vsi dekodirajo
  • Backend pokriva ovoje zlib in surovega deflate, ovoj gzip ter samodejno zaznavanje glave, tako da se uvozi SVG in decompression fallback z več velikostmi okna obnašajo kot pod Delphijem
  • Free Pascal smoke test zdaj preveri kodek s samo-preizkusom ovoja in kontrolne vsote ter s krožnim preizkusom stisnjenega dokumenta

Version 2.738.0

Added

  • Dodano dokončanje verige prek AIA caIssuers: HPDFFetchAIAIntermediates preišče končne točke access-method 1.3.6.1.5.5.7.48.2 kompleta certifikatov CMS prek transporta klicatelja (gola telesa DER in PEM se oba dekodirata), možnost validacije FetchMissingIntermediates pa napaja pridobljene intermediates v izgradnjo poti, tako da se podpisi podpisnikov v oblaku z osamljenim certifikatom končne entitete validirajo, namesto da bi gradnja poti spodletela
  • Dodano omogočanje LTV v enem klicu: PopulatePAdESLTVEvidence obišče vsak naložen podpis, pridobi njegove intermediates in dokaze OCSP/CRL prek spleta ter material zapiše v DSS dokumenta, s čimer svež dokument s podpisom B-B nadgradi v B-LT brez ročno sestavljenih tabel dokazov
  • Dodano uveljavljanje seed vrednosti pri podpisovanju: CheckLoadedSignatureSeedValue prebere slovar /SV polja podpisa ter preveri kandidatni SubFilter, DigestMethod, Reason in profil DocMDP proti njegovim omejitvam s semantiko force-bit iz ISO 32000-1 12.7.5.5, tako da se omejitve avtorja obrazca upoštevajo, preden se podpis postavi

Version 2.737.0

Added

  • Dodano strogo preverjanje shranjevanja prek lastnosti VerifySavedOutput: po pisanju sveža instanca bralnika z izklopljenim okrevanjem navzkrižnih sklicev znova naloži datoteko, tako da pokvarjena serializacija sproži napako na mestu klica, namesto da bi se pokazala pri naslednjem porabniku
  • Razširjen ReproducibleOutput na šifrirane dokumente: tokovi AES-CBC uporabljajo statično konvencijo IV 14*(1+i), ključni material in soli se izpeljejo deterministično, kanonični ID dokumenta pa normalizira nestanovitne časovne žige Info, kar daje bajtno enaka šifrirana shranjevanja za regresijske pipeline

Version 2.736.0

Added

  • Dodana kakovostna resampling in monokromsko dithering prek nove enote HPDFResample: separabilni kerneli Catmull-Rom bicubic in Lanczos3 nadomestita semantiko raztegovanja GDI pri pomanjševanju slik prek lastnosti ImageDownsampleKernel, RenderOutputDither pa uporabi Floyd-Steinberg difuzijo napake po sestavi strani, tako da izhod predogleda tiska ohrani fotografske podrobnosti v čisti črno-beli

Version 2.735.2

Fixed

  • Popravljeni razpakirni tokovi Flate, ki so pri ponovnem polnjenju iz izvornega toka podali naslov spremenljivke medpomnilnika, namesto samega medpomnilnika, kar je pokvarilo pomnilnik ob vsakem branju in lahko podrl proces; prizadeto je vse: nalaganje stisnjenih dokumentov, razredi tokov inflate ter pomožni tokovi za stiskanje in razpakiranje

Version 2.735.1

Fixed

  • Popravljeni razrastljivi polji XFA brez podatkovnega vira, ki so se ob sploščevanju skrčile v eno vrstico: njihova višina se zdaj izmeri iz besedila, ki ga izjavi sama predloga — to je tisto, kar tako polje prikaže. Polje, vezano na prazne podatke, se še naprej meri kot prazno

Version 2.735.0

Added

  • Buildi Free Pascala zdaj pokrivajo celotno knjižnico: vsaka enota se prevede s FPC 3.2.2 in Lazarusom, kjer se je prej prevajala le osnovna pot ustvarjanja in nalaganja
  • Vsebnike XPS, EPUB in CBZ je pod Free Pascalom mogoče uvoziti prek vgrajenega bralnika ZIP, ki zna samo brati ter obravnava velikosti ZIP64, vnose stored in deflated, preverjanje CRC ter tradicionalno šifrirane vnose z istim geslom callback kot pot Delphi
  • Sploščevanje obrazcev XFA, izračunski pogon FormCalc, runtime widgetov, komponente pregledovalnika dokumentov, upravljalniki pisav Type 1, uvoz HTML, preverjanje podpisov ter job runner se vsi prevajajo v buildih Free Pascala; sploščevanje paketov XFA naloženega dokumenta poleg tega potrebuje kodek deflate, ki ga ti buildi ne povežejo

Fixed

  • Popravljena zamenjava bajtov 64-bit v pomožni enoti PNG, ki je na Win64 vračala napačne vrednosti in je enoto popolnoma izpustila iz builda

Version 2.735.0

Added

  • Dodano zaznavanje manjkajočih glifov ob risanju: lastnost TrackUnresolvedGlyphs zabeleži vsako kodno točko, ki bi se skozi aktivno Unicode pisavo izrisala kot tofu škatla .notdef, ob vsaki ugotovitvi sproži dogodek OnUnresolvedGlyph ter ned registrirane čisto-GDI dokumente pusti pri miru
  • Dodana podpora za staro tabelo kern: RegisterUnicodeTTF zajame tabelo kern iz dobe Apple/GDI, oddajanje kerninga pa pada nazaj na njeno binarno iskanje parov format-0, ko pisava nima GPOS kern lookupov, s čimer se vrne klasični razmik parov v pisavah, kot je privzeti Arial
  • Dodan font fallback na nivoju odsekov znotraj razporeditve odstavkov: WideTextOutBox zdaj razdeli vsako oblito vrstico pri kodnih točkah, ki jih trenutna pisava ne more preslikati, vsak odsek pa izriše v njegovi razrešeni fallback pisavi, tako da se odstavki, mešani iz latinice, emojijev in CJK, izrišejo brez tofu, kadar so registrirane fallback verige

Version 2.734.0

Added

  • Dodano ogrodje za zahtevke časovnega žiga RFC 3161: HPDFRFC3161BuildRequest izda DER TimeStampReq s svežim pozitivnim nonce-om INTEGER, po želji s policy OID in certReq, HPDFRFC3161ParseResponse pa dekodira glavo PKIStatusInfo ter izluži žeton, tako da so transportni callbacki TSA tri vrstice, namesto študije DER
  • Dodana deklaracija razvijalske razširitve ISO/TS 32002 (THotPDF.EnsureISO32002Extensions), ki pokriva algoritme podpisov EdDSA ter dodatne krivulje ECDSA v dokumentih PDF 2.0 — idempotentna in vezana na verzijo, tako kot deklaracija 32001 SHA-3

Version 2.733.0

Added

  • Dodano prenosljivo dogovarjanje ključev X25519 in X448 po Montgomery ladder ter ECDH na krivuljah NIST P-256 / P-521 s CIOS Montgomery množenjem, kar omogoča, da se prejemniki javnih ključev s dogovarjanjem ključev (KARI) ustvarijo in odvijejo popolnoma v procesu; RFC 7748 ter referenčni vektorji, generirani z OpenSSL, zakleneta obnašanje ladder v regresijsko zbirko
  • Dodan HPDFUnwrapKeyAgreementRecipientEnvelope skupaj z vstopnima točkama AddPubSecAgreementKeyMaterial in AddPubKeyAgreementRecipientWithSecret, tako da je dokumente, šifrirane s prejemniki ECDH / X25519 / X448, mogoče odpreti z zasebnim skalarjem prejemnika ter šifrirati brez zunanjega ECDH orodja

Version 2.732.0

Changed

  • Shranjevanja zdaj usmerjajo izhod serializatorja skozi pisanje z medpomnilnikom 1 MiB, pri čemer se posamezni klici Write za glave objektov, ključe slovarjev in vrstice xref združijo v paketne push-e na ciljih, podprtih z datoteko
  • Payloadi tokov navzkrižnih sklicev uporabijo PNG Up napovedovanje (/DecodeParms /Predictor 12) pred FlateDecode ter skrčijo luknje proste liste prek podrazdelkov /Index, s čimer se vsebniki xref skrčijo v vsakem dokumentu PDF 1.5+ in pri redkih območjih objektov
  • Lastnost CompressionLevel zdaj izbira tudi Flate trud tokov navzkrižnih sklicev in vsebnikov tokov objektov, tako da clMaximum med shranjevanjem proizvaja manjše strukturne toke

Fixed

  • Širine polj /W toka navzkrižnih sklicev se zdaj prilagodijo dejanskemu območju odmikov, namesto fiksni postavitvi [1 4 2], katere pretvorba v Cardinal je tiho odsekala odmike nad 4 GiB v pokvarjen izhod

Version 2.731.0

Changed

  • Ponovno zgrajen vgrajeni OCR s primerjanjem predlog: izluževanje glifov po povezanih komponentah, ocenjevanje pokritosti v sivinskih tonih proti predpomnjenim predlogam več pisav, Otsu binarizacija z local-window fallbackom, deljenje besed po dvojakih vrzelih, osnovne črte na besedo, zavrnitev madežnega šuma ter razširjena abeceda 62 znakov, ki prepozna ASCII besedilo z mešanimi velikimi in malimi črkami prek gručenja višin na nivoju vrstic in preference konteksta velikosti črk

Version 2.730.0

Added

  • Dodana podpora Win64 za Free Pascal 3.2.2 in Lazarus 4.6, vključno z runtime paketom, reproducibilnim build skriptom, slojem združljivosti in ne-GUI smoke testom ustvari-in-znova-naloži; domorodne statične integracije kodekov ostanejo le za Delphi ter v buildih Free Pascala prijavijo izrecno napako nepodprte operacije

Version 2.729.0

Added

  • Dodan gostiteljsko nevtralen dinamičen runtime widgetov XFA z urejanjem Unicode, preizkušanjem fokusa in udarcev, vezavo, ki pozna instance, atomarno validacijo in izračun, omejenim preoblikovanjem razporeditve ter tovarno naloženih dokumentov, ki zna samo brati in ohrani izvorni XFA

Version 2.728.0

Fixed

  • Popravljeno notranje merjenje XFA in nadaljevanje besedila, da ohrani izrecno prazne in izračunane vrednosti, uporabi vezavni konteks vsakega polja ali ponavljajoče se vrstice, obdrži akcije breakAfter, se izogne trkom sintetičnih imen ter uveljavi predpomnjen globalni proračun merjenja

Version 2.727.0

Changed

  • Razporeditev XFA zdaj upošteva notranje najmanjše in največje dimenzije, meri razrastljiva polja iz njihovega vezanega besedila ter atomarno razdeli upravičeno vsebino textEdit čez vsebinska območja in strani z nadaljevalnimi polji, ki zna samo brati, ter z omejenimi proračuni besedila, fragmentov in merjenja

Version 2.726.0

Added

  • Dodani popolni atributi process in spot za NChannel, namigi mešanja, omejeni spektralni tokovi barvil CxF/X-4 za PDF 2.0 ter preverjanja skladnosti na nivoju dokumenta za definicije odtenkov spot in zunanje tabele barvil output-intenta

Version 2.725.0

Added

  • Dodan thread-safe determinističen SIMD scanline render backend, ki preflighta podprte prikazne sezname pravokotnikov, končno bitmapo zapiše v vektorskih blokih brez vmesne kopije bitmape ter vrača točne razloge zavrnitve na zahtevo skozi obstoječi software fallback in telemetry pipeline

Version 2.724.0

Changed

  • Razširjen omejen domorodni ovrednotilnik FormCalc s splošnimi agregati SOM node-set, mešanimi argumenti skalarjev in node-set, gnezdenimi številskimi in niznimi klici ter determinističnimi funkcijami izbire, nizov, trigonometrije, logaritmov in pretvorb pod obstoječimi proračuni operacij, tabel, globine, časa in izhoda

Version 2.723.0

Changed

  • SubsetLoadedFonts zdaj varno izdela podnabore vgrajenih programov Type 1 PFB ter razcepljenih binarnih in hex PFA, ohrani rekurzivne odvisnosti kompozitov TrueType in zapre odvisnosti orisov COLR v0/v1, pri čemer obdrži tabele barv, bitmap, variacij in shapinga

Version 2.722.0

Added

  • Dodani omejeni geselski callbacki za klasične vnose XPS, EPUB in CBZ, šifrirane z ZIP, vključno z omejitvami poskusov na vnos, preverjanji preklica, ravnanjem s poverilnicami samo v pomnilniku ter fail-closed zavrnitvijo nedosegljive, neveljavne ali nepodprte šifriranja

Version 2.721.0

Changed

  • DownsampleLoadedImages zdaj spremeni velikost podprtih vzorcev slik 8-bit Separation in DeviceN neposredno v komponentnem prostoru ter ohrani izvorni graf barvnega prostora, transformacijo odtenkov, barvila, območja /Decode in semantiko overprinta čez shranjevanje in ponovno nalaganje

Version 2.720.0

Added

  • Dodane omejene vgrajene preobremenitve prepoznavanja za OCR velikih tiskanih črk ASCII z visokim kontrastom, vodoravne kode Code 39 in čiste simbole QR verzije 1 v byte načinu, poravnane z osmi, kar omogoča iskalne plasti besedila ter dekodiranje črtnih kod naloženih strani brez pogona, ki ga bi dobavil klicatelj, medtem ko dvoumni ali nepodprti vhod fail-closed odpove

Version 2.719.0

Added

  • Dodana omejena prefinjitev JPEG 2000 po resoluciji in plasti kakovosti prek THPDFJpeg2000Decoder.LoadProgressiveFromByteArray ter večplastno kodiranje prek TJpeg2000Bitmap.QualityLayers, z identičnimi končnimi piksli za vrstne rede napredovanja LRCP, RLCP, RPCL, PCRL in CPRL

Version 2.718.0

Changed

  • Vgrajeni popolni CMap-i UniJIS, UniGB, UniCNS in UniKS za UCS2 in UTF16, vodoravni in navpični, vključno z dopolnilnimi skalarnimi vrednostmi in standardnimi navpičnimi privzetimi vrednostmi, tako da izluževanje besedila CJK in geometrija nista več odvisna od zunanjih datotek preslikav Unicode ali ugibanj o pol em

Version 2.717.0

Added

  • Dodana izrecna območja odvisnosti od skupnih objektov pri linearizaciji ter razporejevalnik prebarvanja ob prihodu območij, tako da strani lahko pobarvajo, preden prispejo vse izbirne odvisnosti, in prebarvajo točno takrat, ko na novo dosegljivi podatki spremenijo rezultat

Version 2.716.0

Added

  • Dodano omejeno popravilo grafa objektov za actionable ugotovitve preflighta xref, trailerja, kataloga, drevesa strani in drevesa imen z validirano transakcijsko potrditvijo ter popolnim povratnim odvijem ob nevarnem ali dvoumnem vhodu

Version 2.715.0

Added

  • Dodani ovoji šifriranih payloadov PDF 2.0, kjer videni del dokumenta ostane berljiv pred avtentikacijo, medtem ko imena, opisi in bajti vgrajenih datotek ostanejo zaščiteni do izrecnega odklepanja z geslom

Version 2.714.0

Changed

  • Izvoz SVG naloženih strani zdaj izda aksialne in radialne gradiente, omejene predstavitve PNG za mesh senčenja Type 4 do Type 7 ter dekodirane inline slike, brez povečevanja ustreznih števcev preskokov

Version 2.713.0

Changed

  • Barvni glifi OpenType SVG zdaj uporabljajo omejeno pipeline Form XObject za loka, vektorske gradiente, prosojnost, geometrijske maske ter ponovno uporabo lokalnih #id, hkrati pa še naprej zavrnejo skripte, zunanje vire, slike in nepodprto aktivno vsebino

Version 2.712.0

Changed

  • ReplaceLoadedPageText zdaj zamenja zadetke, ki segajo čez nizne elemente in tabele TJ, prek obsegov glifovih virov, pri čemer ohrani številke za kerning, neujemajoče se predpone in pripone, nepovezane operande ter prvotno strukturo toka vsebine

Version 2.711.0

Added

  • Dodana razrešitev SyntheticBase za CFF FontSet s podedovanimi vrednostmi Top in Private DICT, CharStrings, charset, Encoding in Local Subrs, poleg tega deterministična semantika preglasitev ter omejena zavrnitev neveljavne, ciklične ali pretirano globoke dediščine

Version 2.710.0

Added

  • Dodana deterministična omejena izbira Flate napovednika prek HPDFSelectFlatePredictor, z razporejenimi vzorci vrstic, ocenjenimi stroški v bajtih, nastavljivim uteževanjem CPE in izrecnimi proračuni bajtov, vrstic in dela

Version 2.709.0

Added

  • Dodana domorodna izbira za izhod slovarjev simbolov JBIG2 s Huffmanom in besedilnih območij prek THPDFJBIG2Options.UseHuffmanEncoding, vključno s standardnimi tabelami DH, DW, BMSIZE, FS, DS in DT, surovimi kolektivnimi bitmpami, tabelami ID-jev simbolov, determinističnim domorodnim usmerjanjem ter pikselsko točnimi krožnimi preizkusi dekodirnika, hkrati pa ostanejo privzete vrednosti arithmetic in MMR

Version 2.708.0

Changed

  • Predpomnjene obratne preslikave cmap za arabske in kombinirane presentation oblike po generaciji registrirane pisave, s čimer se odpravijo ponavljajoči pregledi U+FB00..U+FDFF in U+FE70..U+FEFF v ApplyArabicGSUBRefinement, ApplyArabicGSUBContextualRefinement ter splošni kontekstualni poti GSUB, ob ohranitvi prednosti kodnih točk in oblikovanega izhoda

Version 2.707.0

Added

  • Dodan kodirnik dvodimenzionalnih črtnih kod Aztec (ISO/IEC 24778) prek THPDFPage.DrawAztec in samostojne enote THPDFAztec: visokonivojsko kodiranje z dinamičnim programiranjem, s prijetji načinov, premiki in nizi binary-shift, polnjenjem bitov, popravljanjem napak Reed-Solomon nad GF(16) do GF(4096), samodejno izbiro kompaktnih simbolov 15x15..27x27 ali polnih 19x19..143x143 ter nadzorom vsiljenih plasti za fiksne velikosti simbolov
  • Dodana sestava navpičnega besedila strani: THotPDF.ExtractLoadedPageText in API-ji za združevanje po območjih in tokih zdaj gručijo glife WMode 1 v stolpce po izhodiščni X glifa, stolpce uredijo od desne proti levi in vsak stolpec prehodijo od zgoraj navzdol, namesto da bi navpično besedilo CJK razkosali v vrstice na glif

Fixed

  • Popravljen vzporedni izvoz po pasovih, ki je spodletel z neujemanjem širine pasu PNG na straneh z delnimi dimenzijami pikslov (A4 pri 96 DPI): velikost rastra se zdaj zaokroži s Ceil, enotno s pisalci pasov, tako da dobavljene ploščice vedno ustrezijo širini kodirnika

Version 2.706.0

Added

  • Dodan streaming izvoz PNG naloženih strani in izvoz večstranskih TIFF po pasovih prek THotPDF.SaveLoadedPageToPng, SaveLoadedPageToPngStream, SaveLoadedPagesToTiffBanded in SaveLoadedPagesToTiffStreamBanded, ki stisnjene slikovne podatke zapisuje vrstico za vrstico skozi kodirnike pasov, tako da zelo velike strani ne potrebujejo popolnega framebufferja; THPDFBandImageExportInfo poroča telemetrijo strani, pasu, vrstice, delavca, pomnilnika, izhoda, trajanja in preklica

Version 2.705.0

Added

  • Dodana finalizacija PDF/A v naloženih poteh shranjevanja: THotPDF.SaveLoadedDocument in SaveLoadedDocumentToStream zdaj validirata OutputIntent GTS_PDFA1 (podedovan iz izvornega kataloga ali sveže registriran) in izdata identifikacijo XMP pdfaid:part / pdfaid:conformance, kadar je nastavljen PDFACompliance, pri čemer obstoječi paket pdfaid ob ponovnem shranjevanju ohranita bajt za bajtom
  • Dodana poraba navpičnega pisanja (WMode 1) na strani nalaganja: metrike celic CIDFont /W2 in /DW2 zdaj vodita izluževanje besedila in izrisovanje strani, stolpci pa se prehodijo navzdol po y osi besedilnega prostora s pozicijskim vektorjem v1x/v1y, namesto z vodoravnimi premiki /W

Version 2.704.0

Added

  • Dodano vzporedno izrisovanje ploščic in pasov naloženih strani prek THotPDF.RenderLoadedPageTilesParallel in THotPDF.RenderLoadedPageBandsParallel, s callbacki klicne niti po vrsticah, izposojenimi bitmpami, sodelovalnim preklicem, klicatelju nadzorovanim pomnilnikom v teku, sprejemom po vrhu pomnilnika ter omejenim nespremenljivim predpomnilnikom glifov Type 3 in rasterskih zaslonov, ki si ga delijo izolirani render konteksti

Version 2.703.0

Added

  • Dodane omejene paketne priprave digestov CSC multisign prek THPDFCSCSignatureProvider.SignHashBatch, z enim SAD, pripetim na hash, in enim zahtevkom signatures/signHash za urejen paket istega algoritma, hkrati pa se uveljavljajo lokalne omejitve in omejitve poverilnic multisign, stroga kardinalnost odgovorov, sinhrono ali asinhrono urejanje rezultatov, idempotenčni ključi SHA-256, naslovljeni na vsebino, ter ponovitev zaključenega paketa

Version 2.702.0

Added

  • Razširjen THotPDF.RenewPAdESLTATimestamp s certifikatom ter dokazi OCSP in CRL, ki jih dobavi klicatelj in se združijo v obstoječi DSS pred novim časovnim žigom dokumenta RFC 3161, ohrani vsako prejšnjo revizijo bajt za bajtom ter točno izloči podvojitve validacijskih tokov čez zaporedne obnovitve

Version 2.701.0

Added

  • Dodan preflight osnovnega in razširjenega profila PAdES, naslovljiv po členih, prek THotPDF.PreflightLoadedPAdES, ki poroča o vsaki veljavni zahtevi s stabilnim ID-jem pravila, profilom, normativno ravnjo, členom standarda, potjo PDF, številko objekta, podpisano ali trenutno revizijo in statusom uspešnosti, hkrati pa validira kardinalnosti CMS, sklice ESS certifikata podpisnika, omejitve slovarja podpisa, pokritost byte-range, zaupanja vredni čas, dokaze DSS in pokritost časovnega žiga dokumenta

Version 2.700.0

Added

  • Dodano end-to-end nalaganje zasebnih ključev PFX / PKCS#12 in podpisovanje dokumentov CMS za ECDSA, Ed25519 in Ed448, vključno s CNG ECDSA na imenovanih krivuljah, neobveznim PureEdDSA OpenSSL 3, dekodiranjem ključev po RFC 8410, pravili digestov in parametrov po RFC 8419, SHAKE256 z 512-bitnim izhodom za Ed448, samodejno izbiro algoritma ključa ter strogim parjenjem certifikata s ključem

Version 2.699.0

Added

  • Dodana deterministična izbira poverilnic PFX / PKCS#12 z več identitetami prek HPDFEnumeratePFXIdentities, HPDFParsePFXByLocalKeyID in THPDFCMSSignOptions.PFXLocalKeyID, vključno s strogimi enovrednimi atributi torb localKeyId in friendlyName, parjenjem javnih ključev, rekurzivnimi torbami safe-content, omejeno diagnostiko dvoumnosti in ciklov ter samodejnim vgrajevanjem ujemajočih se intermediate in korenskih verig certifikatov z točno izločitvijo podvajanj DER

Version 2.698.0

Added

  • Razširjeno dešifriranje PBES2 PFX / PKCS#12 v procesu z AES-128-CBC in AES-192-CBC ter PRF PBKDF2 HMAC-SHA-384 in HMAC-SHA-512, vključno s po šifri neobvezno validacijo keyLength ter omejenimi preverjanji soli, iteracij, IV in blazinjenja, hkrati pa ostane združljivost z AES-256-CBC in HMAC-SHA-1 / SHA-256

Version 2.697.0

Added

  • Dodano skladno s specifikacijo dedovanje FixedPage.NavigateUri za Canvas v XPS in OpenXPS, tako da potomci Path, Glyphs in gnezdene vizualije Canvas prejmejo obsegani URI, razen če ga preglasijo, pri čemer se ohranijo akcije LinkTarget za zunanje, poštne, strani-paketa in percent-dekodirane cilje skozi transformacije, gnezdene izreze, izolirane skupine prosojnosti, potlačitev ponovno uporabnih vizualij, obnovo po gnezdenih preglasitvah ter obstoječe omejitve povezav, URI, preklica in nevarnih shem

Version 2.696.0

Added

  • Dodane omejene domorodne skupine prosojnosti Canvas v XPS in OpenXPS, tako da se vrednosti Opacity ter enobarvnih, gradientnih ali slikovnih Canvas.OpacityMask zložijo čez prekrivajoče podrejene vizualije enkrat skozi izolirane Form XObjecte DeviceRGB, s zloženo enotno alfo, deljenimi soft maskami s spremenljivo alfo, gnezdenimi skupinami, preoblikovanimi izrezi, prenosom virov, ohranjenimi povezavami ter fail-closed ravnanjem z razpadlo, nepodprto, singularno ali preveliko vsebino

Version 2.695.0

Added

  • Dodana omejena domorodna pretvorba Canvas.Clip v XPS in OpenXPS za okrajšano geometrijo, vrednosti PathGeometry iz lokalnih ali oddaljenih StaticResource, neposredne elemente lastnosti, strukturirane like črt, Bézierja, kvadratik in lokov, transformacije geometrije, prazne izreze ter gnezdeno izrezovanje EvenOdd ali NonZero prek PDF W* ali W, z izrezanimi mejami navigacije, omejitvami razčlenjevanja 100.000 vrednosti ter fail-closed ravnanjem z razpadlimi ali singularnimi transformacijami

Version 2.694.0

Added

  • Dodana omejena domorodna navigacija XPS in OpenXPS za preoblikovane vizualije Path in Glyphs, pri čemer se povezave HTTP, HTTPS in poštne ohranijo kot annotacije URI PDF, strani, relativne na paket, ter percent-dekodirani fragmenti LinkTarget pa se razrešijo v akcije PDF GoTo naprej ali nazaj, ko vse strani že obstajajo, z mejami klikov, ki upoštevajo metrike, omejitvami 65.536 povezav in 8.192 znakov, potlačitvijo zajema VisualBrush, preklicem ter fail-closed diagnostiko nevarnih shem

Version 2.693.0

Added

  • Dodana omejena domorodna pretvorba VisualBrush v XPS in OpenXPS za vgrajene ali iz virov podprte vizualije Canvas, Path in Glyphs, hierarhično in oddaljeno iskanje ResourceDictionary, absolutni Viewbox, absolutni ali relativni Viewport, tlakovalne načine None, Tile in zrcaljenja, transformacije, prosojnost, ponovno uporabne Form XObjecte, deljene tlakovalne vzorce, prenos virov, ki pozna žetone, ter fail-closed proračune ciklov, razpadlega vhoda, rekurzije, vsebine, predpomnilnika in postavitev

Version 2.692.0

Added

  • Dodano domorodno vgrajevanje pisav iz paketa XPS in OpenXPS za programe TrueType in OpenType, fragmente članov TTC, vire, zakrite z GUID, neposredne ali iz cmap izpeljane ID-je glifov, sklade Unicode ena-proti-veliko, izrecne premike in odmike, širinsko pravilna izhodišča RTL, deljene vire pisav, dovoljenja za vgrajevanje in no-subsetting, neobvezno izdelavo podnaborov glifov, omejene preslikave ToUnicode ter amortizirano-linearen izhod pozicioniranih nizov brez zamenjave obrazov prek GDI

Version 2.691.0

Added

  • Dodana omejena razporeditev Indices za Glyphs v OpenXPS s strogimi števili enot kode in glifov na sklad, izrecnimi premiki v stotinkah em, vodoravnimi in navpičnimi odmiki, obratnim napredovanjem pri lihem BidiLevel, polnili iz atributov ali elementov lastnosti, prosojnostjo, domorodnim pakiranjem TJ v PDF, fallbackom pozicioniranih skladov Unicode, ohranjenim izluževanjem besedila, fail-closed diagnostiko razpadlega vhoda ter amortizirano-linearnimi medpomnilniki, omejenimi na 65.536 preslikav

Version 2.690.0

Added

  • Dodana podpora za Path.OpacityMask v OpenXPS za enobarvne maske, večstopenjske linearne in eliptične radialne gradiente s spremenljivo alfo ter običajne, tlakovane ali zrcalne maske PNG ImageBrush prek zložene enotne alfe, omejenih domorodnih skupin prosojnosti DeviceGray, deljenih vzorcev senčenja in tokov soft mask slik, fail-closed ravnanja z nepodprto vsebino ter ponovno uporabnega gradovnika RegisterLuminositySoftMaskState z vezavo vira alfa slike

Version 2.689.0

Added

  • Dodani načini Tile, FlipX, FlipY in FlipXY za ImageBrush v OpenXPS prek domorodnih tlakovalnih vzorcev PDF z eno, dvema ali štirimi neodvisno izrezanimi postavitvami, deljenimi viri slik in PNG soft mask, sestavljenimi matrikami fiksne strani, poti in čopiča ter omejenim API-jem RegisterImageTilingPattern za ponovno uporabne vzorce na osnovi slik

Version 2.688.0

Added

  • Dodana podpora za ImageBrush.Transform v OpenXPS za končne matrike atributov s šestimi parametri in elemente lastnosti MatrixTransform, zložene za domorodnim izrezovanjem Path in pred izrezovanjem vidnega polja ter postavitvijo slike, tako da čopič lahko rotira, skalira, nagne ali premakne, ne da bi spremenil vektorsko geometrijo, ki jo nosi; nestandardni RelativeTransform in nerazrešeni viri matrik ostajajo izrecna diagnostika

Version 2.687.0

Added

  • Dodana postavitev slikovnih XObjectov, nadzorovana z matriko, prek THPDFPage.ShowImageMatrix ter razširjen uvoz fiksnih strani XPS s polnili ImageBrush iz paketnih JPEG, PNG, TIFF in JPEG XR, s preslikavo Viewbox in Viewport, absolutno ali relativno na meje, z domorodnim izrezovanjem poti in enotnega vidnega polja, prosojnostjo slik in poti, alfo PNG soft mask, velikostmi po 96 DPI, ki poznajo DPI, deljenim predpomnjenjem dekodiranih virov ter fail-safe diagnostiko za nepodprto tlakovanje, transformacije, pretvorbe barv in poteze slik

Version 2.686.0

Changed

  • Dodana ponovno uporabna omejena registracija radialnih gradientov z več stopnjami ter razširjen uvoz poti XPS z domorodnimi vektorji z eliptičnimi vrednostmi RadialGradientBrush iz elementov lastnosti, širjenjem Pad, enotno alfo stopenj, prosojnostjo čopiča, preslikavo središča, izhodišča in polmera, relativno ali absolutno, z domorodnim senčenjem PDF Type 3 ter obnovo koordinat, ki geometrijo poti pusti nespremenjeno

Version 2.685.0

Changed

  • Razširjen urejen uvoz poti XPS z domorodnimi vektorji z razčlenjevanjem elementov lastnosti, ki pozna navedke in je omejeno, z enobarvnimi in večstopenjskimi linearnimi gradientnimi čopiči, domorodnimi vzorci senčenja PDF, alfo čopiča in stopenj, privzetimi gradientnimi koordinatami relativno na meje ali izrecno absolutnimi, interpolacijo stopenj zunaj območja ter fail-safe diagnostiko za nepodprte transformacije, načine širjenja, interpolacijo barv, spremenljivo alfo in degenerirane osi

Version 2.684.0

Changed

  • Dodan urejen uvoz poti XPS z domorodnimi vektorji z omejeno okrajšano geometrijo, pravili polnjenja, enobarvnimi polnitvami in potezami RGB in ARGB, prosojnostjo poti, širino poteze, transformacijami s šestimi parametri ter fail-safe diagnostiko za nepodprte risarske zmožnosti

Version 2.683.0

Changed

  • Okrepljena validacija PDF/X-6 dejansko narisane vsebine z grafičnim stanjem vzorcev senčenja ob definiranju, semantiko ExtGState nonstroking vzorcev, fail-closed preverjanjema podtipa soft maske in ozadja, točnimi metrikami glifov Type 3 in pravili podedovane barve, strogim razvrščanjem alfe kombiniranih barvanj, omejenim sklepanjem o barvi pri JPX ter zlivanjem annotacij, ki upošteva izglede

Version 2.682.0

Added

  • Dodana podpora proizvajalca in preverjevalnika za podpise ECDSA brainpoolP256r1, brainpoolP384r1 in brainpoolP512r1, vključno z matriko digestov SHA-2 in SHA3, specifično za krivuljo, validacijo podpisovanja, ki odpove še pred ponudnikom, strogimi parametri certifikatov z imenovanimi krivuljami, identifikatorji algoritmov ECDSA brez parametrov, kanoničnimi vrednostmi podpisov DER, uvozom krivulj z imeni v Windows CNG ter deterministično diagnostiko za izrecne, sledeče, neznane ali neujemajoče parametre

Version 2.681.0

Changed

  • Poenotena izvedba vsebine za neprogresivne bitmape, neposredni DC, Forme in prikazne sezname prek HPDFInterpretContentTokensDevice ter neobvezne popolne razširitve IHPDFContentOperatorDevice, z eno kontrolno točko preklica na operator, predpomnjenjem indeksov operatorjev ob prevajanju za ponovno predvajanje prikaznih seznamov brez pregledovanja operandov, javnimi metrikami OperatorCount, ohranjeno združljivostjo semantičnih naprav, popravljenimi semantikami operatorjev ", v in y ter zakonitim ravnanjem z zaključevalcem EI brez napačne fallback diagnostike

Version 2.680.0

Added

  • Dodane omejene transakcijske preobremenitve RepairPDFA4 s tipskimi možnostmi, podrobnimi poročili o popravilih, skupno sledljivostjo ugotovitev, varno normalizacijo glave PDF 2.0, ID-ja trailerja, metapodatkov, kataloga in predstavitve, s popravilom identifikacije PDF/A, ki pozna imenske prostore, nastavljivo politiko delne ali polne skladnosti ob potrditvi, zaznavanjem regresij napak, bajtno točnim povratnim odvijem grafa in XMP ter strogimi mejami, ki ohranijo vsebino strani, pisave, barve, prosojnost, slike, grafične operatorje in izluženo besedilo

Version 2.679.0

Added

  • Dodana validacija PDF/X-6 dejansko narisane vsebine z izbirnimi pravili ISO 15930-9:2020 ali razrešenimi errata 2025, dejanskimi preverjanji glave in kanalov ICC, obhodom, ki upošteva vire, skozi tabele vsebine, Form XObjecte, tlakovalne in senčilne vzorce, slike, glife Type 3, soft maske in izglede annotacij, z diagnostiko overprint načina in prosojnosti kombiniranih barvanj, stabilno sledljivostjo pravil ter omejenim delom z dekodiranimi bajti, žetoni, objekti, ugotovitvami, rekurzijo in grafičnim stanjem

Version 2.678.0

Added

  • Poglobljena omejena validacija PDF/A-4 s predpomnjenimi preverjanji glave in komponent ICC, skladnostjo output-intentov dokumenta in strani, analizo dejansko narisanih barv naprave in prosojnosti skozi tabele vsebine, gnezdene Form XObjecte, slike, slike-maske, senčenja in izglede annotacij, podedovano grafično stanje, vgrajevanje pisav za izrisovanje, razmerja CIDFont in CMap, strogimi zastavicami annotacij in stanji izgledov, validacijo paketov XMP v UTF-8 in imenskih prostorov, logičnimi lokacijami v drevesu strani, stabilno diagnostiko, ki pozna člene, ter nastavljivimi stropovi dekodiranih bajtov in žetonov vsebine

Version 2.677.0

Added

  • Dokončana omejena validacija dokumentov, človeku berljivih nizov, neobvezne vsebine, annotacij, AcroForm, ciljev strukture, orisa, vgrajenih datotek in gnezdenih oznak strani za PDF/UA-2, vključno s fizično lastniško pripadnostjo ParentTree, skalarskimi otroki strukture, omejitvami tokov izgledov, lastnostmi XMP na osnovi URI imenskih prostorov, zaznavanjem Unicode znakov v zasebni rabi in diagnostiko, ki pozna člene; strukturirani izvoz HTML, XHTML, XML in JSON zdaj deli model dostopnega branja, kjer je označba na prvem mestu, z jezikom, naslovom, navigacijo, oznakami strani, varnimi povezavami, annotacijami, neobčutljivimi kontrolami obrazcev, zamenjavami marked-content, artefakti, alternativami slik, geometrijskim fallbackom, neodvisnimi omejitvami, preklicem in atomarno objavo

Version 2.676.0

Added

  • Dodano omejeno minimalno načrtovanje bajtnih območij za vsako stran v lineariziranem PDF prek PlanProgressiveLinearizedPageRanges, z dekodiranjem surovih in Flate namigov primarnega ali prelivanja, interoperabilnimi postavitvami namigov, poravnanih na bajt, združenimi in neprekinjeno razdeljenimi po Annex F, točnimi odvisnostmi bootstrap, strani, skupin v skupni rabi ter tradicionalnih ali tokovnih navzkrižnih sklicev s predpono LF ali CRLF, zakonitim kopičenjem kratkih branj, privzetim stropom pomnilnika načrtovalnika 256 MiB z fail-closed razločevanjem kodiranja, zlivanjem, ki upošteva prekrivanja, strogimi strukturnimi križnimi preverjanji, tipskimi omejitvami in diagnostiko dosegljivosti ter poenoteno potjo prve strani [0, /E)

Version 2.675.0

Added

  • Dodane neodvisne, standardom skladne politike crypt filtrov za nize, običajne tokove in vgrajene datoteke prek ConfigureCryptFilterDefaults in SetStreamCryptFilter, vključno z rezerviranimi filtri za gesla in javne ključe, /Identity, pisalcu pravilnim /EFF geselske varnosti in vodilnimi pipeline-i /Crypt, fail-closed mejami prejemnikov, specifičnimi za tokove javnih ključev, nalaganjem in pregledom zunanjih imenovanih filtrov z ločevanjem velikih in malih črk, /CFM /None, poročanjem o dolžini ključev V2, fallbackom Direct File za mešane politike, razdeljenimi politikami vsebnika tokov objektov in nizov članov ter šifriranimi inkrementalnimi posodobitvami, ki ohranijo politike

Version 2.674.0

Added

  • Dodane inkrementalne posodobitve, šifrirane po Standard ali z javnimi ključi, ki ohranijo poverilnice, prek preobremenitve BeginIncrementalUpdate, ki pozna geslo, in dodeljenim ključnim materialom prejemnikov, z varno ohranjenimi ključi datotek ali FEK, ločenimi politikami crypt filtrov za nize, tokove, metapodatke in Identity, izpeljavo ključev starih objektov, ki pozna generacije, točnimi podedovanimi sklici /Encrypt, bajtno enakimi izvornimi revizijami, izvirnim dostopom uporabnika, lastnika ali prejemnika ter fail-closed zavrnitvijo sprememb šifriranja ali nepodprtih heterogenih filtrov

Version 2.673.0

Security

  • Dodana omejena validacija grafa segmentov JBIG2 pred dekodiranjem cele strani, območja, domorodnim ali zunanjim ter pred deljenjem globalnega slovarja, z indeksiranimi preverjanji podvajanj in manjkajočih sklicev, ponavljujočim zaznavanjem ciklov in globine odvisnosti, uveljavljanjem povezave strani za vgrajene tokove, zavrnitvijo prepovedanih segmentov, proračuni dolgih sklicev in agregatnih robov, varovalkami dodelitve slovarjev simbolov ter natančno telemetrijo spodletelih primerov

Version 2.672.0

Added

  • Dodano generiranje in stroga validacija signature-policy-identifier za PAdES E-EPES z izrecnimi policy OID, hash-i znanih ali s strani ETSI neznanih politik, kvalifikatorji SPuri, SPUserNotice in SPDocSpecification, omejenim razčlenjevanjem Unicode in zbirk, hashiranjem dokumenta politike, pripetitvijo OID in hash-a primarnega podpisnika pred kriptografskim delom, namenskimi statusi neujemanj in popolnim poročanjem JSON

Version 2.671.0

Added

  • Dodani deterministični vsebniki RFC 5652 z do 256 neodvisnimi primarnimi zapisi SignerInfo prek HPDFCMSBuildMultiSignedData in HPDFCMSMergeSignedData, vključno s predvalidacijo celotnega paketa, preden podpisniki naredijo stranske učinke, atributi, algoritmi, certifikati in ponudniki na podpisnika, strogim preverjanjem vsebnikov s točno dolžino, množicami, razvrščenimi po DER in brez podvajanj, neodvisnimi rezultati preverjanj, bajtno združljivostjo pri enem podpisniku ter dimenzioniranjem zbirnih nadomestkov brez stranskih učinkov

Version 2.670.0

Added

  • Dodane neobvezne identitete podpisnikov SubjectKeyIdentifier po RFC 5652 prek THPDFCMSSignOptions.SignerIdentifier, vključno s kompaktnim kodiranjem SID IMPLICIT, samodejno izbiro verzij SignerInfo in SignedData, strogim izluževanjem razširitev X.509, podporo ponudnikov in dimenzioniranja nadomestkov ter fail-closed ujemanjem SID, certifikatov in verzij med preverjanjem

Version 2.669.0

Security

  • Dodana fail-fast diagnostika skladnosti algoritmov digestov CMS čez SignedData.digestAlgorithms, SignerInfo, parametre mehanizmov podpisov in CMSAlgorithmProtection po RFC 6211, z namenskim statusom preverjanja, kodo napake validacije, prenosom časovnega žiga, podrobnimi razlogi težav in izhodom JSON

Version 2.668.0

Added

  • Dodano generiranje in preverjanje SHA3-256, SHA3-384 in SHA3-512 čez odcepljene CMS podpise, RSA PKCS#1 v1.5, RSA-PSS in pogodbe ponudnikov ECDSA, časovne žige vsebine in podpisov po RFC 3161, obnovitve PAdES-LTA, slovarje Seed Value in deklaracije razvijalske razširitve PDF 2.0 po ISO 32001, z omejenim enoprehodnim hashiranjem bajtnih območij, ki si ga delijo ujemajoče politike PDF MAC

Version 2.667.0

Added

  • Dodan THotPDF.ValidatePDFMACChain s preverjanjem inkrementalnih revizij od najstarejše do najnovejše, kumulativnim indeksiranjem klasične oblike ali tokov xref, točnimi lokacijami spodletelih revizij in xref, zaznavanjem zgodovinskih zamenjav MAC, stabilnim uveljavljanjem KDFSalt, zavrnitvijo pomanjšanja moči digestov, avtentikiranimi preverjanji /P in /Perms, poročanjem preflight ter omejenim razčlenjevanjem revizij brez začasnih kopij PDF

Version 2.666.0

Added

  • Dodan THotPDF.SignPDFWithPFXAndAttachedPDFMAC in validacija, pripeta podpisu, z neposrednim AuthCode aktivnega trailerja, posrednim SigObjRef, popolno pokritostjo podpisane revizije, vezavo digesta na surovo vrednost podpisa, politikami PDF MAC SHA-2 ali SHA-3, enoprehodnim hashiranjem območij podpisovanja in MAC, poročanjem preflight ter atomarno zamenjavo izhoda

Version 2.665.0

Fixed

  • Popravljen THotPDF.RegisterNChannelColorSpace, da izda petelementsko obliko DeviceN po ISO 32000-2 s /Subtype /NChannel in metapodatki procesnih komponent, dvignjena njegova najmanjša verzija PDF na 1.6, luminozitetne soft maske pa zdaj razrešijo NChannel barvanje skozi njegov nadomestni prostor, hkrati pa ostane bralna združljivost s starimi žetoni družine /NChannel

Version 2.664.0

Added

  • Dokončano izrisovanje načinov zlivanja PDF s celoštevilskimi implementacijami vroče poti za Hue, Saturation, Color in Luminosity ter popravljena hitra pot polne prosojnosti, tako da se vsak aktivni separabilen ali neseparabilen način zlivanja zloži proti svojemu ozadju

Version 2.663.0

Security

  • Vsebniki PKCS#12 se zdaj avtenticirajo, preden se izpostavijo šifrirana safe vsebina, s preverjanjem neobveznega zunanjega MacData z omejenimi iteracijami KDF PKCS#12, HMAC SHA-1 ali SHA-256, primerjavo digestov v konstantnem času ter fail-closed ravnanjem z napačnim geslom in manipulacijo

Version 2.662.0

Added

  • Dodani trije ukazi HotPDFCLI: render pretvori vsako izbrano stran v raster <prefix>-page<N>.png prek pipeline bitmape naložene strani (območje --pages, --dpi 10..2400, privzeto 150), tables izluži tipske tabele v CSV ali JSON prek ExportLoadedTypedTables (--json, -o datoteka ali konzola), compare pa izpiše primerjalno poročilo JSON dveh dokumentov prek HPDFDocCompareDocuments (--mode 0..5, ki pokrije število strani, besedilo strani, število objektov, izrisane slike, polno in strukturno primerjavo)

Fixed

  • Popravljen pipeline transformacij ICC na Win64, ki je iz 8-bitnih paketnih transformacij (TransformBytes) proizvajal popolnoma ničelni izhod: optimizirana hitra pot 1D-LUT znotraj objektov lcms2 na Win64 vrača ničle, medtem ko je splošna pipeline resamplinga pravilna, zato se 8-bitna transformacija zdaj zbuilda s cmsFLAGS_NOOPTIMIZE le na Win64; 16-bitna pot ene barve in vse transformacije na Win32 obdržijo optimizirano hitro pot (osnovne barve sRGB v paketih se zdaj na obeh platformah pravilno pretvorijo naprej in nazaj)

Version 2.661.0

Added

  • Dodano pravo Zopfli stiskanje Flate z visokim razmerjem, vodeno s proračunom, za obstoječo osnovo zlib s štirimi strategijami, s strogim izbiranjem brez rasti, omejitvami vhoda, iteracij, blokov, izhoda in porabljenega časa, podrobno telemetrijo tokov in vzporednih slik ter determinističnimi preverjanji praga prihrankov na fiksnem korpusu

Version 2.660.0

Added

  • Dodana deterministična strojno berljiva poročila preflight v XML ter zaupanja vredni vtičniki z ABI verzijami za izluževanje značilk in pravila validacije po meri, s stabilnim urejanjem, integracijo paketov politik, prenosom preklica, fail-closed preverjanji zmožnosti in končnimi proračuni vtičnikov, ugotovitev, značilk, nizov, izhoda in porabljenega časa

Version 2.659.0

Added

  • Razširjen omejen XFA FormCalc s pogojno logiko, ponavljajočimi se številskimi agregati in validiranimi callbacki dinamičnih instanc ter dodani peskovniški skripti obrazcev QuickJS, privzeto izklopljeni, s polnim nadzornim tokom, domorodnimi tipskimi tabelami, izoliranim dostopom do podatkov, končnimi proračuni instrukcij, časa, pomnilnika, sklada, vrednosti in operacij instanc ter telemetrijo izvedbe

Version 2.658.0

Added

  • Dodani omejeni uredljivi DOM-i paketov XFA za celotne tokove XDP in urejene tabele paketov s poizvedbami po poti lokalnih imen, mutacijami paketov in vozlišč, točnim ohranjanjem nedotaknjenih bajtov, izbirnim prevpisovanjem na ravni paketa, determinističnim izhodom imenskih prostorov in atributov, varnim razcepanjem CDATA, ubežanjem entitet ter končnimi proračuni vhoda, izhoda, paketov, vozlišč, globine, atributov, besedila in poizvedb

Version 2.657.0

Added

  • Dodano oddaljeno podpisovanje po CSC API v2 prek obstoječe pipeline ponudnikov CMS, s transportom v lasti aplikacije, osveževanjem žetonov OAuth, omejenim odkrivanjem verig poverilnic, izrecnim ravnanjem z avtorizacijo in SAD, sinhronim ali asinhronim podpisovanjem digestov, parametri RSA-PSS, pollingom, časovnimi žigi RFC 3161, preklicem, stabilnimi idempotenčnimi ključi ter končnim predpomnilnikom zaključenih operacij

Version 2.656.0

Added

  • Dodani neobvezni upravljalniki dokumentov XPS, EPUB in CBZ z ocenjevanjem vsebine, z zamenljivo thread-safe registracijo, enim validiranim pregledom arhiva, urejanjem fiksnih strani, hrbtenice in naravnega vrstnega reda slik, nespremenljivim predpomnjenjem pretvorb PDF, deljenimi proračuni arhiva, virov, preoblikovanja razporeditve, strani, pikslov, DPI, izhoda in preklica ter objavo PDF, varno za povratni odvij

Version 2.655.0

Added

  • Dodano omejeno izluževanje tipskih tabel in atomaren izvoz CSV ali JSON s kanoničnimi stolpci, zlivanjem fragmentov na isti strani in s zaporednih strani, razponi združenih celic, ponovljenimi glavami, geometrijo strani, stopnjo zaupanja, sledljivostjo ter sklepanjem o celih številih, številih, logičnih vrednostih, datumih, datumu in času, valutah in odstotkih, vodenim z nastavitvami locale

Version 2.654.0

Added

  • Dodan atomaren strukturiran izvoz naloženih strani v HTML, XHTML, XML in JSON skozi enoten model vrstnega reda branja z bloki, oblikovanimi razdelki, zaznanimi tabelami, koordinatami, izvornim vrstnim redom, neobveznimi omejenimi slikami PNG, ubežanjem, varnim za Unicode, preklicem in končnimi proračuni virov

Version 2.653.0

Added

  • Dodan atomaren prevpis barv naloženih strani v DeviceGray, DeviceRGB ali DeviceCMYK z ohranitvijo iskalnih vektorskih vsebin, brezizgubno pretvorbo rasterov pod upravljanjem barv za slike in kompleksne vire, izhodom, varnim pri vrtenju, izrecnimi proračuni zvestobe izrisovanja in virov ter politikami ohrani, pretvori ali zavrzni za spot plošče

Version 2.652.0

Added

  • Dodano zaznavanje redigiranja naloženih strani po principu najprej pregled (review-first) z vzorci PII, ki poznajo kontrolne vsote, priklopljivimi zaznavalniki entitet in obrazov, ugotovitvami v prostoru strani, ocenjenimi po zanesljivosti, omejeno telemetrijo dela, obvezno identiteto pregledovalca, atomarno odročitev odobrenih pripomb in ločeno izrecno mejo burn-in

Version 2.651.0

Added

  • Dodano omejeno dekodiranje barcode na naloženih straneh in regijah s priklopljivimi pogoni, postopnim izrisovanjem nizke ločljivosti, rezervnimi skeni četrtine obrata (fallback), preverjenimi besedilnimi in surovimi koristnimi bremeni, mejami in usmerjenostjo v prostoru PDF, filtriranjem po zanesljivosti, razdvojevanjem prekrivanj, preklicem in telemetrijo virov

Version 2.650.0

Added

  • Dodani omejeni, preklicljivi iskalni sloji besedila OCR s priklopljivimi pogoni prepoznavanja, validacijo zanesljivosti in geometrije, nevidnim besedilom Unicode, poravnanim z rotacijo, grupiranjem optional content, telemetrijo virov in atomarno objavo več strani

Version 2.649.0

Added

  • Dodana popolna povratna potovanja grafov objektov skozi verzioniran JSON s tokovnim izvozom posnetkov in postopnim izvozom, surovimi ali dekodiranimi vgrajenimi in atomarnimi sidecar koristnimi bremeni, omejenim uvozom, združljivim s shemo, strukturno validacijo in validacijo dolžin tokov ter transakcijsko objavo

Version 2.648.0

Added

  • Dodano omejeno popravilo ročno urejenih diagnostičnih dokumentov QDF, ki ohrani bajte objektov in tokov, popravi neposredne, posredne, manjkajoče ali zastarele dolžine tokov, znova zgradi klasične zamike navzkrižnih sklicev in trailerje, zavrne nevarne strukture in preveri izhod skozi običajni nalagalnik

Version 2.647.0

Added

  • Dodan register filtrov tokov po meri, varen za niti, z omejenima pogodbama push in pull, skupnimi proračuni dekodiranja, sodelovalnim preklicem, izrecnimi zahtevami seek, izoliranimi neuspehi po meri in telemetrijo izvajanja

Version 2.646.0

Added

  • Dodani omejeni API-ji visitor in dogodkov za vsebinske operatorje s pogledi operandov samo za branje, določilnimi povratnimi klici stanj, dejanji inspect, measure, replace, delete, stop in reject, sodelovalnim preklicem, preverjenim izhodom in atomarnimi posodobitvami naloženih strani

Version 2.645.0

Added

  • Dodana pogodba priklopljivega zaledja izrisovanja naloženih strani z dostopom do prevedenih seznamov prikaza, domorodno implementacijo GDI, vzporednim razpošiljanjem, varnim za niti, določilno politiko Fallbacka, razveljavitvijo predpomnilnika in telemetrijo izvajanja

Version 2.644.0

Added

  • Dodano omejeno zaznavanje prekrivanj razporeditve, poti elementov, preslikavo izvora po izbiri (opt-in), domorodne vektorske prevleke prelivanj in prekrivanj, povratne klice diagnostik v živo in statistiko dela

Version 2.643.0

Added

  • Dodani domorodni omejeni vektorski diagrami s serijami line, bar, area, pie in scatter, samodejnimi ali ročnimi osmi, temami, legendami, oznakami, alternativami Figure za PDF/UA in statistiko izrisovanja

Version 2.642.0

Added

  • Dodana omejena paginacija RichEdit in RTF na GUI niti z vektorskim izhodom EMF, slikami, podprtimi predstavitvami OLE po izbiri, preklicem, ohranitvijo položaja toka ter izrecnimi proračuni vhoda, znakov, strani in izhoda

Version 2.641.0

Added

  • Dodan omejen uvoz SVG 2 kot ponovno uporabnih Form XObjects PDF z domorodno geometrijo in loki, kaskado CSS, vektorskimi gradienti, podporo clip in mask, besedilom Base 14, viri prosojnosti, pripombami povezav, ki poznajo postavitev, in statistiko uvoza

Version 2.640.0

Added

  • Dodan verzioniran profil uvoza paged-media HTML5 s popustljivim razčlenjevanjem DOM, tiskarsko kaskado CSS, paginirano razporeditvijo blokov in tabel, neobveznimi kontrolkami AcroForm, omejenimi viri na povratnih klicih in statistiko na operacijo

Version 2.639.0

Changed

  • Velike preslikave lokalnih datotek zdaj prilagodijo nastavljen strop preslikanih bajtov med večjimi zaporednimi okni in do 16 manjšimi okni naključnega dostopa MRU, ohranijo izrecno možnost fiksne geometrije in poročajo o aktivni geometriji, prehodih, števcih vzorcev dostopa ter vrhnjih preslikanih bajtih

Version 2.638.0

Added

  • Dodano omejeno učenje simbolov JBIG2 čez strani z zunanjimi in domorodnimi zaledji, enim skupnim globalnim slovarjem, točno ponovno uporabo podvojenih strani, neposrednim vstavljanjem paketov slik PDF, telemetrijo zaledja in velikosti ter izmerjenimi prihranki stiskanja 78,8 odstotka na korpusu regresije 100 strani

Version 2.637.0

Changed

  • Vzporedno izrisovanje naloženih strani zdaj zmanjša zahtevane delavce iz proračuna pomnilnika celotnega procesa, rezervira vsako zahtevano stran, ohrani rezervacije urejenega izhoda skozi dostavo povratnih klicev, zbudi čakajoče na proračun ob preklicu ali neuspehu ter poroča telemetrijo vzporednosti, rezervacij, sprejemanja, zamikov in čakanja

Version 2.636.0

Changed

  • Prednalaganje (prefetch) naloženih strani zdaj prevaja in izrisuje izven zaklepa predpomnilnika, preklicuje sodelovalno skozi tokenizacijo in predvajanje, popusti izrisovanju strani v ospredju in izpostavi telemetrijo napredka, neuspehov, prevzemanja in zakasnitve preklica

Version 2.635.0

Added

  • Dodano urejeno tokovno vzporedno izrisovanje strani s povratnimi klici na klicajoči niti, omejeno vrsto zaključenih bitmapov, povratnim pritiskom proizvajalca, sodelovalnim preklicem, izposojenimi življenjskimi dobami bitmapov ter telemetrijo vrste, bajtov, čakanja, zaključevanja in dostave

Version 2.634.0

Added

  • Dodana dvostopenjska vzporedna pipeline naloženih strani, ki prevaja sezname prikaza izven zaklepa predpomnilnika izrisovanja, začne predvajanje, preden je preveden celoten nabor strani, dinamično uravnoteži omejene delavce, ohrani vrstni red vhoda, zmanjša dodeljevanje vsebinskih žetonov in izpostavi telemetrijo stopenj, predpomnilnika, zaključevanja in zakasnitev

Version 2.633.0

Added

  • Dodane nespremenljive ročaje dekodiranih bitmapov s štetjem referenc, z zadetki predpomnilnika brez kopiranja, neposrednim risanjem izrisovalnika, varnim za niti, izoliranimi spremenljivimi kopijami na zahtevo, življenjskimi dobami neodvisnimi od izgonov ter kumulativno telemetrijo ročajev in kopij

Version 2.632.0

Changed

  • Izvajanje QuickJS zdaj deluje prek statičnih objektov in mostu DLL, nevtralnega glede ABI, na Win32 in Win64, z vrednostmi, varnimi za Unicode, določilnim poročanjem stanja, nastavljivimi omejitvami pomnilnika, sklada, skripta, časa in prekinitev, varnim odkrivanjem DLL, obnovitvijo po zavrnjenih skriptih in ponovljivimi gradnjami izvajalnega okolja čez platforme

Version 2.631.0

Changed

  • Validacija poslovnih pravil Factur-X in ZUGFeRD zdaj izvede celotno pregledano površino XPath 2 Schematron z zunanjimi bazami kod, sekvencnimi vezavami, kvantifikatorji, vsotami FLWOR, stabilnimi identifikatorji rezervnih pravil (fallback), varnim omejenim razčlenjevanjem XML, izrecnimi ugotovitvami napak vrednotenja, brez tihih preskokov in s kombinirano validacijo, ki ob težavi spodleti zaprto

Version 2.630.0

Added

  • Dodano vgrajeno instanciranje spremenljivih pisav TrueType s preslikanimi osmi, skupnimi in zasebnimi nabori gvar, interpolacijo IUP, posodobitvami orisov preprostih in kompozitnih glifov, metrikami fantomskih točk, pečenjem HVAR, VVAR in MVAR, kompaktnim ponovnim zlaganjem statičnih glifov, izhodom s pravilnimi kontrolnimi vsotami in registracijo pisav Unicode brez povratnih klicev

Version 2.629.0

Added

  • Dodana ocena vmesnih prostorov (placeholder) CMS brez stranskih učinkov iz izrecnih, ponudniških ali RSA velikosti podpisov potrdil, natančna oblika statičnih vsebnikov, previdne rezerve dinamičnih koristnih bremen, ponovne izgradnje pred podpisom, ponovni poskusi ponudnikov, preriti prek zmožnosti, stroga garancija enojnega klica zunanjega podpisovalnika, omejeno določanje velikosti in podrobna diagnostika poskusov

Version 2.628.0

Added

  • Dodano zmanjševanje na podnabore (subsetting) pisav, vgrajenih v naložene PDF, na osnovi dosegljivosti, vključno z vsebino strani, gnezdenimi Form XObjects, stanji izgledov pripomb, skupnimi programi pisav, formati TrueType in CFF, izbiro kodirane velikosti, stabilnimi preslikavami CID in ToUnicode, podrobnimi rezultati in privzeto zavrnitvijo, kadar so prisotni podpisi

Version 2.627.0

Added

  • Dodana samodejna generacija struktur PDF/UA za deklarativna drevesa razporeditve, vključno z naslovi, seznami, tabelami, slikami, metapodatki jezika in nadomestnega besedila, artefakti paginacije, referencami označene vsebine, varnimi za nadaljevanje, ohranitvijo vrstnega reda branja, semantično validacijo in statistiko struktur

Version 2.626.0

Added

  • Dodan deklarativni DOM dokumenta z dednimi slogi, ponovno uporabnimi tovarnami komponent, besedilom, razmakniki, skladi, vsebniki, razdelki, ponavljajočimi se glavami in nogami, uteženimi tabelami s ponavljajočimi se vrsticami glav, omejeno globino nadaljevanja, statistiko paginacije, besedilnimi in tabelnimi fragmenti brez kopiranja, linearnim prehodom po vrhnji ravni, takojšnjo izpraznitvijo strani ter ujemajočima se vmesnikoma Delphi in C++Builder

Version 2.625.0

Added

  • Dodana ponovljiva statistična pregrada zmogljivosti za Win32 in Win64, ki izolira nalaganje, shranjevanje, izrisovanje in izluževanje besedila, beleži ogrevanja in 30 surovih vzorcev s p50, p95, varianco vzorca, RSS, I/O procesa, okoljem in določilno identiteto fixture, nato ovrednoti stabilne prage JSON in vrne spodletelo izhodno kodo ob regresiji

Version 2.624.0

Changed

  • Prenovljeno razčlenjevanje preprostih slovarjev in tabel okoli nespremenljivih izvornih razponov, neposredne številske pretvorbe, enoprehodnih gnezdenih vsebnikov in indeksiranega vstavljanja v slovarje, z javno telemetrijo materializacije; fixture Win32 s 30.000 pari je bajte dodelitev petih prehodov zmanjšal za 64,7 odstotka in preteči čas s 3.656 ms na 46 ms

Version 2.623.0

Added

  • Dodane nastavljive omejitve razčlenjevalnika za bajte posameznih žetonov, skupne žetone, vnose tabel ali slovarjev in okvarjene žetone, poleg tega stroga prednastavitev za nezaupane vhode, tipizirane izjeme omejitev in telemetrijo na nalaganje; pregrade regresij zavrnejo žeton 2 MiB in vsebnik z milijonom žetonov v manj kot 250 ms in pod vrhom procesa 37 MiB

Version 2.622.0

Added

  • Dodani izrecni API-ji sprostitve grafa objektov naloženih strani in telemetrije, ki opustijo čiste korene, lastnjene s strani, in predpomnilnike izrisovanja, hkrati pa ohranijo posredne skupne vire in metapodatke ponovnega nalaganja; zaporedna obdelava 100.000 strani ostane na stabilnem vrhu 69,3 MiB, sproščene običajne ali stisnjene strani pa se znova pomaterializirajo s svojo izvirno identiteto objektov

Version 2.621.0

Changed

  • Dekodirani vsebniki objektnih tokov zdaj uporabljajo nastavljiv predpomnilnik LRU z omejitvijo bajtov, takojšnjim izgonom na vsebnik, ponovnim nalaganjem iz vira po izgonu, načinom brez zadrževanja ter telemetrijo vrhnjih bajtov, izgonov in ponovnih nalaganj

Version 2.620.0

Changed

  • Velika običajna drevesa strani se zdaj odprejo v kompaktnih nadomestkih, naključne strani razrešijo skozi prehod, voden s /Count, in hash indeks posrednih objektov, predpomnijo razrešene strani, izpostavijo telemetrijo in krmilke materializacije ter se samodejno razširijo pred strukturnimi mutacijami ali operacijami shranjevanja

Version 2.619.0

Changed

  • Naložena polja AcroForm, kvalificirana imena, widgeti, pripombe in strani zdaj delijo len dvosmerni predpomnilnik razmerij z obratnim iskanjem pripomb, iskanjem strani na widget, telemetrijo dejavnosti, izrecno razveljavitvijo za surova urejanja grafa objektov in samodejnim vzdrževanjem, varnim za mutacije

Version 2.618.0

Changed

  • Iskanje objektov strani zdaj uporablja leno ponovno zgrajen obratni indeks, ki se zaveda mutacij, za številke objektov in razrešene kazalce strani; zamenja ponavljajoče se preglede tabel strani pri kopiranju strani, orisih, imenovanih destinacijah, dejanjih, obrazcih, dostopnosti in usklajevanju drevesa strani, hkrati pa izpostavi telemetrijo veljavnosti in dejavnosti

Version 2.617.0

Changed

  • Primerjava izrisanih dokumentov zdaj podpira DPI po izbiri klicatelja, toleranco barv RGB ali svetlosti, pregrade razmerja spremenjenih pikslov in podobnosti po vzoru SSIM, določilne povezane spremenjene regije, neobvezne prevleke razlik PNG ter proračune pikslov na stran in skupne, ki ob prekoračitvi spodletita zaprto, z izrecnimi diagnostikami izrisovanja

Version 2.616.0

Changed

  • Primerjava dokumentov zdaj prečka grafe posrednih objektov po določilnih poteh na osnovi kataloga, zgošča vrednosti in toke znotraj izrecnih omejitev virov, poravna strani, preden razvrsti vstavitve, brisanja, premike in spremembe, loči premaknjene objekte od dodatkov in odstranitev ter poroča o nepopolnih primerjavah, namesto da bi rezultate, omejene s proračunom, obravnavala kot enake

Version 2.615.0

Changed

  • Dekodiranje naloženih slik zdaj uporablja 16 drobcev metapodatkov predpomnilnika in natančno usklajevanje singleflight na ključ, izvaja neodvisna draga dekodiranja vzporedno in hkrati ohrani eno lastniško dekodiranje za podvojene zahtevke, vsiljuje nastavljena proračuna bajtov in vnosov čez vse drobce ter izpostavi vstopne točke predpomnjenega dekodiranja in telemetrijo vzporednosti; štirje neodvisni zahtevki JPEG s 12.000 piksli se na štirih delavcih Win64 raztegnejo 3,72-krat, osmih zahtevkov z istim ključem pa se dekodira le enkrat

Version 2.614.0

Changed

  • Izrisovanje JPEG v sivi stopnji in RGB pri nizki ločljivosti zdaj izbere omejeno merilo inverznega DCT 1/2, 1/4 ali 1/8, pretaka raztegnjene vrstice skeniranja skozi fixed-point resampler neposredno v točen ciljni bitmap, ohrani proračune dekodiranja, preklic in izolacijo delavcev kodekov ter izpostavi telemetrijo vira, raztegnjenega, cilja, vrstic skeniranja in pomnilnika prek GetLastJPEGReducedDecodeInfo; fixture regresije od 12.000 x 12.000 na 300 x 300 teče 24,05-krat hitreje od polnega dekodiranja, brez dodeljevanja njegovega izvornega rastra 432 MB

Version 2.613.0

Changed

  • Tabele /Contents naloženih strani zdaj izpostavijo len tok, ki ga je mogoče iskati, zlepljen iz segmentov, zadržijo nefiltrirane segmente v shrambi, podprti z virom, dekodirajo največ enega filtriranega segmenta naenkrat, uporabijo amortizirano-linearno nabiranje žetonov in bajtov, ob urejanju ohranijo izvirne toke z dodajanjem novega segmenta in držijo zaporedje s 10.000 segmenti, veliko 1 GiB, pod 64 MiB dodatnega delovnega pomnilnika

Version 2.612.0

Changed

  • Postopne posodobitve zdaj držijo izvorno datoteko zaklenjeno za pisanje in podprto z datoteko, namesto da bi zadrževale popolne izvorne bajte, obiščejo in izdajo le spremenjene, nove in izbrisane objekte v redkih podrazdelkih xref, pretakajo izvirno predpono v nov cilj in pripnejo neposredno z razveljavitvijo za shranjevanja na isti cilj; revizija z enim objektom, velika 4 GiB, ostane znotraj 128 MiB dodatnega delovnega pomnilnika

Version 2.611.0

Added

  • Dodan omejen predpomnilnik dekodirnikov naloženih pisav na obseg dokumenta z omejitvijo LRU 32 MiB in 128 vnosov, ponovno uporabo razčlenjevanja singleflight čez strani in izluževanje naloženega besedila, izvoz SVG ter zamenjavo besedila, neodvisne rezultate globoke kopije iz GetLoadedFontDecoder, nastavljiv proračun pomnilnika in API-je telemetrije ter samodejno razveljavitev konfiguracij grafa, strani, ponovnega nalaganja, JSON Patch in CMap; ponovljena uporaba ene skupne posredne pisave zdaj razčleni njeno kodiranje, širine, ToUnicode, CIDToGIDMap in preslikave podrejenih le enkrat, medtem ko je zadržana

Version 2.610.0

Changed

  • Pospešena uvoza strani in presajanje objektov z zamenjavo linearne, točno raztegnjene tabele iskanja tujih objektov z odprto-naslovljeno preslikavo na operacijo, velikosti potence dvojke, indeksirano po izvornem dokumentu, številki objekta in generaciji; skupni posredni objekti in ciklični grafi ohranijo obstoječo semantiko identitete čez paketne uvoze, veliki grafi objektov pa zdaj uporabljajo registracijo v amortiziranem konstantnem času in iskanje v pričakovanem konstantnem času

Version 2.609.0

Changed

  • Izboljšana zvestoba izvoza strani v SVG: neposredni operatorji grafičnega stanja w, J, j, M in d zdaj ohranijo širino črte, imenovana stila kap in spoja, meje miter, tabele črtic in fazo črtic; q/Q obnovi te atribute čez gnezdno vsebino in Form XObjects; operatorji barvanja even-odd f*, B* in b* izdajo fill-rule="evenodd"; drobne črte PDF z ničelno širino ostanejo vidne prek neskalirajočih potez SVG

Version 2.608.0

Added

  • Dodana infrastruktura statičnega povezovanja QuickJS: Lib/HPDFQuickJSStatic.pas poveže petih objektov OMF QuickJS (zgrajenih z bcc32c iz popravljenih virov) prek direktiv {'$L'} — brez odvisnosti od DLL — in deklarira celotno površino C izvajalnega okolja (47 simbolov: msvcrt C99 matematika, Borland 64-bitna aritmetika, atomic stubi nevtralni glede velikosti, pthread stubi); thirdparty/QuickJS/build-static.bat samodejno izvede pipeline popravila in prevajanja. Znana omejitev: JS_NewRuntime uspe, a JS_NewContext naleti na access violation, ker odstranitev _Atomic spremeni vrstni red inicializacije struktur; gradnja DLL iz v2.607.0 ostaja delujoča pot vrednotenja

Version 2.607.0

Added

  • Dodana generacija 2D barcode DataMatrix (Lib/HPDFDataMatrix.pas): kodiranje v načinu ASCII s stiskanjem parov števk, Reed-Solomon ECC nad GF(256) z osnovnim polinomom DataMatrix $12D, kvadratne velikosti od 10x10 do 144x144, postavitev kodnih besed v izmeničnih smereh in iskalni vzorec v obliki L; THPDFPage.DrawDataMatrix izriše kodirano matriko kot mrežo zapolnjenih kvadratkov modulov
  • Dodana generacija naloženih 2D barcode PDF417 (Lib/HPDFPDF417.pas): kodiranje v besedilnem načinu s parjenjem znakov base-30, Reed-Solomon ECC nad GF(929) s primitivom 3, kodiranjem opisnika simbola ter razporeditvijo vrstic/stolpcev s vzorci start/stop; THPDFPage.DrawPDF417 izriše matriko kodnih besed
  • Dodana vezava pogona JavaScript QuickJS (Lib/HPDFQuickJS.pas plus vnaprej zgrajeni quickjs.dll za Win32/Win64 pod thirdparty/QuickJS/bin/): dinamično nalaganje DLL, življenjski cikel runtime+context in površina API za vrednotenje (Eval/EvalInt/EvalFloat); pot kode Eval ima znani crash ob zagonu na Win32, kadar je povezana v aplikacijo, in je dokumentirana za nadaljnjo preiskavo
  • Dodan arhitekturni cilj izluževanja THPDFWriter (Lib/HPDFWriter.pas): register vnosov xref (free/used/compressed), serializator klasične tabele xref in graditelj slovarja trailer, kateremu pot shranjevanja THotPDF postopoma delegira delo

Version 2.606.0

Added

  • Dodana dva ukaza HotPDFCLI: decrypt naloži šifriran PDF s podanim geslom, dekodira ga prek DecryptLoadedDocument in shrani nešifrirano kopijo (-o izhodna pot, privzeto <input>-decrypted.pdf), optimize pa znova stisne vsak tok s FlateDecode prek CompressLoadedDocument (-o izhodna pot, privzeto <input>-optimized.pdf, zavrne šifriran vhod)

Version 2.605.0

Added

  • Dodana generacija 2D barcode QR Code: nova Lib/HPDFQRCode.pas implementira popoln QR kodirnik (načini kodiranja numeric, alphanumeric in byte; popravilo napak Reed-Solomon nad GF(256); verzije 1-40 s vsemi štirimi ravnmi EC L/M/Q/H; vseh osem vzorcev maske z ovrednotenjem kazni; pravilna postavitev modulov, vključno z vzorci finder, timing, alignment, format info in version info). Metoda THPDFPage.DrawQRCode izriše kodirano matriko kot mrežo zapolnjenih kvadratkov modulov na kateri koli strani, ki se piše (ModuleSize v točkah, nastavljiva raven EC in barva)

Version 2.604.0

Added

  • Dodana polna tabela dekodiranja MacExpertEncoding: zgornja polovica 128 bajtov zdaj preslika expert glife (male velike črke, številke v starem slogu, nadpisane/podpisane števke, ulomki, tipografski simboli) na najbližjo kodno točko Unicode ali nadomestek iz Private Use Area; to zamenjuje prejšnji Fallback identitete surovih bajtov, ki je dokumentom s pisavami Type 1, kodiranimi v expert načinu, dajal razmršene izhode

Version 2.603.0

Fixed

  • Popravljen dolgoleten občasni spodletel primer v ConcurrentObjStmDecryptionMatchesSerial: globalna FRevision je bila zastarela, potem ko se je aes256 ob privzeti različici PDF 1.6 degradiral na aes128, kar je CreateKeys pomotoma usmerilo v vejo V5, ki nikoli ne zapolni starih zgoščenih vrednosti gesel /O in /U — serializiran šifrirni slovar je nato nosil prazne ali zastarele nize gesel in datoteke se ni dalo odpreti. Popravek ponovno izpelje FRevision iz degradiranega FCryptKeyType tako pri nastavitveniku kot na obeh mestih dogovarjanja različice, veja starega slovarja pa zdaj sproži jasno diagnostiko, kadar niza gesel nista točno 32 bajtov

Added

  • Dodan ukaz html HotPDFCLI: izriše omejeno datoteko HTML (h1-h6, p, ul, ol, hr, vrinjeno oblikovanje) v PDF prek HPDFRenderHTMLDocument

Version 2.602.0

Added

  • Dodan uvoz HTML na ravni blokov: THPDFHTMLImporter (in priročni ovoj HPDFRenderHTMLDocument) izriše omejeno podmnožico HTML na dokument, ki se piše — naslove h1-h6 z velikostmi po ravneh, odstavke p (golo telo besedila postane implicitni odstavek), seznama ul/ol z zamaknjenimi elementi li (odžigalke ali številčenje 1.), črte hr, samodejne prelome strani pri spodnjem robu in obnovo v stilu brskalnika za nezaprte bloke p/li; območja head/script/style se preskočijo, oznake vsebnikov pa gredo skozi prosojno. Vrinjeno oblikovanje (b/i/u/font/a/sub/sup, entitete, oblivanje besedila) prevzame obstoječi izrisovalnik TextOutHTML, zato bloki ostanejo skupaj znotraj strani; tabele, slike, CSS in gnezdeni seznami so izven dosega

Version 2.601.0

Added

  • Dodani trije ukazi HotPDFCLI: merge pripne vsako stran dodatnih vhodov k prvemu dokumentu in shrani združeno datoteko (-o izhodna pot, vsaj dva vhoda, zaščiteno pred trkom izhoda z vhodom), split zapiše vsako izbrano stran dokumenta v njeno lastno enostransko datoteko (<prefix>-page<N>.pdf, obseg --pages se šteje od 1, privzeta predpona iz vhodne poti), export-svg pa zapiše izvoz SVG vsake izbrane strani (<prefix>-page<N>.svg, privzeta stran 1)

Version 2.600.0

Added

  • Dodan izvoz strani v SVG: BuildLoadedPageSVG vrne samostojen dokument SVG 1.1 za katero koli naloženo stran, SaveLoadedPageAsSVG pa ga zapiše na disk; izvozijo se poti (operatorji barvanja fill/stroke/fill-and-stroke z barvami DeviceRGB), teki besedila (elementi <text> pozicionirani po znakih z isto verigo Fallbackov dekodiranja pisav kot pri izluževanju besedila, z upoštevanjem Tf/Tc/Tw/Tz/Ts in besedilne matrike, vključno z rotacijo in raztegovanjem), slikovni XObjects (dekodirani in vgrajeni kot data URI base64 PNG, preslikani skozi enotski kvadrat CTM) ter Form XObjects (rekurzivna interpretacija z matriko forme in lastnimi /Resources), strani /Rotate 90/180/270 pa se izvozijo v geometriji zavrtenega platna
  • Znane omejitve, podedovane od skupnega razpošiljevalnika naprav vsebinskih tokov: brez izrezovanja W/W*, brez senčenj sh, brez pisav Type 3, vrinjene slike poročajo le metapodatke; podprti parametri potez iz ExtGState (LW/LC/LJ/ca/CA) se upoštevajo, medtem ko se goli operatorji w/J/j/d ne razpošljejo

Version 2.599.0

Added

  • Dodano orodje ukazne vrstice HotPDFCLI (tools/HotPDFCLI): konzolni vmesnik s tremi ukazi — info (različica PDF, število strani in velikost prve strani, način šifriranja, linearizacija in struktura xref, števci pripomb/pisav/slik/obrazcev/podpisov, metapodatki Info), extract-text (obsegi --pages se štejejo od 1, izhod v datoteko --out, način --layout z enoprostorsko mrežo, ki sledi vidnemu vrstnemu redu branja) in verify (stanje vsakega polja podpisa, podpisnik, razlog, hash, čas podpisa, pokritost celotnega dokumenta in stanje potrdil, izhod z neničelno kodo, če kateri podpis spodleti); Build-HotPDFCLI.bat izdela binarke za Win32 in Win64

Version 2.598.0

Added

  • Dodan SetRenditionMediaPlayParameters: pripne ali posodobi slovar predvajalnih parametrov medija /P pri medijski rendiciji s cilji /MH (obvezno upoštevati) ali /BE (po najboljšem trudu), ki nosijo odstotek glasnosti, vidljivost kontrolnika, zastavico samodejnega predvajanja, način prilagajanja (meet/slice/fill/scroll/hidden), število ponovitev in trajanje kot notranjo vrednost, neskončnost ali izrecni časovni razpon
  • Dodan SetRenditionMediaScreenParameters: pripne ali posodobi slovar parametrov zaslona medija /SP pri medijski rendiciji (vrsta okna floating/full-screen/hidden/pravokotnik pripombe zaslona, barva ozadja DeviceRGB, prosojnost ozadja, indeks monitorja)
  • Dodan SetSoundAnnotationParameters: prepiše format vzorcev toka /Sound zvočne pripombe (frekvenca, kanali, biti na vzorec, kodiranje Raw/Signed/muLaw/ALaw) čez trdo kodirane privzetke 22050 Hz, stereo, 16-bit Signed, in nastavi ikono /Name, na primer Speaker ali Mic

Version 2.597.0

Added

  • Dodan SetMovieAnnotationParameters: preglasi slovar /Movie filmske pripombe (par stranic, rotacija 0/90/180/270, trajanje v sekundah, vidljivost plakata), ki ga je AddMovieAnnotation ustvaril s trdo kodiranimi privzetki
  • Dodan SetRichMediaPresentation: zapolni slovarje aktivacije, deaktivacije in predstavitve /RichMediaSettings pripombe RichMedia (imena pogojev kot PO ob odprtju strani, zastavice za orodno vrstico / UI za krmarjenje / klik s kontekstom / prosojnost); prazno ime pogoja izpusti pripadajoči slovar
  • Dodan ResolveIndirectObject na THotPDF: razreši posredne reference, ki jih avtorska stran shranjuje znotraj zapisanih slovarjev, tako da klicatelji lahko krmarjo po na novo zgrajenih drevesih objektov; AddRichMediaAnnotation zdaj registrira svojo pripombo tudi v LastAnnotation

Version 2.596.0

Added

  • Dodano odkrivanje dokazov o preklicu v živo: razčlenjevalnik potrdil zdaj bere razširitve URI za AIA OCSP responder in CRLDistributionPoints, HPDFExtractCertificateRevocationURLs jih izpostavi na potrdilo, HPDFCollectCMSRevocationRequests pa jih spremeni v zahtevke po dokazih (GET pkix-crl za vsako distribucijsko točko, POST ocsp-request z minimalnim telesom RFC 6960 SHA-256 CertID, zgrajenim iz potrdila in njegovega izdajatelja; samo-podpisana potrdila se razrešijo kot svoj lastni izdajatelj)
  • Dodan HPDFValidateCMSCertificatePathOnline: zbere te zahtevke, jih izvede skozi transport, ki ga poda klicatelj, prek obstoječe mehanike ponovnih poskusov in delavcev (knjižnica nikoli ne odpre vtičnikov), vsak pridobljen odgovor OCSP in CRL pa poda offline validatorju; neuspeli pridobitvi degradirata na semantiko dokazov brez povezave

Version 2.595.0

Added

  • Dodano dekodiranje regij halftone JBIG2 (tipi segmentov 22/23): slovarji vzorcev (type 16) z MMR ali aritmetičnimi kolektivnimi bitnimi slikami, skladi bitnih ravnin sive stopnje v MMR obliki (na bajte poravnane verižne ravnine) in aritmetični obliki (en skupni dekodirnik MQ), postavitev po mreži z vektorji 8.8 fixed-point in neobveznim praznim zemljevidom HSKIP
  • Dodane samostojne regije generic-refinement JBIG2 (tipi 42/43, GRTEMPLATE 0/1 s TPGRON), ki izpopolnijo arhivirano bitno sliko navedenega segmenta regije ali medpomnilnika strani
  • Dodana AddPubSecKeyMaterial / ClearPubSecKeyMaterials: dodatni zasebni ključi prejemnikov, ki se preizkusijo proti vsaki ovojnici /Recipients, kadar primarni PubSecKeyMaterial ne ustreza
  • Dodana graditelja preizkusnih tokov HPDFJBIG2Codec_EncodeHalftoneRegionTestStream in HPDFJBIG2Codec_EncodeStandaloneRefinementTestStream, ki pokrijeta nove tipe segmentov od začetka do konca

Fixed

  • Popravljeno nalaganje dokumentov, šifriranih z javnim ključem AES-128: star pregled objektov je po razdelitvi pubsec pustil FileKey, StringKeyType in StreamKeyType neinicializirane, zato se je vsak objekt dekodiral z odpadnim ključem (nalaganje na Win64 je spodletelo popolnoma; nalaganje na Win32 je tiho dalo napačno berljivo besedilo)
  • Popravljeno povratno potovanje šifriranih nizov: kriptogram se zdaj vedno serializira kot šestnajstiški niz, ker literalni nizi normalizirajo CR, LF in CRLF v en sam LF, obdelava ubežnih zaporedij pa je lahko obrnila poljubne šifrirne bajte

Version 2.594.0

Added

  • Dodana vgrajena približna identiteta za preddefinirane CMap CJK UCS2/UTF16 (UniJIS-UCS2-H, UniGB-UTF16-V in še 15): HPDFLoadStandardCMapFile odgovarja iz vgrajene tabele, ko se viri CMap ne pošiljajo na disku, tako da izluževanje besedila Type0 ne dekodira več 2-bajtnih kod bajt za bajtom
  • Dodane uporabniške tabele Huffman za JBIG2 (tip segmenta 53, oblika opisnika iz Annex B.2): domorodni dekodirnik razčleni segmente tabel, selektorja slovarja simbolov SDHUFFDH/SDHUFFDW/SDHUFFBMSIZE/SDHUFFAGGINST in besedilne regije SBHUFFFS/DS/DT/RDW/RDH/RDX/RDY/RDSIZE pa jih pri vrednosti 3 razrešita iz navedenih segmentov
  • Dodan SetStructureClassMapEntry, ki registrira skupni slovar atributov imena razreda v /ClassMap StructTreeRoot in s tem dokonča /C API SetStructureElementClass

Fixed

  • Popravljeno obnavljanje ključa pri več prejemnikih z javnim ključem: ovojnice /Recipients so bile shranjene v neštetem seznamu, ki je čez vnose kazal na isti medpomnilnik, tako da so dokumenti z dvema ali več prejemniki za vsako šifro izpelali napačen ključ datoteke; ovojnice so zdaj lastniške kopije, pot SHA-1 pa zgošča nedotaknjene bajte ovojnic, kot pot AES-256

Version 2.593.0

Added

  • Dodano izrisovanje senčenja Type 1 (na osnovi funkcije): vidni del domenskega pravokotnika se razdeli s kvadradrevom, vodenim po napaki barve, vsaka listna celica pa se naslika kot dva gradientna trikotnika z barvami oglišč, vzorčenimi iz funkcije z 2 vhodoma; to zamenjuje prejšnjo diagnostiko Fallbacka "not sampled"
  • Dodano popustljivo vrednotenje funkcij z 2 vhodoma: funkcija, ki deklarira le en vhod, degradira na f(x) (konstantna v drugi domenski koordinati), namesto da bi spodletela, tako da vzorčne in eksponentne funkcije za senčenjem Type 1 še vedno naslikajo

Version 2.592.0

Added

  • Dodana karantena objektnih tokov: pokvarjen vsebnik /Type /ObjStm se zabeleži z razlogom (THPDFObjStmQuarantineReason: not a stream, bad dictionary, bad header, bad stream size, decrypt failed, decompress failed, /First izven obsega, header unparsable ali container exception), z diagnostično vrstico in številkami objektov članov, ki jih je pustil nerešene, medtem ko se neodvisni vsebniki še naprej nalagajo
  • Dodana karantena na ravni članov (osqrMemberUnparsable): telo člana, ki se iz uspešno dekodiranega vsebnika ne da razčleniti, se zabeleži enkrat brez vpliva na sorodnike, GetLoadedQuarantinedObjStmCount / GetLoadedQuarantinedObjStmInfo pa izpostavita vsak zapis; zapisi karantene preživijo ponovne poskuse obnovitve enega nalaganja, razdvojijo se na vsebnik in počistijo ob naslednjem vstopu v nalaganje

Version 2.591.0

Added

  • Dodano razdeljanje zemljevida navzkrižnih sklicev na strani: ko gosta preslikava preseže THotPDF.XRefMapPagingThreshold vnosov (privzeto 250000, 0 onemogoči), jo prehod ob zaključku nalaganja zapakira v THPDFXRefMapPager — urejen posnetek zapakiranih rež po 24 bajtov, ki jih odgovarja binarno iskanje skozi LRU materializirano stran s 64 vnosi — in sprosti gosto tabelo
  • Dodan GetLoadedXRefMapPaged, ki poroča stanje razdeljenosti na strani s številom vnosov, bajti posnetka in števci zadetkov ali zgrešitev okna; obnova proste množice pri postopnem shranjevanju in razreševanje posrednih /Length leno materializiranih članov tokov odgovarjata skozi pager, tako da razdeljeni dokumenti ohranijo polno funkcionalnost

Version 2.590.0

Added

  • Dodana izrecna stanja življenjskega cikla objektov: THPDFObjectLifecycleState dobi olsRaw (indeksirani, a nepomaterializirani stisnjeni člani), olsParsed (pomaterializirani iz izvornih bajtov, nespremenjeni) in olsFlushed (serializirani v izhodni dokument); naloženi objekti zdaj nosijo olsParsed namesto splošnega čistega stanja
  • Dodana MarkRaw, MarkParsed in MarkFlushed na THPDFObject; GetLoadedObjectLifecycleState vrne olsRaw za stisnjene člane, katerih telo še ni bilo pomaterializirano
  • Dodana RawCount, ParsedCount in FlushedCount v THPDFObjectLifecycleStatistics; vsaka pot polnega shranjevanja (plain, packed, linearized) premakne izdane objekte v olsFlushed, IsDirty pa še naprej pomeni olsDirty ali olsMustWrite

Version 2.589.0

Added

  • Dodana materializacija članov objektnih tokov brez kopiranja: stisnjeni člani se zdaj razčlenijo skozi pogled na rezino, samo za branje, nad skupnim dekodiranim medpomnilnikom vsebnika, namesto podvojenega podniza in druge kopije toka, pri čemer se ohrani točen bajtni razpored, vključno s končnim pomikom v novo vrstico
  • Dodan THPDFObjectStreamSliceStream, javni tok-pogled samo za branje, ki izpostavlja rezine (vir, zamik, dolžina) z virtualnim končnim LF, ter dve novi polji THPDFObjectStreamCacheInfo, SliceViewCount in SliceViewBytes, ki poročata, koliko članov se je pomaterializiralo skozi poglede brez kopiranja

Version 2.588.0

Added

  • Dodano vzporedno dekodiranje vsebnikov objektnih tokov prek nove enote HPDFObjStmDecode: THotPDF.ObjStmDecryptWorkers (privzeto 1) omeji niti delavce, ki pred serijskim prehodom dekodiranja in indeksiranja preddekodirajo vsak poseben vsebnik /Type /ObjStm, šifriran z AES-256; ključni material na vsebnik se kopira in počisti na zahtevek, rezultati ohranijo vrstni red čakalne vrste, stari vsebniki RC4 / AES-128 pa ostanejo na klicajoči niti

Version 2.587.0

Added

  • Dodano ponovno nalaganje dokumentov, šifriranih z javnim ključem: dokumenti, šifrirani z /Adobe.PPKLite / /Adobe.PubSec, se zdaj naložijo, kadar klicatelj dodeli PubSecKeyMaterial (iz HPDFParsePFX); predpregled odvije ovojnico RSA-OAEP /Recipients, obnovi seme in znova izpelje ključ datoteke, tako da dekodiranje vsebnikov in nizov teče nespremenjeno
  • Dodan povratni klic PubSecRecipientQuery, ki izbere, katero ovojnico prejemnika odvije podani ključ, z PubSecRecipientQueryContext za stanje klicatelja
  • Dodan HPDFUnwrapRSAOAEPRecipientEnvelope, ki iz ovojnice prejemnika CMS EnvelopedData obnovi seme in bite dovoljenj

Fixed

  • Popravljene napake pisalnika javnega ključa, odkrite pri povratnem potovanju nalaganja: ovojnice prejemnikov je pokvarilo povratno potovanje niza binarno-skozi-Unicode (zdaj se shranijo šestnajstiško kodirane), digest ključa datoteke je zgoščeval bajte ovojnic z zamikom enega bajta, nizi /Recipients pa so se šifrirali kot navadni nizi — zdaj se izognejo prek izrecne zastavice SkipEncryption

Version 2.586.0

Added

  • Dodano nadaljevanje na cilj preliva XFA: <overflow target="..."/> zdaj usmerja prelite elemente tokov v pravokotnik imenovanega ciljnega podformularja, jih niza v nadaljevalne vrstice, dokler se cilj ne zapolni, s Fallbackom na običajno verigo območij vsebine in opozorilom, ko cilj manjka, je manjši od enega elementa ali je poln

Version 2.585.0

Added

  • Dodano izrisovanje barcode pri XFA: <draw><value><barcode type="..."> zdaj izda napravoneodvisne črtice namesto degradacije na besedilno polje samo za branje, s preslikavo imen simbologij XFA (code3Of9, code128, ean13, upcA, codabar in drugih) na barcode pogon
  • Dodana transformacijska grafika XFA: rotate, <tran><scale> in <tran><translate> ovijejo vsako vrsto grafike (črta, lok, pravokotnik, slika, besedilo, barcode) v transformacijo q ... cm ... Q z rotacijo okoli središča

Version 2.584.0

Added

  • Razširjen FormCalc s funkcijami za nize: Concat, Len, Left, Right, Substr, Replace, Lower, Upper, Trim in Space, vključno z literalnimi nizi v navedkih in mešanimi izrazi besedilo/število
  • Dodana pretvorba datumov FormCalc: Date2Num/Num2Date posredujeta datume ISO čez serijsko štetje dni od epohe 1900, poleg tega še Date()
  • Dodana finančna knjižnica FormCalc: Pmt, FV, PV, Rate in NPer s konvencijo predznakov denarnih tokov, sestavljiva s številskimi funkcijami kot Round

Version 2.583.0

Added

  • Dokončana razrešitev SOM pri XFA z vmesnimi segmenti z golimi nadomestnimi znaki *, ki se spustijo v vsako podrejeno vejo, in pravimi razrednimi žetoni: #subform/#dataGroup izberejo vozlišča razreda vsebnikov, #field izbere vozlišča, podobna poljem, drugi žetoni #name pa se ujemajo s podatkovnimi vozlišči po meri
  • Razredni žetoni se zdaj združujejo z indeksiranjem (#subform[2] prešteje vsako vozlišče razreda v vrstnem redu dokumenta) in sodelujejo v iskanjih po potomcih z ..

Version 2.582.0

Added

  • Dodana uskladitev stanj izgledov radijskih gumbov in potrditvenih polj: zapis vrednosti gumba prek SetFormFieldValue ali SetLoadedFormFieldValueByName zdaj izbere ujemajoče se stanje /AS v vsakem widgetu, flattening pa se uskladi pred generiranjem izgledov, tako da zastarelo stanje Off nikoli ne premaga uvožene vrednosti
  • Dodana stabilnost regeneracije izgledov gumbov: EnsureLoadedFieldAppearanceStream ohrani obstoječe ime stanja vklopljenosti v slovarju stanj in imena vklopljenih stanj radijskih podrejenih izpelje iz njihove lastne izvožene vrednosti /T

Version 2.581.0

Added

  • Dodani zavrtieni izgledi polj: widgeti s /MK /R zdaj nosijo rotacijo kot /Matrix na generiranem izgledu, hkrati pa ohranijo nezavrtien prostor forme, tako da izrisovanje comb, večvrstičnih polj in listbox ostane nespremenjeno, flattening pa preslika preoblikovano škatlo na /Rect
  • Dodana podpora za izglede bogatega besedila: polja brez običajnega /V, a s telesom /RV, izrišejo znakovno vsebino z odstranjeno vrinjeno oznako XHTML
  • Dodano oblivanje celih besed za večvrstična besedilna polja: predolge vrstice se lomijo na mejah besed z oceno širine po znakih, besede ostanejo cele namesto da bi se obrezale

Version 2.580.0

Added

  • Dodani izgledi polj s pisavami CID: EnsureLoadedFieldAppearanceStream razreši pisavo /DA skozi slovar AcroForm /DR in znova pripne objekt pisave dokumenta k virom izgleda, tako da pisave Type0 izrišejo vrednosti CJK kot šestnajstiško besedilo UTF-16BE namesto zamenjave s Helvetica
  • Dodana pokritost izgledov za vsak razred polj AcroForm: widgeti checkbox in radio zdaj dobijo izglede Off in stanja vklopljenosti (vektorska kljukica in zapolnjen krog, brez odvisnosti od ZapfDingbats), gumbi push izrišejo napise, listboxi pa naslikajo vsak po eno vrstico /Opt z izpostavljeno izbrano vrstico
  • Dodana ocena širine po znakih, ki range CJK in polne širine meri pri polnem em, izboljša poravnavo quadding in postavitev comb za večbajtne vrednosti

Version 2.579.0

Added

  • Dodani strogi proračuni skript obrazcev prek lastnosti THotPDF.FormScriptBudgets: meja CPU po stenski uri, kumulativni proračun pomnilnika in strop generiranega izhoda zdaj vežejo vsak zagon EvaluateLoadedFieldJavaScript in vsak prehod preračunavanja
  • Dodan zapis THPDFScriptBudgets z dolžino skripta, stavki, globino rekurzije, operacijami, časom CPU, pomnilnikom na vrednost in kumulativnim ter bajti izhoda; ničla v katerem koli polju dvigne točno tisto omejitev
  • Dodana telemetrija vrednotenja: THPDFJavaScriptEvaluationResult zdaj poleg števca operacij poroča ElapsedMilliseconds in ValueBytes

Version 2.578.0

Added

  • Dodan graf odvisnosti izračunov polj obrazcev prek THotPDF.BuildLoadedFormCalculationGraph: vsak skript Calculate, registriran pod /CO, se statično analizira in poveže v topološki vrstni red vrednotenja
  • Dodan THotPDF.RecalculateLoadedFormFieldsIncremental, ki preračuna le izračune, ki preitno berejo spremenjeno polje, tako da se verige, kot od vmesne vsote do skupne, razširijo v enem prehodu brez dotikanja nepovezanih izračunov
  • Dodano sledenje umazanim poljem: zapisi prek SetFormFieldValue in SetLoadedFormFieldValueByName nabirajo množico umazanih, ki jo porabijo preobložitev brez parametrov, preobložitev z izrecno spremenjenimi polji in polni prehod preračunavanja
  • Dodana enota HPDFFormCalcGraph, ki izpostavlja poizvedbe po prizadeti zaprtosti, celotno zaporedje ciljev, števce ciklov in nerešena imena virov za predoglede orodij
  • Dodan HPDFExtractSafeJavaScriptFieldReferences, ki izluži imena polj, ki jih skript varne podmnožice bere iz argumentov AFSimple_Calculate in dostopov getField, pri čemer preskoči literale nizov

Changed

  • Cikli odvisnosti zdaj ohranijo vrstni red dokumenta /CO in spremenjeno polje nikoli ne preračuna lastnega skripta, tako da se ciklični dokumenti obnašajo kot enoprehodno preračunavanje in uporabniško zapisane vrednosti vedno preživijo

Version 2.577.0

Added

  • Dodano paketno preverjanje podpisov prek nove metode THotPDF.ValidateLoadedSignatureBatch: vsak naloženi podpis se v enem prehodu preveri po bajtih in skozi validacijo potrdila, s strukturiranimi rezultati za vsak podpis
  • Dodana enota HPDFSignatureBatch s skupnim predpomnilnikom verig potrdil: podpisi z isto verigo podpisnika ponovno uporabijo prejšnjo sodbo o verigi, namesto da bi jo računali znova
  • Dodano skupno predpomnjenje časovnih žigov znotraj paketa: enaki dokumentni časovni žigi RFC 3161 in vgrajeni žigi s časom podpisa preskočijo ponovno preverjanje prek THPDFCMSVerifyOptions.SkipSignatureTimestampVerification
  • Dodano deljenje dokazov o preklicu med podpisi: odgovori OCSP in CRL, videni med eno validacijo, se shranijo v THPDFRevocationEvidenceCache in vbrizgajo poznejšim podpisom pod novim virom dokazov vesCache
  • Dodan THPDFSignatureValidationBatch za samostojne paketne poge z FailFast, vzporednostjo delavcev, žetoni preklica in skupnim zunanjim predpomnilnikom preklicev
  • Dodan HPDFSignatureBatchResultToJSON, ki celoten izid paketa s statistiko predpomnilnika izpiše kot strojno berljiv JSON

Version 2.576.0

Fixed

  • Popravljen crash Showcase dema z access violation ob zagonu: THPDFViewer sproži OnPageChange že med konstrukcijo in ponovno vezavo, zato prva izdelava galerije zdaj teče iz OnShow (ko okenski ročaji že obstajajo), vsak obravnavalec dogodkov pa se ščiti pred kontrolkami, ki so še nil
  • Popravljeno vgrajevanje celotnih pisav TrueType za vzorce Unicode v Showcase galeriji: izdelava podnaborov pisav je zdaj omogočena, desetostranski dokument pa se skrči s približno 3,9 MB na približno 336 KB

Version 2.575.0

Added

  • Dodana izdelava in validacija PDF MAC, prilagodljiva glede algoritma, za SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-384 in SHA3-512, vključno s tokovnim zgoščevanjem obsegov in preverjanji skladnosti zaščite algoritmov CMS
  • Dodani izrecni profili THPDFPDFMACOptions — compatibility, modern, high-assurance in po meri — z algoritmi generiranja, dovolilnimi seznami za validacijo, neobveznim vsiljevanjem AES-256-GCM, diagnostiko politik in privzetimi preobložitvami, združljivimi z virom

Security

  • Validacija PDF MAC zdaj odkrije kodirani digest, preden zgoščuje velike bajtne obsege, in zavrne nedovoljene algoritme ali šifrirne načine, preden opravi avtentikacijo; HMAC-SHA-256, HKDF-SHA-256 in AES-256 key wrap ostajajo čvrsto določeni s formatom dokumenta

Version 2.574.0

Added

  • Dodan SaveIncrementalUpdateAuthenticated z načinoma kriptografske celovitosti in zaupanih potrdil: metoda zapiše kandidata v isti imenik, avtentificira vsak podpis s politiko, vsiljuje odločitve DocMDP, FieldMDP, UR ali UR3, Identity in neznanih transformacij čez poznejše revizije, cilj pa atomarno zamenja šele, ko uspe vsaka politika

Security

  • Analiza revizij zdaj rekonstruira politike transformacij iz točno tistega podpisanega posnetka in jih veže na izvirni objekt podpisa, bajtni obseg in vrednost CMS, namesto da bi zaupala poznejšim redefinicijam v aktivnem grafu objektov; zavrnjeni kandidati se izbrišejo brez spreminjanja obstoječega cilja

Version 2.573.0

Added

  • Dodana vrhunska demonstracija Showcase pod Demo\Delphi: ob zagonu ustvari desetostranski PDF z galerijo zmožnosti (gradiento naslovnica, tipografija z vrinjenim bogatim besedilom, vektorski gradienti / vzorci / prosojnost, račun THPDFTable, simbologije barcode, ob izvajanju risane slike, pripombe in povezave, plasti optional content in izgled podpisa PAdES) ter ga izriše v vgrajenem THPDFViewer z usklajenim seznamom tem
  • Dodano dejanje Encrypt AES-256 z enim klikom v Showcase demu, ki znova zgradi galerijo s šifriranjem AESV3 (R6), uporabniškim geslom in dovoljenji samo za tiskanje v HotPDF-Showcase-Encrypted.pdf
  • Dodano krmarjenje po zaznamkih za vsako stran Showcase galerije prek BeginDoc(True) in OutlineRoot.AddChild, tako da se ustvarjeni dokument odpre z zapolnjeno ploščo orisa

Version 2.572.0

Added

  • Razširjen pregled transformacij podpisov in razvrščanje postopnih sprememb čez vse standardne metode: GetLoadedSignaturePermissions zdaj poroča DocMDP, UR, FieldMDP, Identity, neznane metode, povezavo Catalog /UR proti /UR3, vsak standardni bit pravic uporabe in omejen preitni obseg objektov Identity /Data; analiza revizij loči izpolnjevanje obrazcev, podpise ter operacije ustvarjanja/brisanja/spreminjanja pripomb in vgrajenih datotek ter izpostavi neodvisne odločitve URCompliant, IdentityCompliant in skupno TransformCompliant

Fixed

  • Uveljavljeno standardno privzeto dovoljenje DocMDP /P 2, ko neobvezni vnos manjka, in zavrnjene okvarjene, podvojene, neujemajoče ali neznane strukture transformacij, namesto da bi jih tiho ignorirali

Version 2.571.0

Added

  • Dodana podpora za MacExpertEncoding: tabela imen glifov, prepisana iz PDF 1.7 Appendix D.3, zdaj napaja HPDFBaseEncToUnicode, tako da pisave Type 1 iz expert nabora pri izluževanju besedila dekodirajo v pravi Unicode namesto identitete surovih bajtov; Adobe Glyph List je dobil trinajst variant small z naglasi (od Acutesmall do Tildesmall) s pripadajočimi kodnimi točkami razmaknih naglasov
  • Dodanih enajst ločljivih načinov blend (ISO 32000-1 11.3.5): HPDFBlendComponent implementira Multiply, Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn, HardLight, SoftLight, Difference in Exclusion; izrisovalnik razčleni /BM iz ExtGState v posnetek grafičnega stanja in sestavi naslikane piksle nad ozadje, preden uteži alfa
  • Omogočeni gnezdeni kontekstualni lookups GSUB: SequenceLookupRecord lahko zdaj cilja kontekstualne (Type 5), verižno kontekstualne (Type 6) in obratno verižne (Type 8) lookupe, z usmerjanjem skozi skupne uporabnike na format pod obstoječo mejo globine rekurzije

Version 2.570.0

Added

  • Dodan THPDFRevocationEvidenceCache, predpomnilnik LRU, varen za niti, za dokaze timestamp / OCSP / CRL, indeksiran po identifikatorjih izdajatelja, serijske številke in responderja (neobčutljiv na velikost črk). Vnosi nosijo okno veljavnosti, iskanja izberejo najpozneje se začenjajoč interval, ki vsebuje čas vrednotenja, zadetki osvežijo nedavnost, proračuna števila vnosov in bajtov pa sprožita FIFO izgon s popolnimi števci zadetkov / zgrešitev / izgonov / zamenjav prek GetInfo
  • Dodana raven strani SaveState / RestoreState na THPDFPage, ki izda operatorja grafičnega stanja q / Q, tako da klicatelji lahko oklepajo razdelke clip, ExtGState in orisa besedila brez dotikanja graditelja vsebine

Fixed

  • Popravljeno izpadanje prostih vnosov klasične tabele iz združenega zemljevida navzkrižnih sklicev ob nalaganju: vnosi type-0 klasične tabele se zdaj beležijo kot njihovi kolegi iz xref toka, tako da drugi prehod SaveIncrementalUpdate vidi ohranjeno verigo prostih namesto SourceFreeObjectCount=0 in izgubljenih generacij
  • Popravljen THPDFSignatureEvidenceTask, ki je ob konstrukciji sprožal "Cannot call Start on a running or suspended thread": naloga se zdaj zažene v AfterConstruction, ko je objekt popolnoma zgrajen, namesto da bi tekmovala s preverjanjem stanja niti RTL iz notranjosti konstruktorja

Version 2.569.0

Added

  • THPDFCertificateValidationOptions.TrustPurpose izbere politik EKU: unrestricted, document-signing, code-signing, email-protection, timestamping, OCSP-signing ali po meri, medtem ko validacija poti ohrani popolno uveljavljanje dovoljenih in izključenih poddreves imen ter preslikavo in zaviranje politik potrdil, izbrani namenski OID pa poroča v THPDFCertificateValidationInfo

Version 2.568.0

Added

  • THPDFSignatureEvidenceTask pridobiva dokaze timestamp, OCSP in CRL skozi omejene delavce v ozadju s stabilnim vrstnim redom rezultatov, eksponentnim ponavljanjem in omejenimi zamiki strežnika, sodelovalnim preklicem, omejitvami velikosti odgovorov, izolacijo prevoznih izjem, živimi posnetki ter ločenimi izidi: trajna napaka, izčrpanost, preklic in prevelik odgovor

Version 2.567.0

Added

  • THPDFWindowsKeyStorageSignatureProvider podpisuje skozi ponudnike shranjevanja ključev CNG za smart card, TPM in proizvajalce, brez izvažanja zasebnih ključev; podpira iskanje trajno shranjenih ključev ali posojene in lastniške vrednosti NCRYPT_KEY_HANDLE, neobvezno strojno vsiljevanje, tihi dostop, RSA PKCS#1 v1.5, RSA-PSS, omejen izhod in razvrščanje stanja ponudnika, poleg obstoječega vmesnika PKCS#11

Version 2.566.0

Added

  • HPDFNormalizeContentStreamGraphicsState in HPDFCompareContentStreamsSemantic primerjata dekodirane vsebinske toke skozi omejene kanonične dogodke, pri čemer odpravita razlike v zapisu števil in nizov, odvečne nastavitvenike grafičnega in besedilnega stanja, prazne obsege q/Q in ekvivalentne zložene matrike, hkrati pa ohranita učinkovito stanje, operande operatorjev in identitete vrinjenih slik SHA-256

Version 2.565.0

Changed

  • SaveIncrementalUpdate zdaj po uničujočih urejanjih znova zgradi celotno aktivno verigo prostih objektov, ohrani prej proste generacije, na novo osvobojenim generacijam prišteva z saturacijo pri 65535, prepisanim objektom ohrani neničelne generacije, vnose izda v določilnem vrstnem redu po številkah objektov, rezultat pa izpostavi prek GetLastIncrementalXRefRebuildInfo

Version 2.564.0

Added

  • THPDFPage.TextOutOutline oblikuje Unicode besedilo po izbiri klicatelja skozi trenutno pisavo TrueType, pretvori zapise GDI move, line, kubični Bézier in close-path v domorodne poti PDF s velikostjo pisave, vodoravnim raztegovanjem, položajem osnovne črte in rotacijo, jih pa nato zapolni pod obstoječim grafičnim stanjem clip, barve, načina blend, alfa in soft mask, brez vgrajevanja operatorjev besedila

Version 2.563.0

Added

  • FlattenLoadedPageComplexGraphics zazna mesh shading in zapletene vire Pattern, ovrednoti naraščajoče rasterske ločljivosti proti omejeni referenci visoke ločljivosti s 16 regijami po metriki zaznavne napake, utežene po svetlosti, ohrani strani s spot barvami in izda izbrani rezultat skozi omejenega pisalnika ploščic CalRGB brez šivov

Version 2.562.0

Changed

  • FlattenLoadedPageTransparency zdaj razreši barve vira ICC, CIE, naprave, soft mask, blend prostora, rendering intent in kompenzacije črne točke skozi skupni izrisovalnik, nato pa izda ploščice D65 CalRGB, stisnjene s Flate, brez šivov, pod klicateljevima proračunoma skupnega rastra in pikslov na ploščico, s telemetrijo vrhnjega pomnilnika

Version 2.561.0

Added

  • ScrubLoadedRedactionRemnants odstrani pripombe Redact in priloge datotek, informacije dokumenta, metapodatke XMP in zasebne, povezane in vgrajene datoteke ter vsako posredno pisavo, sliko, koristno breme ali drug objekt, ki po redigiranju ostane nedosegljiv, nato stisne številke objektov in vsili poln prevpis, ki ne more ohraniti bajtov postopnih revizij

Version 2.560.0

Changed

  • ApplyLoadedRedactions zdaj postavi mejno obrobo even-odd clip okoli celotne vsebine strani, tako da se sekajoče besedilo, poti, slike, vzorci, vrinjene slike in Form XObjects natančno obrežejo; neposredni operandi besedila in posamezni elementi TJ se izpraznijo s štirikotniki glifov, prekrivajoči se pravokotniki redigiranja pa se previdno združijo

Version 2.559.0

Changed

  • Uvozi strani zdaj ponovno uporabijo ekvivalentne posredne slike, Form XObjects, Pattern, vgrajene programe pisav, slovarje Font in slovarje ExtGState čez strani in izvorne dokumente prek kanoničnih prstnih odtisov SHA-256, ki upoštevajo odvisnosti, s statistiko zadetkov, zgrešitev in vnosov za celoten cilj

Version 2.558.0

Added

  • AnalyzeLoadedPageSemanticText in ExtractLoadedPageSemanticText zgradita stabilen vrstni red branja iz štirikotnikov glifov s ponavljajočimi se pasovi stolpcev, poravnanimi vrsticami in celicami tabel, ravnmi seznamov, naslovi, napisi slik in tabel ter navpičnimi conami polne širine, z omejenim grupiranjem O(n log n) namesto vrstnega reda toka

Version 2.557.0

Added

  • Izluževanje naloženih strani zdaj ohrani večskalarne cilje /ToUnicode in vrne zapise znakov s preoblikovanimi štirikotniki, osnovnimi črtami, izvornimi grozdmi ter izrecno pripadnostjo komponentam ligatur, hkrati pa poroča, ali širine pisav in navpične metrike naredijo geometrijo natančno

Version 2.556.0

Changed

  • Izluževanje besedila naloženih strani zdaj rekonstruira manjkajoče ali nepopolne preslikave /ToUnicode iz vgrajenih formatov sfnt cmap 0, 4, 6 in 12, imen glifov /Encoding /Differences z oporo AGL, pravilno dekodiranih binarnih tokov /CIDToGIDMap in zbirk tabel Adobe CID; iste Fallbacke lahko uporabi tudi obrnjena zamenjava besedila

Version 2.555.0

Changed

  • Ponovna uporaba oblikovanja na strani izdelovalca zdaj uporablja iskanje z zgoščevanjem, stabilne identitete vsebine pisav, natančno 64-bitno masko funkcij, ključe navpičnosti, skripta, jezika in smeri ter vnose besednih rezin, vezane na kontekst, ki lahko sestavijo ponavljajoče se transformacije enake dolžine čez spreminjajoče se teke besedila, hkrati pa ohranijo omejen pomnilnik LRU in podrobno telemetrijo rezin

Version 2.554.0

Changed

  • Mešano desno-proti-levi besedilo zdaj določa pare oklepajev iz obdanih in predhodnih močnih pisem, zrcali oklepaje in pogoste smerne operatorje le v RTL tekih, med obračanjem LTR podtekov ohranja nadomestne pare iz dopolnilne ravnine ter skupke kombinirajočih znakov, surove teke ID-jev glifov pa obdrži ločene od ravnanja z ločili Unicode

Version 2.553.0

Changed

  • Navpično pisanje zdaj izpeljuje izhodišča glifov TrueType iz zgornjih bočnih odmikov vmtx in meja glyf, daje vrt2 prednost pred vert čez celoten GSUB tek z ohranjanjem dolžine, za ločila pa uporablja preslikane navpične predstavitvene glife Unicode in pri tem ohranja izluščeno izvorno besedilo

Version 2.552.0

Added

  • Registrirane barvne pisave OpenType zdaj izberejo najbližji sbix ali bitni strike CBDT/CBLC znotraj meja, varno razrešijo podvojene zapise glifov sbix, prepoznajo vire PNG, JPEG in TIFF, dekodirajo PNG in JPEG nativno ter vsako bitno sliko umestijo glede na ppem njenega strika in metrike izhodišča osnovne črte

Version 2.551.0

Changed

  • Registrirani barvni glifi SVG v pisavah OpenType zdaj rišejo osnovne poti, like, podedovana polna polnila in poteze, afine transformacije ter gzip stisnjene dokumente neposredno kot PDF vektorje, z mejenim razčlenjevanjem in zavračanjem po načelu fail-closed za skripte, entitete, zunanje vire, aktivne povezave, nepodprto prosojnost in pretiran vhod

Version 2.550.0

Changed

  • Registrirane pisave OpenType zdaj razčlenijo mejene DAG-e barvanja COLR v1 in rišejo plastena polna, linearna, radialna in sweep polnila prek obrez glifov, afinih transformacij barvanja, ponovno uporabnih barvnih glifov, vrstnega reda source-over in PDF kompozitov mešanja; ciklični, pretirani in izven obsega grafi pa odpovedo fail closed, preden stran gre v izhod

Version 2.549.0

Added

  • BeginLoadedPageProgressiveRegionRender zdaj izriše mejeno okno uporabniškega prostora skozi nadaljujeme rezine operatorjev, ponovno uporabi predpomnjene sezname prikaza, previdno izloči nesorodne predmete barvanja in pri tem ohrani napredovanje grafike in besedila, rezervacije pomnilnika prilagodi ROI ter poroča število vidnih in izločenih predmetov barvanja

Version 2.548.0

Changed

  • Overprint proofing zdaj ohrani ciljne plošče, ki jih ni med barvili DeviceGray, Separation in DeviceN, uveljavi točno zaščito ničelnih komponent DeviceCMYK pri /OPM 1, zamenja izrecno imenovane procesne plošče in združi spot barvila prek njihovih tint transformacij ter alternativnih barvnih prostorov

Version 2.547.0

Changed

  • Izrisovanje naloženih strani zdaj obdeluje izolirane in knockout skupine prosojnosti v mejenih ploščicah velikosti 768 pikslov, ohrani absolutne koordinate naprave čez ugnezdene skupine in mehke maske lokalne na ploščico, vsako Form dekodira in tokenizira enkrat ter prek GetLastTransparencyGroupTileStats razkrije število skupin, število ploščic, vrh shrambe ploščic in ocenjeno shrambo brez ploščic

Version 2.546.0

Fixed

  • Mehke maske luminoznosti zdaj razrešijo in preverijo barvni prostor mešanja svoje skupine prosojnosti, izpeljejo kolorimetrični CIE Y za vsebino ICCBased in Lab, pretvorijo barvila Separation in DeviceN skozi popolne transformacije alternativnih prostorov, uveljavijo ozadja z točnim številom komponent čez vektorske, senčilne, mrežne in slikovne poti ter prevedene maske ponovno uporabijo le pri ujemajočih se transformacijah in rendering intentih

Version 2.545.0

Added

  • Izrisovanje naloženih strani zdaj izvede pragovne rastre Type 6, Type 10 in Type 16 s kompaktno periodično geometrijo, točno 8-bitno ali big-endian 16-bitno primerjavo, neodvisnimi RGB rastri Type 5 in preglasitvami transferja, mejenim predpomnilnikom prevedenih rasterov 64 MiB ter atomskim fallbackom zveznega tona za nepravilne ali prevelike podatke

Version 2.544.0

Added

  • Izrisovanje naloženih strani zdaj izvede celotni polji /TR in /TR2 z neodvisnimi identitetnimi kanali ter ovrednoti predpomnjene vzorčne funkcije Type 0 čez eno do štiri vhodne in izhodne dimenzije, vse standardne pakirane globine vzorcev, izrecne preslikave encode in decode, linearno interpolacijo, večdimenzijsko kubično interpolacijo in enodimenzijske naravne kubične zlepkove, vse znotraj proračuna predpomnilnika funkcij 64 MiB

Version 2.543.0

Added

  • Izrisovanje naloženih strani zdaj predpomni dekodirane in tokenizirane sezname prikaza CharProc Type 3 po pisavi, glifu, linearni matriki in barvnem stanju skozi LRU s 256 vnosi in 131.072 žetoni, ohrani translacijo in polno izvedbeno semantiko d0/d1 ter prek GetLastType3GlyphCacheStats razkrije telemetrijo zadetkov, zgresitev, izrinov, velikosti in obhoda prevelikih vnosov

Version 2.542.0

Added

  • Barvni in nebarvni vzorci tilinga se zdaj izrisujejo z matrikami vzorcev v privzetih koordinatah starša, vsemi tremi ISO vrstami tilinga, predznačenimi koraki, izoliranimi potmi celic, doslednimi osnovnimi tintami polnila in poteze, transformacijami ugneždenih virov, mejeno rekurzijo in izvajanjem ploščic, RegisterTilingPattern in THPDFTilingPatternBuilder pa razkrijeta preverjeno izbiro matrike in vrste tilinga

Version 2.541.0

Added

  • Naložene slike JPEG in JPEG 2000 lahko zdaj izberejo deterministično kakovost rekompresije iz mejenih poskusov kodiranja tako, da prek OptimizeLoadedImagesByVisualCost združijo vzorčno zaznavno napako, uteženo po luminanci, z relativnim stroškom kodiranih bajtov; vključno z izrecnimi mejami napake in prihrankov, preverjanji preklica, stabilnim razreševanjem izenačenj in podrobno telemetrijo izbire

Version 2.540.0

Added

  • Dekodiranje regij JPEG 2000 lahko zdaj vzporedno rekonstruira neodvisne presekajoče se tile codestreama s stanjem kodeka na delavca, deterministično sestavo po vrsticah, preverjanji preklica, samodejnimi omejitvami delavcev po CPU in uporabniku, fallbackom proračuna vrha pomnilnika ter dekodirno telemetrijo, razkrito prek JPEG2000ParallelTileDecoding, JPEG2000TileWorkerLimit in GetLastJPEG2000ParallelDecodeStats

Version 2.539.0

Added

  • Dekodiranje JPEG 2000 zdaj podpira preverjen neposreden dostop do tileov codestreama, združeno rekonstrukcijo izvorne regije in ločljivosti zanimanja na potenco dvojke, proračune dekodiranega izhoda, zahteve po ločljivosti skozi kodekske delavce, izolirane pred sesutjem, ter samodejno izbiro izrisovalnika naložene strani glede na vidne ciljne piksle prek DecodeLoadedImageRegionAtResolution

Version 2.538.0

Added

  • Progresivno izrisovanje naloženih strani zdaj dekodira primerne slike DCTDecode en JPEG scan na mejen nadaljevalni korak, objavlja števce scanov in slik ter preklicljive scan callbacke, uveljavlja proračune izhoda in števila scanov ter se pri neskladnem stanju barvanja, onemogočenem dekodiranju, izolaciji kodeka ali nepravilnem vhodu vrne na pot celotne slike

Version 2.537.0

Added

  • Naložene slike CCITTFaxDecode zdaj dekodirajo nestisnjena razširitvena načina T.4 in T.6, ločijo EOFB od nepodprtih razširitev, upoštevajo EndOfLine, EndOfBlock in DamagedRowsBeforeError ter obnovijo poškodovane vrstice Group 3 z mejeno EOL resinhronizacijo in zamenjavo vrstic, kot jo določa specifikacija

Version 2.536.0

Added

  • Zahteve po slikovnih regijah JBIG2 zdaj zgradijo mejeno zaprtje odvisnosti in dekodirajo le tiste stranske regije, ki se sekajo z zahtevano ploščico, sestavijo obrezane piksle z deklariranimi operatorji, preskočijo neodvisne regije izven okna, ohranijo verižene globalne slovarje in razkrijejo statistiko dekodiranja prek THPDFJBIG2Decoder.LoadRegionFromByteArray

Version 2.535.0

Added

  • Nativna pot JBIG2 v Pascalu zdaj sprejme mejene tabele nanašajočih se segmentov v dolgi obliki z eno-, dvo- in štiribajtnimi identifikatorji, razreši večnivojske verige globalnih slovarjev, zavrne neveljavne odvisnosti in razkrije HPDFJBIG2SplitSymbolDictionaryGlobals za ločevanje tokov z ohranjanjem odvisnosti

Version 2.534.0

Added

  • Nativni dekodirnik JBIG2 v Pascalu zdaj ohranja in ponovno uporablja generične ter refinement aritmetične kontekste verjetnosti čez odvisne slovarje simbolov, vključno z veriženimi in razvejenimi (fan-out) sklici, s kontekstno velikostjo, ki pozna predlogo, izolacijo prek globoke kopije in zaščitami pred nepravilnim virom

Version 2.533.0

Added

  • Nativni dekodirnik JBIG2 v Pascalu zdaj opravlja z aritmetičnimi in standardno-Huffmanovimi refinement ter agregatnimi simboli v slovarjih simbolov, poleg tega pa z izboljšanimi instancami v besedilnih regijah, s skupnimi refinement konteksti, mejenimi aritmetičnimi podtokovi, prilagodljivimi refinement predlogami in zaščitami pred nepravilnimi sklici

Version 2.532.0

Added

  • Nalaganje dokumentov z velikim odtisom, izrisovanje strani, optimizacija tokov in vzporedna optimizacija slik zdaj delijo pošten razporejevalnik vrha pomnilnika na ravni procesa z nastavljivim bajtnim proračunom, vstopom po FIFO in za prevelike vnose, čakanjem, ki zaveda preklic, neizsporano pot brez alokacij, kumulativno statistiko pritiska ter telemetrijo rezervacije in čakanja na operacijo

Version 2.531.0

Changed

  • Začasna shramba prelivanja zdaj uporablja neodvisno stisnjene bloke po 256 KiB, nestisljive bloke obdrži brez razširitve, pisanja združuje v pakete skozi mejeno asinhrono vrsto, podpira naključno prepisanje in spreminjanje velikosti ter poroča logično, fizično, blokovsko, paketno in povratnotlačno statistiko

Version 2.530.0

Changed

  • Surovi stisnjeni razponi, dekodirane slike, prevedeni seznami prikaza in izrisane rasterske strani zdaj združijo vrstni red najmanj nedavno uporabljenih z mejeno skico frekvenc, s čimer pregledi v enem prehodu ne izrinejo vzpostavljenih vročih vnosov
  • AdaptiveAdmission lahko povrne čisto nedavnostni vstop na plast, frekvenčni vstopi, zavrnitve in cikli staranja pa so razkriti skozi statistiko predpomnilnika

Version 2.529.0

Added

  • THPDFCacheAdmissionPolicy in SetCacheAdmissionPolicy zagotavljata neodvisne omejitve števila vnosov, skupnih bajtov in omejitve na vnos za surove stisnjene razpone, dekodirane slike, prevedene sezname prikaza in izrisane rasterske strani
  • GetCacheAdmissionStatistics poroča zasedenost, zadetke, zgresitve, vstope, zavrnitve in izrine za vsako plast, preveliki seznami prikaza in rasterske strani pa obidejo hrambo, ne da bi trenutna operacija spodletela

Version 2.528.0

Changed

  • Naloženi dokumenti zdaj internirajo ponavljajoča se imena PDF, operatorje vsebinskih tokov in nespremenljive nize do 64 bajtov v bazenu z obsegom dokumenta, kar zmanjša podvojenost shrambe nizov čez razčlenjene predmete in vsebinske operacije
  • GetDocumentStringInternStatistics poroča zahteve po kategorijah, zadetke, zgresitve, obvoze, obdržano shrambo in ponovno uporabljene bajte, trda omejitve 65.536 vnosov in 4 MiB pa tudi zlonamerno oblikovane dokumente držijo znotraj mej

Version 2.527.0

Changed

  • Nalaganje PDF zdaj uporablja obdržano blokovsko areno za kratkoživa razčlenjevalska žetona in medpomnilnike, kar zmanjša promet dodeljevalca, trajni predmeti dokumenta pa ostanejo lastniško neodvisni
  • Ključe slovarjev razčleni neposredno, brez izgradnje začasnih predmetov imen, GetLastParserArenaStatistics pa poroča obdržano shrambo, vrh uporabe, ponovno uporabo alokacij, promet žetonov in izpuščanje začasnih predmetov

Version 2.526.0

Changed

  • HPDFTransferStream zdaj zapisuje vire iz pomnilnika, preslikanih datotek, lenih datotek, prilagodljivega predpomnilnika in predpomnilnika razponov skozi poti, ki poznajo shrambo, brez dodelitve vmesnega medpomnilnika za celoten tok
  • Nesifrirana serializacija PDF tokov, dekodiran izhod brez filtrov, izvoz surovih naloženih slik, materializacija lenih tokov in prelivanje začasnih tokov samodejno uporabijo neposreden prenos, za diagnostiko pa so na voljo bajtni števci preslikanih datotek in predpomnilnika razponov

Version 2.525.0

Changed

  • Prednalaganje pri naključnem dostopu razčlenjevalnika se zdaj med vztrajnim branjem naprej prilagodljivo poveča skozi bloke 1, 2, 4 in 8, ostaja omejeno z nastavljeno zmogljivostjo predpomnilnika in se takoj po naključnih ali vzvratnih iskanjih potisne
  • AdaptiveReadAheadEnabled, MaxReadAheadBlocks in SequentialReadToleranceBytes razkrijejo nadzor pravil, statistika predpomnilnika razponov pa poroča razvrstitev dostopov ter trenutna ali vrhovna okna read-ahead

Version 2.524.0

Added

  • THPDFCoalescingRandomAccessSource združi sosednja branja razčlenjevalnika v nastavljive predpomnjene razpone, uveljavi mejen proračun bajtov po načelu najmanj nedavno uporabljenih in razkrije statistiko vira, predpomnilnika in prednalaganja
  • LoadFromRandomAccessSource zdaj samodejno uveljavi združevanje razponov in asinhrono prednalaganje naslednjega razpona, iskanja v ospredju prekličejo nesorodno delo, ReadAtCancellable pa oddaljenim prenosom omogoči sodelovalno prekinitev tekočih zahtev

Version 2.523.0

Changed

  • Radialna senčenja Type 3 se zdaj izrisujejo skozi prilagodljivo Gouraudovo teselacijo z omejeno napako namesto fiksnih polnih barvnih diskov s 48 stranicami
  • Meje krogov pri visokem DPI in v transformacijah uporabljajo toleranco tetive 0,35 napravnega piksla, nelinearne barvne funkcije se prilagodljivo delijo, notranjosti nerazširjenih začetnih krogov pa ostanejo nepobarane

Version 2.522.0

Fixed

  • Nalaganje z geslom V=4 zdaj razreši neodvisne privzete vrednosti StrF in StmF skupaj z neposrednimi ali poljnimi preglasitvami Crypt na ravni toka
  • Parametri crypt toka lahko izberejo Identity, V2 ali AESV2, porabljeni vnosi filtrov pa se odstranijo, preden steče preostali pipeline dekodirnika tokov

Version 2.521.0

Added

  • Naložene slike DCTDecode, JPXDecode in JBIG2Decode lahko zdaj dekodirajo v delovnih procesih Win32 ali Win64, izoliranih pred sesutjem, skozi mejen skupni pomnilnik
  • Nadzori CodecIsolationMode, poti delavcev, timeouta in omejitev pomnilnika podpirajo skladno samodejno uvedbo ali fail-closed ravnanje z nedoverjenimi dokumenti, s strukturirano telemetrijo stanja, procesa, izhodne kode in časovanja

Version 2.520.0

Added

  • THPDFDeterministicReplayLog beleži mejene urejene odločitve za kontrolne točke preklica, razpoložljivost razponov naključnega dostopa in izide boolean ali celoštevilskih callbackov, s stabilnim izvozom in uvozom JSON
  • Strog replay preveri identiteto dogodka, argumente in zaporedje, pri čemer ponovno ustvari odločitve progresivnega nalaganja, filtriranja anotacij in preklica tile callbackov neodvisno od trenutnega zunanjega stanja

Version 2.519.0

Added

  • BuildLoadedObjectDependencyGraph zdaj razkrije mejena vozlišča indirektnih predmetov in povezave referenčnih rež z točnimi identitetami predmetov, potmi, stanjem razrešitve, stanjem življenjskega cikla in dosegljivostjo Cataloga
  • Vozlišča predmetov poročajo prenosljive ocene plitvega pomnilnika in obdržane bajte na podlagi dominatorjev, tako da so deljeni viri pripisani najbližjemu predmetu, ki jih izključno obdrži

Version 2.518.0

Added

  • Mejena obnovitev navzkrižnih referenc zdaj razkrije strukturiran tok dogodkov, ki zajema sprejemanje in zavračanje kandidatov, izbrane sekcije xref, ponovno zgrajene odmike, spodletele omejitve in končne izide
  • Vsak dogodek obnovitve nosi vključno-izključni bajtni razpon vira, identiteto indirektnega predmeta, kadar je to na mestu, izrecno raven zaupanja in mejeno angleško diagnostiko, s nastavljivo hrambo in knjigovodstvom spuščenih dogodkov

Version 2.517.0

Added

  • Poenotena telemetrija operacij zdaj poleg obstoječih meril pretečenega časa in pomnilnika komponent poroča še CPU čas trenutne niti, vrh dodatnih živih alokacij Delphi, vzorčen delovni nabor procesa, bajtne delte procesnega I/O, zgresitve predpomnilnika in razširjenost dekodiranih tokov
  • Oblačunavanje dekodiranja zdaj loči kodirani vhod, skupno delo filtrov in končne izhodne bajte, razširjenost pa je objavljena v promilih, kjer 1000 pomeni 1x

Version 2.516.0

Added

  • Regresijski primeri nepravilnih PDF se lahko zdaj nenehno znova preverjajo in znova pomanjšujejo pod nastavljivimi omejitvami poskusov in bajtov, pri čemer se najmanjši vhod z enakovrednim podpisom okvare obdrži skozi procesno varno zaklepanje in atomsko zamenjavo
  • Korpusni PDF uporabljajo stabilne ID primera iz podpisa okvare in deterministične stranske datoteke hotpdf.corpus.case.v1 z vsebinskim SHA-256 in številom bajtov

Version 2.515.0

Added

  • Regresijske sonde čez pogone zdaj pokrivajo domene razčlenjevanja, izrisovanja, besedila in shranjevanja z mejenimi vgrajenimi prstnimi odtisi HotPDF SHA-256, preverjanji stabilnosti čez ponovljena poganjanja, izoliranimi izidi izjem, imenovanimi pogoni, omejitvami vhoda in determinističnimi verzioniranimi poročili JSON

Version 2.514.0

Added

  • Verzioniran raven C ABI zdaj nalaga PDF-e skozi 64-bitne callbacke naključnega dostopa neposredno v medpomnilnike razčlenjevalnika in jih shranjuje skozi ponovljive zaporedne zapisovalne callbacke, brez da bi Delphi upravljani tipi prestopili mejo
  • HotPDFABI.dll pošilja stabilne cdecl izvoze, opačne preverjene ročaje, fiksne kode stanja, izrecne bajtne dolžine, preklic, napredek, diagnostiko, samodejno gradnjo Win32 in Win64, uvozne knjižnice ter po postavitvi preverjeno glavo hotpdf_abi.h

Version 2.513.0

Added

  • Validatorji PDF/UA-2, PDF/A-4 in PDF/X-6 lahko zdaj vrnejo enoten skupni strojno berljiv model ugotovitev s profilom, resnostjo, stabilnim ID pravila, klavzulo standarda, potjo predmeta, številko predmeta in lokacijo strani od nič
  • Podrobne ugotovitve popravil PDF/UA-2 ločijo uveljavljena, nerazrešena, povrnjena in spodletela dejanja s števci popravil, ComplianceFindingsToJSON pa odda deterministično verzioniran JSON za CI in revizijske pipeline

Version 2.512.0

Added

  • Transakcijsko popravljanje PDF/UA-2 zdaj obnovi manjkajoče nadomestno besedilo iz obstoječega semantičnega besedila ali označene vsebine strani, spodbudi veljaven jezik dokumenta za podedovanje, zapre vrzeli ravni naslovov in uskladi strukturne vloge Artifact z oznakami marked-content za dokumente iz proizvajalca in naložene
  • Možnosti popravila razkrijejo izrecne privzete vrednosti in mejene fallback pravile, poročilo popravila pa loči uspešne spremembe nadomestnega besedila, jezika, naslovov in artefaktov od nerazrešene semantike, ki zahteva avtorski pregled

Version 2.511.0

Changed

  • Rekompresija naloženih slik in zmanjševanje ločljivosti po dejanskem DPI zdaj barvno pretvorita podprte vhode ICCBased, CalGray in CalRGB v izrecni kalibrirani RGB, nepodprte kalibrirane, Separation in DeviceN slike pa ostanejo nespremenjene in poročajo svojo odločitev o ohranitvi
  • Sploščevanje prosojnosti zdaj odda kalibrirani RGB, rekurzivno zazna spot barvila čez strani in ugnezdene vire ter ohrani strani z barvili Separation ali DeviceN kot vektorsko vsebino s strukturirano statusno diagnostiko
  • Izrisovanje CalRGB zdaj upošteva vrstni red elementov PDF matrike in uveljavi pravo inverzno transformacijo XYZ-v-sRGB za vektorske in rasterske barve

Version 2.510.0

Changed

  • Barvne transformacije ICC se zdaj ponovno uporabijo skozi nitno varen mejen predpomnilnik LRU velikosti 64 MiB, ki ga ključajo celotne vsebine izvornega, dokaznega in izhodnega profila, učinkovit rendering intent in nastavitev kompenzacije črne točke, s čimer se izognemo ponavljajočemu razčlenjevanju profilov in izgradnji transformacij čez vektorske, slikovne, stranske in vzporedne poti izrisovanja

Version 2.509.0

Changed

  • Izrisovanje ICC naloženih strani zdaj uveljavi vse štiri PDF rendering intente in pravo kompenzacijo črne točke čez izvorne, dokazne, izhodne in sRGB transformacije tako za vektorske barve kot slikovne vzorce, platformna barvna storitev pa ostane ohranjena kot združljivostni fallback

Version 2.508.0

Changed

  • LZW kodirnik (TPDFLZWCompressor) je dobil preobremenitev Compress(Input, Parms), ki pred stiskanjem uveljavi povratni (forward) PNG/TIFF prediktor, s čimer je simetričen poti dekodirnika Decompress(Input, Parms), tokove LZW+Predictor pa je mogoče zapisati v obe smeri
  • Interpret vsebinskih tokov zdaj sledi grafičnemu operatorju cm in ustvari posnetek aktivne CTM na vsak oddan glif (THPDFGlyphRecord.CTMA..CTMF), tako da klicatelji izračunajo pravo izhodišče v uporabniškem prostoru prek CTM * Tm, kadar transformacijske matrike predhodijo besedilu. Glifova X/Y ostanejo v besedilnem prostoru (identitetna CTM je pogost primer), zato obstoječe obnašanje ostaja nespremenjeno
  • ReplaceLoadedPageText / ReplaceLoadedDocumentText zdaj opravita z zadetki, ki prečkajo dva ali več zaporednih operandov preprostih nizov (npr. (Hel) Tj (lo) Tj): začetni operand prejme celotno nadomestno besedilo (kodirano skozi njegovo pisavo, z ohranjeno neujemajočo se predpono), vsak nadaljnji operand v obsegu zadetka pa se izprazni. Prej so se takšni zadetki čez operande tiho preskočili kot dokumentirana omejitev; vsa obnašanja zamenjave z enim operandom ostajajo nespremenjena

Version 2.507.0

Added

  • Dodano izbirno šifriranje tokov: nova zastavica THPDFStreamObject.SkipEncryption, ki jo upošteva šifrirna vrata zapisovalnika, posamezen tok pusti v čistem besedilu, tudi kadar je aktivno šifriranje celotnega dokumenta (ISO 32000-1 7.6.4 izbirni crypt filter /Identity). To je temelj za mešane šifrirane/čiste tokove v enem dokumentu

Version 2.506.0

Added

  • Dodano dešifriranje starejših PFX z RC2: DecryptPKCS12EncryptedBytes zdaj usmerja pbeWithSHA1And40BitRC2-CBC (OID 1.2.840.113549.1.12.1.6) in pbeWithSHA1And128BitRC2-CBC (1.2.840.113549.1.12.1.5), pri čemer klonira pot 3DES CryptoAPI s parametrom KP_EFFECTIVE_KEYLEN, nastavljenim na 40 / 128, tako da se uvoženo ključno gradivo RC2 bere pri pravi učinkoviti moči namesto polne dolžine
  • Dodano burn-in redigiranje: ApplyLoadedRedactions prehodi vsako anotacijo /Subtype /Redact, izprazni podlegajoče operande nizov za prikazovanje besedila, katerih glifi padejo znotraj /Rect anotacije (bajti postanejo presledki, torej je besedilo zares izginilo iz izluščitve in ni le prekrito), preko vsake regije prebarva neprosojen pravokotnik in vrne število izpraznjenih operandov. Podpira argument obsega strani ('' = vse strani). Dodaja tudi AddLoadedRedactAnnotation za ustvarjanje anotacij /Redact na naloženi strani. Izpraznjenje elementov polja TJ in obrez vektorjev/slik sta izven obsega tega kroga (operandi enojnega niza Tj / ' / " se izpraznijo; prizadeti nizi TJ se preskočijo z fallbackom polnilnega pravokotnika)

Version 2.505.0

Changed

  • Interpret besedila zdaj določi vodoravni zamik vsakega glifa iz prave tabele /Widths pisave (PDF 1.7 9.6.3) po novi metodi IHPDFFontResolver.Advance namesto po prejšnjem ravnem približku 0.5 * fontSize. HPDFBuildFontDecoder bere /FirstChar, /LastChar in številčno polje /Widths za preproste (ne-CID) pisave; kadar širina ni na voljo, razreševalnik vrne 0, interpret pa obdrži half-em fallback, zato je obnašanje za pisave brez širin nespremenjeno. To izboljša točnost X pozicioniranja glifov pri izluščitvi besedila, zaznavanju stolpcev in analizi vrstnega reda branja

Version 2.504.0

Added

  • Dodan SetLoadedAcroFormCalculationOrder za ponovno izgradnjo polja vrstnega reda izračunov AcroForm /CO v klicateljevem zaporedju imen polj (polja, ki se ne razrešijo, se preskočijo), tako da se veriga izračunov lahko zapiše izrecno in ne le dodaja
  • Dodan RegisterNChannelColorSpace, pomočnik barvnega prostora v varianti DeviceN, ki odda oznako /NChannel (PDF/X-6 / PDF 2.0) za barvne prostore, ki lahko med svojimi barvili vključujejo procesna barvila
  • Dodan SetStructureElementClass za zapis polja imen razredov /C strukturnega elementa (PDF 1.7 14.9.2.2) s sklici na deljene razrede atributov
  • Dodan AddLoadedPagePieceInfo za zapis slovarja page-piece (PDF 1.7 14.5) pod /PieceInfo/<Application> z datumskim žigom /LastModified in klicateljevimi pari ključ/vrednost

Version 2.503.0

Added

  • Iskanje besedila brez ločevanja velikih in malih črk zdaj zloži Unicode namesto le ASCII: skupni ujemovalnik glifov (HPDFMatchGlyphs) zamenja svojo redukcijo A-Z v male črke s TCharacter.ToLower (Unicode Simple_Lowercase_Mapping), tako da velike črke z naglasi v latinici (À-ý), grščine (Α-Ω) in cirilice (А-Я) v SearchLoadedPageText / SearchLoadedDocumentText zadenejo svojo obliko malih črk. Gradnje pred XE2 obdržijo ASCII fallback
  • Dodan callback vgrajenih slik v abstrakcijo vsebinske naprave: IHPDFContentDevice.ProcessInlineImage se sproži za vsak blok BI/ID/EI, kadar naprava deklarira cdcNeedImages, in nosi povzetek normalizirane širine / višine / barvnega prostora / slike-maske, ki ga je raven tokenizator že zajel na žetonu BI. Naprave za izluščevanje besedila, oštevilčevanje poti in revizijo lahko zdaj upoštevajo vgrajene slike namesto da bi jih tiho preskočile; izrisovalnik strani callback usmeri v no-op, ker vgrajene slike riše skozi svojo produkcijsko zanko

Fixed

  • Popravljeno tiho izgubljanje PDF/A OutputIntenta, dodanega naloženemu dokumentu, pri SaveLoadedDocument: AddPDFAOutputIntent je napolnil seznam intentov v pomnilniku, a pot shranjevanja naloženega dokumenta tega ni nikoli pripela na katalog, zato je izhod padel na veraPDF zaradi manjkajočih /OutputIntents. Nov korak EnsureLoadedPDFAOutputIntents zdaj obesi FOutputIntents na polje /OutputIntents naloženega kataloga in ga pred shranjevanjem označi kot umazano, kar vsili ponovno serializacijo z navzočim intentom

Version 2.502.1

Fixed

  • Popravljeno izrisovanje sploščenih vrednosti polj AcroForm kot debel potezni oris namesto običajno zapolnjenega besedila: EnsureLoadedFieldAppearanceStream zdaj v vsakem ustvarjenem toku izgleda vtičnika takoj za BT izda izrecen 0 Tr (fill), tako da je način izrisovanja besedila determinističen ne glede na obdajajoče stanje vsebine strani. Prej je Form XObject, porabljen prek Do, podedoval izpuščeni 1 Tr (stroke) na grafičnem stanju in vrednost polja pobarval z 2-točkovnim rdečim orisom, ki je izgledal krepko in zmotno obarvan
  • Odstranjen star blok ponastavitve privzetega stanja na repu THPDFPage.CloseCanvas, ki je po GStateRestore (torej zunaj vsakega para q/Q) zapisal 1 0 0 RG/rg + 1 Tr + 2 w neposredno v vsebinski tok strani, brez operatorja poti, ki bi jih porabil. To preostalo grafično stanje se je ucelo v vse, kar je bilo kasneje risano na straneh iz avtorstva, in je bil povzročitelj zgornjega simptoma debelega orisa besedila; zapiranje platna zdaj pusti vsebinski tok čist, ker q/Q okoli predvajanja metafile že izolira stanje predvajanja

Version 2.502.0

Added

  • Dodan LZW kodirnik (TPDFLZWCompressor), simetričen obstoječemu TPDFLZWDecompressor, tako da je tokove mogoče zapisovati z LZW in je nabor PDF filtrov zdaj popoln v obe smeri; kodirnik zrcali umestitev Clear / EOI dekodirnika, rast kod spremenljive širine in konvencijo EarlyChange ter preživi povratno pot skozi dekodirnik, vključno čez 12-bitno nasičenost polnega slovarja
  • Dodana polna podpora imenovanih barv CSS / X11 v razlago barv besedila HTML, s čimer je prepoznana paleta razširjena iz podedovanih 16 barv VGA na celoten nabor CSS Color Module Level 4 (od aliceblue do yellowgreen, vključno z vzdevki gray/grey, aqua/cyan in fuchsia/magenta) prek tabele z binarnim iskanjem
  • Dodano ustvarjanje Optional Content Membership Dictionary z AddLoadedOptionalContentMembership, ki zgradi predmet /Type /OCMD, katerega seznam /OCGs in pravilo /P (AnyOn / AllOn / AnyOff / AllOff) napajata obstoječi ovrednotilnik EvaluateLoadedOCVisibility, tako da kompleksne izraze vidnosti plasti lahko zdaj avtoriramo, ne le porabljamo
  • Dodana vstopna točka anotacij FreeText z bogatim besedilom AddLoadedFreeTextAnnotationRichText, ki anotaciji FreeText (PDF 1.5 12.5.6.16) pripne XML fragment bogate vsebine /RC in izbirni privzeti slog /DS, kot dopolnitev poti /RV na ravni polja
  • Dodan zapisovalnik kataloga /Requirements AddLoadedDocumentRequirement (ISO 32000-1 7.7.4), ki k polju /Requirements kataloga doda slovarje zahtev z /S ter klicateljevimi pari ključ/vrednost
  • Dodano prepoznavanje rastrov Type 16 (pragovna maska) v izrisovalniku strani: /Width maske poganja enakovredno frekvenco rastrenja, tako da stran obdrži rasterski ritem namesto tihega izpuščanja operatorja, z diagnostiko, ki označi približek

Changed

  • Razširjen dekodirnik ASN.1 BER/DER, da sprejme dolgo obliko visokih številk oznak (tag >= 31), BER obliko nedoločene dolžine za sestavljena vozlišča (končana z označevalcem 00 00 End-of-Contents, z rekurzivno varnim pregledovanjem) in dolge dolžine do 8-bajtne meje X.690, tako da se svežnji CMS tretjih strani, ki uporabljajo te oblike, razčlenijo namesto da sprožijo izjeme; novi zapisa polji IsIndefinite in ExtendedTagNumber beležita, katero obliko je uporabil razčlenjeno vozlišče
  • Izostreni diagnostiki fallbacka izrisovalnika: senčenje Type 1 na osnovi funkcij zdaj poroča določeno sporočilo namesto splošnega "unsupported shading type", nepodprte vrste rastrov pa v diagnostiki imenujejo dejansko številko vrste

Version 2.501.0

Added

  • Dodane strukturne cilje PDF 2.0 in povezave vsebine strani, ustvarjene iz podatkov marked-content, ki obsegajo obratno iskanje FindStructureElementForMCID v konstantnem času, ki par (stran, MCID) skozi ParentTree dokumenta razreši nazaj do lastniškega StructElem, krajevni AddStructureDestinationLink, ki odda dejanje GoTo s tako obveznim fallbackom stranskih koordinat /D kot poljem /SD PDF 2.0, ki ciljni StructElem imenuje po indirektni referenci, ter oddaljeni AddGoToRStructureDestinationLink, katerega prvi element /SD je bajtni niz /ID ciljnega elementa v zunanji datoteki, tako da pregledovalniki PDF 2.0 skočijo na strukturno vsebino, starejši pregledovalniki pa se poslužijo imenovane strani

Version 2.500.0

Added

  • Dodano mejeno preverjanje PDF/UA-2 in transakcijsko popravljanje za popolne verige številčenja in nadaljevanja seznamov PDF 2.0, pravilne tablične mreže in skupine vrstic, združenja in cikle glav lokalnih na tabelo, točne zaporedja otrok Ruby in Warichu, izgovorne namige na element in urejene vgrajene izgovorne leksikone PLS, z novimi pomočniki za avtoriranje, stabilno diagnostiko, števci semantičnih popravil in rollbackom za dvoumne strukturne napake

Version 2.499.0

Added

  • Dodano ustvarjanje PDF/X-6, PDF/X-6p in PDF/X-6n ter mejeno preverjanje za dokumente PDF 2.0, vključno z vgrajenimi, zunanjimi, na ravni Catalog in na ravni strani output intenti; nadzornimi vsotami zunanjih profilov, različicami ICC, podpisi barvnih prostorov in tabelami N-barvil; preverjanjem podedovanih stranskih škatel; omejitvami exchange-action, izgleda anotacij, pisav, obrazcev, grafičnega stanja in virov; stabilno diagnostiko s poznavanjem klavzul; ter fail-closed preverjanjem ustvarjanja

Version 2.498.0

Added

  • Dodano mejeno, nemutirajoče preverjanje PDF/UA-2 in transakcijsko popravljanje imenskih prostorov ter strukturnih atributov za dokumente iz proizvajalca in naložene, vključno s kanonično registracijo imenskih prostorov, čiščenjem podvojenih in neveljavnih imenskih prostorov, zaznavanjem sporov role-map, popravilom imenskega prostora standardne strukture, izrecnimi imenskimi prostori atributov po meri, normalizacijo revizij, strukturiranimi poročili, neodvisnimi omejitvami predmetov in mutacij ter samodejnim rollbackom, kadar preverjanje še vedno spodleti

Version 2.497.0

Added

  • Dodano mejeno ustvarjanje PDF/A-4, PDF/A-4e in PDF/A-4f ter preverjanje naloženih dokumentov s pravili za anotacije, dejanja, vgrajene datoteke, metapodatke, output-intent, pisave, obrazce in optional-content, specifičnimi za profil; strukturirano diagnostiko s stabilnimi kodami, klavzulami in lokacijami predmetov ali strani; fail-closed preverjanjem EndDoc; izpuščanjem Info iz trailerja; obveznim imenskim drevesom EmbeddedFiles za PDF/A-4f; in popolnimi grafi prilog

Version 2.496.0

Added

  • Razširjen mejeni ovrednotilnik JavaScript AcroForm s tipiziranimi vrednostmi boolean, number, string, null, undefined in array; logičnimi, primerjalnimi, enakostnimi, unarnimi in pogojnimi izrazi s krajšim prenehanjem; determinističnimi datumskimi funkcijami; metodami nizov in polj; ohranjeno združljivostjo številčnih polj; ter izrecnimi omejitvami skripte, stavkov, globine, operacij, argumentov, zbirk, nizov in pomnilnika vrednosti

Version 2.495.0

Added

  • Dodano nativno instanciranje spremenljivih pisav CFF2 in izdelava podnaborov glifov z razreševanjem koordinat fvar in avar 1.0/2.0, ovrednotenjem mešanja VariationStore, rekurzivnim sploščanjem podprogramov, ohranjenimi slovarji multi-FD in podatki hintov, pečenjem metrik HVAR/VVAR/MVAR, mejenim fail-closed razčlenjevanjem in samodejno integracijo RegisterUnicodeTTF

Version 2.494.0

Added

  • Dodane ugnezdene transakcije grafa predmetov s copy-on-write, s posnetki indirektnih korenov ob prvem zapisu, rollbackom na mestu, obnovo dodanih predmetov in njihovih številk, mejenim prelivanjem v začasne datoteke za velike tokove, samodejnim sledenjem mutacij vsebnikov, izrecno pripravo surovega zapisa in statistiko pomnilnika v živo

Version 2.493.0

Added

  • Dodan mejen AST vsebinskih tokov, ki ohranja žetone, z vsebajtnimi lekemi, povezanimi vozlišči operacij in vsebnikov, neprekrivajočimi plastmi urejanj, povratnimi potmi no-op točno na bajt, tokovno serializacijo in brezizgubno ciljano zamenjavo besedila

Version 2.492.0

Added

  • Dodano mejeno okensko preslikavo pomnilnika za nalaganje velikih krajevnih PDF s skupnim dostopom lenih tokov, nastavljivim pragom in geometrijo LRU oken, samodejnim fallbackom na tok, branjem čez okna, deljenjem z atomsko zamenjavo in diagnostiko preslikav

Version 2.491.0

Security

  • Gesla, izpeljani datotečni in predmetni ključi, predpomnjeni razporedi AES, čisto besedilo zasebnih ključev PKCS#12, delovni prostori avtentificiranega dešifriranja in medpomnilniki čistega besedila pretakanja neposrednih datotek so zdaj izrecno prepisani na vsaki poti uspeha in izjeme

Version 2.490.0

Changed

  • Spremenjeno odloženo dešifriranje Standard-security, da med nalaganjem zajame mejen surov šifrirni predmet in ID trailerja skozi avtoritativni xref odmik, s čimer se ohranijo točni binarni ključni vnosi in odpravijo poznejša branja celotnega vira pri veljavnih dokumentih

Version 2.489.0

Changed

  • Spremenjeno nalaganje gesel, da obnovi datotečne ključe RC4 in AES iz mejenih razponov trailerja, xref, dokumentnega ID in avtoritativnega šifrirnega slovarja, s čimer se izognemo zahtevam po celotnem viru pri veljavnih dokumentih z naključnim dostopom, hkrati pa ohranimo združljivostni fallback

Version 2.488.0

Added

  • Dodano izrisovanje naloženih strani za senčenja Shading Types 4 do 7 z bajtno poravnanim dekodiranjem mrež, ponovno uporabo robov nadaljevanja, Gouraudovimi barvami, ki poznajo funkcije, mejeno prilagodljivo teselacijo Coons in tenzorskih produktov, paketnimi polnitvami trikotnikov, obrezo, ozadji in proračuni za nepravilen vhod

Version 2.487.0

Changed

  • Spremenjeni potek dela PFX, zunanjih podpisnikov in ponudnikov podpisov, da kopirajo z mejenimi medpomnilniki 256 KB, razpone popravljenih bajtov razpršijo v toku ter polji fiksne širine /ByteRange in /Contents popravijo z iskanjem, vključno s podpisovanjem istega toka brez hrambe drugega celotnega PDF-ja

Version 2.486.0

Added

  • Dodano nativno dekodiranje JBIG2 s standardnim Huffmanom za slovarje simbolov SDHUFF in besedilne regije SBHUFF, vključno z vsemi 15 tabelami Annex B, surovimi ali MMR kolektivnimi bitnimi slikami, tabelami simbolnih ID na regijo in mejenimi zaščitami pred nepravilnim vhodom

Version 2.485.0

Added

  • Dodano zapisovanje šifriranih tokov predmetov z RC4-128 in AES-128 ter ponovno nalaganje z geslom z mejeno obnovo ključev pred razčlenjevanjem, pravilno izpeljavo ključa iz številke predmeta, lenim ravnanjem s stisnjenimi člani in brez ponovnega branja cele datoteke po uspešni obnovi ključa

Version 2.484.0

Added

  • Dodane transakcijske seje urejanja obrazcev in omejena dejanja dogodkov, popolna izmenjava FDF polj, anotacij in stanj, deterministični fallbacki specializiranih vtičnikov XFA in napredno paginiranje, tokovno preverjanje vgrajenih datotek, napredni pogledi Portfolio, razvrščanje, mape, navigacija in urejanje shem, petdimenzionalni proračuni operacij JSON, ABI integracije na osnovi callbackov ter pomanjševanje korpusa z ohranjanjem okvar in diferencialnimi regresijskimi sondami

Version 2.483.0

Added

  • Dodan stabilen popoln JSON izvoz grafa predmetov in preverjeno popravljanje, pregledovanje tokov predmetov brez materializacije, mejeno preverjanje linearizacije, kanonične identifikatorje dokumenta, izpeljane iz vsebine, za ponovljiv izhod, izrecna pravila za nedosegljive predmete, mejeno urejeno zbiranje strani iz več virov, neodvisno kroženje sestave overlay in underlay, sploščevanje vrtenja strani s popolno geometrijo ter podporo branja, pisanja in razveljavitve sličic strani

Version 2.482.0

Added

  • Dodano izseljevanje vgrajenih slik z zavedanjem vsebine, čiščenje virov, varno za podedovane in za izgled, združevanje vsebinskih tokov, kanonično razpodvajanje Form XObject in vgrajenih pisav, nadzorovano s pravili rekompresijo JPEG in JPEG 2000, deljenje globalov JBIG2 z točnim ujemanjem, upravljanje barv pri zmanjševanju po dejanskem DPI z usklajevanjem mehkih mask ter prilagodljivo pakiranje tokov predmetov z zavedanjem krajevnosti

Version 2.481.0

Added

  • Dodani ponovno uporabni seznami prikaza strani in prostorski kazali, mejeno izrisovanje ploščic in pasov, deterministično vzporedno izrisovanje strani, sploščevanje prosojnosti, diagnostika barvil in trapinga, procesne in spot ločilne plošče, izvedljive funkcije rastrov in transferja ter pipeline ICC izvora, dokaza in izhoda, ki poznajo intente, s kompenzacijo črne točke

Version 2.480.0

Added

  • Dodana razporeditev besedila in dokumentov, ki pozna standarde, z lomljenjem vrstic in deljenjem besed po Unicode, optimalno sestavo odstavkov, uravnoteženimi stolpci, paginiranjem sprotnih in zaključnih opomb, dimensioniranjem in paginiranjem tabel, izključitvami plavajočih, strukturiranimi ugnezdenimi seznami, skupinami obdržanja in mejenim predpomnjenjem oblikovanih tekov

Version 2.479.0

Added

  • Dodano avtoriranje struktur PDF/UA-2 z zavedanjem imenskih prostorov in mejeno preverjanje v enem prehodu za hierarhijo, atribute, lastništvo anotacij, povezane datoteke, naslove, sezname, tabele, formule in MathML

Version 2.478.0

Added

  • Dodano overjanje zaupanja brez povezave na osnovi standardov z delta in indirektnimi CRL, strogim pravilom OCSP, omejitvami imen X.509 in politik certifikatov, pravilom algoritmov ob času vrednotenja, deterministično preverbo več podpisnikov in ugnezdenih sopodpisov ter strukturiranimi JSON poročili preverjanja

Version 2.477.0

Added

  • Dodano šifriranje z javnim ključem AES-256 z izrecnimi pravili zgoščevanja RSA-OAEP, dogovarjanjem ključev ECDH in X25519 ali X448, sopodpisi CMS ter inkrementalno obnovo časovnih žigov PAdES-LTA, ki ohrani vsako prejšnjo revizijo

Version 2.476.0

Added

  • Dodano šifriranje neposrednih datotek AESV4 z omejenim pomnilnikom in avtentificirano dešifriranje ter samostojno izdelavo PDF MAC po ISO/TS 32004:2024 s preverjanjem, diagnostiko, atomskim izhodom in preflight preverjanjem

Version 2.475.0

Added

  • Dodano šifriranje z geslom AESV4 po ISO/TS 32003:2023 in avtentificirano nalaganje z AES-256-GCM, edinstvenimi IV-ji dolžine 12 bajtov, avtentikacijskimi oznakami 16 bajtov, razširitvami za razvijalce PDF 2.0, pokritostjo ugnezdenih nizov, podporo tokov predmetov in zavrnitvijo vlomanja

Version 2.474.1

Fixed

  • Podpisovanje CMS ne spodleti več pri prevajanju, kadar callback podpisnika z anonimno metodo ujame zapis možnosti podpisovanja na Delphi Win32
  • Podpisovanje s sistemskimi certifikati ne spodleti več pri prevajanju, kadar digest callback ujame zapis možnosti podpisovanja na Delphi Win32
  • Demo E-Invoice se zdaj prevede, potem ko je bila vrsta naštevanja težav preverjanja razširjena z dodatnimi preverjanji prilog PDF/A-3 in XMP

Version 2.474.0

Added

  • Procesor konfiguracije opravil JSON s podporo za operacije merge, split, optimise, encrypt in validate s strukturiranimi izidi na operacijo
  • C ABI z opačnimi ročaji za visokovredne dokumentne operacije, vključno z ustvarjanjem, nalaganjem, številom strani, shranjevanjem in izvajanjem opravil za vstavljanje iz drugih jezikov
  • Primerjava dokumentov z načini števila strani, besedila strani, števila predmetov in izrisane slike, ki vrne strukturirano JSON poročilo o razlikah

Version 2.473.0

Added

  • Ponovno uporabne politike preverjanja zdaj pokrivajo ponovno uporabo WTPDF, dostopnost in sprejem preverjenih deklaracij, razkrijejo metapodatke zahtevkov deklaracij in napake, ki poznajo vir, poženejo urejene pakete skozi mejene omejitve delavcev in vrst ter zagotovijo neodvisne načine inspect, add-missing in synchronize za popravljanje metapodatkov XMP

Version 2.472.0

Added

  • Preverjanje CMS zdaj podpira Ed25519 in Ed448 skozi dinamično izbranega platformnega ponudnika ter ML-DSA-44, ML-DSA-65 in ML-DSA-87 za izrecno razširitvijo za razvijalce PDF 2.0, skupna mejena pogodba ponudnikov pa omogoča podpisovanje RSA prek callbackov, oddaljeno in PKCS#11 s ponovnim poskusom, preklicem, identifikatorji ključev in parametri, specifičnimi za algoritem

Version 2.471.0

Added

  • Izrisovanje naloženih strani zdaj cilja na skupno abstrakcijo naprav za lastne bitne slike, zunanje kontekste naprav, kot so tiskalniki, in enhanced metafiles, izbirni CMYK overprint proofing pa razlaga /OP, /op in /OPM 1 za predogled kombiniranih procesnih barvil poleg obstoječega izrisovanja knockout skupin prosojnosti

Version 2.470.0

Added

  • Spremenljive pisave OpenType zdaj razkrijejo metapodatke osi in poimenovanih instanc s preverjeno izbiro na os in integracijo ponudnika statičnih instanc, plasti COLR in CPAL, dokumente glifov SVG ter bitne strike CBDT pa je mogoče pregledati in izrisati skozi nativne ali klicateljeve poti rastrovanja

Version 2.469.0

Added

  • Izdelava podnaborov pisav TrueType in OpenType lahko zdaj ponovno uporabi preverjene rezultate, naslovljene po vsebini, iz vztrajnega predpomnilnika na disku z atomskimi zapisi, obnovo po poškodbi, izrinom po bajtnem proračunu na osnovi dostopov, ohranjanjem kompaktne preslikave CID ter opazljivo statistiko zadetkov, zgresitev, zapisov, zavrnitev in izrinov

Version 2.468.0

Added

  • Ponovno uporabni elementi razporeditve zdaj razkrijejo merjenje brez stranskih učinkov, lastne umestene fragmente in fragmente prelivanja za odstavke, vrstice, vsebnike in paginiranje po meri, poleg tega pa deklarativne plasti ozadja, glave, noge in ospredja, uveljavljene v stabilnem vrstnem redu sestave strani

Version 2.467.0

Added

  • Linearizirani viri z naključnim dostopom zdaj poročajo mejeno razpoložljivost prve strani in glavnega xref, naloženi tokovi lahko uporabijo deterministično rekompresijo Flate visokega razmerja s štirimi strategijami, neodvisni slikovni tokovi pa se lahko optimizirajo vzporedno s klicateljevimi delavci in potrditvami v vrstnem redu vira

Version 2.466.0

Added

  • Naloženi dokumenti zdaj razkrijejo stanja predmetov clean, dirty, released in must-write, varno sprostitev predpomnilnika tokov predmetov po shranjevanju, preverjanje prostega seznama in generacij xref z mejenimi podrobnostmi zasenčenih definicij, determinističen izhod slovarjev in diagnostična shranjevanja v slogu QDF, ki ohranijo vsebino

Version 2.465.0

Added

  • Filtri ASCII85 in ASCIIHex zdaj razkrijejo mejene dekodirnike tokov s strogimi končnimi označevalci, diagnostiko lihih nibble in ohranjenim končnim vhodom; naloženi dokumenti lahko odprejo ničelno-kopirne rezine virov samo za branje in poročajo statistiko pipeline na filter skozi preflight in optimizacijo tokov

Version 2.464.0

Added

  • Naloženi obrazci lahko varno ovrednotijo mejene skripte izračunov in preverjanja brez aktivnega pogona JavaScript; anotacije RichMedia razkrijejo metapodatke poimenovanih virov, izluščevanje bajtov in ciljano čiščenje; sploščevanje XFA podpira SOM vezave indexed, wildcard, class in descendant ter mejene številčne funkcije FormCalc; povratni poti anotacij XFDF pa pokrivajo vsak podprt podtip anotacij skozi eno simetrično preslikavo

Version 2.463.0

Added

  • Podpisovanje RSA-PSS CMS zdaj podpira nastavljivo sol ter notranje, zunanje ali Windows CNG podpisnike; izhod PDF/X preveri produkcijske pogoje, komponente ICC in nadzore overprint; naložene označene strani razkrijejo geometrijsko diagnostiko vrstnega reda branja; PDF Portfolio pa lahko avtorirajo in pregledajo zbirne sheme ter metapodatke na datoteko

Version 2.462.0

Added

  • Naloženi AcroForms zdaj ovrednotijo vrstni red izračunov /CO, znova ustvarijo večvrstične, quadded, samodejno dimenzionirane in comb izglede, razrešijo stanja izgledov anotacij normal, rollover in down ter sploščijo izbrana polja le na njihove lastniške strani; sploščevanje, ki zaveda podpise, zavrne kršitve pravil DocMDP ali FieldMDP

Version 2.461.0

Added

  • Izrisovanje naloženih strani zdaj uveljavi izolirane in knockout skupine prosojnosti, mehke maske alfa in luminoznosti z barvami ozadja in funkcijami transferja, popolne CharProcs Type 3 v njihovem trenutnem obsegu virov, matrike Form s polno obnovo grafičnega stanja ter dekodiranje vidne regije za obrezane slike, vključno z nativno razširitvijo regij JPEG 2000; DecodeLoadedImageRegion klicateljem razkrije točno pravokotno rastersko dekodiranje

Version 2.460.0

Added

  • Izrisovanje naloženih strani zdaj predpomni ločeni stanji optional-content in barvnih intentov ICC, ponudi pravila ignore, bounded-report in strogi fallback za preskočene operatorje ali predmete ter objavi poenoteno telemetrijo pretečenega časa, vrha pomnilnika, dekodiranih bajtov, zadetkov in zgresitev predpomnilnika, števila predmetov, uspeha in preklica za nalaganje, izrisovanje, progresivne rezine in optimizacijo tokov

Version 2.459.0

Added

  • BeginLoadedPageProgressiveRender dodaja nadaljujemo izrisovanje strani s proračuni pretečenega časa in vsebinskih operatorjev, dostopom do delne bitne slike, progress callbacki in izrecnimi stanji pavze, zaključka in preklica; primerki THPDFCancellationToken v lasti klicatelja zdaj sodelovalno prekličejo nalaganje dokumenta, sinhrono in progresivno izrisovanje, optimizacijo tokov, preflight preverjanje, podpisovanje PFX in podpisovanje iz trgovine certifikatov Windows

Version 2.458.0

Added

  • ImmediateFlushLayout premakne dokončane tokove strani v s pomnilnikom podprto shrambo na datotekah za omejeno generiranje poročil; razporeditev odstavkov zdaj podpira omejitve keep-with-next, orphan in widow, bidi smer first-strong z izrecnimi preglasitvami, omejene diagnostike koordinat, podedovane dimenzije strani, pomožnike za semantične /P ter tipsko določene artefakte paginacije za glave, noge, vodne žige in številke strani

Version 2.457.0

Added

  • SetFontFallbackChain in TextOutWithFallback dodata urejen izbira pisav, ki upošteva skripte, s preverjanjem pokritosti Unicode-skalarnih vrednosti in trajne diagnostike nerešenih glifov; navpično besedilo zdaj izpolnjuje popolne teky Identity-V z metrikami /DW2 in /W2, izpeljanimi iz tabel OpenType vhea, vmtx in VORG, kadar so na voljo

Version 2.456.0

Added

  • HPDFEncodePredictor doda strogo kodiranje napovednikov TIFF ter fiksnih ali adaptivnih napovednikov PNG za pakirane, 8-bitne in 16-bitne vrstice rastra; ExtractLoadedImageToStream se izogne polnim bajtnim poljem za izvorne ali generično dekodirane podatkovne Jainke slik; OptimizeLoadedStreams selektivno ponovno stisne podprte družine filtrov prek medpomnilnikov prelivanja pomnilnik-na-disk in nadomesti le toke, ki dosegajo pozitiven prag prihranka

Version 2.455.0

Added

  • DecodeLoadedStreamToStream zdaj sestavi naložene filtre PDF v omejen celevod, katerega zadnja stopnja zapisuje neposredno v tok klicatelja; DocumentDecodeBudgetBytes doda privzeti strop 1 GiB med neodvisnimi verigami, medtem ko varovalke števila filtrov, globine gnezdenja, cikličnih referenc in rekurzivnih tokov izpostavijo strukturirane diagnostike celevoda

Version 2.454.0

Added

  • Veliki naloženi tokovi zdaj ostanejo na obsegih izvorne datoteke do mutacije in prelivajo prevelike spremembe v lastne začasne datoteke prek LoadedStreamMemoryThreshold; kompresirani člani objektnih tokov so indeksirani in materializirani po številki objekta ob prvi uporabi; LoadFromRandomAccessSource doda integracijo z HTTP-range in poljubno shrambo, s tokovnimi in objektno-predpomnilniškimi diagnostikami

Version 2.453.0

Changed

  • Inkrementalna shranjevanja zdaj ohranjajo ID stalnega prikolnika prek vseh revizij, rotirajo le ID spremembe, ne izpustijo nobene pripete revizije, ko je naloženi graf predmetov nespremenjen, in izpostavijo odločitve o zlivanju hibridnih referenc prek GetLoadedXRefMergeInfo z izrecnimi števci prednosti tokov-xref, prekrivanja tabel in najnovejše revizije

Version 2.452.0

Added

  • Dodano izvorni izhod PDF 2.0 ter avtorstvo PDF/A-4, PDF/A-4e, PDF/A-4f in PDF/UA-2, z revizijsko-zavestno XMP identifikacijo, strukturirnimi vlogami PDF 2.0, registracijo imenskih prostorov prek RegisterStructureNamespace in AddStructureElementNS, strogo validacijo strukture PDF/UA-2 ter profilno-nevtralnimi pripetimi datotekami prek AddPDFAssociatedFile

Version 2.451.0

Added

  • DetectFacturXInvoice zdaj izpostavi MIME tip dekodirane primarne priponke in vezan URI imenskega prostora XMP, ValidateFacturXInvoice pa navzkrižno preveri natanko FileSpec, ki si ga delita /AF kataloga in imensko drevo EmbeddedFiles, imeni /F in /UF, MIME tip XML, DocumentType XMP in imenski prostor specifičen za profil Factur-X ali ZUGFeRD prek štirih namenskih zastavic težav

Version 2.450.0

Added

  • Ugotovitvi Preflight JSON, HTML in v slogu verePDF zdaj nosijo stabilne vrednosti ruleId z imenskim prostorom ter strojno-bralljive lokacije z logičnim obsegom, potjo, PDF ključem in natančno številko objekta, indeksom strani ali bajtnim odmikom, ko so na voljo; poročila JSON tudi izpustijo dokumentirana preslikave ISO spec in ostanejo veljavna, ko polja vsebujejo več ugotovitev

Version 2.449.0

Added

  • SanitiseLoadedDocument zdaj uveljavi politike samo-JavaScript, aktivne-vsebine ali strogega dokumenta-nezaupanja na naložen PDF, poroča o odstranjenih dejanjih in vsebinah, za neznane vrste dejanj spodleti zaprto, odstrani nedosegljive predmete prek omejene ciklično-varne skoraj-linearne prečrtave, strne številke živih predmetov in atomarno nadomesti vir pri shranjevanju na mestu

Version 2.448.0

Added

  • Upodabljalnik naloženih strani zdaj izvaja barvne in neobarvane tlakovalne vzorce ter aksialne in radialne senčilne vzorce za polnila in poteze, vključno z matrikami vzorcev, dedovanjem odtenkov, izrezom poti, predpomnjenim tokeniziranjem vsebine, gnezdenim obnavljanjem grafičnega stanja ter omejenimi števci rekurzije in tlakov za sovražne vire

Version 2.447.0

Added

  • Dodan nastavljiv strop 256 MiB na-verigo DecodeBudgetBytes, ki agregira izhod gnezdenih stopenj Flate, LZW, ASCIIHex, ASCII85, RunLength in slikovnih napovednikov, preden dosežejo pomnilnik, z diagnostikami GetLastDecodeBudgetInfo in ničlo kot izrecen način neomejenosti

Version 2.446.0

Added

  • Dodan izbiren LinearizeOutput za hiter spletni pregled, ki izpusti slovar parametrov linearizacije v prvih 1024 bajtih, namizne tabele namigov prve strani in deljenih predmetov, od odvisnosti urejene odseke strani in dve združljivosti tabel navzkrižnih referenc, pri tem ohrani neposreden izhod datoteke in toka ter zanesljivo zaznavo ponovnega nalaganja

Version 2.445.0

Added

  • Naloženi PDF-ji zdaj uporabljajo omejeno obnovitev navzkrižnih referenc po poškodovanih deklaracijah startxref ali neuporabnih podatkih xref, tako da najprej prerazporedijo veljavno tabelo ali tok in nato znova zgradijo validirane odmike neposrednih predmetov s prednostjo najnovejše definicije, filtriranjem lažno-pozitivnih gnezdenih predmetov, nastavljivimi proračuni pregleda in predmetov, omejenimi poskusi sidra xref, strukturiranimi diagnostikami in shranjevanjem s polno prepisavo

Version 2.444.0

Added

  • AnalyzeLoadedSignatureRevisions zdaj razvrsti vsako inkrementalno revizijo po izbranem podpisu kot validacijo z dolgim rokom, izpolnjevanje in podpisovanje obrazcev, pripombe ali druge spremembe, poroča o spremenjenih in sproščenih predmetih ter imenih polj ter neodvisno ocenjuje skladnost DocMDP in FieldMDP prek tradicionalnih, tokovnih, hibridnih in kompresijsko-objektnih zgodovin xref

Version 2.443.0

Added

  • VerifyLoadedSignatureWithTrust in HPDFValidateCMSCertificatePath zdaj gradita poti potrdil podpisnika do s klicateljem priskrbljenih sidrišč zaupanja in preverjata podpise potrdil, obdobja veljavnosti, osnovne omejitve, omejitve dolžine poti in Key Usage
  • Validacija preklica brez povezave zdaj preverja podpise OCSP in CRL, pooblastilo odzivnika, identiteto potrdila, svežino statusa in čase preklica ter pri tem daje prednost dokazom VRI za posamezni podpis pred DSS na ravni dokumenta, dokazi klicatelja in CRL-ji CMS
  • THPDFSignatureInfo.CertificateValidation poroča o zaupanju, dolžini poti, sidrišču zaupanja, času ocene, statusu preklica in viru, času preklica ter težavah validacije neodvisno od kriptografskega svValid

Version 2.442.0

Added

  • Preverjanje naloženih podpisov zdaj kriptografsko validira časovne žige dokumentov RFC 3161 glede na /ByteRange PDF-ja in žetone časovnega žiga podpisa glede na vrednost nadrejenega podpisa CMS, THPDFSignatureInfo.Timestamp pa izpostavi vrsto časovnega žiga, status, politiko, odtis sporočila, serijsko številko, čas generiranja, natančnost, urejanje, nonce, identiteto TSA in podrobnosti potrdila podpisnika žetona

Version 2.441.0

Added

  • Preverjanje naloženih podpisov zdaj podpira podpise CMS RSA-PSS s SHA-1, SHA-256, SHA-384 ali SHA-512 in validira izrecne parametre hash, MGF1 hash, dolžine soli in polja priklopnika
  • THPDFSignatureInfo zdaj poroča o SignedRevisionLength in UnsignedTrailingBytes, svInvalidByteRange pa identificira strukturno nevarne obsege podpisov PDF

Changed

  • Preverjanje podpisa zdaj obnovi položaj toka klicatelja, primerja varnostno-občutljive bajtne zaporedja brez zgodnjih izhodov in poroča o popolnih parametrih algoritma RSA-PSS

Fixed

  • Preverjanje CMS zdaj zavrne prekrivajoče, zunaj-mejne, prirezane ali dvoumne bajtne obsege in validira popoln identifikator algoritma RSA PKCS#1 DigestInfo namesto da bi sprejelo poljubno bitno velikosti oktetno vrsto

Version 2.440.0

Fixed

  • Registracija pisave Unicode zdaj dodeli celoten medpomnilnik za napredke glifov pred branjem metrik pisave, kar preprečuje kršitve dostopa v delovnih tokovih oblikovanja OpenType in podmnožičenja pisav
  • GetWideTextWidth zdaj tolmači predpomnjene napredke Unicode v enotah em in ob padcu na meritev platforme, kadar metrika glifa ni na voljo, s čimer obnavlja pravilno skalirane širine za prelom in razporeditev
  • BeginIncrementalUpdate zdaj označi naložene predmete kot čiste pred sledenjem sprememb klicatelja, tako da se nespremenjeni predmeti ne ponovno zapišejo in da se osiroteli slovarji šifriranja pravilno sprostijo v pripeti razdelek navzkrižnih referenc

Version 2.439.0

Added

  • HPDFDecodePredictor in HPDFTryDecodePredictor ponujata omejeno dekodiranje za napovedovanje TIFF 1, 2, 4, 8 in 16-bitno ter vseh pet filtrov vrstic PNG, s strogim preverjanjem vrstic in izvedljivimi diagnostikami
  • TPDFLZWDecompressor doda neposni izhod toku, vnovično uporabne metode dekodiranja brez sprožanja izjem, nastavljive omejitve izhoda in zahteve po zaključevalniku toka ter statistiko širine kode, slovarja, ponastavitve, razširjanja in izhoda za posamezno dekodiranje

Changed

  • Dekodiranje LZW zdaj uporablja zvezno areno fraz, podpira oba načina PDF EarlyChange in obe vrstni redi polnjenja bitov, obravnava ponastavitve clear in razširjanje KwKwK strogo ter povečuje izhod nizov geometrijsko
  • Izvleka naloženih slik Flate in LZW zdaj upošteva geometrijo napovednika DecodeParms in EarlyChange, uporablja varno rastriranje glede preliva in si deli isto izvedbo napovednika kot dekodiranje tokov xref

Fixed

  • Dekodiranje Flate s parametri napovednika zdaj bere iz toka razširjanja namesto kopiranja stisnjenih vhodnih bajtov v stopnjo napovednika
  • Nepravilne kode LZW, prirezane vrstice, neveljavne oznake vrstic PNG, nemogoča geometrija napovednika in prekomerno razširjanje zdaj deterministično spodletijo namesto da bi vrnili delne ali še vedno stisnjene slikovne podatke

Version 2.438.0

Fixed

  • THPDFViewer se zdaj prevede v okoljih Delphi XE2 do XE8, kjer WM_DPICHANGED manjka v Winapi.Messages; konstanta sporočila DPI na monitor je zdaj definirana lokalno za orodjarne starejše od Delphi 10 Seattle, s čimer obnavlja gradnje DCU preizkusne knjižnice TRIAL za RAD Studio XE2..XE8, ki so se prekinile z E2003 Undeclared identifier

Version 2.437.0

Changed

  • GetWideTextWidth zdaj meri besedilo Unicode iz predpomnilnika napredkov širine na kodočko, enkrat naseljenega iz tabele pisave hmtx, namesto krožnega potovanja CreateCompatibleDC + GetTextExtentPoint32W ob vsakem klicu -- 10- do 100-kratno pohitritev za prelom besed, poravnavo in merjenje celic tabele pri dolgih dokumentih Unicode, s prosojnim padcem na zapuščinsko pot GDI, ko nobena pisava Unicode ni registrirana

Version 2.436.0

Fixed

  • Vdelana pisava /FontDescriptor /CapHeight zdaj uporablja resnično metriko poteze otmsCapEmHeight namesto kodirane konstante, s padcem na ~70 % vzpona za poteze, ki poročajo ničlo

Version 2.435.0

Fixed

  • Vdelane pisave Unicode zdaj ob podmnožičenju obdržijo glife, ki jih ustvari oblikovanje OpenType (predstavitvene oblike arabščine, ligature, kontekstne alternative) -- množica FUnicodeExtraUsedGlyphs, ki jo zabeležita MarkUnicodeGlyphUsed / EnableShapingFeatureForSubset, je bila zapisana, a je podmnožičevalec nikoli ni upošteval, zato so ti glifi v izhodu padli na .notdef

Version 2.434.0

Added

  • THPDFWeightedCache doda nepovišujoč vpogled, logično iskanje, izrecno odstranjevanje in prenos lastništva, takojšnje prirezovanje proračuna, statistiko stopnje zadetkov in življenjskega cikla ter pretakovne vsebinske ključe SHA-256

Changed

  • Veliki urejeni CMap-ji ToUnicode in CID zdaj uporabljajo logaritemsko iskanje znakov in obsegov, natančno ohranjajo eno- do štiribajtne kodne prostore, izolirajo skupne razčlenjene zemljevide po korenu vira in povečujejo shrambo razčlenjevalca geometrijsko
  • Trajni predpomnilnik upodobljenih strani zdaj atomsko zapisuje podatke PNG in indeksa, sledi nedavnosti na ravni strani, takoj uveljavlja zmanjšane omejitve in obnavlja zastarele indekse, opuščene začasne datoteke, manjkajoče mape in neindeksirane mape dokumentov

Fixed

  • Razčlenjevanje CMap zdaj pravilno obravnava lihe šestnajstiške nibble, in zavrne nepravilne šestnajstiške podatke, neveljavne ali prelivajoče se obsege, negativne cilje CID ter neomejena izrecna preslikave, medtem ko deterministično nadomešča neveljavna zaporedja nadomestnih znakov UTF-16
  • Nadomeščanje oteženega predpomnilnika ne sprosti več predmeta, ko je ista instanca ponovno vstavljena pod svoj obstoječi ključ, pokvarjeni vnosi PNG v diskovnem predpomnilniku pa se po neuspeli dekodirki odstranijo namesto da bi spodleteli ob vsakem poznejšem iskanju

Version 2.433.0

Added

  • Preverjanje naloženih podpisov zdaj podpira podpise CMS ECDSA P-256, P-384 in P-521 s SHA-1, SHA-256, SHA-384 ali SHA-512, vključno z izbiro podpisnika izdajatelj-in-serijska in SubjectKeyIdentifier, strogo preverjanje podpisov DER ter razširjene diagnostike algoritmov in krivulj
  • Upravljanje barv ICC zdaj preverja profile ICC v2/v4, sklepa in preverja števila komponent, odstranjuje podvojene registrirane profile, pretvarja ICCBased vektorske barve in surove slikovne vzorce v sRGB s podporo namere upodabljanja ter ohranja alternativni barvni prostor PDF kot nadzorovan padec

Version 2.432.0

Added

  • THPDFTableCell zdaj podpira slikovne celice (ImageIndex + ImageAspect skalirata registrirano sliko na širino stolpca z poravnavo H/V) in celice HTML (IsHTML prikaže besedilo celice prek TextOutHTML za oznake vgrajene krepko/barva/povezava/pod-/nadpis), kar ustreza raznolikosti vsebine celic, ki naj bi jo nosil izvoz mreže

Version 2.431.0

Added

  • Nov pogon razporeditve in upodabljanja THPDFTable (enota HPDFTable) razporedi tabele iz razglašenih širin stolpcev in vrst, z besedilom, poravnavo, barvo in preglasitvami pisave na celico, združevanjem ColSpan / RowSpan, samodejnim prelomom besed z izmerjenimi višinami vrstic, ozadji glave in zebrastih prog ter samodejnim nadaljevanjem preloma strani, ki ponavlja pas glave na vsaki strani -- vse to poganja obstoječe risalne primitive THPDFPage, tako da proizvajalci ne rišejo celic več ročno z Rectangle in TextOut

Version 2.430.0

Changed

  • Obdelava toka vsebine in urejanje naloženih strani se zdaj bolj učinkovito skalira pri velikih delovnih obremenitvah besedila in poti, ohranja dopolnilno-ravenski Unicode in semantiko poti PDF, razveljavi predpomnilnike strani po mutacijah in dokonča zapise v tokove, ki sprejemajo delne medpomnilnike

Version 2.428.0

Added

  • THPDFPage.TextOutHTML dobi preobremenitev za prelom besed, ki sprejema MaxWidth in lomi dolge vrstice na mejah besed, plus oznake vdelanih hiperpovezav (<a href>) in podpisanim/nadpisanim (<sub>/<sup>); hiperpovezave se rišejo modro in podčrtano in registrirajo klikljivo opombo URI

Version 2.427.0

Changed

  • Zaporedni besedilni nizi, ki si delijo isto pisavo in velikost, ne ponovno izsevajo operatorja Tf ob vsakem klicu, s čimer krčijo tokove vsebine v dokumentih, bogatih s pisavami (tabele, odstavki), medtem ko jih še vedno ponovno izsevajo po obnovi grafičnega stanja (Q), kjer PDF to zahteva
  • Aproksimacija elipse v THPDFPage zdaj uporablja standardno konstanto kubične-Bézier-kappa 0.5522847498, kar se ujema z vsemi drugimi implementacijami elipse in kroga v enoti in odstranjuje majhno od radijusa odvisno odstopanje, ki ga je proizvedla prejšnja aproksimacija 11/20

Version 2.426.0

Added

  • Pregledovalnik zdaj predgreje predpomnilnik upodobljenih strani za strani, sosednje tisti, ki je bila pravkar prikazana, z uporabo niti v ozadju pri enakem DPI, tako da naslednji obrat strani zadane predpomnilnik namesto sinhronega ponovnega upodabljanja; nova lastnost PrefetchRadius nadzoruje, koliko strani na vsaki strani se predgreje (0 jo onemogoči)

Version 2.425.0

Added

  • Upodobljevalnik naloženih strani zdaj dekodira in riše vdelane slike (BI/ID/EI) namesto da jih preskoči, razširja skrajšane pare ključ/vrednost vdelane slike in surove bajte v času tokenizacije ter postavlja rezultat skrez enako preslikavo CTM enotskega kvadrata, uporabljeno za XObject-e slik

Version 2.424.2

Changed

  • Predpomnilnik diska upodobljenih strani zdaj zbere vse datoteke strani v enem pregledu mape in izloči prelivajoči se rep v enem prehodu, s čimer nadomešča prejšnjo zanko ponovnega pregleda-pri-izločanju, ki je tekla v kvadratnem času glede na število strani na dokument
  • Deduplikacija slik zdaj pomni SHA-256 vsakega shranjenega toka slike in primerja zgoščene vrednosti pred obhodom bajtov, tako da dodajanje iste velike slike mnogim stranem ne ponovno bere vsak prej shranjen tok ob vsakem vstavljanju

Version 2.424.1

Changed

  • Uteženi predpomnilnik dekodiranih slik in podmnožičnih pisav zdaj razrešuje poizvedbe prek zgoščenega indeksa in vzdržuje vrstni red nedavno uporabljenih prek indeksno osnovanega dvojno povezanega seznama, s čimer spremeni vsak Get, Put in povišanje aktualnosti iz premika polja O(n) v O(1) delo, tako da upodabljanje velikih večslikovnih dokumentov ne degradira več, ko se predpomnilnik polni

Version 2.424.0

Changed

  • CompressLoadedDocument zdaj upošteva CompressionLevel, obdeluje izvorne tokove v omejenih kosi, ohranja izvorno koristno obremenitev, ko stiskanje je ne zmanjša, varno sprošča zamenjane tokove in označuje transformirane objekte toka kot umazane, tako da SaveLoadedDocument vztrajno shrani rezultat namesto da vzame pot kopiranja nespremenjene datoteke.DecompressLoadedDocument uporablja enako lastninsko-varno pot pretakanja, odstranjuje identitetne /DecodeParms in pusti tokove prediktorja TIFF ali PNG stisnjene, dokler stopnja prediktorja ne more biti varno dekodirana

Version 2.423.0

Added

  • THPDFPage.AddCertificationSignatureField in ConfigureCertificationSignature zdaj ustvarjata edinstven podpis za certifikacijo DocMDP z vsemi tremi ravnmi dovoljenj in pripadajočo povezavo Catalog /Perms /DocMDP, medtem ko AttachSignatureFieldLock oddaja posredne politike SigFieldLock in pripadajoče sklice FieldMDP za obsege polj All, Include ali Exclude.THotPDF.GetLoadedSignaturePermissions izvaja omejen strukturni pregled istega grafa dovoljenj, vključno z zahtevano neposrednostjo, korensko povezavo, ujemanje politik in diagnostiko, ne mešajoč strukture politike s kriptografsko veljavnostjo ali skladnostjo s poznejšimi revizijami

Version 2.422.0

Added

  • Watermark / header / footer placeholder tokens now resolve document metadata: <%Author%> / <%Title%> / <%Subject%> / <%Keywords%> / <%Producer%> are substituted alongside the existing <%PageNo%> / <%TotPage%> / <%FileName%> / date-time tokens when the new HPDFReplaceWatermarkPlaceholders overload is given a THPDFPlaceholderDocInfo record. The legacy 4-parameter signature stays for callers that only need the page / file / date-time subset

Version 2.421.0

Added

  • THPDFActionBuilder.GoToEmbeddedNamedDestination and GoToEmbeddedPage create PDF 1.6 GoToE actions with standards-valid parent, EmbeddedFiles name-tree, attachment-annotation, and nested /T target paths, while preserving named or explicit destinations, optional root file specifications, NewWindow, action chaining, and PDF/A/PDF/X restrictions
  • Loaded action inspection now recognises all 18 ISO 32000-1 action subtypes and returns ordered, non-executing THPDFLoadedActionInfo snapshots from catalog /OpenAction and /AA, page /AA, annotation /A and /AA, AcroForm field /AA, and outline /A sources. Dictionary and array /Next forms preserve execution order, while malformed entries, shared nodes, cycles, excessive depth, and excessive node counts stop safely with diagnostics
  • Annotation action and JavaScript trigger enums now include page-open /PO, page-close /PC, page-visible /PV, and page-invisible /PI events with the required PDF 1.5 version negotiation

Version 2.420.0

Added

  • Content-stream device stage 3 closes the abstraction loop: IHPDFContentDevice gains DrawXObject / DrawShading / ApplyExtGState for the Do / sh / gs operators, and the shared interpreter now dispatches them. Do is gated on cdcNeedImages so text/enum devices skip the heavy image decoding; sh and gs dispatch unconditionally. The renderer's ExecuteViaDevice path can now paint the full operator set (paths + colours + text + images + shading + ExtGState), observably equivalent to the legacy HandleOperator path. The ApplyExtGState nested procedure was promoted to a class method (DoApplyExtGState) so the device path shares it without duplication; method-resolution clauses route the three new interface entries to Dev* helpers without colliding with the pre-existing private helpers
  • Document-content observer pattern: THotPDF.OnLoadedDocumentModified event fires from InvalidateRenderedPageCache (PageIndex = -1, whole document) and InvalidateRenderedPageCachePage (a specific page) so attached viewers refresh automatically. THPDFViewer subscribes in SetDocument and unbinds on detach / opRemove, calling RefreshDocument when the current page (or the whole document) is affected. Multi-view sync (several viewers on the same THotPDF) now works without each caller invoking RefreshDocument by hand

Version 2.419.0

Added

  • Content-stream device abstraction stage 1: IHPDFContentDevice gains the text callback surface (BeginText / EndText / UpdateFont / UpdateCharSpace / UpdateWordSpace / UpdateHorizScale / UpdateLeading / UpdateRenderMode / UpdateRise / TextMove / TextSetMatrix / TextNewLine / ShowText / ShowTextArray) mirroring the PDF text state machine; the shared HPDFInterpretContentStreamDevice dispatcher now forwards BT/ET/Tf/Tc/Tw/Tz/TL/Tr/Ts/Td/TD/Tm/T*/Tj/TJ/'/" to the device when it declares cdcNeedText
  • THPDFTextExtractDevice is a concrete device that maintains the text matrices and emits one THPDFGlyphRecord per char code (decoded via an injected IHPDFFontResolver) — observably equivalent to HPDFInterpretTokens output but produced through the device interface so the same interpreter loop drives text extraction, path enumeration and rendering
  • HPDFExtractGlyphsViaDevice convenience function wraps the text-extract device + shared interpreter in one call; the existing HPDFInterpretContentStream / HPDFInterpretTokens stay untouched for current callers
  • Content-stream device abstraction stage 2: THPDFPageRenderer now implements IHPDFContentDevice so the shared dispatcher can drive it through the same abstract interface. ExecuteViaDevice is the opt-in device-driven render entry; the production Execute path keeps its built-in ExecuteStream / HandleOperator dispatch, so existing behaviour is unchanged. The renderer carries every piece of state the callbacks need (graphics-state stack, font cache, GDI handles, four paint bridges) and each device method is a thin delegation, so the device-driven route is observably equivalent to the legacy route

Version 2.418.0

Added

  • DecompressLoadedDocument is the inverse of CompressLoadedDocument: it walks every indirect stream carrying a /Filter /FlateDecode (name or single-element array form), inflates the payload back to raw bytes, strips the /Filter entry and fixes up /Length; streams with other filters (CCITT / DCT / JBIG2 / JPX / Crypt / RunLength) and multi-filter chains are left untouched, and corrupt Flate payloads are skipped rather than discarded
  • EnumLoadedPageElements now returns the full path geometry per ekPath element, not just the bounding box: two new fields PathPoints: array of THPDFPathPoint and PathIsCurve: array of Boolean are index-parallel and carry each segment’s user-space control points with a flag distinguishing cubic bezier segments from linear ones (m / l / re edges). Callers that only read the bbox are unaffected; CAD drawing extraction, table-line detection and vector-replay consumers can now rebuild the exact curves the page drew
  • New HPDFContentDevice unit introduces the content-stream device abstraction (stage 0): an IHPDFContentDevice interface with a TInterfacedObject base implementation (mirroring the proven IHPDFFontResolver pattern), a shared HPDFInterpretContentStreamDevice dispatcher that today covers the path / colour / state operator subset, and a concrete THPDFPathEnumDevice that collects one record per painted path with full point geometry. This breaks the three-way duplication between HPDFContentStream, HPDFPageRenderer.HandleOperator and HPDFCollectPathElements; stage 1 will add text/image callbacks and stage 2 will migrate the renderer onto the device

Changed

  • HPDFPageRenderer header comment updated: the “TrueType/CFF glyph-outline rendering out of scope” note was stale — embedded glyph outlines have been active since v2.342.0 (DrawTextRun calls THPDFEmbeddedTTF.DrawGlyph / THPDFEmbeddedCFF.DrawGlyph with real quadratic/cubic bezier paths; GDI TextOutW is only the fallback for unmapped characters). CID fonts via Identity-H + CIDToGIDMap are covered too

Version 2.417.0

Added

  • Five named loaded-document annotation helpers close the discovery gap where the existing ASubtype-parameterised helpers (AddLoadedHighlightAnnotation, AddLoadedSquareAnnotation, AddLoadedPolygonAnnotation) already produced these subtypes but callers had to know the secret: AddLoadedCircleAnnotation, AddLoadedUnderlineAnnotation, AddLoadedStrikeOutAnnotation, AddLoadedSquigglyAnnotation and AddLoadedPolylineAnnotation -- once landed, the XFDF interchange layer (which already recognises these subtype strings) picks them up for free
  • AddLoadedFileAttachmentAnnotation embeds an arbitrary file payload (PDF, image, office doc) as a FileAttachment annotation with the full three-object graph the spec requires: annotation dict / Filespec dict / EmbeddedFile stream with /Subtype MIME, /Params /Size and creation/modification dates; the new THPDFFileAttachmentIcon enum (faiPushPin / faiGraph / faiPaperclip / faiTag) selects the standard pin icon viewers render
  • THPDFFieldValidationOptions record + HPDFDefaultValidationOptions expose the full Adobe AF* parameter surface (Decimals / SeparatorStyle / NegativeStyle / CurrencySymbol / CurrencyBefore / RangeMin / RangeMax) that the Acrobat JS helpers accept; the existing ApplyLoadedFieldValidation(FieldIndex, Kind, DateFormat, Mask) signature is retained as a backward-compatible overload that forwards into the new record overload
  • ApplyFieldValidation and ApplyFieldCalculation bring the same Format+Keystroke+Validate / Calculate template to producer-mode fields (looked up by name) so newly-created forms get the same AF* scripts as loaded ones, without writing JavaScript by hand
  • CopyLoadedAnnotationsFromDocument deep-copies annotations from another loaded document directly PDF→PDF (no XFDF intermediary): reuses CopyObject to rebuild indirect references, streams and /AP appearances, rewrites /P to the destination page, optionally remaps /IRT reply chains via /NM, optionally clears /T author, and accepts a THPDFAnnotCopyFilterEvent callback for selective copy -- covers Widget/PrinterMark/TrapNet/Watermark/3D/Screen that the XFDF layer does not reach

Fixed

  • ApplyLoadedFieldValidation wrote the Format JavaScript under trigger key /X (annotation-exit), which Acrobat never fires for form fields -- the script was effectively dead. Corrected to /F so the format actually runs on field commit
  • ApplyLoadedFieldValidation emitted AFSpecial_FormatEx for the ArbitraryMask kind, a function that does not exist in the Adobe AF* set; only AFSpecial_KeystrokeEx(mask) is real, so the Format pass is dropped and enforcement happens at keystroke time as the spec intends
  • ApplyLoadedFieldValidation unconditionally appended AFRange_Validate(true,true,0,9999999) for numeric kinds, imposing a hidden 0..9999999 range the caller never asked for; range validation now only fires when the caller explicitly sets RangeMin or RangeMax in the options record
  • ApplyLoadedFieldValidation wrapped the ArbitraryMask in a JavaScript regex literal and emitted a hand-rolled validate script, but the mask is a literal format pattern ("AAA-9999"), not a regex; the validate pass is now removed and the keystroke mask carries the enforcement alone
  • ApplyLoadedFieldCalculation now prepends a Format+Keystroke number-formatting pair before the AFSimple_Calculate script so the aggregated result renders as a plain number, matching common PDF viewer behaviour (without it the Calculate value displays raw)

Version 2.416.0

Added

  • THPDFViewer now scrolls on hover-wheel without needing a click first: a thread-local WH_MOUSE hook (new HPDFMouseWheelHook unit, auto-installed from its initialization section) routes WM_MOUSEWHEEL to whichever THPDFViewer instance sits under the cursor, matching the behaviour of every native Windows PDF reader
  • THPDFViewer is now Per-Monitor DPI v2 aware: new HPDFPerMonitorDPI unit resolves user32!SetProcessDpiAwarenessContext (Win10 1703+, DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2) at runtime and falls back through shcore!SetProcessDpiAwareness (Win8.1+) and user32!SetProcessDPIAware (Vista+); the legacy HPDFEnablePerMonitorDPI is retained as an alias that forwards to the new layered helper
  • THPDFViewer.RenderAtPhysicalDPI published property (default True) makes the rendering DPI baseline track the monitor’s physical DPI via HPDFGetWindowDPI, so 100% zoom on a 144 DPI panel renders at native resolution; a new WMDpiChanged handler re-renders on cross-monitor moves; set False to preserve the historical 96-DPI logical baseline
  • Optional persistent disk tier for the rendered-page cache: setting THotPDF.RenderCacheFolder to a writable folder path persists every page rendered by RenderLoadedPageToBitmapCached as a PNG under <folder>\<SHA256-prefix-16>\<page>@<dpi>.png, so re-opening the same document later is instant; RenderCacheMaxDocuments (default 20) and RenderCacheMaxBytes (default 500 MB) bound the footprint with a true LRU eviction; the lookup order becomes in-memory → disk → rasterise, with disk hits back-filling the in-memory tier
  • THotPDF constructor now activates the highest available per-monitor DPI tier at first instantiation in runtime mode (skipped in csDesigning), so hosts that never call HPDFEnablePerMonitorDPI explicitly still get crisp rendering on high-DPI displays

Version 2.415.0

Added

  • HPDFParsePDFDate now honours the timezone suffix (+HH’mm, -HH’mm, or Z) and returns a UTC TDateTime; HPDFFormatPDFDate is the inverse formatter producing D:YYYYMMDDHHmmSS+00’00
  • GetLoadedExtGStateInfo reads LW / LC / LJ / ca / CA off a named ExtGState entry on a loaded page; GetLoadedShadingCount / GetLoadedShadingName and GetLoadedPatternCount / GetLoadedPatternName enumerate the /Shading and /Pattern resource sub-dictionaries
  • ReplaceLoadedPage swaps a page’s contents from a source document, SwitchLoadedPages exchanges two pages, ReverseLoadedPages flips page order in a range, ExtractLoadedPagesToPDF saves a page range as a standalone PDF, and GetLoadedPageInheritedBox resolves inherited page boxes through the page-tree parent chain
  • GetLoadedFileSpecInfo reads embedded-file metadata (name / description / MIME / size), GetLoadedEmbeddedFileMIME returns the /Subtype, GetLoadedEmbeddedFileChecksum returns the /Checksum digest, and THPDFNameTreeType + GetLoadedNameTreeRootCount provide a typed enumeration of all nine name-tree categories
  • HPDFEnablePerMonitorDPI dynamically enables per-monitor DPI awareness; THPDFBackgroundRenderer renders pages on a background thread with a request queue and cancellation; GetLoadedPageContentStreamCount reports whether /Contents is a single stream or an array; GetLoadedXMPValue extracts a namespace-qualified XMP property; and GetLoadedDocumentReport aggregates all diagnostic info into a JSON string

Version 2.414.0

Added

  • THPDFActionBuilder.URIWithIsMap creates a URI action with /IsMap true for server-side image-map tracking, where the previous URI builder only set the bare /URI string
  • AddLoadedCaretAnnotationEx adds an optional paragraph symbol (/Sy P) to caret annotations, the visual marker editors use for insert-tracking
  • GetLoadedAnnotationDA parses a FreeText annotation’s /DA string into font name, font size and RGB colour components, so a caller can inspect or clone the appearance without re-parsing the raw operator string

Version 2.413.2

Fixed

  • The C++Builder package now links without requiring crypt32.lib: HPDFWinCertSigner loads the CryptoAPI entry points (CertOpenStore, CertEnumCertificatesInStore, CryptAcquireCertificatePrivateKey, and the Crypt hash helpers) dynamically via LoadLibrary/GetProcAddress, matching the pattern already used by HPDFDoc.EnumerateSystemCertificates

Version 2.413.1

Fixed

  • Type1 and CFF font handling now preserves parser ownership across repeated stream checks and multi-font FontSets, returns stable glyph names and bounding boxes, keeps fractional font sizes and DPI scaling, and avoids composite-glyph and private-dictionary memory errors
  • The C++Builder AddDelPages, HugeFileBenchmark, and Security demos now compile for Win64, while page-operation and preflight examples release partially constructed objects safely

Version 2.413.0

Changed

  • The Delphi E-Invoice demo now validates required invoice fields, amount and VAT ranges, currency syntax, and embedded XML profile compatibility before writing output
  • The attach workflow now rejects identical source and output paths, reports the detected XML guideline, and combines container, PDF/A, XML profile, signature, visual consistency, Schematron, and external-report checks into one verdict

Fixed

  • E-Invoice generation and manual validation no longer report a successful result when an enabled validation layer finds issues
  • Loaded electronic-invoice summaries now read the invoice number, seller, and buyer from their correct XML aggregates, preventing false visible-text consistency findings

Version 2.412.0

Changed

  • All Delphi demos now resolve no-argument relative assets and outputs from their executable directory while preserving the caller working directory for command-line paths
  • Delphi command-line demos now provide stricter argument validation, failure exit codes, deterministic comparison inputs, and generated-document verification across page copying, text extraction, preflight, optimisation, inspection, and in-memory workflows

Fixed

  • Delphi demos no longer risk page-list overflow above 100 selected pages, create an extra blank page in the add-page workflow, close unrelated PDF viewer windows, or report failed preflight checks as successful
  • The E-Invoice attach workflow now rebuilds its current page correctly when a single-page source is converted, signed, and stripped of the temporary initial blank page

Version 2.411.0

Added

  • E-Invoice demo: new "Attach to existing PDF" mode converts an existing PDF to PDF/A-3, embeds a Factur-X/ZUGFeRD invoice XML as a document-level attachment, and optionally signs the result with a PFX certificate

Version 2.410.0

Added

  • Loaded AcroForm fields can now update flags, maximum length, text justification, per-widget rectangles, rotation, border colour, and visible or printable state, with widget enumeration for radio groups and other multi-widget fields

Fixed

  • Loaded field tooltip, border-width, and background-colour edits now mark the correct field or widget dictionaries dirty, apply visual properties to every widget, and invalidate only the affected page render cache

Version 2.409.0

Added

  • ActivateLoadedLinks turns bare HTTP, HTTPS, FTP, www., mailto:, and email text into positioned borderless URI annotations across a selected page range

Changed

  • Loaded link creation now persists reliably in incremental updates, while automatic activation snapshots existing links once per page, skips matching URI and rectangle pairs, and invalidates each changed page cache only once

Version 2.408.0

Added

  • Loaded annotations can now update their title, unique name, modification date, normalised rectangle, and standard solid, dashed, bevelled, inset, or underlined border style

Fixed

  • Loaded annotation edits now mark the annotation object dirty for incremental saves, while visual edits invalidate only the affected page's cached renders and retain other warm pages

Version 2.407.0

Added

  • THPDFViewerModel stores, clips, enumerates, removes, and clears persistent page-region highlights without modifying the PDF
  • THPDFViewer adds a highlight interaction mode with captured marquee dragging, rotation-aware PDF coordinate recovery, configurable colour, and an OnMarqueeSelect callback

Fixed

  • Viewer coordinate transforms now retain the actual render DPI below 12 and above 2400, keeping selections aligned at the 5% and 6400% zoom limits

Version 2.406.0

Added

  • THPDFViewerModel creates rotation-aware page thumbnails directly at a DPI selected for caller-supplied pixel bounds, avoiding full-size intermediate page bitmaps
  • Viewer-model page prefetch warms a centred neighbourhood asynchronously while limiting the scheduled pages to the rendered-page cache capacity

Version 2.405.0

Added

  • THPDFPageLayout now supports PDF 1.5 plTwoPageLeft and plTwoPageRight cover-spread layouts with automatic version negotiation and strict-version fallback

Fixed

  • BeginDoc now preserves the caller-selected page layout instead of always replacing it with plOneColumn

Version 2.404.0

Added

  • THPDFViewerModel creates rotation-aware snapshots of bounded PDF page regions without allocating a full-page bitmap

Version 2.403.0

Added

  • THPDFViewerModel converts points bidirectionally between PDF page space and rotation-aware Viewer coordinates at a caller-selected DPI

Version 2.402.0

Changed

  • Viewer zoom commands now use stable standard levels from 5% through 6400%, including reversible navigation around arbitrary custom values

Version 2.401.0

Added

  • THPDFViewer adds Ctrl+wheel zoom, vertical wheel scrolling, and Shift+wheel horizontal scrolling without rerendering for scroll-only input

Version 2.400.0

Added

  • THPDFViewer adds keyboard page navigation, scrolling, zoom shortcuts, and Actual Size, Fit Width, or Fit Page mode selection

Version 2.399.0

Added

  • THPDFViewer draws or prints the rotation-aware current view with deterministic aspect-preserving fit and centred placement

Version 2.398.0

Added

  • THPDFViewerModel creates caller-owned vector EMF snapshots of any loaded page or the current view, including non-destructive 90-degree view rotation

Version 2.397.0

Added

  • THPDFViewerModel saves rotation-aware page snapshots as BMP, JPEG, or PNG to files and caller-owned streams with configurable JPEG quality

Version 2.396.0

Added

  • THPDFViewer.ResetView restores Actual Size, clears view rotation and search highlights while preserving the current page, with matching reset and rotation actions and batched single-render updates

Version 2.395.0

Added

  • THPDFViewer and THPDFViewerModel add clockwise, counter-clockwise, and resettable view rotation that also applies to caller-owned page snapshots without changing the PDF page

Version 2.394.0

Added

  • THPDFViewerModel can create caller-owned page snapshots and save the current page as BMP without constructing a Viewer control

Version 2.393.0

Added

  • THPDFLoadedFormField now exposes field flags, MaxLen, page index, widget bounds, and common Required, NoExport, Multiline, and Password states
  • GetLoadedFormFieldMaxLength provides direct indexed access to loaded text-field length limits

Version 2.392.0

Added

  • SetDocumentAttachmentMetadata renames document-level embedded attachments and updates their descriptions before serialization

Version 2.391.0

Added

  • ExtractLoadedPagesTextToStream streams selected loaded-page text as UTF-8 with custom separators and optional BOM output
  • THPDFViewerModel adds form-field hit testing and deterministic keyboard navigation across page widgets
  • THPDFSignatureInfo.CertificateTimeValidity reports certificate-bound and signed-time validity classifications

Fixed

  • Loaded form fields without widget /P back-references can now be mapped through page annotation arrays

Version 2.390.0

Added

  • THPDFWatermarkTemplate.MakeCurve and THPDFPage.AddCurveWatermark add cubic Bezier curves to loaded composites and new-document authoring

Fixed

  • Loaded document metadata setters now mark the Info dictionary dirty so incremental saves persist title and author changes

Version 2.389.0

Added

  • InsertLoadedBlankPage inserts a blank page with caller-defined dimensions at an exact loaded-document position
  • ExtractLoadedPagesText aggregates text from a one-based page range with a caller-defined separator
  • GetLoadedFormFieldNameValuePairs and SetLoadedFormFieldNameValuePairs provide batch name=value form exchange through TStrings
  • CMapResourcePath supports explicit standard CMap deployment paths for services, plug-ins, and custom application layouts

Changed

  • The VCL viewer now draws search-hit rectangles and refreshes when the active hit changes on the current page, while linked outline controls follow viewer document changes
  • Page rendering now resolves inherited media boxes, rotation, and resources and correctly maps non-zero page origins at every right-angle rotation

Fixed

  • Form-name conflicts are rejected before page insertion or append begins when merge renaming is disabled, leaving the destination page count unchanged
  • Deleting loaded pages now detaches their AcroForm widget fields and removes empty field-tree branches instead of leaving references to deleted pages
  • Cursor-style search helpers and viewer-model misses no longer clear managed text-match records with raw memory operations
  • Automatic CMap discovery now passes the actual collection root to the text decoder

Version 2.388.0

Added

  • New DeletePages removes one-based page ranges from loaded PDFs, de-duplicates overlapping selections, reports progress, and rebuilds a valid page tree for saving
  • Page insertion and append merging now accept THPDFMergeOptions to copy recursive outlines, register imported AcroForm fields, and deterministically rename conflicting field names
  • New AddLoadedRadioButton creates a true parent radio field with child widgets, shared export values, and complete on/off appearance states
  • New SearchLoadedNext provides stateless page-local next-match search, while GetLoadedOutlineEntries returns complete recursive outline snapshots with parent and level data
  • New Windows certificate-store signing overloads select a current-user or local-machine certificate by SHA-1 thumbprint and sign through either CNG or legacy CSP private keys
  • New THPDFLoadedDocumentFacade exposes typed outline, form, annotation, font, and image collections with mutation and extraction helpers
  • New THPDFViewer, THPDFSearchPanel, THPDFOutlineViewer, viewer model, and viewer action classes add reusable VCL page display, navigation, zoom, search, and bookmark controls
  • New advanced printing, signature validation, page-thumbnail, loaded-image export, and typed loaded-document inspection demos cover the end-to-end workflows

Changed

  • Loaded-document printing now builds deterministic collated or uncollated physical page sequences, supports custom paper width and length, and reports printer paper codes, names, and sizes
  • System certificate enumeration now includes SHA-1 thumbprints, private-key availability, validity dates, and key-usage metadata

Fixed

  • Loaded text-search result growth no longer copies managed string records with raw memory moves, preventing invalid-pointer failures on Win64
  • Deleting loaded pages no longer frees shared page resources or leaves stale page-tree counts that reappear after save and reload

Version 2.387.0

Added

  • New PrefetchLoadedPages renders a page range into the rendered-page cache on a background worker thread, so a viewer turning pages gets instant warm-cache hits instead of waiting for each render
  • CancelLoadedPagePrefetch stops the worker and IsLoadedPagePrefetchActive reports its state; loading another document or destroying the component cancels an active prefetch automatically
  • Cached rendering and the prefetch worker are serialised internally, so RenderLoadedPageToBitmapCached stays safe to call while a prefetch is running

Version 2.386.0

Added

  • New FlattenLoadedAnnotations draws each annotation's normal appearance permanently into the page content at its rectangle and removes the annotation, so markup and form visuals survive in viewers that hide or cannot edit annotations
  • The pass follows appearance-state dictionaries through /AS, honours the appearance bounding box and matrix when fitting the rectangle, and can be limited to one annotation subtype or a page range

Version 2.385.0

Added

  • New RenderLoadedPageRegionToBitmap rasterises only a chosen user-space window of a page at the requested DPI, so very large pages can be rendered tile by tile in bounded memory at high resolutions instead of as one oversized bitmap
  • Tiles align exactly: the bitmap covers precisely the requested region, so adjacent tiles reassemble into the full page without seams

Version 2.384.0

Added

  • New GenerateLoadedPageThumbnails renders the selected pages of a loaded document and embeds them as JPEG page thumbnails, the previews shown in viewer page panels; the longest edge size and JPEG quality are configurable, and existing thumbnails are replaced in place
  • GetLoadedPageThumbnailSize reads back an embedded thumbnail's pixel dimensions, and ClearLoadedPageThumbnails removes thumbnails from the selected pages

Version 2.383.0

Added

  • EnumLoadedPageElements now reports vector path elements alongside text runs and images: each painted path yields an element with its user-space bounding box, the painting operator (stroke, fill, or both), the fill and stroke colours in force, and the segment count
  • The path walker follows q/Q nesting and cm transformations, so shapes drawn inside scaled or translated blocks report their true page coordinates

Version 2.382.0

Added

  • THPDFPrintOptions gains Duplex (simplex, long-edge, short-edge), PaperBin, and PrintQuality fields that are pushed into the printer device mode before the job starts; an explicit Orientation value is now applied as well
  • New HPDFGetInstalledPrinters lists the system printers, and HPDFGetPrinterCapabilities reports a printer's duplex and colour support, maximum copy count, paper bins (with the codes accepted by PaperBin), and supported resolutions

Version 2.381.0

Added

  • New CopyLoadedOutlinesFromDocument merges the complete bookmark tree of another loaded document into the current one, preserving titles, nesting, sibling order, and destination view parameters while remapping every destination page by a caller-supplied offset — the companion to page-append merges so combined documents keep both bookmark sets

Fixed

  • GetLoadedBookmarkPageIndex now finds bookmarks beyond the first top-level entry and inside nested levels; the previous lookup only matched later bookmarks by coincidence

Version 2.380.0

Added

  • New ImposeLoadedPagesNUp lays any page range onto grid sheets (any columns-by-rows arrangement, configurable sheet size and gutter) in reading order, scaling each page into its cell with optional aspect-ratio preservation
  • New ImposeLoadedPagesBooklet produces saddle-stitch booklet sheets: pages are padded to a multiple of four and paired in booklet order so double-sided printing and folding yields a correctly ordered booklet
  • Both imposition calls wrap the source pages as Form XObjects and append the finished sheets after the existing pages, returning the sheet count

Fixed

  • Loaded-page rendering now follows an indirect reference on the resources /XObject sub-dictionary; pages whose resources arrived as separate objects skipped their images and forms silently

Version 2.379.0

Added

  • SaveLoadedPagesAsImages gains two TIFF formats: ifTIFF writes one single-page TIFF file per page, and ifTIFFMulti aggregates the whole page range into one multi-page TIFF, unifying TIFF output with the existing BMP, JPEG, PNG, EMF, and WMF choices
  • Both TIFF paths honour the requested rendering DPI in the image resolution tags and use lossless Deflate compression

Version 2.378.0

Added

  • Loaded-page rendering now draws text rendering modes 1 (stroke) and 2 (fill then stroke) with real glyph outlines for both embedded fonts and system-font fallbacks, using the current stroke colour and line width; the clipping variants 4 to 7 paint like their base modes

Fixed

  • Twelve single-operand content operators (Tc, Tw, Tz, TL, Ts, Tr, w, J, j, M, ri, i) read their operand from the wrong token position and always applied zero; character and word spacing, horizontal scaling, leading, text rise, render mode, line width, caps, joins, and miter limit now take effect when rendering loaded pages

Version 2.377.0

Added

  • Loaded-page rendering now honours optional-content (layer) visibility: content inside BDC /OC marked sections and XObjects carrying an /OC entry is hidden when its layer is off, following the document's default configuration (/BaseState, /ON, /OFF)
  • Optional-content membership dictionaries evaluate their /P policy (AnyOn, AllOn, AnyOff, AllOff) over the member groups
  • New layer APIs on loaded documents: GetLoadedOptionalContentGroupCount, GetLoadedOptionalContentGroupName, GetLoadedOptionalContentGroupVisible, and SetLoadedOptionalContentGroupVisible to inspect and override layer states for rendering; overrides invalidate the rendered-page cache automatically

Version 2.376.1

Fixed

  • Loaded-page bitmap rendering now paints image XObjects: the Do, gs, and sh resource lookups previously missed their slash-prefixed operand names and skipped the object silently
  • The cm operator and Form XObject /Matrix values now concatenate in the correct order, so translate-plus-scale placement sequences (the standard image positioning idiom) land content at its intended page position

Version 2.376.0

Added

  • New RegisterExponentialFunction, RegisterStitchingFunction, and RegisterPostScriptFunction APIs create standalone Type 2, Type 3, and Type 4 function objects for use wherever a function reference is accepted (shadings, halftone spot and transfer functions, tint transforms)
  • RegisterPostScriptFunction validates the calculator program at registration time by trial evaluation, so malformed programs are rejected immediately instead of degrading silently in viewers
  • New RegisterSeparationFunc creates a Separation colour space with a caller-supplied tint-transform function object

Fixed

  • Rendering Type 2 (exponential) tint transforms with one- or three-component outputs no longer paints black; previously only four-component (CMYK) outputs decoded correctly
  • Rendering Type 3 (stitching) tint transforms now supports any number of sub-functions, applies the /Encode remapping, and accepts single-entry /Bounds arrays

Version 2.375.0

Added

  • Page rendering now evaluates Type 4 (PostScript calculator) tint-transform functions, so Separation and DeviceN colours and gradient shadings driven by calculator programs render their real colours instead of a grey placeholder
  • The calculator evaluator covers the complete ISO 32000-1 7.10.5 operator set: arithmetic, comparison, boolean and bitwise, stack manipulation, and if/ifelse conditionals

Fixed

  • Named colour-space selection (cs/CS operators) in loaded-page rendering now resolves resource names correctly; previously the lookup missed and the content fell back to the default colour space
  • Loaded-page rendering now follows indirect references to array-valued colour spaces such as /Separation and /DeviceN definitions stored as standalone objects

Version 2.374.0

Fixed

  • XFDF annotation import/export now preserves caret annotation default appearance data through the <defaultappearance> child and the PDF annotation DA entry

Version 2.373.0

Fixed

  • XFDF annotation import/export now preserves caret annotation fringe geometry through the fringe attribute and the PDF annotation RD entry

Version 2.372.0

Fixed

  • XFDF annotation import/export now preserves rubber stamp annotation rotation through the rotation attribute and the PDF annotation Rotate entry

Version 2.371.0

Fixed

  • XFDF annotation import/export now preserves text annotation reply relationships through inreplyto, replyType, and the PDF annotation IRT and RT entries

Version 2.370.0

Added

  • XFA numeric, date-time, and password fields with disabled horizontal scrolling now flatten to AcroForm text widgets with the PDF do-not-scroll flag

Version 2.369.0

Added

  • XFA text fields with disabled scroll policies now flatten to AcroForm text widgets with the PDF do-not-scroll flag

Version 2.368.0

Added

  • XFA text fields with multiLine="1" now flatten to AcroForm text widgets with the PDF multiline flag

Version 2.367.0

Added

  • XFA subform access restrictions now inherit into child widgets so generated AcroForm fields stay read-only when an ancestor is readOnly, protected, or nonInteractive

Version 2.366.0

Added

  • XFA choice-list flattening now maps commitOn="select" to the AcroForm commit-on-selection-change flag for generated choice fields

Version 2.365.0

Added

  • XFA choice-list flattening now maps open="always" lists to single-select AcroForm list boxes instead of drop-down combo boxes

Version 2.364.0

Added

  • XFA choice-list flattening now maps textEntry="1" combo lists to editable AcroForm combo boxes while preserving typed values outside the option list

Version 2.363.0

Added

  • XFA choice-list flattening now prefers <items save="1"> values when a field carries separate display and saved-value option lists

Version 2.362.0

Fixed

  • XFDF annotation import/export now preserves FreeText justification and tail attributes through the PDF annotation Q and IT entries
  • JBIG2 document defaults now match the documented scan-friendly settings for lossy level, isolated black-pixel cleanup and black-dot size

Version 2.361.0

Fixed

  • XFDF annotation import/export now preserves standard line leader and caption attributes, including leaderLength, leaderExtended, caption, leader-offset, caption-style, caption offset values and the import-side leaderExtend spelling used by compatible XFDF files

Version 2.360.0

Added

  • XFA flattening now suppresses output for fields and static draws concealed by presence="hidden", presence="invisible", or presence="inactive", including descendants of concealed containers

Version 2.359.0

Added

  • XFA flattening now maps field-level access="readOnly", access="protected", and access="nonInteractive" restrictions to the generated AcroForm read-only flag

Version 2.358.0

Added

  • XFA flattening now preserves <choiceList open="multiSelect"> semantics by setting the PDF multi-select flag on the generated AcroForm list box

Version 2.357.0

Added

  • XFA flattening now maps <ui><passwordEdit> fields to AcroForm text fields with the PDF password flag, preserving bound values while allowing readers to treat the field as password-style input

Version 2.356.0

Added

  • XFA flattening now honours explicit <bind match="none"> field bindings, so fields marked as unbound remain blank instead of taking same-name values from the XFA form or datasets packets

Version 2.355.0

Added

  • XFA flattening now honours simple explicit <bind match="dataRef" ref="..."> field bindings such as $record.customer.legalName, so ApplyXFAAsAcroForm and FlattenLoadedXFA preserve values stored under a different data node name before automatic same-name matching

Version 2.354.0

Fixed

  • XFDF annotation import/export now preserves link annotation BorderStyleAlt children through the PDF annotation Border array, including corner radii, width and dash pattern values

Version 2.353.0

Fixed

  • XFDF annotation import/export now preserves standard interior-color attributes for line, square, circle, polygon, polyline and redaction annotations through the PDF annotation IC color array

Version 2.352.0

Fixed

  • XFDF annotation import/export now preserves standard annotation border style and cloudy border effect attributes, including width, dashes, style and intensity

Version 2.351.0

Fixed

  • XFDF annotation import/export now preserves annotation rich text through <contents-richtext> and imports popup child geometry and open state into annotation Popup dictionaries

Version 2.350.0

Fixed

  • XFDF annotation import/export now preserves additional standard annotation attributes: text open and review state values, line endpoint styles, link and redaction coords, FreeText default style, default appearance and rotation, and square or circle fringe geometry

Version 2.349.0

Fixed

  • XFDF annotation import/export now follows ISO 19444-1 structures for lines, polygons, polylines and ink annotations: line exports include full start / end coordinate pairs, polygon and polyline data uses <vertices> child elements, ink data uses <inklist><gesture>, semicolon-separated coordinate pairs import correctly, and unsupported annotation subtypes no longer inflate the exported count

Version 2.348.0

Added

  • LoadedPageCount property, DuplicateLoadedPage, AddLoadedBlankPage, SetLoadedPageRotationValue and GetLoadedPageBoxRect round out the loaded-document page-operation API — duplicate pages, insert blank separators, set rotation and read any of the five page boxes in one call
  • GetLoadedEncryptionMethod returns the cipher name (RC4-40 / RC4-128 / AES-128 / AES-256), GetLoadedFileStructureInfo aggregates linearization / object-stream / xref-type in one call, LoadedSourceFileSize is a property, and SetLoadedPDFVersion updates the version
  • StampLoadedPageImage and StampLoadedPageImageFromFile embed a JPEG Image XObject (logo / signature image / QR code) onto a loaded page at a given rectangle, InsertLoadedText draws a single-line text run, and GetLoadedPageContentLength returns the decoded byte count
  • THPDFPrintOptions gains IgnoreHardMargin (offset printer hard margins so content is not clipped) and AutoRotate (landscape pages print landscape automatically)
  • SaveLoadedPagesAsImages gains BMPPixelFormat / BMPMonochrome (mono / 8-bit export) and JPEGScale (1 / 2 / 4 / 8 sub-sampled JPEG decode for fast thumbnails)
  • CompressLoadedDocument zlib-compresses every uncompressed stream in the loaded object graph and writes /Filter /FlateDecode, shrinking output size

Fixed

  • StampLoadedPageText and StampLoadedPageImage now transparently decompress FlateDecode content streams before appending operators — previously stamping onto a compressed /Contents silently corrupted the zlib payload and the appended text/image disappeared

Version 2.347.0

Added

  • AddLoadedOutline creates a new bookmark on a loaded PDF at any nesting level (ParentIndex = -1 for top-level), with a /Dest [page /XYZ x y zoom] target — the single highest-requested loaded-document feature, closing the gap that HotPDF could read/modify/delete bookmarks but never create them
  • SetLoadedOutlineDestination and SetLoadedOutlineURI rewrite an existing bookmark’s target page or switch it to a URI action
  • ResolveLoadedNamedDestination turns a named destination string into a zero-based page index, and AddLoadedNamedDestination registers a new anchor on the loaded document’s /Names /Dests tree
  • GetLoadedBookmarkPageIndex is a convenience lookup: pass a bookmark title, get back the page it points to

Version 2.346.0

Fixed

  • Image scaling quality now honours /Interpolate: HALFTONE stretch mode is used by default (smooth downscale) and COLORONCOLOR when the image explicitly sets /Interpolate false, so small raster images keep their hard edges where the author intended instead of always blurring

Version 2.345.0

Fixed

  • TJ array kerning adjustments are no longer discarded: the numeric elements between string runs advance the text matrix by -value × FontSize / 1000, so tightly-spaced titles and logo lettering from Word / Illustrator place glyphs at the intended offsets
  • Tw (word spacing) now also fires on the CID ideographic space (U+3000, code $3000), so justified Japanese / Chinese text gets its word spacing instead of only ASCII code 32
  • Font weight / italic detection now consults /FontDescriptor /Flags (bit 18 ForceBold) and /ItalicAngle in addition to the /BaseFont name, so subset-prefixed fonts whose name carries no -Bold suffix still render at the right weight

Version 2.344.0

Added

  • GetLoadedTrapped reads the /Trapped key from the Info dict (True/False/Unknown), where it was previously write-only — PDF/X preflight workflows can now round-trip the trap state
  • GetLoadedDocumentMetadataXML returns the raw XMP metadata stream bytes so PDF/A documents whose Info dict is absent can still expose dc:title / dc:creator / xmp:CreateDate
  • GetLoadedCollectionInfo reads the /Collection Name of a PDF Portfolio (EmbeddedFiles name tree still carries the file list)
  • GetLoadedOutlineChild descends one level into the bookmark tree, returning the /First child of a top-level outline entry, so nested chapter / sub-chapter bookmarks are no longer invisible
  • RotateLoadedPages rotates every page in a range by a given angle (accumulating onto existing /Rotate), the batch counterpart to per-page rotation
  • SetLoadedPageBoxForRange sets a page box (Media/Crop/Bleed/Trim/Art) for every page in a range in one call
  • GetLoadedViewerPreferences now also reads HideWindowUI and CenterWindow, matching the six keys the writer emits (previously only four came back)

Version 2.343.0

Fixed

  • The W n / W* n clip idiom now applies the clip: the n operator builds the pending path and calls SelectClipPath instead of discarding both the path and the pending clip, so rect / container clips written as re ... W n no longer leak their contents past the boundary
  • SetMiterLimit is now pushed to GDI before building the stroke pen, so sharp joins honour the PDF miter limit (default 4) instead of GDI’s default 10 — eliminating the long spikes on acute-angle joins
  • Type 3 glyphs declared with d0 (colour-permitting) now explicitly clear the colour-suppress flag, so a preceding d1 glyph no longer bleeds its colour suppression into a d0 glyph

Added

  • ri (rendering intent) and i (flatness) operators are now consumed and stored on the graphics state (RenderingIntent / Flatness fields), where they were previously silently skipped

Version 2.342.0

Added

  • Text rendering mode operator Tr is now consumed; mode 3 (invisible) skips painting the text run entirely, so the OCR / form-background hidden text layer no longer paints as overlapping garbage glyphs — the most common Tr case in real-world PDFs. Modes 1 / 2 (stroke) currently fall back to fill pending per-glyph outline support
  • Marked-content operators BMC / BDC / EMC and the DP / MP property variants now maintain a depth counter on the renderer, the prerequisite for a later round’s OCG / OCMD visibility evaluation; BX / EX compatibility operators maintain their own counter so the renderer knows it is inside a compatibility block

Version 2.341.0

Fixed

  • Bezier shorthand operators v and y are now handled by the page renderer, where they were previously silently skipped — rounded rectangles, circles and the curves produced by Illustrator / PowerPoint / InDesign render correctly instead of being truncated or dropped
  • DrawTextRun now honours Tz (horizontal text scaling), Tw (word spacing, applied to the space glyph) and Ts (text rise) so justified Word exports place glyphs at the right width, headings that are horizontally stretched/squeezed keep their length, and super/subscript text lifts off the baseline — previously those three text-state values were stored but never consumed

Version 2.340.0

Added

  • SearchLoadedPageTextWholeWord filters the substring matches produced by SearchLoadedPageText down to those that sit on word boundaries (the glyph before the match start and after the match end must not be a word character), providing whole-word matching without padding the search string with a trailing space
  • GetLoadedSearchHitRect collapses a match’s glyph range into a single bounding rectangle (user-space Left/Top/Right/Bottom, padded by a fraction of the font size), so a viewer can draw one highlight box per hit instead of walking the glyph array

Version 2.339.0

Added

  • ExtractLoadedPageTextColumns reconstructs multi-column text: glyphs are clustered into baselines by a Y tolerance, each row is sorted by X, and a row splits into separate columns (tab-separated) wherever the gap between consecutive glyphs exceeds a configurable multiple of the median glyph advance — the column-aware counterpart to ExtractLoadedPageTextLayout that previously declared column detection out of scope
  • THPDFPageElement now carries a BaselineRole (brNormal / brSuperscript / brSubscript) populated by EnumLoadedPageElements: a run whose font size is markedly smaller than the page median and whose Y origin sits above or below the dominant baseline is flagged

Version 2.338.0

Fixed

  • Image XObjects are now placed by transforming the unit square through the current CTM, instead of being stretched across the whole page bitmap — the previous StretchDraw(Rect(0,0,W,H)) misplaced every image on the page; images now land in the rectangle the content stream actually specifies

Added

  • /ImageMask stencil images are detected on the render side and painted with the current fill colour (PDF 8.9.6.1), where the renderer previously drew them as a plain greyscale bitmap

Version 2.337.0

Added

  • Render-side stroke style: the page renderer now honours the J (LineCap: butt/round/square), j (LineJoin: miter/round/bevel), M (MiterLimit) and d (LineDash array + phase) operators by building a geometric pen via ExtCreatePen instead of the previous fixed CreatePen(PS_SOLID, ...), so rounded joins, dashed borders and square end caps render correctly
  • Render-side gs (ExtGState) operator: the named ExtGState dictionary in /Resources/ExtGState is now consumed for LW / LC / LJ / ML / ca / CA and applied to the graphics state, where the renderer previously dropped the operator entirely
  • Graphics state extended with LineCap / LineJoin / MiterLimit / LineDash / DashPhase / FillOpacity / StrokeOpacity fields, all with PDF-default initial values

Fixed

  • Clip (W / W*) now sets the GDI polygon fill mode (ALTERNATE vs WINDING) before SelectClipPath, so even-odd and nonzero-winding clip intersections are no longer identical

Version 2.336.0

Security

  • The render-side /Indexed colour-space parser now clamps HiVal to the spec-mandated [0..255] range, closing a buffer-overread vector where a malformed HiVal let nComps × indexHigh overflow a 32-bit byte count and read past the lookup table

Added

  • AttachLoadedAnnotationMeasure writes a /Measure dictionary (PDF 1.7 §12.5.6.13) onto a Line or Polygon annotation, carrying the /NumberFormat array (unit label, decimal/fraction/round style, precision), the /Scale ratio and the /CYX isotropy factor — so a viewer can compute the real-world distance or area the shape spans

Version 2.335.0

Added

  • Render-side sh (shading) operator: axial (Type 2) and radial (Type 3) shadings are now painted instead of silently dropped, so PDFs whose backgrounds rely on Word/Excel-style gradients render their colour blend. The shading is discretised into bands along its axis and each band is filled with the colour the shading’s function evaluates to at that point

Version 2.334.0

Added

  • Render-side function-object evaluator HPDFEvalTintTransform now resolves Type 2 Exponential (C0 + xN·(C1-C0) with Domain/Range clamping), Type 0 Sampled (8/16/32-bit, Encode mapping, nearest-sample) and Type 3 Stitching (Bounds-selected sub-function recursion) — so Separation / DeviceN tint transforms and shading functions evaluate to real alternate-space colours instead of the v2.333.0 grey fallback. Type 4 PostScript calculators degrade gracefully
  • The page renderer now wires the colour-space unit’s indirect-ref resolver and decoded-stream reader to its document access at construction time, so tint-transform stream objects can be decoded through the same path as image XObjects

Version 2.333.0

Added

  • Render-side CIE-based colour spaces: CalGray, CalRGB (gamma + 3×3 matrix) and Lab (Lab→XYZ→sRGB with the 6/29 breakpoint cube) now resolve to real colours instead of degrading to black; the Bradford-adapted sRGB matrix is cached per white point so per-pixel work stays a single 3×3 multiply
  • Render-side ICCBased colour space resolves through its /Alternate (or an N-based DeviceRGB/Gray/CMYK guess when Alternate is absent), so pages carrying an ICC profile display correctly without an lcms dependency
  • Render-side Separation and DeviceN spot-colour spaces: the alternate space, tint-transform function reference and component count are parsed; the tint transform is wired through a pluggable evaluator so spot-colour pages are distinguishable from “colour not set” (full tint evaluation lands with the function engine)
  • Generic colour operators cs / CS / sc / SC / scn / SCN now handled by the page renderer, the prerequisite for every non-Device colour space to take effect on a loaded page
  • Unified colour resolution through HPDFResolveColor with the extended THPDFColorSpaceFamily and THPDFCIEParams records, replacing the per-space ad-hoc logic

Version 2.332.0

Added

  • RenderSignatureFieldAppearance paints a preset signature-field appearance template — border, light fill and up to four labelled text lines (“Digitally signed by <Name>”, “Reason: ”, “Location: ”, “Date: ”) — selected via a THPDFSignatureDisplayOptions set as a convenience wrapper around AttachSignatureFieldAppearance
  • EnumerateSystemCertificates walks a Windows certificate store (typical MY / ROOT / CA) via dynamically loaded Crypt32.dll and returns subject / issuer display names plus the raw DER for each certificate, the building block for a “pick a certificate / USB Key” signer UI

Security

  • Signature hash algorithm is SHA-256 by default with PAdES Seed Value DigestMethods already accepting SHA-256 / SHA-384 / SHA-512, so no SHA-1 signing path exists

Version 2.331.0

Added

  • RenderLoadedPageToDC draws one page straight into a caller-supplied device context (printer canvas, off-screen surface, custom TCanvas), removing the bitmap round-trip for print and high-DPI workflows
  • RenderLoadedPageToClipboard places a page on the clipboard either as a 24-bit bitmap or as an enhanced metafile (vector text), so paste-into-Word / paste-into-image-editor just works
  • PrintLoadedDocument with a THPDFPrintOptions record drives the VCL TPrinter through a page range, DPI, copies, collation, FitPage scaling and per-page render — the document library now ships its own print path instead of leaving every caller to wire one up

Version 2.330.0

Added

  • GetLoadedPageLabel reads back the /PageLabels /Nums range that covers a given page index, returning the style code, prefix and start number — the read counterpart to SetLoadedPageLabel, so labels a caller did not create itself can now be inspected and round-tripped
  • StitchLoadedPageSideBySideEx performs the side-by-side 2-up stitch with a configurable horizontal gutter and source-page scale factor, where the legacy StitchLoadedPageSideBySide was fixed to half width with no gap

Version 2.329.0

Added

  • AddLoadedRubberStampAnnotation with a THPDFRubberStampIcon enum covering all 14 standard stamp names (Approved, AsIs, Confidential, Departmental, Draft, Experimental, Expired, Final, ForComment, ForPublicRelease, NotApproved, NotForPublicRelease, Sold, TopSecret) so viewers render the familiar bitmaps without a custom appearance stream
  • SetLoadedAnnotationCloudyBorder turns a Square / Circle / Polygon annotation into a cloudy (cloud-burst) border by writing /BE /S /C /I plus the /IC interior colour array
  • SetLoadedLineAnnotationCaps sets the /LE line-end (arrowhead) styles for Line / Polyline annotations from the new THPDFLineEndStyle enum (None / OpenArrow / ClosedArrow / Butt / ROpenArrow / RClosedArrow / Slash / Diamond)

Version 2.328.0

Added

  • EnsureLoadedFieldAppearanceStream generates a /AP /N Form XObject for an existing AcroForm field from its /DA + /V + /Rect, so viewers that ignore /NeedAppearances still render the field value without a round-trip through Acrobat
  • ApplyLoadedFieldValidation attaches a Format / Keystroke / Validate script trio to a field using the Acrobat AF* helpers, covering Number, Percentage, Date, Time, Currency, ZipCode, SSN, Phone and ArbitraryMask input kinds — the caller no longer has to hand-write AFNumber_Format / AFDate_FormatEx / AFRange_Validate JavaScript
  • ApplyLoadedFieldCalculation attaches an AFSimple_Calculate script so a field aggregates the values of a named source field set via Sum / Average / Product / Minimum / Maximum

Version 2.327.0

Added

  • Visual search-and-replace SearchAndRedactReplaceLoaded: for every hit of the needle it masks the match rectangle with a chosen colour (or skips the mask with HPDF_NO_MASK) and stamps the replacement text on top, complementing the byte-level ReplaceLoadedPageText when the original font lacks a reverse char-code table or the replacement needs a different font
  • Region text extraction GetLoadedPageTextInRegion concatenates every glyph whose origin falls inside a user-space rectangle, with newlines between baselines — the building block for “copy text from this box” UI flows
  • Cursor-style SearchLoadedFirst returns the first match as a single THPDFTextMatch, so callers can walk hits without managing a whole match array

Version 2.326.0

Added

  • Document-wide MeasurementUnit property (muPoints / muPixels / muInches / muMM / muCentimeters / muTwips) so every high-level authoring coordinate is converted to PDF points through ToPDFUnit / FromPDFUnit
  • Placeholder substitution in watermark text: <%PageNo%>, <%TotPage%>, <%FileName%>, <%ShortDate%>, <%LongDate%>, <%ShortTime%>, <%LongTime%> are resolved per page when stamping, so “Page X of Y” and dated stamps are one call
  • AddTextWatermarkEx page method that combines placeholder substitution, unit-aware coordinates and a unified THPDFWatermarkBase record (angle, opacity, position presets)
  • Shape-watermark page helpers AddRectangleWatermark, AddEllipseWatermark, AddLineWatermark and AddPolygonWatermark, each wrapping the path primitives in a q/Q graphics-state pair with registered fill/stroke alpha
  • Unified THPDFWatermarkTemplate record with MakeText / MakeRectangle / MakeEllipse / MakeLine / MakePolygon factories plus a THPDFWatermarkTemplateArray composite type
  • Loaded-document watermarking: StampLoadedPageText and StampLoadedPagesText append a transparent, rotated text run to existing pages, honouring the MeasurementUnit and the same placeholder set; StampLoadedPagesComposite applies a whole template array (text + shapes) to a page range
  • Z-order control on loaded-document stamps: Underlay = True prepends the watermark stream before the existing /Contents via the array form, so the watermark renders behind the page content
  • EnumLoadedPageElements returns text runs (glyphs aggregated by baseline + font) and image XObject placements as THPDFPageElement records with bounding boxes
  • SaveLoadedPagesAsImages multi-format export: BMP / JPEG / PNG raster plus EMF / WMF vector, one file per page, with configurable DPI, file-name prefix and JPEG quality
  • GetLoadedPageMetafile vector render of one page to a TMetafile via the new THPDFPageRenderer.ExecuteToDC path, keeping text and vector paths scalable for print, clipboard and merge workflows

Version 2.325.3

Fixed

  • Aggregating batch preflight reports no longer overflows the total-bytes count when a single input file is over 2 GB

Version 2.325.2

Fixed

  • Saving a document over 2 GB with object streams enabled (UseObjectStreams) no longer writes a corrupted cross-reference stream; the object offsets and cross-reference stream position, previously narrowed to a 32-bit integer, are now carried as 64-bit values through the whole write

Version 2.325.1

Fixed

  • Four recovery-only scans used when a damaged PDF cannot be parsed normally — object-stream decompression, object-stream discovery, and two reference-repair passes — no longer read a file over 2 GB into a truncated buffer; each now skips that fallback on such a file instead of scanning corrupted data

Version 2.325.0

Added

  • EMF/WMF import now renders EMR_GRADIENTFILL rectangle gradients (GRADIENT_FILL_RECT_H / GRADIENT_FILL_RECT_V) as PDF Type 2 axial shading patterns, mapping each TRIVERTEX colour pair to an RegisterAxialGradient call and filling the rectangle with the resulting pattern; previously this record was a documented no-op, now Word/Excel/PowerPoint gradient rectangles in EMFs render with the correct left-to-right or top-to-bottom colour blend

Version 2.324.0

Added

  • EMF/WMF import now parses EMR_GDICOMMENT comments, distinguishing Adobe PDF passthrough markers (0x416F4650 = "AoFP", MS-EMF §2.3.3) from other comment types. When the Adobe marker is present the comment payload is scanned for the pdfmark keyword and surfaced via debug logging so users can identify which EMF producers emit PostScript pdfmark fragments; other comment types remain no-ops. Both HotPDF and llPDFLib previously carried only an empty stub for this record

Version 2.323.0

Added

  • EMF/WMF import now explicitly recognises EMR_GRADIENTFILL as a documented no-op (PDF Type 2/3 shading patterns could express gradient fills but viewer rendering is inconsistent and GDI's per-pixel Gouraud interpolation does not map cleanly); previously this record was silently dropped without a case-table entry

Version 2.322.0

Changed

  • PFX-based signing now routes inputs of 64 MB or larger through a streaming chunked signer (HPDFCMSSignPDFStreamChunked) that scans for the /ByteRange + /Contents placeholders in 256 KB rolling reads, digests the two byte-range windows via HPDFCMSSHA256StreamRanges, then copies the input stream to the output stream while patching the placeholder bytes in flight, so peak memory stays bounded by the 256 KB buffer instead of the entire file size; smaller inputs keep the fast in-memory Pos() + Move() path unchanged

Version 2.321.0

Added

  • Optional-content group usage dictionaries: SetOptionalContentGroupUsage attaches a /Usage entry to a registered OCG (PDF 1.7 §8.11.4.4 Table 100) so viewers auto-show/hide layers by context. Categories View / Print / Export write <Category>State = ON/OFF; Zoom writes a real-pair Min; Language / Creator write string values
  • Outline subtree copy: THPDFDocOutlineObject.CopySubtree deep-clones the entire child subtree of a node under a new parent, propagating Title / Color / Bold / Italic / Opened while minting fresh object numbers and new destinations
  • Outline topology helpers IsDescendant (cycle-safe predicate used by MoveTo) and MoveTo (re-parent a node, detaching from its old sibling chain and re-attaching as the last child of the new parent, with full /Prev / /Next / /First / /Last / /Count maintenance on every affected ancestor)

Version 2.320.0

Added

  • Nested optional-content /Order tree: BeginOptionalContentOrderGroup / AddLayerToOptionalContentOrder / EndOptionalContentOrderGroup build a labelled, arbitrarily nested presentation tree (PDF 1.7 §8.11.4.3 /Order) so the layers panel can show hierarchical groupings like "Background [Lines Fills Images]" instead of the historical flat list. When none of the new helpers are called the previous flat /Order mirroring /OCGs is preserved byte-for-byte

Version 2.319.1

Fixed

  • Loading a PDF whose embedded JBIG2 image uses the standard Huffman coding option (rather than the more common MQ arithmetic coding) no longer fails outright: the loader now retries with the alternate decoding engine before giving up, so such images load successfully regardless of which decoding engine is preferred

Version 2.319.0

Changed

  • EMF/WMF import now applies a centralised InPath gate at the ExecuteRecord entry: while a path bracket is open (BeginPath seen, EndPath/AbortPath not yet reached) only path-construction records (line/curve/polygon/move/close/end/abort plus the coordinate-system and DC-state records) reach their handlers; text and bitmap records that previously leaked into the open path are now dropped centrally, mirroring llPDFLib's entry-point guard and eliminating a class of malformed-PDF bugs from stray records inside a path bracket

Version 2.318.0

Added

  • Optional-content radio-button groups: new RegisterOptionalContentRadioGroup declares mutually exclusive layer sets whose members turn each other off (PDF 1.7 §8.11.4.3 /RBGroups); typical use is single-choice layer panels like "Draft / Review / Final"

Version 2.317.0

Added

  • THPDFDocOutlineObject.InsertBefore / InsertAfter splice a new sibling into the existing outline doubly-linked list at an arbitrary position, complementing the existing AddChild (append) and AddChildFirst (prepend) helpers so outline trees can be built in any order without detaching and re-attaching nodes
  • EMF/WMF import now explicitly recognises the ICM/palette family (EMR_SETBRUSHORGEX, EMR_SELECTPALETTE, EMR_SETCOLORADJUSTMENT, EMR_SETICMMODE, EMR_CREATECOLORSPACE, EMR_SETCOLORSPACE, EMR_DELETECOLORSPACE, EMR_GDICOMMENT) and the no-PDF-mapping family (EMR_FRAMERGN, EMR_INVERTRGN, EMR_PAINTRGN, EMR_FLATTENPATH, EMR_WIDENPATH, EMR_SETMETARGN, EMR_OFFSETCLIPRGN, EMR_PLGBLT, EMR_POLYTEXTOUTA, EMR_POLYTEXTOUTW), forwarding to the GDI reference DC where applicable without emitting to the PDF content stream; previously these records were silently dropped, now they are documented and kept consistent with the GDI side

Version 2.316.0

Added

  • New JBIG2Benchmark demo generates four PDFs from the same three-page synthetic scan, one per THPDFJBIG2Options configuration (per-image lossless, per-image LossyLevel=5, cross-page accumulated globals, rectangle symbol extraction), printing each output size so the trade-offs between the v2.310.0 scan-friendly defaults, the v2.314.0 cross-page accumulator, and the extraction modes can be compared directly

Version 2.315.0

Changed

  • The cross-page accumulated JBIG2 dictionary now auto-batches: once the running glyph-width total crosses 131071 pixels the current dictionary is frozen, emitted as one /JBIG2Globals stream, and the accumulator is reset, so the next batch starts a fresh globals stream. Mirrors llPDFLib's TotalWidth-based spilling and keeps individual globals streams at a size readers handle efficiently on very large scan runs

Version 2.314.0

Added

  • Cross-page accumulated JBIG2 symbol dictionary: opt in with THPDFJBIG2Options.AccumulateGlobalsAcrossPages := True (alongside the existing UseSymbolDictionary + UseGlobalSegments + native fallback switches) and consecutive 1-bit icJBIG2 images share one growing in-memory symbol dictionary and one /JBIG2Globals indirect stream, instead of each image emitting its own dictionary. New THPDFJBIG2SymbolDictionary holds the persistent glyph set with the same lossy / lossless matching the per-image encoder uses; new smoke_jbig2_accum_decode verifies two pages of different glyph layouts share a single globals object reference and decode back to the source pixels bit-for-bit

Version 2.313.0

Added

  • JBIG2 global-segment streams produced by the native symbol-dictionary encoder are now content-addressed at the document level via THPDFJBIG2GlobalsPool, so images that yield byte-identical globals share one /JBIG2Globals indirect stream instead of each emitting their own; new smoke_jbig2_globals_multi smoke covers three pages of identical glyphs collapsing onto a single shared globals stream

Version 2.312.0

Added

  • EMF/WMF import now covers EMR_SCALEVIEWPORTEXTEX, EMR_SCALEWINDOWEXTEX, EMR_EXCLUDECLIPRECT, EMR_CREATEDIBPATTERNBRUSHPT, EMR_SETMITERLIMIT, EMR_SETTEXTJUSTIFICATION, and EMR_SETROP2, closing the seven-record gap with llPDFLib so EMF streams emitted by older GDI toolchains no longer silently drop those records; SETMITERLIMIT and SETROP2 take effect immediately, while the others store state for a later render-side hookup without perturbing current coordinate or clip output

Version 2.311.0

Added

  • HPDFCMSSHA256StreamRanges now digests the two PDF /ByteRange windows straight from a TStream in 256 KB chunks, so multi-GB signed PDFs can be hashed without first copying the whole file into an AnsiString; closes the gap with llPDFLib's stream-based CalcHash, which the existing in-memory HPDFCMSSHA256ByteRanges could not match for very large inputs

Version 2.310.0

Changed

  • THPDFJBIG2Options now defaults to scan-friendly settings (LossyLevel = 5, RemoveIsolatedBlackPixels = True, BlackDotSize = 3) so 1-bit scanned images compress much smaller out of the box; set LossyLevel = 0 or Lossless = True to restore strict lossless matching

Performance

  • xref table growth is now geometric (small documents +N, larger documents +25%) instead of reallocating the dynamic array on every indirect object, removing the O(n²) cost that dominated loading and building large PDFs with many objects

Version 2.309.4

Added

  • Added THPDFDocOutlineObject.AddChildFirst so generated outline nodes can prepend a child item before existing siblings while preserving the saved outline order

Version 2.309.3

Added

  • Added pmUseOC to THPDFPageMode so generated documents can request the optional-content layers panel with catalog /PageMode /UseOC

Version 2.309.2

Added

  • Added title-string overloads for THPDFPage.AddTextAnnotation so generated text annotations can write the PDF /T title or author entry while preserving the existing icon, color, and open-state arguments

Version 2.309.1

Fixed

  • Clearing THotPDF.OutputStream by assigning nil now restores normal FileName output instead of leaving the document in stream-output mode

Version 2.309.0

Fixed

  • EMF/WMF import now honors EMR_EXTSELECTCLIPRGN region modes for copy, intersect, and exclude clipping while keeping EMR_SETWORLDTRANSFORM, EMR_MODIFYWORLDTRANSFORM, and EMR_SETPIXELV covered by non-GUI regression tests

Version 2.308.0

Added

  • FastReport add-on design-time registration now ships as frxHotPDFDesign, placing TfrxHotPDFExport on the FastReport VCL palette while keeping the existing runtime unit and Register entry point available for compatibility

Version 2.307.0

Added

  • SignPDFWithPFX now parses legacy PKCS#12 PBE-SHA1-3DES encrypted PFX files in addition to PBES2 AES-256-CBC profiles

Version 2.306.0

Changed

  • Repeated calls that add the same encoded image now reuse the existing PDF image XObject while preserving distinct output for different JPEG quality settings and mask relationships

Version 2.305.0

Added

  • TfrxHotPDFExport.PageRange now lets FastReport exports opt in to one-based page filtering such as 1,3-5 while reusing HotPDF's shared page-range parser

Version 2.304.0

Fixed

  • XFA-to-AcroForm table flattening now lets all-growable single auto columns inherit the table content width, so fields without their own w still receive a measurable width and preserve row spacing

Version 2.303.0

Fixed

  • XFA-to-AcroForm table flattening now lets growable text cells inherit fixed columnWidths values when they omit their own w, so row heights are measured and following rows stay separated

Version 2.302.0

Fixed

  • XFA-to-AcroForm flattening now measures growable text fields inside nested layout="tb" and wrapped layout="lr-tb" flows, and table rows now keep growable text-cell height when positioning following fields

Version 2.301.0

Fixed

  • XFA-to-AcroForm flattening now keeps text fields in layout="tb" and layout="lr-tb" flow containers when they omit an explicit h height, measuring their wrapped content height instead of skipping them as unsupported growable layout

Version 2.300.0

Fixed

  • THotPDF.ExtractObjectFromStream now returns the parsed dictionary for materialized object-stream members and no longer fabricates raw-data diagnostic keys when callers inspect loaded PDF 1.5+ object streams

Version 2.299.0

Added

  • THotPDF.DecompressAllObjectStreams is now public and forces loaded PDFs that used object streams to save with compact objects materialized as normal indirect objects instead of copying the source object-stream layout

Version 2.298.0

Fixed

  • AcroForm field creation now rejects duplicate root field names for both new documents and loaded-document editing while preserving the valid shared-parent workflow for radio button groups

Version 2.297.0

Added

  • TDBGridHotPDFExportOptions and the TDBGridHotPDFExport component now expose PDFACompliance and PDFXCompliance so DBGrid table exports can opt in to the same HotPDF standards-conformance gates used by direct document generation

Version 2.296.0

Added

  • TQRHotPDFExportFilter and TdxHotPDFExportOptions now expose PDFACompliance and PDFXCompliance so QuickReport and DevExpress exports can opt in to the same HotPDF standards-conformance gates used by direct document generation

Version 2.295.0

Added

  • TfrxHotPDFExport and TppHotPDFDevice now expose PDFACompliance and PDFXCompliance so report exports can opt in to the same HotPDF standards-conformance gates used by direct document generation

Version 2.294.0

Added

  • Form XObject and tiling pattern canvas builders now let callers compose reusable resources through typed drawing helpers before registering them for page reuse
  • THPDFExtGStateOptions now lets one ExtGState combine transparency, blend mode, line width, line cap, line join, and miter limit settings

Version 2.293.0

Added

  • Native JBIG2 encoding now supports symbol-dictionary compression with optional shared global dictionaries, rectangle and image-only extraction modes, lossy pixel-difference guards, and PDF/A fallback to CCITT where JBIG2 is not permitted
  • EMF/WMF rendering now handles TransparentBlt and MaskBlt bitmap records through PDF image mask and transparency paths
  • FastReport and ReportBuilder native export modes now cover more object-level output, including styled memo/rich text, barcode, picture, vector shape, line, clipping, frame, dash, and URL annotation paths
  • The HugeFileBenchmark demos now report working-set and peak-working-set metrics, support an opt-in memory limit, and keep generated work files separate from report output
  • The Delphi PDFOptimize demo now documents producer-side compression choices for content streams, object streams, JPEG quality, CCITT, and JBIG2 output

Fixed

  • Demo coverage checks now include English-baseline demo READMEs, map consolidated C++Builder samples to their actual files, and keep GUI demos disabled by default in routine test runs

Version 2.292.32

Added

  • EMF/WMF hatch brushes now map to PDF tiling patterns so imported CAD drawings and reports can preserve hatch texture instead of flattening those fills to solid color

Fixed

  • Loaded-document dictionary edits now mark objects dirty so SaveLoadedDocument rewrites changed PDFs instead of copying the original source after outline and object-tree edits
  • Loaded outline removal now relinks sibling bookmarks, and non-rotated underline and strikeout text decorations now emit filled rectangle operators

Version 2.292.31

Added

  • THPDFEmfOptions.ShowNullBrush now lets EMF/WMF rendering expose null-brush fills for diagnostic and CAD-style import workflows while preserving unfilled null brushes by default

Version 2.292.30

Added

  • THPDFEmfOptions.CanvasOver now lets page Canvas replay place existing PDF content above the parsed Canvas metafile while the default keeps the current Canvas-on-top order

Version 2.292.29

Added

  • THPDFEmfOptions.Redraw now lets EMF/WMF callers keep the default temporary redraw path or opt out and parse the original metafile directly

Version 2.292.28

Added

  • THPDFEmfOptions.UseFrame now lets EMF/WMF rendering clip imported output to the EMF header frame for metafiles that rely on declared frame bounds

Version 2.292.27

Added

  • THPDFEmfOptions.ShowNullPen now lets EMF/WMF rendering expose null-pen outlines for diagnostic and CAD-style import workflows while preserving invisible null pens by default

Version 2.292.26

Added

  • THotPDF.SetFormFieldTooltip now lets applications assign AcroForm /TU field hints by field name for widgets created through the existing Add... field methods

Version 2.292.25

Fixed

  • TfrxHotPDFExport native-object mode now preserves TfrxPictureView clipping and frame rendering when picture views are written directly as HotPDF image XObjects

Version 2.292.24

Added

  • TfrxHotPDFExport native-object mode now maps supported horizontal one-dimensional FastReport barcode views directly to HotPDF barcode operators, while keeping human-readable text, checksum generation, supplemental text, rotation, colored bars, and unsupported symbologies on the existing fallback path

Version 2.292.23

Added

  • TppHotPDFDevice native draw-command mode now maps supported one-dimensional ReportBuilder barcode draw commands directly to HotPDF barcode operators, while preserving the enhanced-metafile fallback for commands that need human-readable text, add-on codes, check-digit calculation, colored bars, rotation, or unsupported postal symbologies

Version 2.292.22

Fixed

  • Automatic PDF viewer launch can now be suppressed in non-interactive runs with HOTPDF_SUPPRESS_AUTO_LAUNCH=1, and the bundled test and smoke runners enable that guard by default so non-GUI regression runs do not open viewer windows

Version 2.292.21

Added

  • THPDFPage.ShowMetafileEx now has a per-call THPDFEmfOptions overload, letting callers override EMF/WMF rendering settings for one metafile draw while preserving document-level defaults