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 insize, 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 HTMLfont 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-win32inx86_64-win64prek 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:
AddImageFromFilezdaj sprejme datoteke.webpprek 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
/Rotatevsake 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
/APdobijo sintetiziran izgled, izrisan iz njihovih lastnih lastnosti — besedilo FreeText in Stamp s stilizacijo/DAin poravnavo/Q, liki Square in Circle z barvo/C//ICter širino/BS, poteze Line in Ink ter quad označbe Highlight / Underline / StrikeOut / Squiggly, ki upoštevajo/QuadPointsin prosojnost/CA - Skrite annotacije (zastavica
/Fhidden) 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
rowspanincolspanpravilno 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
SubsetLoadedFontszdaj 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
DownsampleLoadedImageszdaj 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/Decodein 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.LoadProgressiveFromByteArrayter večplastno kodiranje prekTJpeg2000Bitmap.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
ReplaceLoadedPageTextzdaj zamenja zadetke, ki segajo čez nizne elemente in tabeleTJ, 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
SyntheticBaseza 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,ApplyArabicGSUBContextualRefinementter 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.DrawAztecin samostojne enoteTHPDFAztec: 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.ExtractLoadedPageTextin 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,SaveLoadedPagesToTiffBandedinSaveLoadedPagesToTiffStreamBanded, ki stisnjene slikovne podatke zapisuje vrstico za vrstico skozi kodirnike pasov, tako da zelo velike strani ne potrebujejo popolnega framebufferja;THPDFBandImageExportInfoporoč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.SaveLoadedDocumentinSaveLoadedDocumentToStreamzdaj validirata OutputIntentGTS_PDFA1(podedovan iz izvornega kataloga ali sveže registriran) in izdata identifikacijo XMPpdfaid:part/pdfaid:conformance, kadar je nastavljenPDFACompliance, 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
/W2in/DW2zdaj 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.RenderLoadedPageTilesParallelinTHotPDF.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 zahtevkomsignatures/signHashza urejen paket istega algoritma, hkrati pa se uveljavljajo lokalne omejitve in omejitve poverilnicmultisign, 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.RenewPAdESLTATimestamps 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,HPDFParsePFXByLocalKeyIDinTHPDFCMSSignOptions.PFXLocalKeyID, vključno s strogimi enovrednimi atributi torblocalKeyIdinfriendlyName, 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
keyLengthter 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.NavigateUriza Canvas v XPS in OpenXPS, tako da potomciPath,Glyphsin gnezdene vizualije Canvas prejmejo obsegani URI, razen če ga preglasijo, pri čemer se ohranijo akcijeLinkTargetza 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
Opacityter enobarvnih, gradientnih ali slikovnihCanvas.OpacityMaskzlož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.Clipv XPS in OpenXPS za okrajšano geometrijo, vrednostiPathGeometryiz lokalnih ali oddaljenihStaticResource, neposredne elemente lastnosti, strukturirane like črt, Bézierja, kvadratik in lokov, transformacije geometrije, prazne izreze ter gnezdeno izrezovanjeEvenOddaliNonZeroprek PDFW*aliW, 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
PathinGlyphs, pri čemer se povezave HTTP, HTTPS in poštne ohranijo kot annotacije URI PDF, strani, relativne na paket, ter percent-dekodirani fragmentiLinkTargetpa 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
VisualBrushv XPS in OpenXPS za vgrajene ali iz virov podprte vizualijeCanvas,PathinGlyphs, hierarhično in oddaljeno iskanjeResourceDictionary, absolutniViewbox, absolutni ali relativniViewport, tlakovalne načineNone,Tilein 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
ToUnicodeter amortizirano-linearen izhod pozicioniranih nizov brez zamenjave obrazov prek GDI
Version 2.691.0
Added
- Dodana omejena razporeditev
IndiceszaGlyphsv OpenXPS s strogimi števili enot kode in glifov na sklad, izrecnimi premiki v stotinkah em, vodoravnimi in navpičnimi odmiki, obratnim napredovanjem pri lihemBidiLevel, polnili iz atributov ali elementov lastnosti, prosojnostjo, domorodnim pakiranjemTJv 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.OpacityMaskv OpenXPS za enobarvne maske, večstopenjske linearne in eliptične radialne gradiente s spremenljivo alfo ter običajne, tlakovane ali zrcalne maske PNGImageBrushprek 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 gradovnikaRegisterLuminositySoftMaskStatez vezavo vira alfa slike
Version 2.689.0
Added
- Dodani načini
Tile,FlipX,FlipYinFlipXYzaImageBrushv 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-jemRegisterImageTilingPatternza ponovno uporabne vzorce na osnovi slik
Version 2.688.0
Added
- Dodana podpora za
ImageBrush.Transformv OpenXPS za končne matrike atributov s šestimi parametri in elemente lastnostiMatrixTransform, zložene za domorodnim izrezovanjemPathin 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; nestandardniRelativeTransformin nerazrešeni viri matrik ostajajo izrecna diagnostika
Version 2.687.0
Added
- Dodana postavitev slikovnih XObjectov, nadzorovana z matriko, prek
THPDFPage.ShowImageMatrixter razširjen uvoz fiksnih strani XPS s polniliImageBrushiz paketnih JPEG, PNG, TIFF in JPEG XR, s preslikavoViewboxinViewport, 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
RadialGradientBrushiz 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,brainpoolP384r1inbrainpoolP512r1, 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
HPDFInterpretContentTokensDeviceter neobvezne popolne razširitveIHPDFContentOperatorDevice, z eno kontrolno točko preklica na operator, predpomnjenjem indeksov operatorjev ob prevajanju za ponovno predvajanje prikaznih seznamov brez pregledovanja operandov, javnimi metrikamiOperatorCount, ohranjeno združljivostjo semantičnih naprav, popravljenimi semantikami operatorjev",vinyter zakonitim ravnanjem z zaključevalcemEIbrez napačne fallback diagnostike
Version 2.680.0
Added
- Dodane omejene transakcijske preobremenitve
RepairPDFA4s 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
ConfigureCryptFilterDefaultsinSetStreamCryptFilter, vključno z rezerviranimi filtri za gesla in javne ključe,/Identity, pisalcu pravilnim/EFFgeselske 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-identifierza 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
SignerInfoprekHPDFCMSBuildMultiSignedDatainHPDFCMSMergeSignedData, 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
SubjectKeyIdentifierpo RFC 5652 prekTHPDFCMSSignOptions.SignerIdentifier, vključno s kompaktnim kodiranjem SID IMPLICIT, samodejno izbiro verzijSignerInfoinSignedData, 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 inCMSAlgorithmProtectionpo 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.ValidatePDFMACChains 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 uveljavljanjemKDFSalt, zavrnitvijo pomanjšanja moči digestov, avtentikiranimi preverjanji/Pin/Perms, poročanjem preflight ter omejenim razčlenjevanjem revizij brez začasnih kopij PDF
Version 2.666.0
Added
- Dodan
THotPDF.SignPDFWithPFXAndAttachedPDFMACin validacija, pripeta podpisu, z neposrednimAuthCodeaktivnega trailerja, posrednimSigObjRef, 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 oblikoDeviceNpo ISO 32000-2 s/Subtype /NChannelin 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
MacDataz 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:
renderpretvori vsako izbrano stran v raster<prefix>-page<N>.pngprek pipeline bitmape naložene strani (območje--pages,--dpi10..2400, privzeto 150),tablesizluži tipske tabele v CSV ali JSON prekExportLoadedTypedTables(--json,-odatoteka ali konzola),comparepa izpiše primerjalno poročilo JSON dveh dokumentov prekHPDFDocCompareDocuments(--mode0..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 scmsFLAGS_NOOPTIMIZEle 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čenjemHVAR,VVARinMVAR, 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
/Contentsnalož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,CIDToGIDMapin 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,Mindzdaj ohranijo širino črte, imenovana stila kap in spoja, meje miter, tabele črtic in fazo črtic;q/Qobnovi te atribute čez gnezdno vsebino in Form XObjects; operatorji barvanja even-oddf*,B*inb*izdajofill-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.paspovež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.batsamodejno izvede pipeline popravila in prevajanja. Znana omejitev:JS_NewRuntimeuspe, aJS_NewContextnaleti na access violation, ker odstranitev_Atomicspremeni 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.DrawDataMatrixizriš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.DrawPDF417izriše matriko kodnih besed - Dodana vezava pogona JavaScript QuickJS (
Lib/HPDFQuickJS.pasplus vnaprej zgrajeniquickjs.dllza Win32/Win64 podthirdparty/QuickJS/bin/): dinamično nalaganje DLL, življenjski cikel runtime+context in površina API za vrednotenje (Eval/EvalInt/EvalFloat); pot kodeEvalima 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:
decryptnaloži šifriran PDF s podanim geslom, dekodira ga prekDecryptLoadedDocumentin shrani nešifrirano kopijo (-oizhodna pot, privzeto<input>-decrypted.pdf),optimizepa znova stisne vsak tok s FlateDecode prekCompressLoadedDocument(-oizhodna pot, privzeto<input>-optimized.pdf, zavrne šifriran vhod)
Version 2.605.0
Added
- Dodana generacija 2D barcode QR Code: nova
Lib/HPDFQRCode.pasimplementira 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). MetodaTHPDFPage.DrawQRCodeizriše kodirano matriko kot mrežo zapolnjenih kvadratkov modulov na kateri koli strani, ki se piše (ModuleSizev 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: globalnaFRevisionje bila zastarela, potem ko se jeaes256ob privzeti različici PDF 1.6 degradiral naaes128, kar jeCreateKeyspomotoma usmerilo v vejo V5, ki nikoli ne zapolni starih zgoščenih vrednosti gesel/Oin/U— serializiran šifrirni slovar je nato nosil prazne ali zastarele nize gesel in datoteke se ni dalo odpreti. Popravek ponovno izpeljeFRevisioniz degradiranegaFCryptKeyTypetako 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
htmlHotPDFCLI: izriše omejeno datoteko HTML (h1-h6, p, ul, ol, hr, vrinjeno oblikovanje) v PDF prekHPDFRenderHTMLDocument
Version 2.602.0
Added
- Dodan uvoz HTML na ravni blokov:
THPDFHTMLImporter(in priročni ovojHPDFRenderHTMLDocument) izriše omejeno podmnožico HTML na dokument, ki se piše — nasloveh1-h6z velikostmi po ravneh, odstavkep(golo telo besedila postane implicitni odstavek), seznamaul/olz zamaknjenimi elementili(odžigalke ali številčenje1.), črtehr, samodejne prelome strani pri spodnjem robu in obnovo v stilu brskalnika za nezaprte blokep/li; območjahead/script/stylese preskočijo, oznake vsebnikov pa gredo skozi prosojno. Vrinjeno oblikovanje (b/i/u/font/a/sub/sup, entitete, oblivanje besedila) prevzame obstoječi izrisovalnikTextOutHTML, zato bloki ostanejo skupaj znotraj strani; tabele, slike, CSS in gnezdeni seznami so izven dosega
Version 2.601.0
Added
- Dodani trije ukazi HotPDFCLI:
mergepripne vsako stran dodatnih vhodov k prvemu dokumentu in shrani združeno datoteko (-oizhodna pot, vsaj dva vhoda, zaščiteno pred trkom izhoda z vhodom),splitzapiše vsako izbrano stran dokumenta v njeno lastno enostransko datoteko (<prefix>-page<N>.pdf, obseg--pagesse šteje od 1, privzeta predpona iz vhodne poti),export-svgpa zapiše izvoz SVG vsake izbrane strani (<prefix>-page<N>.svg, privzeta stran 1)
Version 2.600.0
Added
- Dodan izvoz strani v SVG:
BuildLoadedPageSVGvrne samostojen dokument SVG 1.1 za katero koli naloženo stran,SaveLoadedPageAsSVGpa 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 operatorjiw/J/j/dne 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--pagesse štejejo od 1, izhod v datoteko--out, način--layoutz enoprostorsko mrežo, ki sledi vidnemu vrstnemu redu branja) inverify(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.batizdela binarke za Win32 in Win64
Version 2.598.0
Added
- Dodan
SetRenditionMediaPlayParameters: pripne ali posodobi slovar predvajalnih parametrov medija/Ppri 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/SPpri 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/Soundzvoč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/Moviefilmske pripombe (par stranic, rotacija 0/90/180/270, trajanje v sekundah, vidljivost plakata), ki ga jeAddMovieAnnotationustvaril s trdo kodiranimi privzetki - Dodan
SetRichMediaPresentation: zapolni slovarje aktivacije, deaktivacije in predstavitve/RichMediaSettingspripombe RichMedia (imena pogojev kotPOob odprtju strani, zastavice za orodno vrstico / UI za krmarjenje / klik s kontekstom / prosojnost); prazno ime pogoja izpusti pripadajoči slovar - Dodan
ResolveIndirectObjectnaTHotPDF: razreši posredne reference, ki jih avtorska stran shranjuje znotraj zapisanih slovarjev, tako da klicatelji lahko krmarjo po na novo zgrajenih drevesih objektov;AddRichMediaAnnotationzdaj registrira svojo pripombo tudi vLastAnnotation
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,
HPDFExtractCertificateRevocationURLsjih izpostavi na potrdilo,HPDFCollectCMSRevocationRequestspa 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 primarniPubSecKeyMaterialne ustreza - Dodana graditelja preizkusnih tokov
HPDFJBIG2Codec_EncodeHalftoneRegionTestStreaminHPDFJBIG2Codec_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,StringKeyTypeinStreamKeyTypeneinicializirane, 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-Vin še 15):HPDFLoadStandardCMapFileodgovarja 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/ClassMapStructTreeRoot in s tem dokonča /C APISetStructureElementClass
Fixed
- Popravljeno obnavljanje ključa pri več prejemnikih z javnim ključem: ovojnice
/Recipientsso 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 /ObjStmse zabeleži z razlogom (THPDFObjStmQuarantineReason: not a stream, bad dictionary, bad header, bad stream size, decrypt failed, decompress failed,/Firstizven 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/GetLoadedQuarantinedObjStmInfopa 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.XRefMapPagingThresholdvnosov (privzeto 250000, 0 onemogoči), jo prehod ob zaključku nalaganja zapakira vTHPDFXRefMapPager— 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/Lengthleno materializiranih članov tokov odgovarjata skozi pager, tako da razdeljeni dokumenti ohranijo polno funkcionalnost
Version 2.590.0
Added
- Dodana izrecna stanja življenjskega cikla objektov:
THPDFObjectLifecycleStatedobiolsRaw(indeksirani, a nepomaterializirani stisnjeni člani),olsParsed(pomaterializirani iz izvornih bajtov, nespremenjeni) inolsFlushed(serializirani v izhodni dokument); naloženi objekti zdaj nosijoolsParsednamesto splošnega čistega stanja - Dodana
MarkRaw,MarkParsedinMarkFlushednaTHPDFObject;GetLoadedObjectLifecycleStatevrneolsRawza stisnjene člane, katerih telo še ni bilo pomaterializirano - Dodana
RawCount,ParsedCountinFlushedCountvTHPDFObjectLifecycleStatistics; vsaka pot polnega shranjevanja (plain, packed, linearized) premakne izdane objekte volsFlushed,IsDirtypa še naprej pomeniolsDirtyaliolsMustWrite
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 poljiTHPDFObjectStreamCacheInfo,SliceViewCountinSliceViewBytes, 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 dodeliPubSecKeyMaterial(izHPDFParsePFX); 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č, zPubSecRecipientQueryContextza 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
/Recipientspa so se šifrirali kot navadni nizi — zdaj se izognejo prek izrecne zastaviceSkipEncryption
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,codabarin 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 transformacijoq ... cm ... Qz rotacijo okoli središča
Version 2.584.0
Added
- Razširjen FormCalc s funkcijami za nize:
Concat,Len,Left,Right,Substr,Replace,Lower,Upper,TriminSpace, vključno z literalnimi nizi v navedkih in mešanimi izrazi besedilo/število - Dodana pretvorba datumov FormCalc:
Date2Num/Num2Dateposredujeta datume ISO čez serijsko štetje dni od epohe 1900, poleg tega šeDate() - Dodana finančna knjižnica FormCalc:
Pmt,FV,PV,RateinNPers konvencijo predznakov denarnih tokov, sestavljiva s številskimi funkcijami kotRound
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/#dataGroupizberejo vozlišča razreda vsebnikov,#fieldizbere vozlišča, podobna poljem, drugi žetoni#namepa 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
SetFormFieldValuealiSetLoadedFormFieldValueByNamezdaj izbere ujemajoče se stanje/ASv vsakem widgetu, flattening pa se uskladi pred generiranjem izgledov, tako da zastarelo stanjeOffnikoli ne premaga uvožene vrednosti - Dodana stabilnost regeneracije izgledov gumbov:
EnsureLoadedFieldAppearanceStreamohrani 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 /Rzdaj nosijo rotacijo kot/Matrixna 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:
EnsureLoadedFieldAppearanceStreamrazreši pisavo/DAskozi slovar AcroForm/DRin 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
Offin stanja vklopljenosti (vektorska kljukica in zapolnjen krog, brez odvisnosti od ZapfDingbats), gumbi push izrišejo napise, listboxi pa naslikajo vsak po eno vrstico/Optz 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 zagonEvaluateLoadedFieldJavaScriptin vsak prehod preračunavanja - Dodan zapis
THPDFScriptBudgetsz 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:
THPDFJavaScriptEvaluationResultzdaj poleg števca operacij poročaElapsedMillisecondsinValueBytes
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
SetFormFieldValueinSetLoadedFormFieldValueByNamenabirajo 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 argumentovAFSimple_Calculatein dostopovgetField, pri čemer preskoči literale nizov
Changed
- Cikli odvisnosti zdaj ohranijo vrstni red dokumenta
/COin 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
HPDFSignatureBatchs 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
THPDFRevocationEvidenceCachein vbrizgajo poznejšim podpisom pod novim virom dokazovvesCache - Dodan
THPDFSignatureValidationBatchza samostojne paketne poge zFailFast, 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:
THPDFViewersprožiOnPageChangeže med konstrukcijo in ponovno vezavo, zato prva izdelava galerije zdaj teče izOnShow(ko okenski ročaji že obstajajo), vsak obravnavalec dogodkov pa se ščiti pred kontrolkami, ki so šenil - 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
SaveIncrementalUpdateAuthenticatedz 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
ShowcasepodDemo\Delphi: ob zagonu ustvari desetostranski PDF z galerijo zmožnosti (gradiento naslovnica, tipografija z vrinjenim bogatim besedilom, vektorski gradienti / vzorci / prosojnost, računTHPDFTable, simbologije barcode, ob izvajanju risane slike, pripombe in povezave, plasti optional content in izgled podpisa PAdES) ter ga izriše v vgrajenemTHPDFViewerz usklajenim seznamom tem - Dodano dejanje
Encrypt AES-256z enim klikom v Showcase demu, ki znova zgradi galerijo s šifriranjem AESV3 (R6), uporabniškim geslom in dovoljenji samo za tiskanje vHotPDF-Showcase-Encrypted.pdf - Dodano krmarjenje po zaznamkih za vsako stran Showcase galerije prek
BeginDoc(True)inOutlineRoot.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:
GetLoadedSignaturePermissionszdaj poročaDocMDP,UR,FieldMDP,Identity, neznane metode, povezavo Catalog/URproti/UR3, vsak standardni bit pravic uporabe in omejen preitni obseg objektovIdentity /Data; analiza revizij loči izpolnjevanje obrazcev, podpise ter operacije ustvarjanja/brisanja/spreminjanja pripomb in vgrajenih datotek ter izpostavi neodvisne odločitveURCompliant,IdentityCompliantin skupnoTransformCompliant
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 variantsmallz 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):
HPDFBlendComponentimplementira Multiply, Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn, HardLight, SoftLight, Difference in Exclusion; izrisovalnik razčleni/BMiz 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 prekGetInfo - Dodana raven strani
SaveState/RestoreStatenaTHPDFPage, ki izda operatorja grafičnega stanjaq/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
SaveIncrementalUpdatevidi ohranjeno verigo prostih namestoSourceFreeObjectCount=0in izgubljenih generacij - Popravljen
THPDFSignatureEvidenceTask, ki je ob konstrukciji sprožal "Cannot call Start on a running or suspended thread": naloga se zdaj zažene vAfterConstruction, ko je objekt popolnoma zgrajen, namesto da bi tekmovala s preverjanjem stanja niti RTL iz notranjosti konstruktorja
Version 2.569.0
Added
THPDFCertificateValidationOptions.TrustPurposeizbere 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 vTHPDFCertificateValidationInfo
Version 2.568.0
Added
THPDFSignatureEvidenceTaskpridobiva 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
THPDFWindowsKeyStorageSignatureProviderpodpisuje 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 vrednostiNCRYPT_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
HPDFNormalizeContentStreamGraphicsStateinHPDFCompareContentStreamsSemanticprimerjata 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 obsegeq/Qin ekvivalentne zložene matrike, hkrati pa ohranita učinkovito stanje, operande operatorjev in identitete vrinjenih slik SHA-256
Version 2.565.0
Changed
SaveIncrementalUpdatezdaj 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 prekGetLastIncrementalXRefRebuildInfo
Version 2.564.0
Added
THPDFPage.TextOutOutlineoblikuje 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
FlattenLoadedPageComplexGraphicszazna 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
FlattenLoadedPageTransparencyzdaj 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
ScrubLoadedRedactionRemnantsodstrani 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
ApplyLoadedRedactionszdaj 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 elementiTJse 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
AnalyzeLoadedPageSemanticTextinExtractLoadedPageSemanticTextzgradita 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
/ToUnicodein 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
/ToUnicodeiz vgrajenih formatov sfnt cmap 0, 4, 6 in 12, imen glifov/Encoding /Differencesz oporo AGL, pravilno dekodiranih binarnih tokov/CIDToGIDMapin 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
vmtxin mejaglyf, dajevrt2prednost predvertč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
sbixali bitni strike CBDT/CBLC znotraj meja, varno razrešijo podvojene zapise glifovsbix, 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
BeginLoadedPageProgressiveRegionRenderzdaj 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
GetLastTransparencyGroupTileStatsrazkrije š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
/TRin/TR2z 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/d1ter prekGetLastType3GlyphCacheStatsrazkrije 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,
RegisterTilingPatterninTHPDFTilingPatternBuilderpa 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
OptimizeLoadedImagesByVisualCostzdruž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,JPEG2000TileWorkerLimitinGetLastJPEG2000ParallelDecodeStats
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
DCTDecodeen 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
CCITTFaxDecodezdaj dekodirajo nestisnjena razširitvena načina T.4 in T.6, ločijo EOFB od nepodprtih razširitev, upoštevajoEndOfLine,EndOfBlockinDamagedRowsBeforeErrorter 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
HPDFJBIG2SplitSymbolDictionaryGlobalsza 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
AdaptiveAdmissionlahko povrne čisto nedavnostni vstop na plast, frekvenčni vstopi, zavrnitve in cikli staranja pa so razkriti skozi statistiko predpomnilnika
Version 2.529.0
Added
THPDFCacheAdmissionPolicyinSetCacheAdmissionPolicyzagotavljata neodvisne omejitve števila vnosov, skupnih bajtov in omejitve na vnos za surove stisnjene razpone, dekodirane slike, prevedene sezname prikaza in izrisane rasterske straniGetCacheAdmissionStatisticsporoč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
GetDocumentStringInternStatisticsporoč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,
GetLastParserArenaStatisticspa poroča obdržano shrambo, vrh uporabe, ponovno uporabo alokacij, promet žetonov in izpuščanje začasnih predmetov
Version 2.526.0
Changed
HPDFTransferStreamzdaj 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,MaxReadAheadBlocksinSequentialReadToleranceBytesrazkrijejo nadzor pravil, statistika predpomnilnika razponov pa poroča razvrstitev dostopov ter trenutna ali vrhovna okna read-ahead
Version 2.524.0
Added
THPDFCoalescingRandomAccessSourcezdruž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 prednalaganjaLoadFromRandomAccessSourcezdaj samodejno uveljavi združevanje razponov in asinhrono prednalaganje naslednjega razpona, iskanja v ospredju prekličejo nesorodno delo,ReadAtCancellablepa 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
StrFinStmFskupaj z neposrednimi ali poljnimi preglasitvamiCryptna ravni toka - Parametri crypt toka lahko izberejo
Identity,V2aliAESV2, porabljeni vnosi filtrov pa se odstranijo, preden steče preostali pipeline dekodirnika tokov
Version 2.521.0
Added
- Naložene slike
DCTDecode,JPXDecodeinJBIG2Decodelahko 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
THPDFDeterministicReplayLogbelež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
BuildLoadedObjectDependencyGraphzdaj 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
1000pomeni1x
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.v1z 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.dllpošilja stabilnecdeclizvoze, 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 glavohotpdf_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,
ComplianceFindingsToJSONpa 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 preobremenitevCompress(Input, Parms), ki pred stiskanjem uveljavi povratni (forward) PNG/TIFF prediktor, s čimer je simetričen poti dekodirnikaDecompress(Input, Parms), tokove LZW+Predictor pa je mogoče zapisati v obe smeri - Interpret vsebinskih tokov zdaj sledi grafičnemu operatorju
cmin ustvari posnetek aktivne CTM na vsak oddan glif (THPDFGlyphRecord.CTMA..CTMF), tako da klicatelji izračunajo pravo izhodišče v uporabniškem prostoru prekCTM * 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/ReplaceLoadedDocumentTextzdaj 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:
DecryptPKCS12EncryptedByteszdaj usmerjapbeWithSHA1And40BitRC2-CBC(OID 1.2.840.113549.1.12.1.6) inpbeWithSHA1And128BitRC2-CBC(1.2.840.113549.1.12.1.5), pri čemer klonira pot 3DES CryptoAPI s parametromKP_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:
ApplyLoadedRedactionsprehodi vsako anotacijo/Subtype /Redact, izprazni podlegajoče operande nizov za prikazovanje besedila, katerih glifi padejo znotraj/Rectanotacije (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 tudiAddLoadedRedactAnnotationza ustvarjanje anotacij/Redactna 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
/Widthspisave (PDF 1.7 9.6.3) po novi metodiIHPDFFontResolver.Advancenamesto po prejšnjem ravnem približku0.5 * fontSize.HPDFBuildFontDecoderbere/FirstChar,/LastCharin številčno polje/Widthsza 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
SetLoadedAcroFormCalculationOrderza ponovno izgradnjo polja vrstnega reda izračunov AcroForm/COv 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
SetStructureElementClassza zapis polja imen razredov/Cstrukturnega elementa (PDF 1.7 14.9.2.2) s sklici na deljene razrede atributov - Dodan
AddLoadedPagePieceInfoza zapis slovarja page-piece (PDF 1.7 14.5) pod/PieceInfo/<Application>z datumskim žigom/LastModifiedin 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 sTCharacter.ToLower(Unicode Simple_Lowercase_Mapping), tako da velike črke z naglasi v latinici (À-ý), grščine (Α-Ω) in cirilice (А-Я) vSearchLoadedPageText/SearchLoadedDocumentTextzadenejo svojo obliko malih črk. Gradnje pred XE2 obdržijo ASCII fallback - Dodan callback vgrajenih slik v abstrakcijo vsebinske naprave:
IHPDFContentDevice.ProcessInlineImagese sproži za vsak blokBI/ID/EI, kadar naprava deklariracdcNeedImages, 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:AddPDFAOutputIntentje 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 korakEnsureLoadedPDFAOutputIntentszdaj obesiFOutputIntentsna polje/OutputIntentsnalož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:
EnsureLoadedFieldAppearanceStreamzdaj v vsakem ustvarjenem toku izgleda vtičnika takoj zaBTizda izrecen0 Tr(fill), tako da je način izrisovanja besedila determinističen ne glede na obdajajoče stanje vsebine strani. Prej je Form XObject, porabljen prekDo, podedoval izpuščeni1 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 poGStateRestore(torej zunaj vsakega para q/Q) zapisal1 0 0 RG/rg+1 Tr+2 wneposredno 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čemuTPDFLZWDecompressor, 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/OCGsin pravilo/P(AnyOn / AllOn / AnyOff / AllOff) napajata obstoječi ovrednotilnikEvaluateLoadedOCVisibility, 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/RCin izbirni privzeti slog/DS, kot dopolnitev poti/RVna ravni polja - Dodan zapisovalnik kataloga
/RequirementsAddLoadedDocumentRequirement(ISO 32000-1 7.7.4), ki k polju/Requirementskataloga doda slovarje zahtev z/Ster klicateljevimi pari ključ/vrednost - Dodano prepoznavanje rastrov Type 16 (pragovna maska) v izrisovalniku strani:
/Widthmaske 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
IsIndefiniteinExtendedTagNumberbelež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
FindStructureElementForMCIDv konstantnem času, ki par (stran, MCID) skozi ParentTree dokumenta razreši nazaj do lastniškega StructElem, krajevniAddStructureDestinationLink, ki odda dejanje GoTo s tako obveznim fallbackom stranskih koordinat/Dkot poljem/SDPDF 2.0, ki ciljni StructElem imenuje po indirektni referenci, ter oddaljeniAddGoToRStructureDestinationLink, katerega prvi element/SDje bajtni niz/IDciljnega 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ščanjemInfoiz trailerja; obveznim imenskim drevesomEmbeddedFilesza 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
/ByteRangein/Contentspopravijo 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
SDHUFFin besedilne regijeSBHUFF, 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,/opin/OPM 1za 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;
DecodeLoadedImageRegionklicateljem 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
BeginLoadedPageProgressiveRenderdodaja 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; primerkiTHPDFCancellationTokenv 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
ImmediateFlushLayoutpremakne 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/Pter tipsko določene artefakte paginacije za glave, noge, vodne žige in številke strani
Version 2.457.0
Added
SetFontFallbackChaininTextOutWithFallbackdodata 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 tekyIdentity-Vz metrikami/DW2in/W2, izpeljanimi iz tabel OpenTypevhea,vmtxinVORG, kadar so na voljo
Version 2.456.0
Added
HPDFEncodePredictordoda strogo kodiranje napovednikov TIFF ter fiksnih ali adaptivnih napovednikov PNG za pakirane, 8-bitne in 16-bitne vrstice rastra;ExtractLoadedImageToStreamse izogne polnim bajtnim poljem za izvorne ali generično dekodirane podatkovne Jainke slik;OptimizeLoadedStreamsselektivno 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
DecodeLoadedStreamToStreamzdaj sestavi naložene filtre PDF v omejen celevod, katerega zadnja stopnja zapisuje neposredno v tok klicatelja;DocumentDecodeBudgetBytesdoda 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;LoadFromRandomAccessSourcedoda 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
GetLoadedXRefMergeInfoz 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
RegisterStructureNamespaceinAddStructureElementNS, strogo validacijo strukture PDF/UA-2 ter profilno-nevtralnimi pripetimi datotekami prekAddPDFAssociatedFile
Version 2.451.0
Added
DetectFacturXInvoicezdaj izpostavi MIME tip dekodirane primarne priponke in vezan URI imenskega prostora XMP,ValidateFacturXInvoicepa navzkrižno preveri natanko FileSpec, ki si ga delita/AFkataloga in imensko drevo EmbeddedFiles, imeni/Fin/UF, MIME tip XML,DocumentTypeXMP 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
ruleIdz 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 ISOspecin ostanejo veljavna, ko polja vsebujejo več ugotovitev
Version 2.449.0
Added
SanitiseLoadedDocumentzdaj 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 diagnostikamiGetLastDecodeBudgetInfoin ničlo kot izrecen način neomejenosti
Version 2.446.0
Added
- Dodan izbiren
LinearizeOutputza 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
startxrefali 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
AnalyzeLoadedSignatureRevisionszdaj 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
VerifyLoadedSignatureWithTrustinHPDFValidateCMSCertificatePathzdaj 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.CertificateValidationporoča o zaupanju, dolžini poti, sidrišču zaupanja, času ocene, statusu preklica in viru, času preklica ter težavah validacije neodvisno od kriptografskegasvValid
Version 2.442.0
Added
- Preverjanje naloženih podpisov zdaj kriptografsko validira časovne žige dokumentov RFC 3161 glede na
/ByteRangePDF-ja in žetone časovnega žiga podpisa glede na vrednost nadrejenega podpisa CMS,THPDFSignatureInfo.Timestamppa 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
THPDFSignatureInfozdaj poroča oSignedRevisionLengthinUnsignedTrailingBytes,svInvalidByteRangepa 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
DigestInfonamesto 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
GetWideTextWidthzdaj 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 razporeditevBeginIncrementalUpdatezdaj 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
HPDFDecodePredictorinHPDFTryDecodePredictorponujata omejeno dekodiranje za napovedovanje TIFF 1, 2, 4, 8 in 16-bitno ter vseh pet filtrov vrstic PNG, s strogim preverjanjem vrstic in izvedljivimi diagnostikamiTPDFLZWDecompressordoda 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
EarlyChangein obe vrstni redi polnjenja bitov, obravnava ponastavitve clear in razširjanjeKwKwKstrogo ter povečuje izhod nizov geometrijsko - Izvleka naloženih slik Flate in LZW zdaj upošteva geometrijo napovednika
DecodeParmsinEarlyChange, 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
THPDFViewerse zdaj prevede v okoljih Delphi XE2 do XE8, kjerWM_DPICHANGEDmanjka vWinapi.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 zE2003 Undeclared identifier
Version 2.437.0
Changed
GetWideTextWidthzdaj meri besedilo Unicode iz predpomnilnika napredkov širine na kodočko, enkrat naseljenega iz tabele pisave hmtx, namesto krožnega potovanjaCreateCompatibleDC+GetTextExtentPoint32Wob 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 /CapHeightzdaj uporablja resnično metriko potezeotmsCapEmHeightnamesto 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žitaMarkUnicodeGlyphUsed/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
THPDFWeightedCachedoda 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
THPDFTableCellzdaj podpira slikovne celice (ImageIndex+ImageAspectskalirata registrirano sliko na širino stolpca z poravnavo H/V) in celice HTML (IsHTMLprikaže besedilo celice prekTextOutHTMLza 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(enotaHPDFTable) razporedi tabele iz razglašenih širin stolpcev in vrst, z besedilom, poravnavo, barvo in preglasitvami pisave na celico, združevanjemColSpan/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 primitiveTHPDFPage, tako da proizvajalci ne rišejo celic več ročno zRectangleinTextOut
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.TextOutHTMLdobi preobremenitev za prelom besed, ki sprejemaMaxWidthin 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
Tfob 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
THPDFPagezdaj uporablja standardno konstanto kubične-Bézier-kappa0.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 aproksimacija11/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
PrefetchRadiusnadzoruje, 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,Putin 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
CompressLoadedDocumentzdaj upoštevaCompressionLevel, 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 daSaveLoadedDocumentvztrajno shrani rezultat namesto da vzame pot kopiranja nespremenjene datoteke.DecompressLoadedDocumentuporablja enako lastninsko-varno pot pretakanja, odstranjuje identitetne/DecodeParmsin pusti tokove prediktorja TIFF ali PNG stisnjene, dokler stopnja prediktorja ne more biti varno dekodirana
Version 2.423.0
Added
THPDFPage.AddCertificationSignatureFieldinConfigureCertificationSignaturezdaj ustvarjata edinstven podpis za certifikacijo DocMDP z vsemi tremi ravnmi dovoljenj in pripadajočo povezavo Catalog/Perms /DocMDP, medtem koAttachSignatureFieldLockoddaja posredne politike SigFieldLock in pripadajoče sklice FieldMDP za obsege polj All, Include ali Exclude.THotPDF.GetLoadedSignaturePermissionsizvaja 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 newHPDFReplaceWatermarkPlaceholdersoverload is given aTHPDFPlaceholderDocInforecord. The legacy 4-parameter signature stays for callers that only need the page / file / date-time subset
Version 2.421.0
Added
THPDFActionBuilder.GoToEmbeddedNamedDestinationandGoToEmbeddedPagecreate PDF 1.6GoToEactions with standards-valid parent, EmbeddedFiles name-tree, attachment-annotation, and nested/Ttarget 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
THPDFLoadedActionInfosnapshots from catalog/OpenActionand/AA, page/AA, annotation/Aand/AA, AcroForm field/AA, and outline/Asources. Dictionary and array/Nextforms 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/PIevents with the required PDF 1.5 version negotiation
Version 2.420.0
Added
- Content-stream device stage 3 closes the abstraction loop:
IHPDFContentDevicegainsDrawXObject/DrawShading/ApplyExtGStatefor theDo/sh/gsoperators, and the shared interpreter now dispatches them.Dois gated oncdcNeedImagesso text/enum devices skip the heavy image decoding;shandgsdispatch unconditionally. The renderer'sExecuteViaDevicepath can now paint the full operator set (paths + colours + text + images + shading + ExtGState), observably equivalent to the legacyHandleOperatorpath. TheApplyExtGStatenested 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 toDev*helpers without colliding with the pre-existing private helpers - Document-content observer pattern:
THotPDF.OnLoadedDocumentModifiedevent fires fromInvalidateRenderedPageCache(PageIndex = -1, whole document) andInvalidateRenderedPageCachePage(a specific page) so attached viewers refresh automatically.THPDFViewersubscribes inSetDocumentand unbinds on detach /opRemove, callingRefreshDocumentwhen the current page (or the whole document) is affected. Multi-view sync (several viewers on the sameTHotPDF) now works without each caller invokingRefreshDocumentby hand
Version 2.419.0
Added
- Content-stream device abstraction stage 1:
IHPDFContentDevicegains 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 sharedHPDFInterpretContentStreamDevicedispatcher now forwards BT/ET/Tf/Tc/Tw/Tz/TL/Tr/Ts/Td/TD/Tm/T*/Tj/TJ/'/" to the device when it declarescdcNeedText THPDFTextExtractDeviceis a concrete device that maintains the text matrices and emits oneTHPDFGlyphRecordper char code (decoded via an injectedIHPDFFontResolver) — observably equivalent toHPDFInterpretTokensoutput but produced through the device interface so the same interpreter loop drives text extraction, path enumeration and renderingHPDFExtractGlyphsViaDeviceconvenience function wraps the text-extract device + shared interpreter in one call; the existingHPDFInterpretContentStream/HPDFInterpretTokensstay untouched for current callers- Content-stream device abstraction stage 2:
THPDFPageRenderernow implementsIHPDFContentDeviceso the shared dispatcher can drive it through the same abstract interface.ExecuteViaDeviceis the opt-in device-driven render entry; the productionExecutepath keeps its built-inExecuteStream/HandleOperatordispatch, 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
DecompressLoadedDocumentis the inverse ofCompressLoadedDocument: it walks every indirect stream carrying a/Filter /FlateDecode(name or single-element array form), inflates the payload back to raw bytes, strips the/Filterentry 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 discardedEnumLoadedPageElementsnow returns the full path geometry perekPathelement, not just the bounding box: two new fieldsPathPoints: array of THPDFPathPointandPathIsCurve: array of Booleanare 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
HPDFContentDeviceunit introduces the content-stream device abstraction (stage 0): anIHPDFContentDeviceinterface with aTInterfacedObjectbase implementation (mirroring the provenIHPDFFontResolverpattern), a sharedHPDFInterpretContentStreamDevicedispatcher that today covers the path / colour / state operator subset, and a concreteTHPDFPathEnumDevicethat collects one record per painted path with full point geometry. This breaks the three-way duplication betweenHPDFContentStream,HPDFPageRenderer.HandleOperatorandHPDFCollectPathElements; stage 1 will add text/image callbacks and stage 2 will migrate the renderer onto the device
Changed
HPDFPageRendererheader comment updated: the “TrueType/CFF glyph-outline rendering out of scope” note was stale — embedded glyph outlines have been active since v2.342.0 (DrawTextRuncallsTHPDFEmbeddedTTF.DrawGlyph/THPDFEmbeddedCFF.DrawGlyphwith real quadratic/cubic bezier paths; GDITextOutWis 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,AddLoadedSquigglyAnnotationandAddLoadedPolylineAnnotation-- once landed, the XFDF interchange layer (which already recognises these subtype strings) picks them up for free AddLoadedFileAttachmentAnnotationembeds 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/SubtypeMIME,/Params /Sizeand creation/modification dates; the newTHPDFFileAttachmentIconenum (faiPushPin/faiGraph/faiPaperclip/faiTag) selects the standard pin icon viewers renderTHPDFFieldValidationOptionsrecord +HPDFDefaultValidationOptionsexpose the full AdobeAF*parameter surface (Decimals / SeparatorStyle / NegativeStyle / CurrencySymbol / CurrencyBefore / RangeMin / RangeMax) that the Acrobat JS helpers accept; the existingApplyLoadedFieldValidation(FieldIndex, Kind, DateFormat, Mask)signature is retained as a backward-compatible overload that forwards into the new record overloadApplyFieldValidationandApplyFieldCalculationbring 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 handCopyLoadedAnnotationsFromDocumentdeep-copies annotations from another loaded document directly PDF→PDF (no XFDF intermediary): reusesCopyObjectto rebuild indirect references, streams and/APappearances, rewrites/Pto the destination page, optionally remaps/IRTreply chains via/NM, optionally clears/Tauthor, and accepts aTHPDFAnnotCopyFilterEventcallback for selective copy -- covers Widget/PrinterMark/TrapNet/Watermark/3D/Screen that the XFDF layer does not reach
Fixed
ApplyLoadedFieldValidationwrote the Format JavaScript under trigger key/X(annotation-exit), which Acrobat never fires for form fields -- the script was effectively dead. Corrected to/Fso the format actually runs on field commitApplyLoadedFieldValidationemittedAFSpecial_FormatExfor the ArbitraryMask kind, a function that does not exist in the AdobeAF*set; onlyAFSpecial_KeystrokeEx(mask)is real, so the Format pass is dropped and enforcement happens at keystroke time as the spec intendsApplyLoadedFieldValidationunconditionally appendedAFRange_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 setsRangeMinorRangeMaxin the options recordApplyLoadedFieldValidationwrapped 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 aloneApplyLoadedFieldCalculationnow prepends a Format+Keystroke number-formatting pair before theAFSimple_Calculatescript 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
THPDFViewernow scrolls on hover-wheel without needing a click first: a thread-localWH_MOUSEhook (newHPDFMouseWheelHookunit, auto-installed from itsinitializationsection) routesWM_MOUSEWHEELto whicheverTHPDFViewerinstance sits under the cursor, matching the behaviour of every native Windows PDF readerTHPDFVieweris now Per-Monitor DPI v2 aware: newHPDFPerMonitorDPIunit resolvesuser32!SetProcessDpiAwarenessContext(Win10 1703+,DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2) at runtime and falls back throughshcore!SetProcessDpiAwareness(Win8.1+) anduser32!SetProcessDPIAware(Vista+); the legacyHPDFEnablePerMonitorDPIis retained as an alias that forwards to the new layered helperTHPDFViewer.RenderAtPhysicalDPIpublished property (defaultTrue) makes the rendering DPI baseline track the monitor’s physical DPI viaHPDFGetWindowDPI, so 100% zoom on a 144 DPI panel renders at native resolution; a newWMDpiChangedhandler re-renders on cross-monitor moves; setFalseto preserve the historical 96-DPI logical baseline- Optional persistent disk tier for the rendered-page cache: setting
THotPDF.RenderCacheFolderto a writable folder path persists every page rendered byRenderLoadedPageToBitmapCachedas a PNG under<folder>\<SHA256-prefix-16>\<page>@<dpi>.png, so re-opening the same document later is instant;RenderCacheMaxDocuments(default 20) andRenderCacheMaxBytes(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 THotPDFconstructor now activates the highest available per-monitor DPI tier at first instantiation in runtime mode (skipped incsDesigning), so hosts that never callHPDFEnablePerMonitorDPIexplicitly still get crisp rendering on high-DPI displays
Version 2.415.0
Added
HPDFParsePDFDatenow honours the timezone suffix (+HH’mm,-HH’mm, orZ) and returns a UTCTDateTime;HPDFFormatPDFDateis the inverse formatter producingD:YYYYMMDDHHmmSS+00’00GetLoadedExtGStateInforeadsLW/LC/LJ/ca/CAoff a named ExtGState entry on a loaded page;GetLoadedShadingCount/GetLoadedShadingNameandGetLoadedPatternCount/GetLoadedPatternNameenumerate the/Shadingand/Patternresource sub-dictionariesReplaceLoadedPageswaps a page’s contents from a source document,SwitchLoadedPagesexchanges two pages,ReverseLoadedPagesflips page order in a range,ExtractLoadedPagesToPDFsaves a page range as a standalone PDF, andGetLoadedPageInheritedBoxresolves inherited page boxes through the page-tree parent chainGetLoadedFileSpecInforeads embedded-file metadata (name / description / MIME / size),GetLoadedEmbeddedFileMIMEreturns the/Subtype,GetLoadedEmbeddedFileChecksumreturns the/Checksumdigest, andTHPDFNameTreeType+GetLoadedNameTreeRootCountprovide a typed enumeration of all nine name-tree categoriesHPDFEnablePerMonitorDPIdynamically enables per-monitor DPI awareness;THPDFBackgroundRendererrenders pages on a background thread with a request queue and cancellation;GetLoadedPageContentStreamCountreports whether/Contentsis a single stream or an array;GetLoadedXMPValueextracts a namespace-qualified XMP property; andGetLoadedDocumentReportaggregates all diagnostic info into a JSON string
Version 2.414.0
Added
THPDFActionBuilder.URIWithIsMapcreates a URI action with/IsMap truefor server-side image-map tracking, where the previousURIbuilder only set the bare/URIstringAddLoadedCaretAnnotationExadds an optional paragraph symbol (/Sy P) to caret annotations, the visual marker editors use for insert-trackingGetLoadedAnnotationDAparses a FreeText annotation’s/DAstring 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
ActivateLoadedLinksturns 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
THPDFViewerModelstores, clips, enumerates, removes, and clears persistent page-region highlights without modifying the PDFTHPDFVieweradds a highlight interaction mode with captured marquee dragging, rotation-aware PDF coordinate recovery, configurable colour, and anOnMarqueeSelectcallback
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
THPDFViewerModelcreates 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
THPDFPageLayoutnow supports PDF 1.5plTwoPageLeftandplTwoPageRightcover-spread layouts with automatic version negotiation and strict-version fallback
Fixed
BeginDocnow preserves the caller-selected page layout instead of always replacing it withplOneColumn
Version 2.404.0
Added
THPDFViewerModelcreates rotation-aware snapshots of bounded PDF page regions without allocating a full-page bitmap
Version 2.403.0
Added
THPDFViewerModelconverts 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
THPDFVieweradds Ctrl+wheel zoom, vertical wheel scrolling, and Shift+wheel horizontal scrolling without rerendering for scroll-only input
Version 2.400.0
Added
THPDFVieweradds keyboard page navigation, scrolling, zoom shortcuts, and Actual Size, Fit Width, or Fit Page mode selection
Version 2.399.0
Added
THPDFViewerdraws or prints the rotation-aware current view with deterministic aspect-preserving fit and centred placement
Version 2.398.0
Added
THPDFViewerModelcreates 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
THPDFViewerModelsaves 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.ResetViewrestores 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
THPDFViewerandTHPDFViewerModeladd 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
THPDFViewerModelcan create caller-owned page snapshots and save the current page as BMP without constructing a Viewer control
Version 2.393.0
Added
THPDFLoadedFormFieldnow exposes field flags, MaxLen, page index, widget bounds, and common Required, NoExport, Multiline, and Password statesGetLoadedFormFieldMaxLengthprovides direct indexed access to loaded text-field length limits
Version 2.392.0
Added
SetDocumentAttachmentMetadatarenames document-level embedded attachments and updates their descriptions before serialization
Version 2.391.0
Added
ExtractLoadedPagesTextToStreamstreams selected loaded-page text as UTF-8 with custom separators and optional BOM outputTHPDFViewerModeladds form-field hit testing and deterministic keyboard navigation across page widgetsTHPDFSignatureInfo.CertificateTimeValidityreports certificate-bound and signed-time validity classifications
Fixed
- Loaded form fields without widget
/Pback-references can now be mapped through page annotation arrays
Version 2.390.0
Added
THPDFWatermarkTemplate.MakeCurveandTHPDFPage.AddCurveWatermarkadd 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
InsertLoadedBlankPageinserts a blank page with caller-defined dimensions at an exact loaded-document positionExtractLoadedPagesTextaggregates text from a one-based page range with a caller-defined separatorGetLoadedFormFieldNameValuePairsandSetLoadedFormFieldNameValuePairsprovide batchname=valueform exchange throughTStringsCMapResourcePathsupports 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
DeletePagesremoves 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
THPDFMergeOptionsto copy recursive outlines, register imported AcroForm fields, and deterministically rename conflicting field names - New
AddLoadedRadioButtoncreates a true parent radio field with child widgets, shared export values, and complete on/off appearance states - New
SearchLoadedNextprovides stateless page-local next-match search, whileGetLoadedOutlineEntriesreturns 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
THPDFLoadedDocumentFacadeexposes 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
PrefetchLoadedPagesrenders 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 CancelLoadedPagePrefetchstops the worker andIsLoadedPagePrefetchActivereports its state; loading another document or destroying the component cancels an active prefetch automatically- Cached rendering and the prefetch worker are serialised internally, so
RenderLoadedPageToBitmapCachedstays safe to call while a prefetch is running
Version 2.386.0
Added
- New
FlattenLoadedAnnotationsdraws 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
RenderLoadedPageRegionToBitmaprasterises 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
GenerateLoadedPageThumbnailsrenders 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 GetLoadedPageThumbnailSizereads back an embedded thumbnail's pixel dimensions, andClearLoadedPageThumbnailsremoves thumbnails from the selected pages
Version 2.383.0
Added
EnumLoadedPageElementsnow 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/Qnesting andcmtransformations, so shapes drawn inside scaled or translated blocks report their true page coordinates
Version 2.382.0
Added
THPDFPrintOptionsgainsDuplex(simplex, long-edge, short-edge),PaperBin, andPrintQualityfields that are pushed into the printer device mode before the job starts; an explicitOrientationvalue is now applied as well- New
HPDFGetInstalledPrinterslists the system printers, andHPDFGetPrinterCapabilitiesreports a printer's duplex and colour support, maximum copy count, paper bins (with the codes accepted byPaperBin), and supported resolutions
Version 2.381.0
Added
- New
CopyLoadedOutlinesFromDocumentmerges 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
GetLoadedBookmarkPageIndexnow 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
ImposeLoadedPagesNUplays 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
ImposeLoadedPagesBookletproduces 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
/XObjectsub-dictionary; pages whose resources arrived as separate objects skipped their images and forms silently
Version 2.379.0
Added
SaveLoadedPagesAsImagesgains two TIFF formats:ifTIFFwrites one single-page TIFF file per page, andifTIFFMultiaggregates 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 /OCmarked sections and XObjects carrying an/OCentry is hidden when its layer is off, following the document's default configuration (/BaseState,/ON,/OFF) - Optional-content membership dictionaries evaluate their
/Ppolicy (AnyOn,AllOn,AnyOff,AllOff) over the member groups - New layer APIs on loaded documents:
GetLoadedOptionalContentGroupCount,GetLoadedOptionalContentGroupName,GetLoadedOptionalContentGroupVisible, andSetLoadedOptionalContentGroupVisibleto 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, andshresource lookups previously missed their slash-prefixed operand names and skipped the object silently - The
cmoperator and Form XObject/Matrixvalues 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, andRegisterPostScriptFunctionAPIs 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) RegisterPostScriptFunctionvalidates the calculator program at registration time by trial evaluation, so malformed programs are rejected immediately instead of degrading silently in viewers- New
RegisterSeparationFunccreates 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
/Encoderemapping, and accepts single-entry/Boundsarrays
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/ifelseconditionals
Fixed
- Named colour-space selection (
cs/CSoperators) 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
/Separationand/DeviceNdefinitions 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 annotationDAentry
Version 2.373.0
Fixed
- XFDF annotation import/export now preserves caret annotation fringe geometry through the
fringeattribute and the PDF annotationRDentry
Version 2.372.0
Fixed
- XFDF annotation import/export now preserves rubber stamp annotation rotation through the
rotationattribute and the PDF annotationRotateentry
Version 2.371.0
Fixed
- XFDF annotation import/export now preserves text annotation reply relationships through
inreplyto,replyType, and the PDF annotationIRTandRTentries
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, ornonInteractive
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
justificationandtailattributes through the PDF annotationQandITentries - 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-sideleaderExtendspelling 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", orpresence="inactive", including descendants of concealed containers
Version 2.359.0
Added
- XFA flattening now maps field-level
access="readOnly",access="protected", andaccess="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, soApplyXFAAsAcroFormandFlattenLoadedXFApreserve 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
BorderStyleAltchildren through the PDF annotationBorderarray, including corner radii, width and dash pattern values
Version 2.353.0
Fixed
- XFDF annotation import/export now preserves standard
interior-colorattributes for line, square, circle, polygon, polyline and redaction annotations through the PDF annotationICcolor array
Version 2.352.0
Fixed
- XFDF annotation import/export now preserves standard annotation border style and cloudy border effect attributes, including
width,dashes,styleandintensity
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 annotationPopupdictionaries
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/endcoordinate 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
LoadedPageCountproperty,DuplicateLoadedPage,AddLoadedBlankPage,SetLoadedPageRotationValueandGetLoadedPageBoxRectround out the loaded-document page-operation API — duplicate pages, insert blank separators, set rotation and read any of the five page boxes in one callGetLoadedEncryptionMethodreturns the cipher name (RC4-40/RC4-128/AES-128/AES-256),GetLoadedFileStructureInfoaggregates linearization / object-stream / xref-type in one call,LoadedSourceFileSizeis a property, andSetLoadedPDFVersionupdates the versionStampLoadedPageImageandStampLoadedPageImageFromFileembed a JPEG Image XObject (logo / signature image / QR code) onto a loaded page at a given rectangle,InsertLoadedTextdraws a single-line text run, andGetLoadedPageContentLengthreturns the decoded byte countTHPDFPrintOptionsgainsIgnoreHardMargin(offset printer hard margins so content is not clipped) andAutoRotate(landscape pages print landscape automatically)SaveLoadedPagesAsImagesgainsBMPPixelFormat/BMPMonochrome(mono / 8-bit export) andJPEGScale(1 / 2 / 4 / 8 sub-sampled JPEG decode for fast thumbnails)CompressLoadedDocumentzlib-compresses every uncompressed stream in the loaded object graph and writes/Filter /FlateDecode, shrinking output size
Fixed
StampLoadedPageTextandStampLoadedPageImagenow transparently decompress FlateDecode content streams before appending operators — previously stamping onto a compressed/Contentssilently corrupted the zlib payload and the appended text/image disappeared
Version 2.347.0
Added
AddLoadedOutlinecreates a new bookmark on a loaded PDF at any nesting level (ParentIndex = -1for 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 themSetLoadedOutlineDestinationandSetLoadedOutlineURIrewrite an existing bookmark’s target page or switch it to a URI actionResolveLoadedNamedDestinationturns a named destination string into a zero-based page index, andAddLoadedNamedDestinationregisters a new anchor on the loaded document’s/Names /DeststreeGetLoadedBookmarkPageIndexis 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/ItalicAnglein addition to the/BaseFontname, so subset-prefixed fonts whose name carries no-Boldsuffix still render at the right weight
Version 2.344.0
Added
GetLoadedTrappedreads the/Trappedkey from the Info dict (True/False/Unknown), where it was previously write-only — PDF/X preflight workflows can now round-trip the trap stateGetLoadedDocumentMetadataXMLreturns the raw XMP metadata stream bytes so PDF/A documents whose Info dict is absent can still exposedc:title/dc:creator/xmp:CreateDateGetLoadedCollectionInforeads the/CollectionName of a PDF Portfolio (EmbeddedFiles name tree still carries the file list)GetLoadedOutlineChilddescends one level into the bookmark tree, returning the/Firstchild of a top-level outline entry, so nested chapter / sub-chapter bookmarks are no longer invisibleRotateLoadedPagesrotates every page in a range by a given angle (accumulating onto existing/Rotate), the batch counterpart to per-page rotationSetLoadedPageBoxForRangesets a page box (Media/Crop/Bleed/Trim/Art) for every page in a range in one callGetLoadedViewerPreferencesnow also readsHideWindowUIandCenterWindow, matching the six keys the writer emits (previously only four came back)
Version 2.343.0
Fixed
- The
W n/W* nclip idiom now applies the clip: thenoperator builds the pending path and callsSelectClipPathinstead of discarding both the path and the pending clip, so rect / container clips written asre ... W nno longer leak their contents past the boundary SetMiterLimitis 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 precedingd1glyph no longer bleeds its colour suppression into ad0glyph
Added
ri(rendering intent) andi(flatness) operators are now consumed and stored on the graphics state (RenderingIntent/Flatnessfields), where they were previously silently skipped
Version 2.342.0
Added
- Text rendering mode operator
Tris 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 commonTrcase in real-world PDFs. Modes 1 / 2 (stroke) currently fall back to fill pending per-glyph outline support - Marked-content operators
BMC/BDC/EMCand theDP/MPproperty variants now maintain a depth counter on the renderer, the prerequisite for a later round’s OCG / OCMD visibility evaluation;BX/EXcompatibility operators maintain their own counter so the renderer knows it is inside a compatibility block
Version 2.341.0
Fixed
- Bezier shorthand operators
vandyare 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 DrawTextRunnow honoursTz(horizontal text scaling),Tw(word spacing, applied to the space glyph) andTs(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
SearchLoadedPageTextWholeWordfilters the substring matches produced bySearchLoadedPageTextdown 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 spaceGetLoadedSearchHitRectcollapses 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
ExtractLoadedPageTextColumnsreconstructs 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 toExtractLoadedPageTextLayoutthat previously declared column detection out of scopeTHPDFPageElementnow carries aBaselineRole(brNormal/brSuperscript/brSubscript) populated byEnumLoadedPageElements: 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
/ImageMaskstencil 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) andd(LineDash array + phase) operators by building a geometric pen viaExtCreatePeninstead of the previous fixedCreatePen(PS_SOLID, ...), so rounded joins, dashed borders and square end caps render correctly - Render-side
gs(ExtGState) operator: the named ExtGState dictionary in/Resources/ExtGStateis now consumed forLW/LC/LJ/ML/ca/CAand applied to the graphics state, where the renderer previously dropped the operator entirely - Graphics state extended with
LineCap/LineJoin/MiterLimit/LineDash/DashPhase/FillOpacity/StrokeOpacityfields, all with PDF-default initial values
Fixed
- Clip (
W/W*) now sets the GDI polygon fill mode (ALTERNATEvsWINDING) beforeSelectClipPath, so even-odd and nonzero-winding clip intersections are no longer identical
Version 2.336.0
Security
- The render-side
/Indexedcolour-space parser now clampsHiValto the spec-mandated[0..255]range, closing a buffer-overread vector where a malformed HiVal letnComps × indexHighoverflow a 32-bit byte count and read past the lookup table
Added
AttachLoadedAnnotationMeasurewrites a/Measuredictionary (PDF 1.7 §12.5.6.13) onto a Line or Polygon annotation, carrying the/NumberFormatarray (unit label, decimal/fraction/round style, precision), the/Scaleratio and the/CYXisotropy 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
HPDFEvalTintTransformnow 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) — soSeparation/DeviceNtint 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) andLab(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
ICCBasedcolour 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
SeparationandDeviceNspot-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/SCNnow handled by the page renderer, the prerequisite for every non-Device colour space to take effect on a loaded page - Unified colour resolution through
HPDFResolveColorwith the extendedTHPDFColorSpaceFamilyandTHPDFCIEParamsrecords, replacing the per-space ad-hoc logic
Version 2.332.0
Added
RenderSignatureFieldAppearancepaints 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 aTHPDFSignatureDisplayOptionsset as a convenience wrapper aroundAttachSignatureFieldAppearanceEnumerateSystemCertificateswalks a Windows certificate store (typicalMY/ROOT/CA) via dynamically loadedCrypt32.dlland 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
DigestMethodsalready accepting SHA-256 / SHA-384 / SHA-512, so no SHA-1 signing path exists
Version 2.331.0
Added
RenderLoadedPageToDCdraws one page straight into a caller-supplied device context (printer canvas, off-screen surface, customTCanvas), removing the bitmap round-trip for print and high-DPI workflowsRenderLoadedPageToClipboardplaces 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 worksPrintLoadedDocumentwith aTHPDFPrintOptionsrecord drives the VCLTPrinterthrough 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
GetLoadedPageLabelreads back the/PageLabels /Numsrange that covers a given page index, returning the style code, prefix and start number — the read counterpart toSetLoadedPageLabel, so labels a caller did not create itself can now be inspected and round-trippedStitchLoadedPageSideBySideExperforms the side-by-side 2-up stitch with a configurable horizontal gutter and source-page scale factor, where the legacyStitchLoadedPageSideBySidewas fixed to half width with no gap
Version 2.329.0
Added
AddLoadedRubberStampAnnotationwith aTHPDFRubberStampIconenum 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 streamSetLoadedAnnotationCloudyBorderturns a Square / Circle / Polygon annotation into a cloudy (cloud-burst) border by writing/BE /S /C /Iplus the/ICinterior colour arraySetLoadedLineAnnotationCapssets the/LEline-end (arrowhead) styles for Line / Polyline annotations from the newTHPDFLineEndStyleenum (None / OpenArrow / ClosedArrow / Butt / ROpenArrow / RClosedArrow / Slash / Diamond)
Version 2.328.0
Added
EnsureLoadedFieldAppearanceStreamgenerates a/AP /NForm XObject for an existing AcroForm field from its/DA+/V+/Rect, so viewers that ignore/NeedAppearancesstill render the field value without a round-trip through AcrobatApplyLoadedFieldValidationattaches a Format / Keystroke / Validate script trio to a field using the AcrobatAF*helpers, covering Number, Percentage, Date, Time, Currency, ZipCode, SSN, Phone and ArbitraryMask input kinds — the caller no longer has to hand-writeAFNumber_Format/AFDate_FormatEx/AFRange_ValidateJavaScriptApplyLoadedFieldCalculationattaches anAFSimple_Calculatescript 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 withHPDF_NO_MASK) and stamps the replacement text on top, complementing the byte-levelReplaceLoadedPageTextwhen the original font lacks a reverse char-code table or the replacement needs a different font - Region text extraction
GetLoadedPageTextInRegionconcatenates 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
SearchLoadedFirstreturns the first match as a singleTHPDFTextMatch, so callers can walk hits without managing a whole match array
Version 2.326.0
Added
- Document-wide
MeasurementUnitproperty (muPoints/muPixels/muInches/muMM/muCentimeters/muTwips) so every high-level authoring coordinate is converted to PDF points throughToPDFUnit/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 AddTextWatermarkExpage method that combines placeholder substitution, unit-aware coordinates and a unifiedTHPDFWatermarkBaserecord (angle, opacity, position presets)- Shape-watermark page helpers
AddRectangleWatermark,AddEllipseWatermark,AddLineWatermarkandAddPolygonWatermark, each wrapping the path primitives in aq/Qgraphics-state pair with registered fill/stroke alpha - Unified
THPDFWatermarkTemplaterecord withMakeText/MakeRectangle/MakeEllipse/MakeLine/MakePolygonfactories plus aTHPDFWatermarkTemplateArraycomposite type - Loaded-document watermarking:
StampLoadedPageTextandStampLoadedPagesTextappend a transparent, rotated text run to existing pages, honouring theMeasurementUnitand the same placeholder set;StampLoadedPagesCompositeapplies a whole template array (text + shapes) to a page range - Z-order control on loaded-document stamps:
Underlay = Trueprepends the watermark stream before the existing/Contentsvia the array form, so the watermark renders behind the page content EnumLoadedPageElementsreturns text runs (glyphs aggregated by baseline + font) and image XObject placements asTHPDFPageElementrecords with bounding boxesSaveLoadedPagesAsImagesmulti-format export: BMP / JPEG / PNG raster plus EMF / WMF vector, one file per page, with configurable DPI, file-name prefix and JPEG qualityGetLoadedPageMetafilevector render of one page to aTMetafilevia the newTHPDFPageRenderer.ExecuteToDCpath, 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_GRADIENTFILLrectangle gradients (GRADIENT_FILL_RECT_H/GRADIENT_FILL_RECT_V) as PDF Type 2 axial shading patterns, mapping eachTRIVERTEXcolour pair to anRegisterAxialGradientcall 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_GDICOMMENTcomments, 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 thepdfmarkkeyword 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_GRADIENTFILLas 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+/Contentsplaceholders in 256 KB rolling reads, digests the two byte-range windows viaHPDFCMSSHA256StreamRanges, 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-memoryPos()+Move()path unchanged
Version 2.321.0
Added
- Optional-content group usage dictionaries:
SetOptionalContentGroupUsageattaches a/Usageentry to a registered OCG (PDF 1.7 §8.11.4.4 Table 100) so viewers auto-show/hide layers by context. CategoriesView/Print/Exportwrite<Category>State=ON/OFF;Zoomwrites a real-pairMin;Language/Creatorwrite string values - Outline subtree copy:
THPDFDocOutlineObject.CopySubtreedeep-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 byMoveTo) andMoveTo(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//Countmaintenance on every affected ancestor)
Version 2.320.0
Added
- Nested optional-content /Order tree:
BeginOptionalContentOrderGroup/AddLayerToOptionalContentOrder/EndOptionalContentOrderGroupbuild 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/OCGsis 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
ExecuteRecordentry: while a path bracket is open (BeginPathseen,EndPath/AbortPathnot 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
RegisterOptionalContentRadioGroupdeclares 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/InsertAftersplice a new sibling into the existing outline doubly-linked list at an arbitrary position, complementing the existingAddChild(append) andAddChildFirst(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
JBIG2Benchmarkdemo generates four PDFs from the same three-page synthetic scan, one perTHPDFJBIG2Optionsconfiguration (per-image lossless, per-imageLossyLevel=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
/JBIG2Globalsstream, and the accumulator is reset, so the next batch starts a fresh globals stream. Mirrors llPDFLib'sTotalWidth-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 existingUseSymbolDictionary+UseGlobalSegments+ native fallback switches) and consecutive 1-biticJBIG2images share one growing in-memory symbol dictionary and one/JBIG2Globalsindirect stream, instead of each image emitting its own dictionary. NewTHPDFJBIG2SymbolDictionaryholds the persistent glyph set with the same lossy / lossless matching the per-image encoder uses; newsmoke_jbig2_accum_decodeverifies 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/JBIG2Globalsindirect stream instead of each emitting their own; newsmoke_jbig2_globals_multismoke 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, andEMR_SETROP2, closing the seven-record gap with llPDFLib so EMF streams emitted by older GDI toolchains no longer silently drop those records;SETMITERLIMITandSETROP2take 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
HPDFCMSSHA256StreamRangesnow digests the two PDF/ByteRangewindows straight from aTStreamin 256 KB chunks, so multi-GB signed PDFs can be hashed without first copying the whole file into anAnsiString; closes the gap with llPDFLib's stream-basedCalcHash, which the existing in-memoryHPDFCMSSHA256ByteRangescould not match for very large inputs
Version 2.310.0
Changed
THPDFJBIG2Optionsnow defaults to scan-friendly settings (LossyLevel = 5,RemoveIsolatedBlackPixels = True,BlackDotSize = 3) so 1-bit scanned images compress much smaller out of the box; setLossyLevel = 0orLossless = Trueto 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.AddChildFirstso generated outline nodes can prepend a child item before existing siblings while preserving the saved outline order
Version 2.309.3
Added
- Added
pmUseOCtoTHPDFPageModeso generated documents can request the optional-content layers panel with catalog/PageMode /UseOC
Version 2.309.2
Added
- Added title-string overloads for
THPDFPage.AddTextAnnotationso generated text annotations can write the PDF/Ttitle or author entry while preserving the existing icon, color, and open-state arguments
Version 2.309.1
Fixed
- Clearing
THotPDF.OutputStreamby assigningnilnow restores normalFileNameoutput instead of leaving the document in stream-output mode
Version 2.309.0
Fixed
- EMF/WMF import now honors
EMR_EXTSELECTCLIPRGNregion modes for copy, intersect, and exclude clipping while keepingEMR_SETWORLDTRANSFORM,EMR_MODIFYWORLDTRANSFORM, andEMR_SETPIXELVcovered by non-GUI regression tests
Version 2.308.0
Added
- FastReport add-on design-time registration now ships as
frxHotPDFDesign, placingTfrxHotPDFExporton the FastReport VCL palette while keeping the existing runtime unit andRegisterentry point available for compatibility
Version 2.307.0
Added
SignPDFWithPFXnow 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.PageRangenow lets FastReport exports opt in to one-based page filtering such as1,3-5while 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
wstill 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
columnWidthsvalues when they omit their ownw, 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 wrappedlayout="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"andlayout="lr-tb"flow containers when they omit an explicithheight, measuring their wrapped content height instead of skipping them as unsupported growable layout
Version 2.300.0
Fixed
THotPDF.ExtractObjectFromStreamnow 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.DecompressAllObjectStreamsis 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
TDBGridHotPDFExportOptionsand theTDBGridHotPDFExportcomponent now exposePDFAComplianceandPDFXComplianceso DBGrid table exports can opt in to the same HotPDF standards-conformance gates used by direct document generation
Version 2.296.0
Added
TQRHotPDFExportFilterandTdxHotPDFExportOptionsnow exposePDFAComplianceandPDFXComplianceso QuickReport and DevExpress exports can opt in to the same HotPDF standards-conformance gates used by direct document generation
Version 2.295.0
Added
TfrxHotPDFExportandTppHotPDFDevicenow exposePDFAComplianceandPDFXComplianceso 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
THPDFExtGStateOptionsnow 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
TransparentBltandMaskBltbitmap 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
PDFOptimizedemo 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
SaveLoadedDocumentrewrites 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.ShowNullBrushnow 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.CanvasOvernow 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.Redrawnow 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.UseFramenow 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.ShowNullPennow 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.SetFormFieldTooltipnow lets applications assign AcroForm/TUfield hints by field name for widgets created through the existingAdd...field methods
Version 2.292.25
Fixed
TfrxHotPDFExportnative-object mode now preservesTfrxPictureViewclipping and frame rendering when picture views are written directly as HotPDF image XObjects
Version 2.292.24
Added
TfrxHotPDFExportnative-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
TppHotPDFDevicenative 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.ShowMetafileExnow has a per-callTHPDFEmfOptionsoverload, letting callers override EMF/WMF rendering settings for one metafile draw while preserving document-level defaults