HotPDF Napomene o izdanju
Istorija verzija za korisnički vidljive funkcije HotPDF-a, ispravke, ažuriranja kompatibilnosti i promene 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 je predenje kroz ceo deklarisani broj unosa kod cross-reference podsekcije koja deklariše više unosa nego što tabela sadrži, iako za čitanje više nema podataka, pa je odbacivanje neispravne datoteke od četrdeset bajtova trajalo desetine sekundi
- Popravljeno je gubljenje svih već dobijenih rezultata kod job runnera kada operacija izbaci grešku, i gubljenje picture objekta pri HTML uvozu kada stream oko njega nije mogao da se napravi
Version 2.748.5
Fixed
- Popravljeno je otvaranje PKCS#12 datoteka sa lozinkom van ASCII: lozinka je UTF-8 niz bajtova, ali se širila bajt po bajt umesto da se dekoduje, pa je izvedeni ključ bio pogrešan za svaki znak van ASCII. Datoteke zaštićene modernom PBES2 šemom nisu bile zahvaćene, pa se zato ta dva različno ponašala
- Popravljeno je podizanje access violationa umesto sopstvene greške kod signature batch validatora i revocation evidence cache-a kada se naprave sa neispravnom opcijom, pošto se destruktor izvršavao pre nego što su napravljeni članovi koje oslobađa
- Popravljeno je padanje evidence download zadatka u destruktoru kada su njegovi argumenti odbijeni, pošto su provere išle pre nego što je sama nit bila napravljena
- Popravljeno je kodovanje algorithm identifiera kod cloud-signature providera kada drugi luk prelazi 39, a neispravan identifikator sada podiže providerovu sopstvenu grešku umesto greške konverzije
- Kontejneri sertifikata i potpisa sada odbijaju ugnježdeni element koji deklariše dužinu koja prelazi element koji ga sadrži, pa ono što se validira i ono što potpis pokriva više ne mogu da se razlikuju
- Vrednosti privatnog ključa se posle RSA potpisivanja brišu iz memorije umesto da ostanu na heapu za sledeću alokaciju
Version 2.748.4
Fixed
- Popravljeno je učitavanje Type 1 fontova koje je svako svojstvo čitalo iz prvog reda font programa: token lista je dopunjavana bez pražnjenja, pa su version, family i weight stringovi, stem hints i charstring key length uzimani iz zastarelih tokena. Type 1 fontovi sada prijavljuju svoje metapodatke
- Popravljeno je čuvanje charstring key length kao pokazivača u string koji je već oslobođen i korišćenje bez provere opsega; sada se čuva kao vrednost i ograničava na opseg koji format dozvoljava
- Popravljeno je vraćanje neugrađenih fontova uvek na sistemski podrazumevani font: traženo ime fonta je kopirano u wide-character font zapis bajt po bajt, pa se nijedna instalirana familija nikada nije poklapala
- Popravljeno je čitanje prekraja isečenog font programa kod parsiranja ugrađenih TrueType i OpenType fontova dok se dekoduju glyph outlines, argumenti composite glyph-ova i CFF tabela OpenType kontejnera, a neispravna character map više ne traži negativan glyph niz
- Popravljeno je prekoračenje deklarisanih brojeva objekata kod cross-reference tabela i streamova: unos koji tvrdi broj blizu limita integera prebacio se u negativan indeks i upisivan je van tabele, a deklarisani broj objekata ili
/Sizemnogo veći nego što datoteka može da sadrži dimenzionisao je loader-ove nizove samo na osnovu te tvrdnje
Version 2.748.3
Fixed
- Popravljeno je odbijanje ispravnog unosa kod Data Matrix: veličina simbola se procenjivala prepolovljenjem broja cifara, ali code word dele samo susedne cifre, pa je tekst poput
1a2a3abirao simbol premalen za sopstvene podatke i enkodovanje je padalo - Popravljeno je dekodovanje četvorobajtnih UTF-8 znakova u XFDF-u, poput emodžija, u pogrešan surrogate par, a neprepoznat bajt više ne proguta tri znaka koja slede
- Enhanced-metafile region zapisi sada ograničavaju broj pravougaonika veličinom zapisa umesto da veruju broju u region headeru, koji je mogao da čita daleko preko zapisa
- PNG slike čija deklarisana širina puta visina premašuje adresibilni opseg odbijaju se već u headeru umesto alokacije pixel bafera negativne dužine
- High-quality image resampling sada prijavljuje zahtev van opsega umesto prekoračenja veličine svog međubufera
- WebP meta prefix slika koja tvrdi više entropy grupa nego što ima piksela odbija se umesto da od par stotina bajtova ulaza alocira stotine megabajta prefix tabela
- Popravljena su curenja na failure putevima Aztec enkodovanja, WebP bitmap dekodovanja i object-stream decode worker poola, gde je pri padu kasnijeg koraka ostavljen delimično napravljen objekat
Version 2.748.2
Fixed
- Popravljeno je gubljenje poslednjih bitova code worda kod QR Code simbola: obilazak rasporeda modula preskočio je krajnju levu kolonu, pa rep poslednjeg error correction bloka nikada nije upisan u simbol
- Popravljeno je punjenje celog ostatka data bloka nula bitovima od strane QR terminatora, pa nije ostalo mesta za 0xEC / 0x11 pad code words koje zahteva ISO/IEC 18004; simbol verzije 1 je umesto toga nosio šest nula code wordova
- Novi test čita generisani simbol nazad iz njegovih modula, pa se data blok, pad code words, error correction blok, maska i raspored proveravaju protiv standarda, a ne protiv sopstvenog izlaza encodera
Version 2.748.1
Fixed
- Popravljeno je zapinjanje tri parsera na neispravnom ulazu umesto prijave: object parser na
>>unutar niza ili]unutar rečnika, CMap reader na zalutalu zagradu ili vitičastu zagradu i XFDF reader na konstrukciju bez tag imena (na primer document type deklaracija) ili zalutali bajt među atributima. Svaki od njih je stao da pomera kursor, pa je jedan neočekivani bajt pretvorio parsiranje u beskonačnu petlju - Popravljeno je čitanje CDATA sekcija u XFDF-u kao markupa: njihov sadržaj se sada uzima kao tekst elementa, a section marker se meri ispravno umesto da proguta prvi znak
- Popravljeno je prekoračenje provere veličine kod WebP chunk dužine blizu 2 GB, pa je kopija payloada čitala prekraja bafera datoteke; chunk dužine se sada proveravaju u 64-bitnoj aritmetici
- Popravljeno je oslobađanje chunk bafera kod PNG chunk dužine 0xFFFFFFFF dok je chunk još prijavljivao deklarisanu dužinu, što je kasnija čitanja uputilo na oslobođenu memoriju; predugi chunkovi se odbijaju
- Popravljeno je prekoračenje računanja veličine row bafera kod CCITT fax dekodovanja za vrlo velike deklarisane geometrije stranice, koje je moglo da piše preko bafera; row store je sada ograničen i dekodovanje se na granici lepo zaustavlja
- Popravljeno je čitanje jednog bajta prekraja scan line kod CCITT encodera za širine koje su umnožak broja osam
- Popravljeno je čitanje enhanced-metafile comment zapisa kroz 32-bitno skraćen pokazivač na 64-bitnim buildovima, što je za svaki EMF sa GDI komentarom čitalo nepovezanu adresu
- Popravljeno je objavljivanje neinicijalizovane memorije kao repa colour tabele kod 8-bitnih slika sa manje od 256 palette unosa; tabela sada deklariše svoj stvarni broj unosa
- Popravljeno je iscrpljivanje steka duboko ugnježdenim indefinite-length BER strukturama pri parsiranju kontejnera potpisa ili sertifikata; ugnježdenost preko 128 nivoa se odbija
Version 2.748.0
Fixed
- Popravljena je error correction svih 2D barcodova koje biblioteka crta: QR Code, Data Matrix, PDF417 i Aztec su generator polynomial gradili od constant termina nagore, ali su delili njime kao da vodeći termin dolazi prvi, pa je svaki simbol nosio check words koje nijedan ispravan reader ne prihvata. Check words se sada poklapaju sa worked examples iz ISO/IEC 18004, ISO/IEC 16022 i ISO/IEC 15438
- Popravljeno je gubljenje payloada kod Aztec simbola: encoder deli code word niz u mestu i caller emituje isti taj niz, pa su message words bila prepisana deljenjem i simbol nije nosio ni podatke ni ispravnu mode poruku
- Popravljeno je startovanje korena generator polynomiala Data Matrix za jedan stepen prenisko, što je dalo drugačiji polinom od onog koji propisuje ISO/IEC 16022 Annex E
- Popravljen je Data Matrix finder pattern: puna L je sada leva kolona i donji red, a naizmenični clock track gornji red i desna kolona, svaki počinje tamno u uglu koji deli sa L. Ta dva su bila zamenjena, pa readeri nisu mogli da utvrde orijentaciju simbola
Version 2.747.4
Fixed
- Popravljeno je pisanje PDF brojeva pri izmeni učitanih dokumenata sistemskim decimalnim separatorom: šivanje stranica, prekrivanje pravougaonika, žigovi teksta i slika, složeni oblici vodenih žigova i ellipse appearances sada uvek upisuju tačku, pa dokumenti izmenjeni na podešavanjima sa decimalnim zarezom (na primer nemački ili francuski Windows) više ne sadrže content streamove koje pregledači odbijaju
- Popravljeno je učitavanje Type 1 fontova koje je zavisilo od sistemske lokalizacije: FontMatrix, BlueValues, stem hints i charstring realni brojevi se čitaju kao PostScript brojevi sa tačkom, pa PFB fontovi na sistemima sa decimalnim zarezom zadržavaju metrike i konture umesto da se tiho raspadnu
- Popravljeno je čitanje veličine i boje fonta default appearance (
/DA), HTML width isizeatributa, FormCalc rezultata i brojeva iz job JSON po lokalizaciji procesa; sada u svim smerovima koriste invariantni format - Popravljeno je ugrađeno crtanje barcodova koje je svoje bar pravougaonike upisivalo formatom koji zavisi od lokalizacije, što je na sistemu sa decimalnim zarezom davalo neispravan content stream
- Free Pascal buildovi sada čitaju i formatiraju operande content streama, metrike za vađenje teksta i JavaScript brojeve invariantnim formatom, u skladu sa Delphi buildovima, umesto da se vraćaju na konverziju koja zavisi od lokalizacije
- Number writer više ne prepisuje decimalni separator globalnih format podešavanja aplikacije koja ga je hostovala pri svakom pozivu, što je menjalo kako ostatak programa formatira sopstvene brojeve i bilo je nesigurno kada više niti istovremeno proizvodi dokumente
Version 2.747.3
Fixed
- Popravljeno je pisanje PDF brojeva pri izmeni učitanih dokumenata sistemskim decimalnim separatorom: šivanje stranica, prekrivanje pravougaonika, žigovi teksta i slika, složeni oblici vodenih žigova i ellipse appearances sada uvek upisuju tačku, pa dokumenti izmenjeni na podešavanjima sa decimalnim zarezom (na primer nemački ili francuski Windows) više ne sadrže content streamove koje pregledači odbijaju
- Popravljeno je učitavanje Type 1 fontova koje je zavisilo od sistemske lokalizacije: FontMatrix, BlueValues, stem hints i charstring realni brojevi se čitaju kao PostScript brojevi sa tačkom, pa PFB fontovi na sistemima sa decimalnim zarezom zadržavaju metrike i konture umesto da se tiho raspadnu
- Popravljeno je čitanje veličine i boje fonta default appearance (
/DA), HTMLfont sizeatributa, FormCalc rezultata i brojeva iz job JSON po lokalizaciji procesa; sada u svim smerovima koriste invariantni format - Free Pascal buildovi sada čitaju i formatiraju operande content streama, metrike za vađenje teksta i JavaScript brojeve invariantnim formatom, u skladu sa Delphi buildovima, umesto da se vraćaju na konverziju koja zavisi od lokalizacije
Version 2.747.2
Added
- Dodata je podrška za Free Pascal Win32: Lazarus paket se sada builduje i za
i386-win32i zax86_64-win64kroz namenske ulazne tačke za build, smoke suite prihvataju argument arhitekture, a ispravljeni su problemi sa 32-bitnim kompajlerom i povezivanjem C simbola; kreiranje PDF, učitavanje, Flate kompresija, AES šifrovanje i rukovanje CBZ dokumentima su pokriveni na oba cilja
Version 2.747.1
Fixed
- Popravljen je ponovni pokušaj sa rotiranom maskom u ugrađenom barcode dekoderu, koji je ostavljao zaostale bajtove u netaknutim ćelijama rotirane maske, pa su se pojavljivala fantomska mastila i Code 39 simboli okrenuti za 90 stepeni nisu bili čitljivi; rotirani bafer se sada eksplicitno nuluje, pa okrenute Code 39 fotografije i skenovi dekodiraju kroz retry sa rotacijom
Version 2.747.0
Added
- Dodat je uvoz WebP slika:
AddImageFromFilesada prihvata.webpfajlove kroz ugrađeni lossless (VP8L) dekoder koji implementira RFC 9649 — kanonske prefiksne kodove, prostorne meta prefiksne kodove, LZ77 povratne reference sa mapom susednih udaljenosti, keš boja i sve četiri inverzne transformacije (predictor, color, subtract-green, color indexing sa grupisanjem piksela); lossy VP8 kadrovi se odbijaju uz jasnu poruku
Version 2.746.0
Added
- Ugrađeni barcode dekoder sada čita QR simbole u bilo kojoj od osam orijentacija u kojima fotografisana ili skenirana stranica može da stigne: finder obrasci prepoznaju nedostajući ugao, a uzorkovana matrica modula se rotira ili ogleda u očekivani raspored pre dekodiranja, pa se okrenuti i ogledani snimci čitaju bez prethodne obrade
Version 2.745.0
Added
- Dodata je provera eIDAS kvalifikovanih sertifikata za učitane potpise: GetLoadedSignatureQCStatements prijavljuje ETSI EN 319 412-5 QCStatements sertifikata potpisnika — QcCompliance, QcSSCD, QcType vrednosti, QcLimitValue valutu/iznos/eksponent i PDS lokacije — plus TS 119 495 PSD2 uloge platioca i primaoca, i podiže qualified-signature heuristiku kada su QcCompliance i QcSSCD oba prisutna (odluka o poverenju prema QTSP-u ostaje pozivaocu)
Version 2.744.0
Added
- Dodato je N-up slaganje za učitane dokumente: ComposeLoadedPagesNUp raspoređuje svaku stranicu na listove složene po mreži veličine izvornog papira (2-up, 4-up, 6-up, do 16x16) za izlaz spreman za štampu, uvlači
/Rotatesvake stranice u matricu pozicioniranja, deli resurse stranice sa složenim oblikom i opciono iscrtava okvire ćelija od tanke linije sa podesivim međuprostorom
Version 2.743.0
Added
- FlattenLoadedAnnotations sada ugrađuje napomene koje nemaju tok izgleda umesto da ih tiho preskače: vidžeti prvo dobiju izgled polja generisan iz vrednosti polja (slučaj
/NeedAppearances, uobičajen kod formulara štampanih iz brauzera), pa uneta vrednost opstaje u sadržaju stranice - Markup napomene bez
/APdobijaju sintetizovan izgled crtan iz sopstvenih svojstava — FreeText i Stamp tekst sa/DAstilizovanjem i/Qporavnanjem, Square i Circle oblici sa/C//ICbojom i/BSširinom, Line i Ink potezi, te Highlight / Underline / StrikeOut / Squiggly quad oznake koje poštuju/QuadPointsi/CAneprozirnost - Skrivene napomene (zastavica
/Fhidden) ostaju napomene kada nemaju izgled, jer bi ugrađivanje nevidljive napomene učinilo da postane vidljiva
Version 2.742.0
Fixed
- Popravljene su Free Pascal package izgradnje koje padaju od 2.738.0: deklaracije članova za LTV dokaze i seed-value stavljene su u uslovni blok samo za Delphi dok su im implementacije bile bezuslovne, pa se Free Pascal paket više nije kompajlirao; implementacije sada nose isti uslov i paket se opet gradi
Version 2.742.0
Added
- HTML uvoz sada razrešava tabele na potpunoj mreži zauzeća, pa
rowspanicolspanćelije pravilno zauzimaju svoje kolone, a kasniji redovi preskaču zauzete slotove umesto da se pomeraju ulevo - Visine redova tabele se računaju iz lamanja teksta ćelije fontom same ćelije umesto procene po broju znakova, pa mešani uzani i široki sadržaj više ne pravi ćelije koje se prelivaju ili su prevelike
- Širine kolona prate
<col>nagoveštaje širine i atribute širine po ćeliji, a zaglavlja označena sa<thead>(ili početni redovi svi-<th>) se ponavljaju na vrhu svake nastavljene stranice kada tabela prekorači prelom stranice - rowspan grupa ostaje cela kroz prelome stranica: redovi spojeni ćelijom koja se prostire prelaze na sledeću stranicu zajedno, pa ta ćelija nikada nije isečena
Version 2.741.0
Fixed
- Popravljeno je da Free Pascal izgradnje završavaju proces umesto da prijave grešku kada dokument zatreba neki od kodeka koje te izgradnje ne linkuju: otvaranje TIFF-a, dekodiranje JPEG 2000 ili JBIG2 slike, čitanje progresivnog ili smanjenog JPEG-a, primena ICC transformacije boja ili zahtev za Zopfli rekompresijom završavalo je proces odmah
- Svaka od tih operacija sada završi neuspehom na način koji njen pozivalac već očekuje, pa se dokument koji koristi neku od njih učita uz preskočenu tu funkciju, umesto da obori aplikaciju
Version 2.741.0
Added
- Dodata je ekstrakcija teksta po redosledu strukture: ExtractLoadedPageStructureText obilazi stablo strukture dokumenta redosledom nastanka (ISO 32000-1 14.8.4) i spaja marked-content nizove stranice po MCID-u, pa tagged dokumenti poput državnih formulara i pristupačnih publikacija izdvajaju svoj zvanični redosled čitanja umesto geometrijske pretpostavke; glifovi koje stablo nikada ne priključi padaju u geometrijski rep i broje se u izveštaju za neoznačeni deo
Version 2.740.0
Fixed
- Popravljeno je gubljenje transparentnosti obojenih glifova u Free Pascal izgradnjama: ugrađene bitmape u boji čitane su putanjom koja odbacuje alpha kanal, pa je svaki emoji ili glif fonta u boji crtan kao neproziran pravougaonik. Bitmapa sada čuva alpha po pikselu
Version 2.740.0
Fixed
- Omogućen je P-384 ECDH dogovor ključeva: završno uslovno oduzimanje u CIOS Montgomery množenju poredilo se sa P limbovima plus pozajmicom, što se prebacilo u nulu na sve-jedinicnim višim limbovima P-384 / P-521 prostih brojeva i tiho pogrešno računalo pozajmicu; poređenje sada detektuje pozajmicu bez prelivanja u sabiranju, a P-384 deljena tajna se poklapa sa OpenSSL referentnim vektorima bajt-po-bajt
Version 2.739.0
Added
- Free Pascal izgradnje sada šifruju i dešifruju dokumente: AES ulazne tačke opslužuje sopstvena FIPS-197 implementacija biblioteke umesto greške o nepodržanoj operaciji, pa se AES-128 i AES-256 zaštićeni fajlovi mogu tamo kreirati i otvarati
- AES-GCM šifrovanje i dešifrovanje, uključujući streaming kontekst korišćen za velike sadržaje, dostupno je u Free Pascal izgradnjama
- Free Pascal smoke test sada proverava šifru protiv FIPS-197 poznatog odgovora, prolazi kroz PKCS#7 i GCM round trip-ove, te kreira i ponovo učitava AES-256 zaštićen dokument uz odbijanje pogrešne lozinke
Version 2.739.0
Added
- Dodata je CSS2.1 tipografija pasusa u HTML5 uvozni engine: text-align (sa zastarelim align atributom i mapiranjem center-tag-a), letter-spacing i word-spacing kroz PDF Tc / word-space operatore, text-indent za uvlačenje prvog reda i text-decoration underline / line-through pravila, pa postojeći veb i email HTML uvozi zadržavaju centrirana zaglavlja, uvlačenja i podvlake
- Proširen je ugrađeni QR dekoder iza verzije 1: verzija simbola sada se izvodi iz finder geometrije kroz deljivost mreže (verzije 2-40 sa čistom mrežom modula se dekodiraju), ograničenje dužine u byte režimu prati ISO/IEC 18004 tabelu 7 kapaciteta po verziji, a mapa funkcionalnih modula pokriva alignment obrasce i blokove verzije za više simbole
Version 2.738.0
Added
- Free Pascal izgradnje sada kompresuju i dekompresuju dokumente izvorno: deflate kodek obezbeđuje ugrađeni backend preko Pascal zlib implementacije koja dolazi uz Free Pascal, pa FlateDecode sadržaj više ne prijavljuje grešku o nepodržanoj operaciji
- Kompresovani dokumenti se mogu kreirati i ponovo učitati pod Free Pascal-om sa podrazumevanom postavkom kompresije, a tokovi ukrštenih referenci, tokovi objekata, ugrađeni fajlovi i kompresovan sadržaj stranica svi se tamo dekodiraju
- Backend pokriva zlib i raw deflate omote, gzip omot i automatsku detekciju zaglavlja, pa SVG uvozi i fallback dekompresije sa više veličina prozora rade kao pod Delphi-jem
- Free Pascal smoke test sada verifikuje kodek kroz samotest omota i kontrolne sume plus round trip kompresovanog dokumenta
Version 2.738.0
Added
- Dodato je dopunjavanje lanca preko AIA caIssuers: HPDFFetchAIAIntermediates obilazi endpoint-e access-method 1.3.6.1.5.5.7.48.2 CMS skupa sertifikata kroz transport pozivaoca (i goli DER i PEM telo se dekodiraju), a FetchMissingIntermediates validaciona opcija usmerava preuzete intermediatere u izgradnju putanje, pa se potpisi cloud potpisnika sa samim end-entity sertifikatom validiraju umesto da izgradnja putanje propadne
- Dodato je LTV aktiviranje jednim pozivom: PopulatePAdESLTVEvidence prolazi kroz svaki učitani potpis, preuzima njegove intermediatere plus OCSP/CRL dokaze online i upisuje materijal u DSS dokumenta, čime svež B-B dokument sa potpisom nadograđuje na B-LT bez ručno sklopljenih nizova dokaza
- Dodato je sprovođenje seed-value ograničenja pri potpisivanju: CheckLoadedSignatureSeedValue čita /SV rečnik polja potpisa i proverava kandidat SubFilter, DigestMethod, Reason i DocMDP profil protiv njegovih ograničenja sa semantikom force-bit iz ISO 32000-1 12.7.5.5, pa se ograničenja autora formulara poštuju pre postavljanja potpisa
Version 2.737.0
Added
- Dodata je stroga verifikacija snimanja kroz VerifySavedOutput svojstvo: nakon upisivanja svež reader instanca sa isključenim oporavkom ukrštenih referenci ponovo učitava fajl, pa pokvarena serializacija podigne izuzetak na mestu poziva umesto da iskoči kod sledećeg potrošača
- ReproducibleOutput je proširen na šifrovane dokumente: AES-CBC tokovi koriste statičku 14*(1+i) IV konvenciju, ključni materijal i soli se izvode deterministički, a kanonski ID dokumenta normalizuje promenljive Info vremenske oznake, čime šifrovana snimanja daju bajt-identičan izlaz za regression pipeline-ove
Version 2.736.0
Added
- Dodati su resampling visokog kvaliteta i monohromski dithering kroz novu HPDFResample jedinicu: separabilni Catmull-Rom bicubic i Lanczos3 kerneli zamenjuju GDI stretch semantiku za smanjivanje slika preko ImageDownsampleKernel svojstva, a RenderOutputDither primenjuje Floyd-Steinberg difuziju greške posle kompozicije stranice, pa print-preview izlaz zadržava fotografske detalje u čisto crno-beloj tehnici
Version 2.735.2
Fixed
- Popravljeno je da Flate dekompresioni tokovi prosleđuju adresu bafer promenljive umesto samog bafera pri dopunjavanju iz izvornog toka, što je oštećivalo memoriju pri svakom čitanju i moglo je oboriti proces; pogođeni su učitavanje kompresovanih dokumenata, inflate klase tokova i helper-i za kompresiju i dekompresiju tokova
Version 2.735.1
Fixed
- Popravljeno je skupljanje na jedan red za proširive XFA polja bez izvora podataka pri poravnavanju: njihova visina se sada meri iz teksta koji sam šablon deklariše, a to je ono što takvo polje prikazuje. Polje vezano na prazan podatak i dalje se meri kao prazno
Version 2.735.0
Added
- Free Pascal izgradnje sada pokrivaju celu biblioteku: svaka jedinica se kompajlira sa FPC 3.2.2 i Lazarusom, dok je pre toga to radilo samo za osnovnu putanju kreiranja i učitavanja
- XPS, EPUB i CBZ kontejneri se mogu uvesti pod Free Pascal-om, kroz ugrađeni read-only ZIP čitač koji podržava ZIP64 veličine, stored i deflated zapise, CRC proveru i tradicionalno šifrovane zapise sa istim password callback-om kao Delphi putanja
- Poravnavanje XFA obrazaca, FormCalc engine za izračunavanje, widget runtime, komponente pregledača dokumenata, Type 1 font rukovaoci, HTML uvoz, verifikacija potpisa i job runner svi se kompajliraju u Free Pascal izgradnjama; poravnavanje XFA paketa učitanog dokumenta dodatno traži deflate kodek, koji te izgradnje ne linkuju
Fixed
- Popravljena je 64-bitna zamena bajtova u PNG helper jedinici, koja je vraćala pogrešne vrednosti na Win64 i usled čega jedinica uopšte nije bila u build-u
Version 2.735.0
Added
- Dodata je detekcija nedostajućih glifova u trenutku crtanja: TrackUnresolvedGlyphs svojstvo beleži svaki code point koji bi se preko aktivnog Unicode fonta prikazao kao .notdef tofu kvadrat, okida OnUnresolvedGlyph događaj za svaki nalaz i ne dira neregistrovane čisto-GDI dokumente
- Dodata je podrška za zastarelu kern tabelu: RegisterUnicodeTTF hvata kern tabelu iz Apple/GDI ere, a emitovanje kerninga pada na njenu format-0 binarnu pretragu parova kada font nema GPOS kern lookup-ove, čime se vraća klasični razmak parova u fontovima poput ugrađenog Arial-a
- Dodat je font fallback po segmentu unutar rasporeda pasusa: WideTextOutBox sada seče svaki prelomljeni red na code point-ovima koje trenutni font ne ume da mapira i crta svaki segment njegovim razrešenim fallback fontom, pa se mešani latinični, emoji i CJK pasusi renderuju bez tofu-a kada su fallback lanci registrovani
Version 2.734.0
Added
- Dodata je infrastruktura za RFC 3161 zahteve vremenske oznake: HPDFRFC3161BuildRequest emituje DER TimeStampReq sa svežim pozitivnim INTEGER nonce-om, opcionim policy OID-om i certReq, a HPDFRFC3161ParseResponse dekodira PKIStatusInfo zaglavlje i izvlači token, pa su TSA transport callback-ovi tri linije umesto studije DER-a
- Dodata je deklaracija ISO/TS 32002 developer ekstenzije (THotPDF.EnsureISO32002Extensions) koja pokriva EdDSA algoritme potpisa i dodatne ECDSA krive u PDF 2.0 dokumentima, idempotentna i vezana za verziju kao 32001 SHA-3 deklaracija
Version 2.733.0
Added
- Dodat je prenosiv X25519 i X448 Montgomery-ladder dogovor ključeva plus P-256 / P-521 NIST-curve ECDH sa CIOS Montgomery množenjem, čime se key-agreement (KARI) public-key primaoci mogu kreirati i odmotati u celosti u procesu; RFC 7748 i OpenSSL-generisani referentni vektori zaključavaju ponašanje ladder-a u regresioni suite
- Dodat je HPDFUnwrapKeyAgreementRecipientEnvelope zajedno sa AddPubSecAgreementKeyMaterial i AddPubKeyAgreementRecipientWithSecret ulaznim tačkama, pa se dokumenti šifrovani sa ECDH / X25519 / X448 primaocima mogu otvoriti privatnim skalrom primaoca i šifrovati bez spoljnog ECDH alata
Version 2.732.0
Changed
- Snimanja sada usmeravaju izlaz serializera kroz 1 MiB baferovani tok upisivanja, pretvarajući per-token Write pozive zaglavlja objekata, ključeva rečnika i xref redova u grupisana guranja ka odredištima zasnovanim na fajlu
- Sadržaji toka ukrštenih referenci primenjuju PNG Up predikciju (/DecodeParms /Predictor 12) pre FlateDecode i skupljaju rupe free-liste kroz /Index podsekcije, čime se smanjuju xref kontejneri na svakom PDF 1.5+ dokumentu i na retkim opsezima objekata
- CompressionLevel svojstvo sada bira i Flate napore toka ukrštenih referenci i object-stream kontejnera, pa clMaximum daje manje strukturne tokove pri snimanju
Fixed
- Širine /W polja toka ukrštenih referenci sada se prilagođavaju stvarnom opsegu ofseta umesto fiksnog [1 4 2] rasporeda čiji je Cardinal cast tiho skraćivao ofsete preko 4 GiB u oštećen izlaz
Version 2.731.0
Changed
- Ponovo je izgrađen ugrađeni OCR sa upoređivanjem šablona: izdvajanje glifova povezanih komponenti, ocenjivanje pokrivenosti u nijansama sive prema keširanim šablonima iz više fontova, Otsu binarizacija sa local-window fallback-om, bimodalno deljenje reči po prazninama, baze po reči, odbacivanje tačkastog šuma i prošireni alfabet od 62 znaka koji prepoznaje ASCII tekst mešanih velikih i malih slova kroz klasterisanje visina na nivou reda i preferenciju konteksta velikih i malih slova
Version 2.730.0
Added
- Dodata je Win64 podrška za Free Pascal 3.2.2 i Lazarus 4.6, uključujući runtime paket, reproducibilni build skript, sloj kompatibilnosti i non-GUI smoke test kreiranja i ponovnog učitavanja; izvorne statičke integracije kodeka ostaju samo za Delphi i u Free Pascal izgradnjama prijavljuju eksplicitnu grešku o nepodržanoj operaciji
Version 2.729.0
Added
- Dodat je host-neutralan dinamički XFA widget runtime sa Unicode uređivanjem, focus i hit testiranjem, binding-om svesnim instanci, atomskom validacijom i izračunavanjem, ograničenim reflow-om i read-only fabrikom učitanog dokumenta koja čuva izvorni XFA
Version 2.728.0
Fixed
- Ispravljeno je XFA unutrašnje merenje i nastavljanje teksta da čuva eksplicitno prazne i izračunate vrednosti, koristi binding kontekst svakog polja ili ponovljenog reda, zadržava breakAfter akcije, izbegava sudare sintetičkih imena i sprovodi keširani globalni budžet merenja
Version 2.727.0
Changed
- XFA raspored sada primenjuje unutrašnje minimalne i maksimalne dimenzije, meri proširiva polja iz njihovog vezanog teksta i atomski deli podoban textEdit sadržaj preko oblasti sadržaja i stranica sa read-only nastavnim poljima i ograničenim budžetima teksta, fragmenta i merenja
Version 2.726.0
Added
- Dodati su kompletni NChannel process i spot atributi, mixing nagoveštaji, ograničeni PDF 2.0 CxF/X-4 spektralni tokovi mastila i provere doslednosti na nivou dokumenta za spot tint definicije i spoljne output-intent tabele boja
Version 2.725.0
Added
- Dodat je thread-safe deterministički SIMD scanline render backend koji preflight-uje podržane pravougaone display liste, upisuje konačnu bitmap površinu u vektorskim blokovima bez među-kopije bitmape i vraća tačne razloge odbijanja po zahtevu kroz postojeći software fallback i telemetry pipeline
Version 2.724.0
Changed
- Proširen je ograničeni izvorni FormCalc evaluator sa opštim SOM node-set agregatima, mešovitim skalarnim i node-set argumentima, ugnježdenim numeričkim i string pozivima te determinističkim funkcijama izbora, stringa, trigonometrije, logaritma i konverzije pod postojećim budžetima operacija, nizova, dubine, vremena i izlaza
Version 2.723.0
Changed
SubsetLoadedFontssada bezbedno pravi podskupove ugrađenih Type 1 PFB programa i split binarnih i heks PFA programa, zadržava rekurzivne TrueType composite zavisnosti i zatvara COLR v0/v1 outline zavisnosti uz čuvanje tabela boja, bitmapa, varijacija i oblikovanja
Version 2.722.0
Added
- Dodati su ograničeni password callback-ovi za klasično ZIP-šifrovane XPS, EPUB i CBZ zapise, uključujući limite ponavljanja po zapisu, provere otkazivanja, rukovanje akreditivima samo u memoriji i fail-closed odbijanje nedostupne, nevažeće ili nepodržane enkripcije
Version 2.721.0
Changed
DownsampleLoadedImagessada menja veličinu podržanih 8-bit Separation i DeviceN uzoraka slika direktno u prostoru komponenti i čuva originalni graf prostora boja, tint transformaciju, boje,/Decodeopsege i overprint semantiku kroz snimanje i ponovno učitavanje
Version 2.720.0
Added
- Dodati su ograničeni ugrađeni preklopi prepoznavanja za OCR velikih slova visokog kontrasta, horizontalni Code 39 i čiste QR verzije 1 byte-mode simbole poravnate sa osama, čime se omogućavaju slojevi teksta za pretragu i barcode dekodiranje učitane stranice bez engine-a koji dostavlja pozivalac, uz fail-closed ponašanje za dvosmislen ili nepodržan ulaz
Version 2.719.0
Added
- Dodato je ograničeno JPEG 2000 doterivanje po rezoluciji i quality sloju kroz
THPDFJpeg2000Decoder.LoadProgressiveFromByteArray, plus višeslojno kodiranje krozTJpeg2000Bitmap.QualityLayers, sa identičnim konačnim pikselima za LRCP, RLCP, RPCL, PCRL i CPRL redoslede progresije
Version 2.718.0
Changed
- Ugrađene su kompletne UniJIS, UniGB, UniCNS i UniKS UCS2 i UTF16 horizontalne i vertikalne CMap tabele, uključujući dopunske skalarne vrednosti i standardne vertikalne podrazumevane vrednosti, pa ekstrakcija i geometrija CJK teksta više ne zavise od spoljnih fajlova Unicode mapiranja ni od pogađanja na pola em
Version 2.717.0
Added
- Dodati su eksplicitni opsezi zavisnosti deljenih objekata u linearizovanim dokumentima i planer ponovnog crtanja po dolasku opsega, pa stranice mogu da se iscrtaju pre nego što sve opcione zavisnosti stignu i da se precrtaju tačno kada novodostupni podaci promene rezultat
Version 2.716.0
Added
- Dodata je ograničena popravka grafa objekata za actionable xref, trailer, catalog, page-tree i name-tree preflight nalaze sa validiranim transaction commit-om i potpunim rollback-om nad nesigurnim ili dvosmislenim ulazom
Version 2.715.0
Added
- Dodati su PDF 2.0 encrypted payload omoti kod kojih vidljivi sadržaj dokumenta ostaje čitljiv pre autentifikacije, dok imena, opisi i bajtovi ugrađenih fajlova ostaju zaštićeni do eksplicitnog otključavanja lozinkom
Version 2.714.0
Changed
- SVG izvoz učitanih stranica sada emituje aksijalne i radijalne gradijente, ograničene PNG predstave Type 4 do Type 7 mesh nijansiranja i dekodirane inline slike bez uvećavanja odgovarajućih skip brojača
Version 2.713.0
Changed
- OpenType SVG glifovi u boji sada koriste ograničeni Form XObject pipeline za lukove, vektorske gradijente, neprozirnost, geometrijske maske i lokalnu
#idponovnu upotrebu, a i dalje odbacuju skripte, spoljne resurse, slike i nepodržan aktivan sadržaj
Version 2.712.0
Changed
ReplaceLoadedPageTextsada zamenjuje poklapanja koja se prostiru naTJstring stavke i nizove kroz glyph izvorne opsege, uz čuvanje kerning brojeva, nepoklopljenih prefiksa i sufiksa, nepovezanih operanada i prvobitne strukture content-stream-a
Version 2.711.0
Added
- Dodato je razrešavanje CFF FontSet
SyntheticBasesa nasleđenim Top i Private DICT vrednostima, CharStrings, charset, Encoding i Local Subrs, plus deterministička semantika prevazilaženja i ograničeno odbacivanje nevažećeg, cikličnog ili preterano dubokog nasleđivanja
Version 2.710.0
Added
- Dodat je deterministički ograničeni izbor Flate prediktora kroz
HPDFSelectFlatePredictor, sa raspodeljenim uzorcima redova, procenom troška u bajtovima, konfigurabilnim CPU težinama i eksplicitnim budžetima bajtova, redova i rada
Version 2.709.0
Added
- Dodat je opciona izvorna JBIG2 Huffman izlazna podrška za rečnik simbola i tekstualne regione kroz
THPDFJBIG2Options.UseHuffmanEncoding, uključujući standardne DH, DW, BMSIZE, FS, DS i DT tabele, sirove kolektivne bitmape, tabele simbol-ID, determinističko izvorno usmeravanje i piksel-tačne decoder round trip-ove, uz zadržavanje aritmetičkih i MMR podrazumevanih vrednosti
Version 2.708.0
Changed
- Keširana su arapska i kombinovana presentation-form obrnuta cmap mapiranja po generaciji registrovanog fonta, čime su zamenjena ponavljana skeniranja U+FB00..U+FDFF i U+FE70..U+FEFF u
ApplyArabicGSUBRefinement,ApplyArabicGSUBContextualRefinementi generičkoj kontekstualnoj GSUB putanji, uz čuvanje prioriteta code point-ova i oblikovanog izlaza
Version 2.707.0
Added
- Dodat je Aztec 2D barcode enkoder (ISO/IEC 24778) kroz
THPDFPage.DrawAzteci samostalnuTHPDFAztecjedinicu: high-level kodiranje dinamičkim programiranjem sa mode latch-evima, pomeranjima i binary-shift nizovima, bit stuffing, Reed-Solomon korekcija grešaka preko GF(16) do GF(4096), automatski izbor compact 15x15..27x27 ili full 19x19..143x143 simbola i kontrola prinudnog sloja za fiksne veličine simbola - Dodato je sklapanje vertikalnog teksta stranice:
THotPDF.ExtractLoadedPageTexti range/stream agregacioni API-ji sada grupišu WMode 1 glifove u kolone po glyph origin X, ređaju kolone zdesna nalevo i prelaze svaku kolonu odozgo nadole, umesto da vertikalni CJK tekst seckaju u linije po glifu
Fixed
- Popravljen je neuspeh paralelnog band izvoza zbog nepoklapanja širine PNG pojasa na stranicama čije su piksel dimenzije razlomljene (A4 na 96 DPI): veličina rastera se sada zaokružuje sa
Ceildosledno sa band pisacima, pa isporučene pločice uvek poklapaju širinu enkodera
Version 2.706.0
Added
- Dodat je streaming PNG izvoz učitane stranice i višestranični TIFF izvoz po pojasevima kroz
THotPDF.SaveLoadedPageToPng,SaveLoadedPageToPngStream,SaveLoadedPagesToTiffBandediSaveLoadedPagesToTiffStreamBanded, uz upisivanje kompresovanih slikovnih podataka red po red kroz band enkodere, tako da veoma velike stranice ne traže kompletan framebuffer;THPDFBandImageExportInfoprijavljuje page, band, row, worker, memory, output, timing i cancellation telemetriju
Version 2.705.0
Added
- Dodata je PDF/A finalizacija učitanim putanjama snimanja:
THotPDF.SaveLoadedDocumentiSaveLoadedDocumentToStreamsada validirajuGTS_PDFA1OutputIntent (nasleđen iz izvornog kataloga ili sveže registrovan) i emitujupdfaid:part/pdfaid:conformanceXMP identifikaciju kada jePDFACompliancepostavljeno, uz čuvanje postojećeg pdfaid paketa bajt-po-bajt pri ponovnom snimanju - Dodan je prijem vertikalnog pisanja (WMode 1) na strani učitavanja: CIDFont
/W2i/DW2metrike ćelija sada vode ekstrakciju teksta i renderovanje stranice, obilazeći kolone niz y osu tekst-prostora sa v1x/v1y pozicionim vektorom umesto horizontalnih/Wkoraka
Version 2.704.0
Added
- Dodato je paralelno renderovanje pločica i pojasova učitane stranice kroz
THotPDF.RenderLoadedPageTilesParalleliTHotPDF.RenderLoadedPageBandsParallel, sa row-major callback-ovima pozivne niti, pozajmenim bitmapama, kooperativnim otkazivanjem, memorijom u letu pod kontrolom pozivaoca, prijemom po vršnoj memoriji i ograničenim nepromenljivim kešom Type 3 glifova i halftone ekrana deljenim kroz izolovane render kontekste
Version 2.703.0
Added
- Dodate su ograničene CSC multisign serije sažetaka kroz
THPDFCSCSignatureProvider.SignHashBatch, sa jednim hash-vezanim SAD-om i jednimsignatures/signHashzahtevom za uređenu seriju istog algoritma, uz sprovođenje lokalnih i akreditivnihmultisignlimita, stroge kardinalnosti odgovora, sinhronog ili asinhronog redosleda rezultata, SHA-256 sadržajno-adresiranih idempotency ključeva i replay-a završene serije
Version 2.702.0
Added
THotPDF.RenewPAdESLTATimestampje proširen sertifikatom, OCSP i CRL dokazima koje dostavlja pozivalac, koji se spajaju u postojeći DSS pre nove RFC 3161 vremenske oznake dokumenta, čuva svaku raniju reviziju bajt-po-bajt i tačno deduplikuje validacione tokove kroz uzastopne obnove
Version 2.701.0
Added
- Dodat je PAdES baseline i extended profil preflight adresabilan po tačkama standarda kroz
THotPDF.PreflightLoadedPAdES, koji prijavljuje svaki primenljiv zahtev sa stabilnim rule ID, profilom, normativnim nivoom, tačkom standarda, PDF putanjom, brojem objekta, potpisanoj ili tekućoj reviziji i statusom prolaska, dok validira CMS kardinalnosti, ESS reference sertifikata potpisnika, ograničenja rečnika potpisa, pokrivenost byte-range-a, vreme od poverenja, DSS dokaze i pokrivenost vremenskom oznakom dokumenta
Version 2.700.0
Added
- Dodato je end-to-end ECDSA, Ed25519 i Ed448 PFX / PKCS#12 učitavanje privatnih ključeva i CMS potpisivanje dokumenata, uključujući named-curve CNG ECDSA, opcionu OpenSSL 3 PureEdDSA, RFC 8410 dekodiranje ključeva, RFC 8419 pravila sažetaka i parametara, SHAKE256 sa 512-bitnim izlazom za Ed448, automatski izbor algoritma ključa i strogo uparivanje sertifikata sa ključem
Version 2.699.0
Added
- Dodat je deterministički izbor PFX / PKCS#12 akreditiva sa više identiteta kroz
HPDFEnumeratePFXIdentities,HPDFParsePFXByLocalKeyIDiTHPDFCMSSignOptions.PFXLocalKeyID, uključujući stroge jednovrednelocalKeyIdifriendlyNamebag atribute, uparivanje javnih ključeva, rekurzivne safe-content bag-ove, ograničenu dijagnostiku dvosmislenosti i ciklusa te automatsko ugrađivanje odgovarajućih intermediate i root sertifikata lanca sa tačnom DER deduplikacijom
Version 2.698.0
Added
- Prošireno je in-process PFX / PKCS#12 PBES2 dešifrovanje sa AES-128-CBC i AES-192-CBC plus PBKDF2 HMAC-SHA-384 i HMAC-SHA-512 PRF-ovima, uključujući validaciju opcionog
keyLengthspecifičnog za šifru i ograničene provere soli, iteracija, IV i paddinga, uz zadržavanje AES-256-CBC i HMAC-SHA-1 / SHA-256 kompatibilnosti
Version 2.697.0
Added
- Dodato je nasleđivanje
FixedPage.NavigateUriCanvas-a u skladu sa specifikacijom za XPS i OpenXPS, paPath,Glyphsi ugnježdeni Canvas vizuali dobijaju opsežni URI osim ako ga sami preglase, uz čuvanje external, mail, package-page i percent-dekodiranihLinkTargetakcija kroz transformacije, ugnježdena isecanja, izolovane opacity grupe, potiskivanje ponovo-upotrebljivih vizuala, obnovu posle ugnježdenih preglasavanja i postojeća ograničenja linkova, URI-ja, otkazivanja i nesigurnih šema
Version 2.696.0
Added
- Dodane su ograničene izvorne XPS i OpenXPS Canvas grupe transparentnosti, pa se
Opacityi solid, gradient ili imageCanvas.OpacityMaskvrednosti komponuju preko preklapajućih podređenih vizuala jednom kroz izolovane DeviceRGB Form XObjects, sa skupljenim uniformnim alpha-em, deljenim variable-alpha soft maskama, ugnježdenim grupama, transformisanim isecanjima, prenosom resursa, sačuvanim linkovima i fail-closed ponašanjem za neispravan, nepodržan, singularan ili prevelik sadržaj
Version 2.695.0
Added
- Dodata je ograničena izvorna konverzija XPS i OpenXPS
Canvas.Clipza skraćenu geometriju, lokalne ili udaljeneStaticResourcePathGeometryvrednosti, direktne property elemente, strukturirane line, Bézier, quadratic i arc figure, transformacije geometrije, prazna isecanja i ugnježdenoEvenOddiliNonZeroisecanje kroz PDFW*iliW, sa isečenim granicama navigacije, limitom parsiranja od 100,000 vrednosti i fail-closed ponašanjem za neispravne ili singularne transformacije
Version 2.694.0
Added
- Dodata je ograničena izvorna XPS i OpenXPS navigacija za transformisane
PathiGlyphsvizuale, uz čuvanje HTTP, HTTPS i mail linkova kao PDF URI anotacija i razrešavanje stranica relativnih na paket plus percent-dekodiranihLinkTargetfragmenata u napred ili nazad PDF GoTo akcije tek nakon što sve stranice postoje, sa granicama klika svesnim metrikama, limitima od 65,536 linkova i 8,192 znakova, potiskivanjem VisualBrush uhvatanja, otkazivanjem i fail-closed dijagnostikom nesigurnih šema
Version 2.693.0
Added
- Dodata je ograničena izvorna konverzija XPS i OpenXPS
VisualBrushza inline ili resursom podržaneCanvas,PathiGlyphsvizuale, hijerarhijsku i udaljenuResourceDictionarypretragu, apsolutniViewbox, apsolutni ili relativniViewport,None,Tilei refleksione tile režime, transformacije, neprozirnost, ponovo upotrebljive Form XObjects, deljene obrasce popločavanja, prenos resursa svestan tokena i fail-closed budžete za cikluse, neispravan ulaz, rekurziju, sadržaj, keš i pozicioniranje
Version 2.692.0
Added
- Dodato je izvorno ugrađivanje paket-fontova XPS i OpenXPS za TrueType i OpenType programe, TTC članske fragmente, GUID-obfuskovane resurse, direktne ili cmap-izvedene glyph ID-jeve, jedan-prema-više Unicode klastere, eksplicitne napretke i ofsete, širino-tačne RTL početke, deljene font resurse, dozvole za ugrađivanje i zabranu podskupova, opciono pravljenje podskupova glifova, ograničene
ToUnicodemape i amortizovano-linearan izlaz pozicioniranih nizova bez GDI zamene fontova
Version 2.691.0
Added
- Dodat je ograničeni OpenXPS
GlyphsIndicesraspored za stroge brojače code-jedinica i glifova po klasteru, eksplicitne napretke u stotinkama em-a, horizontalne i vertikalne ofsete, obrnut napredak neparnogBidiLevel-a, solid popune atributa ili property elemenata, neprozirnost, izvorno PDFTJgrupisanje, fallback pozicioniranih Unicode klastera, očuvanu ekstrakciju teksta, fail-closed dijagnostiku neispravnog ulaza i amortizovano-linearne bafere ograničene na 65,536 mapiranja
Version 2.690.0
Added
- Dodata je podrška za OpenXPS
Path.OpacityMaskza solid, variable-alpha više-stanične linearne i eliptične radialne gradijente oraz obične, popločane ili refleksione PNGImageBrushmaske, kroz skupljeni uniformni alpha, ograničene izvorne DeviceGray grupe transparentnosti, deljene obrasce nijansiranja i tokove image soft maski, fail-closed rukovanje nepodržanim sadržajem i ponovo upotrebljivRegisterLuminositySoftMaskStategraditelj sa vezivanjem resursa alpha slike
Version 2.689.0
Added
- Dodati su OpenXPS
ImageBrushTile,FlipX,FlipYiFlipXYrežimi kroz izvorne PDF obrasce popločavanja sa jednim, dva ili četiri nezavisno isečena postavljanja, deljenim image i PNG soft-mask resursima, složenim matricama fixed-page, path i brush te ograničenimRegisterImageTilingPatternAPI-jem za ponovo upotrebljive obrasce sa slikom
Version 2.688.0
Added
- Dodata je podrška za OpenXPS
ImageBrush.Transformza konačne matrice sa šest parametara u atributima iMatrixTransformproperty elemente, nadovezane posle izvornogPathisecanja a pre isecanja viewport-a i postavljanja slike, tako da brush može da rotira, skalira, nakoši ili prenese bez menjanja vektorske geometrije koja je sadrži; nestandardniRelativeTransformi nerazrešeni matični resursi ostaju eksplicitna dijagnostika
Version 2.687.0
Added
- Dodato je postavljanje image XObject pod kontrolom matrice kroz
THPDFPage.ShowImageMatrixi proširen XPS fixed-page uvoz sa paketnim JPEG, PNG, TIFF i JPEG XRImageBrushpopunama, apsolutnim ili na-granice-relativnimViewboxiViewportmapiranjem, izvornim isecanjem path i jednog viewport-a, neprozirnošću slike i putanje, PNG soft-mask alpha-em, dimenzionisanjem svesnim 96 DPI, deljenim keširanjem dekodiranih resursa i fail-safe dijagnostikom za nepodržano popločavanje, transformacije, konverziju boja i poteze slikom
Version 2.686.0
Changed
- Dodata je ponovo upotrebljiva ograničena registracija više-staničnih radialnih gradijenata i proširen izvorno-vektorski XPS path uvoz sa property-element eliptičkim
RadialGradientBrushvrednostima, Pad rasprostiranjem, uniformnim stop alpha-em, neprozirnošću brush-a, relativnim ili apsolutnim centrom, mapiranjem porekla i radijusa, izvornim Type 3 PDF nijansiranjem i obnovom koordinata koja ne menja geometriju putanje
Version 2.685.0
Changed
- Proširen je uređeni izvorno-vektorski XPS path uvoz sa ograničenim parsiranjem property elemenata svesnim navodnika, solid i više-staničnim linearnim gradijent brush-evima, izvornim PDF obrascima nijansiranja, alpha-em brush-a i stopova, podrazumevanim koordinatama gradijenta relativnim na granice ili eksplicitno apsolutnim, interpolacijom van-opsega stopova i fail-safe dijagnostikom za nepodržane transformacije, spread režime, interpolaciju boja, promenljivi alpha i degenerisane ose
Version 2.684.0
Changed
- Dodat je uređeni izvorno-vektorski XPS path uvoz sa ograničenom skraćenom geometrijom, pravilima popune, solid RGB i ARGB popunama i potezima, neprozirnošću putanje, širinom poteza, transformacijama sa šest parametara i fail-safe dijagnostikom za nepodržane crtajuće funkcije
Version 2.683.0
Changed
- Ojačana je PDF/X-6 validacija stvarno nacrtanog sadržaja sa grafikim stanjem šablona nijansiranja u trenutku definisanja, ExtGState semantikom obrazaca za popune bez poteza, fail-closed proverama pottipa soft maske i pozadine, tačnim metrikama Type 3 glifova i pravilima nasleđene boje, strogom klasifikacijom alpha-a kombinovanog bojenja, ograničenom JPX inferencijom boja i komponovanjem anotacija svesnim izgleda
Version 2.682.0
Added
- Dodata je podrška proizvođača i verifikatora za
brainpoolP256r1,brainpoolP384r1ibrainpoolP512r1ECDSA potpise, uključujući matricu SHA-2 i SHA3 sažetaka specifičnu za krivu, validaciju potpisivanja pre providera, stroge parametre sertifikata imenovane krive, ECDSA identifikatore algoritama bez parametara, kanonske DER vrednosti potpisa, Windows CNG uvoz imenovane krive i determinističku dijagnostiku za eksplicitne, zaostale, nepoznate ili nepoklapajuće parametre
Version 2.681.0
Changed
- Ujedinjeno je izvršavanje sadržaja za ne-progresivne bitmape, direct-DC, Form i display liste kroz
HPDFInterpretContentTokensDevicei opciono kompletanIHPDFContentOperatorDeviceproširujući interfejs, sa jednom kontrolnom tačkom otkazivanja po operatoru, keširanjem indeksa operatora u vreme kompajliranja za replay display lista bez skeniranja operanada, javnimOperatorCountmetrikama, očuvanom kompatibilnošću semantičkih uređaja, ispravljenom semantikom",viyoperatora i korektnim rukovanjemEIterminatorom bez lažne fallback dijagnostike
Version 2.680.0
Added
- Dodati su ograničeni transakcioni
RepairPDFA4preklopi sa tipiziranim opcijama, detaljnim izveštajima o popravci, deljenim poreklom nalaza, bezbednom normalizacijom PDF 2.0 zaglavlja, ID-ja trejlera, metapodataka, Catalog-a i prezentacije, popravkom PDF/A identifikacije svesnom imenskih prostora, konfigurabilnom politikom commit-a delimične ili pune usklađenosti, detekcijom regresije grešaka, bajt-tačnim rollback-om grafa i XMP-a i strogom granicom koja čuva sadržaj stranica, fontove, boje, transparentnost, slike, grafičke operatore i izdvojeni tekst
Version 2.679.0
Added
- Dodata je PDF/X-6 validacija stvarno nacrtanog sadržaja sa izbornim pravilima ISO 15930-9:2020 ili razrešenih errata 2025, proverama stvarnog ICC zaglavlja i kanala, obilaskom svesnim resursa kroz nizove sadržaja, Form XObjects, obrasce popločavanja i nijansiranja, slike, Type 3 glifove, soft maske i izglede anotacija, dijagnostikom overprint režima i transparentnosti kombinovanog bojenja, stabilnim poreklom pravila i ograničenim radom po dekodiranim bajtovima, tokenima, objektima, problemima, rekurziji i stanju grafike
Version 2.678.0
Added
- Produbljena je ograničena PDF/A-4 validacija sa keširanim proverama ICC zaglavlja i komponenti, doslednošću output-intent-a dokumenta i stranice, analizom stvarno nacrtanih boja uređaja i transparentnosti kroz nizove sadržaja, ugnježdene Form XObjects, slike, maske slika, nijansiranja i izglede anotacija, nasleđeno stanje grafike, ugrađivanje fontova renderovanja, CIDFont i CMap odnose, stroge zastavice anotacija i stanja izgleda, UTF-8 XMP paket i validaciju imenskih prostora, logičke lokacije u stablu stranica, stabilnu dijagnostiku svesnu tačaka i konfigurabilne plafone dekodiranih bajtova i tokena sadržaja
Version 2.677.0
Added
- Dovršena je ograničena PDF/UA-2 validacija dokumenta, ljudima-čitljivih niski, opcionog sadržaja, anotacija, AcroForm-a, strukturnih odredišta, konture, ugrađenih fajlova i ugnježdenih oznaka stranica, uključujući fizičko vlasništvo ParentTree-a, skalarne strukturne potomke, ograničenja toka izgleda, XMP svojstva zasnovana na namespace URI-jima, detekciju Unicode privatne upotrebe i dijagnostiku svesnu tačaka; strukturirani HTML, XHTML, XML i JSON izvoz sada dele tagged-first pristupačni model čitanja sa jezikom, naslovom, navigacijom, oznakama stranica, bezbednim linkovima, anotacijama, neosetljivim kontrolama obrazaca, zamenama marked-content, artefaktima, alternativama slika, geometrijskim fallback-om, nezavisnim limitima, otkazivanjem i atomskim objavljivanjem
Version 2.676.0
Added
- Dodato je ograničeno minimalno planiranje bajt-opsega za svaku stranicu u linearizovanom PDF-u kroz
PlanProgressiveLinearizedPageRanges, sa raw i Flate dekodiranjem primarnih ili prelivanh nagoveštaja, interoperabilnim bajt-poravnatim kombinovanim i Annex F kontinuiranim split rasporedima nagoveštaja, tačnim zavisnostima bootstrap-a, stranice, deljene grupe te LF- ili CRLF-prefiksovanih tradicionalnih ili tokovnih ukrštenih referenci, legalnim nakupljanjem kratkih čitanja, podrazumevanim plafonom memorije planera od 256 MiB uz fail-closed razrešavanje dvosmislenosti kodiranja, spajanjem svesnim preklapanja, strogim strukturnim unakrsnim proverama, tipiziranim limitima i dijagnostikom dostupnosti te ujedinjenom[0, /E)putanjom prve stranice
Version 2.675.0
Added
- Dodate su nezavisne crypt-filter politike usklađene sa standardom za niske, obične tokove i ugrađene fajlove kroz
ConfigureCryptFilterDefaultsiSetStreamCryptFilter, uključujući rezervisane filtere za lozinke i javne ključeve,/Identity, writer-ispravne password-security/EFFi vodeće/Cryptpipeline-ove, fail-closed granice primaoca specifične za javno-ključne tokove, učitavanje i pregled spoljnih imenovanih filtera osetljivih na velika i mala slova,/CFM /None, prijavu dužine ključa V2, Direct File fallback mešovitih politika, razdvojene politike object-stream kontejnera i niski članova te šifrovana dopunska ažuriranja koja čuvaju politiku
Version 2.674.0
Added
- Dodata su dopunska ažuriranja Standard i public-key šifrovanja koja čuvaju akreditive kroz
BeginIncrementalUpdatepreklop svestan lozinke i dodeljeni ključni materijal primaoca, uz bezbedno zadržane ključeve fajla ili FEK-ove, odvojene crypt-filter politike za niske, tokove, metapodatke i Identity, izvođenje legacy ključeva objekata svesno generacije, tačne nasleđene/Encryptreference, bajt-identične izvorne revizije, prvobitni pristup korisnika, vlasnika ili primaoca i fail-closed odbijanje promena enkripcije ili nepodržanih heterogenih filtera
Version 2.673.0
Security
- Dodata je ograničena validacija grafa JBIG2 segmenata pre dekodiranja cele stranice, regiona, izvornog ili spoljnjeg i pre deljenja globalnog rečnika, sa indeksiranim proverama duplikata i nedostajućih referenci, iterativnom detekcijom ciklusa i dubine zavisnosti, sprovođenjem page-association ugrađenih tokova, odbacivanjem zabranjenih segmenata, budžetima dugih referenci i agregatnih grana, zaštitima alokacije rečnika simbola i preciznom telemetrijom neuspeha
Version 2.672.0
Added
- Dodato je generisanje i stroga validacija PAdES E-EPES
signature-policy-identifiersa eksplicitnim policy OID-jevima, poznatim ili ETSI nepoznatim heševima, SPuri, SPUserNotice i SPDocSpecification kvalifikatorima, ograničenim parsiranjem Unicode-a i kolekcija, heširanjem dokumenta politike, povezivanjem OID-a i heša primarnog potpisnika pre kriptografskog rada, posvećenim statusima nepoklapanja i kompletnim JSON izveštavanjem
Version 2.671.0
Added
- Dodati su deterministički RFC 5652 kontejneri sa do 256 nezavisnih primarnih
SignerInfozapisa krozHPDFCMSBuildMultiSignedDataiHPDFCMSMergeSignedData, uključujući prevalidaciju cele serije pre neželjenih efekata potpisnika, atribute, algoritme, sertifikate i providere po potpisniku, strogu validaciju kontejnera određene dužine, DER-sortirane i deduplikovane skupove, nezavisne rezultate verifikacije, bajt kompatibilnost sa jednim potpisnikom i određivanje veličine agregatnog placeholder-a bez neželjenih efekata
Version 2.670.0
Added
- Dodati su opcioni RFC 5652
SubjectKeyIdentifieridentiteti potpisnika krozTHPDFCMSSignOptions.SignerIdentifier, uključujući kompaktno IMPLICIT SID kodiranje, automatski izbor verzijeSignerInfoiSignedData, strogu ekstrakciju X.509 ekstenzija, podršku za providere i određivanje veličine placeholder-a te fail-closed poklapanje SID-a, sertifikata i verzije tokom verifikacije
Version 2.669.0
Security
- Dodata je fail-fast dijagnostika doslednosti CMS algoritama sažetka kroz
SignedData.digestAlgorithms,SignerInfo, parametre mehanizma potpisa i RFC 6211CMSAlgorithmProtection, sa posvećenim statusom verifikacije, kodom neuspele validacije, propagacijom vremenske oznake, detaljnim razlozima problema i JSON izlazom
Version 2.668.0
Added
- SHA3-256, SHA3-384 i SHA3-512 sada mogu da se generišu i verifikuju kroz detached CMS, RSA PKCS#1 v1.5, RSA-PSS i ECDSA provider ugovore, RFC 3161 vremenske oznake sadržaja i potpisa, obnove PAdES-LTA, Seed Value rečnike i ISO 32001 PDF 2.0 deklaracije developer ekstenzija, sa ograničenim heširanjem byte-range u jednom prolazu deljenim sa odgovarajućim PDF MAC politikama
Version 2.667.0
Added
- Dodat je
THotPDF.ValidatePDFMACChainsa validacijom dopunskih revizija od najstarije do najnovije, kumulativnim klasičnim ili xref-stream indeksiranjem, tačnim lokacijama neuspeha po reviziji i xref-u, detekcijom istorijskih zamena MAC-a, stabilnim sprovođenjemKDFSalt, odbacivanjem slabljenja jačine sažetka, proverama autentifikovanih/Pi/Perms, preflight izveštavanjem i ograničenim parsiranjem revizija bez privremenih PDF kopija
Version 2.666.0
Added
- Dodat je
THotPDF.SignPDFWithPFXAndAttachedPDFMACi validacija vezana za potpis sa direktnimAuthCodeaktivnog trejlera, indirektnimSigObjRef-om, kompletnom pokrivenošću potpisane revizije, vezivanjem sažetka sirove vrednosti potpisa, SHA-2 ili SHA-3 PDF MAC politikama, heširanjem opsega potpisivanja i MAC-a u jednom prolazu, preflight izveštavanjem i atomskom zamenom izlaza
Version 2.665.0
Fixed
- Ispravljen je
THotPDF.RegisterNChannelColorSpaceda emituje ISO 32000-2 oblikDeviceNsa pet elemenata,/Subtype /NChanneli metapodatke procesnih komponenti, podignuta mu je minimalna PDF verzija na 1.6, a luminosity soft maske sada razrešavaju NChannel boju kroz njen alternativni prostor, uz zadržavanje kompatibilnosti čitanja sa zastarelim/NChannelfamilijama tokena
Version 2.664.0
Added
- Dovršeno je renderovanje PDF blend režima sa celobrojnim hot-path implementacijama za Hue, Saturation, Color i Luminosity, a ispravljena je full-opacity fast putanja tako da svaki aktivan separabilni ili ne-separabilni blend režim komponuje sa svojom pozadinom
Version 2.663.0
Security
- PKCS#12 kontejneri se sada autentifikuju pre izlaganja šifrovanih safe sadržaja proverom opcionog spoljašnjeg
MacDatasa ograničenim PKCS#12 KDF iteracijama, SHA-1 ili SHA-256 HMAC-om, poređenjem sažetka u konstantnom vremenu i fail-closed rukovanjem pogrešnom lozinkom i neovlašćenim menjanjem
Version 2.662.0
Added
- Dodate su tri HotPDFCLI komande:
renderrasterizuje svaku izabranu stranicu u<prefix>-page<N>.pngkroz bitmap pipeline učitane stranice (--pagesopseg,--dpi10..2400, podrazumevano 150),tablesizdvaja tipizirane tabele u CSV ili JSON prekoExportLoadedTypedTables(--json,-ofajl ili konzola), acompareštampa JSON izveštaj poređenja dva dokumenta krozHPDFDocCompareDocuments(--mode0..5 pokriva broj stranica, tekst stranica, broj objekata, renderovane slike, potpuno i strukturno poređenje)
Fixed
- Popravljeno je da Win64 ICC transformacioni pipeline proizvodi sve-nula izlaz iz 8-bitnih batch transformacija (
TransformBytes): optimizovana 1D-LUT fast putanja unutar Win64 lcms2 objekata vraća nule dok je generički resampling pipeline ispravan, pa se 8-bitna transformacija sada gradi sacmsFLAGS_NOOPTIMIZEsamo na Win64; 16-bitna putanja jedne boje i sve Win32 transformacije zadržavaju optimizovanu fast putanju (batch sRGB primarne boje sada prolaze round trip na obe platforme)
Version 2.661.0
Added
- Dodata je prava budžetirana Zopfli visoko-ratio Flate kompresija uz postojeću osnovu od četiri strategije zlib-a, sa strogim izborom bez rasta, limitima ulaza, iteracija, blokova, izlaza i proteklog vremena, detaljnom telemetrijom toka i paralelnih slika te determinističkim kapijama uštede na fiksnom korpusu
Version 2.660.0
Added
- Dodati su deterministički XML mašinski-čitljivi preflight izveštaji i ABI-verzionisani trusted plugin-ovi za izdvajanje funkcija i prilagođena validaciona pravila, sa stabilnim redosledom, integracijom policy paketa, propagacijom otkazivanja, fail-closed proverama mogućnosti i konačnim budžetima za plugin-ove, nalaze, funkcije, niske, izlaz i proteklo vreme
Version 2.659.0
Added
- Proširen je ograničeni XFA FormCalc uslovnom logikom, ponovljenim numeričkim agregatima i validiranim callback-ovima dinamičkih instanci, a dodati su podrazumevano isključeni QuickJS formularski skripti u sandbox-u sa potpunim tokom kontrole, izvornim tipiziranim nizovima, izolovanim pristupom podacima, konačnim budžetima instrukcija, vremena, memorije, steka, vrednosti i operacija nad instancama te telemetrijom izvršavanja
Version 2.658.0
Added
- Dodati su ograničeni editable XFA packet DOM-ovi za kompletne XDP tokove i uređene nizove paketa sa upitima putanja po lokalnom imenu, mutacijom paketa i čvorova, tačnim čuvanjem netaknutih bajtova, selektivnim prepisivanjem po paketu, determinističkim izlazom imenskih prostora i atributa, bezbednim sečenjem CDATA, bekstvom entiteta i konačnim budžetima za ulaz, izlaz, pakete, čvorove, dubinu, atribute, tekst i upite
Version 2.657.0
Added
- Dodato je CSC API v2 daljinsko potpisivanje kroz postojeći CMS provider pipeline sa transportom u vlasništvu aplikacije, osvežavanjem OAuth tokena, ograničenim otkrivanjem lanca akreditiva, eksplicitnim rukovanjem autorizacijom i SAD-om, sinhronim ili asinhronim potpisivanjem sažetaka, RSA-PSS parametrima, polling-om, RFC 3161 vremenskim oznakama, otkazivanjem, stabilnim idempotency ključevima i konačnim kešom završenih operacija
Version 2.656.0
Added
- Dodati su opciona XPS, EPUB i CBZ rukovaoci dokumentima sa ocenom sadržaja, zamenjivom thread-safe registracijom, jednim validiranim skeniranjem arhive, redosledom za fixed-page, spine i prirodni red slika, nepromenljivim keširanjem PDF konverzije, deljenim budžetima za arhivu, resurse, reflow, stranice, piksele, DPI, izlaz i otkazivanje te rollback-bezbednim objavljivanjem PDF-a
Version 2.655.0
Added
- Dodato je ograničeno izdvajanje tipiziranih tabela i atomski CSV ili JSON izvoz sa kanonskim kolonama, spajanjem fragmenata iste stranice i uzastopnih stranica, obuhvatima spojenih ćelija, ponovljenim zaglavljima, geometrijom stranice, pouzdanošću, poreklom i inferencijom celih brojeva, brojeva, boolean, datuma, datum-vremena, valuta i procenata pod kontrolom lokala
Version 2.654.0
Added
- Dodat je atomski strukturirani izvoz učitanih stranica u HTML, XHTML, XML i JSON kroz jedan model redosleda čitanja sa blokovima, stilizovanim opsezima, detektovanim tabelama, koordinatama, izvornim redosledom, opcionim ograničenim PNG slikama, Unicode-bezbednim bekstvom znakova, otkazivanjem i konačnim budžetima resursa
Version 2.653.0
Added
- Dodato je atomsko prepisivanje boja učitane stranice u DeviceGray, DeviceRGB ili DeviceCMYK uz čuvanje vektora pogodnog za pretragu, lossless konverziju rastera pod upravom boja za slike i složene resurse, izlaz bezbedan na rotaciju, eksplicitne budžete vernosti renderovanja i resursa te politike čuvanja, konverzije u obradi ili odbacivanja za spot ploče
Version 2.652.0
Added
- Dodata je detekcija redakcije učitanih stranica koja prvo ide na pregled, sa PII obrascima svesnim kontrolnih suma, priključivim detektorima entiteta i lica, nalazima u prostoru stranice sa ocenom pouzdanosti, ograničenom telemetrijom rada, obaveznim identitetom pregledača, atomskim pripremanjem odobrenih anotacija i posebnom eksplicitnom granicom burn-in-a
Version 2.651.0
Added
- Dodato je ograničeno dekodiranje bar kodova učitanih stranica i regiona sa priključivim engine-ima, progresivnim renderovanjem niske rezolucije, fallback skeniranjima na četvrtinu okreta, validiranim tekstom i sirovim payload-ovima, granicama i orijentacijom u PDF prostoru, filtriranjem po pouzdanosti, deduplikacijom preklapanja, otkazivanjem i telemetrijom resursa
Version 2.650.0
Added
- Dodati su ograničeni, otkazivi pretraživi slojevi OCR teksta sa priključivim recognition engine-ima, validacijom pouzdanosti i geometrije, rotaciji usklađenim nevidljivim Unicode tekstom, grupisanjem optional-content sadržaja, telemetrijom resursa i atomskim objavljivanjem više stranica
Version 2.649.0
Added
- Dodati su kompletni povratni prolazi grafa objekata kroz verzionisani JSON sa streaming snapshot i inkrementalnim izvozima, sirovim ili dekodiranim ugrađenim i atomskim sidecar payload-ovima, ograničenim uvozom kompatibilnim sa šemom, strukturnom validacijom i validacijom dužine toka te transakcijskim objavljivanjem
Version 2.648.0
Added
- Dodata je ograničena popravka ručno uređivanih QDF dijagnostičkih dokumenata koja čuva bajtove objekata i tokova, ispravlja direktne, indirektne, nedostajuće ili zastarele dužine tokova, iznova gradi klasične ofsete ukrštenih referenci i trailere, odbacuje nesigurnu strukturu i verifikuje izlaz kroz normalni loader
Version 2.647.0
Added
- Dodat je thread-safe registar prilagođenih filtera tokova sa ograničenim push i pull ugovorima, deljenim dekod budžetima, kooperativnim otkazivanjem, eksplicitnim zahtevima za seek, izolovanim prilagođenim greškama i telemetrijom izvršavanja
Version 2.646.0
Added
- Dodati su ograničeni visitor i event API-ji za content operatore sa read-only pogledima na operande, determinističkim state callback-ovima, akcijama inspect, measure, replace, delete, stop i reject, kooperativnim otkazivanjem, validiranim izlazom i atomskim ažuriranjima učitanih stranica
Version 2.645.0
Added
- Dodat je priključivi ugovor render backend-a učitanih stranica sa pristupom kompajliranim display-listama, izvornom GDI implementacijom, thread-safe paralelnim dispečovanjem, determinističkom fallback politikom, invalidacijom keša i telemetrijom izvršavanja
Version 2.644.0
Added
- Dodati su ograničena detekcija preklapanja u layout-u, putanje elemenata, mapiranje izvora po odluci korisnika, izvorne vector overflow i overlap overlay-e, callback-ovi uživo za dijagnostiku i statistika rada
Version 2.643.0
Added
- Dodati su izvorni ograničeni vector grafikoni sa line, bar, area, pie i scatter serijama, automatskim ili ručnim osama, temama, legendama, oznakama, PDF/UA Figure alternativama i statistikom renderovanja
Version 2.642.0
Added
- Dodato je ograničeno RichEdit i RTF paginiranje na GUI niti sa vector EMF izlazom, slikama, opciono podržanim OLE prezentacijama, otkazivanjem, čuvanjem pozicije toka i eksplicitnim budžetima za ulaz, znakove, stranice i izlaz
Version 2.641.0
Added
- Dodat je ograničen SVG 2 uvoz kao višekratno upotrebljivi PDF Form XObjects sa izvornom geometrijom i lukovima, CSS kaskadom, vector gradijentima, podrškom za clip i masku, Base 14 tekstom, opacity resursima, link anotacijama svesnim pozicioniranja i statistikom uvoza
Version 2.640.0
Added
- Dodat je verzionisani HTML5 paged-media uvozni profil sa tolerantnim DOM parsiranjem, print CSS kaskadom, paginiranim block i table rasporedom, opcionim AcroForm kontrolama, ograničenim resursima vođenim callback-ovima i statistikom po operaciji
Version 2.639.0
Changed
- Mapiranja velikih lokalnih datoteka sada prilagođavaju konfigurisani limit mapiranih bajtova između većih sekvencijalnih prozora i do 16 manjih MRU prozora za slučajan pristup, zadržavaju eksplicitnu opciju fiksne geometrije i prijavljuju aktivnu geometriju, prelaze, brojače obrazaca pristupa i vršne mapirane bajtove
Version 2.638.0
Added
- Dodato je ograničeno JBIG2 treniranje simbola kroz stranice sa eksternim i izvornim backend-ovima, jednim deljenim globalnim rečnikom, egzaktnom ponovnom upotrebom dupliranih stranica, direktnim ubacivanjem PDF image batch-eva, telemetrijom backend-a i veličine te izmerenih 78.8 odsto uštede pri kompresiji na regresionom korpusu od 100 stranica
Version 2.637.0
Changed
- Paralelno renderovanje učitanih stranica sada smanjuje broj traženih worker-a prema memoriji celog procesa, rezerviše svaku zauzetu stranicu, zadržava rezervacije uređenog izlaza kroz isporuku callback-ova, budi one koji čekaju budžet pri otkazivanju ili grešci i prijavljuje telemetriju konkurentnosti, rezervacija, prijema, kašnjenja i čekanja
Version 2.636.0
Changed
- Prefetch učitanih stranica sada kompajlira i renderuje van brave keša, otkazuje kooperativno kroz tokenizaciju i playback, ustupa mesto renderovanju stranice u prvom planu i izlaže telemetriju napretka, neuspeha, preuzimanja i latencije otkazivanja
Version 2.635.0
Added
- Dodato je uređeno streaming paralelno renderovanje stranica sa callback-ovima pozivne niti, ograničenim redom završenih bitmapa, backpressure proizvođača, kooperativnim otkazivanjem, pozajmljenim vekovima bitmapa i telemetrijom reda, bajtova, čekanja, završetka i isporuke
Version 2.634.0
Added
- Dodat je dvostepeni paralelni pipeline učitanih stranica koji kompajlira display liste van brave render keša, pokreće playback pre nego što se kompajlira kompletan skup stranica, dinamički balansira ograničene worker-e, čuva redosled ulaza, smanjuje alokaciju content tokena i izlaže telemetriju stepena, keša, završetka i latencije
Version 2.633.0
Added
- Dodati su nepromenljivi dekodirani bitmap handle-ovi sa brojanjem referenci, pogocima keša bez kopiranja, direktnim thread-safe iscrtavanjem renderer-a, izolovanim promenljivim kopijama na zahtev, vekovima nezavisnim od isticanja iz keša i kumulativnom telemetrijom handle-ova i kopija
Version 2.632.0
Changed
- QuickJS izvršavanje sada radi i kroz statičke objekte i kroz ABI-neutralan bridge DLL na Win32 i Win64, sa Unicode-bezbednim vrednostima, determinističkim prijavljivanjem statusa, konfigurabilnim limitima memorije, steka, skripti, vremena i interrupt-a, bezbednim otkrivanjem DLL-a, oporavkom posle odbijenih skripti i reprodukujućim cross-platform runtime buildovima
Version 2.631.0
Changed
- Factur-X i ZUGFeRD validacija poslovnih pravila sada izvršava kompletnu pregledanu XPath 2 Schematron površinu sa eksternim bazama koda, sekvencijalnim binding-ovima, kvantifikatorima, FLWOR sumama, stabilnim fallback identifikatorima pravila, bezbednim ograničenim XML parsiranjem, eksplicitnim nalazima grešaka evaluacije, bez ijednog tihog preskakanja i fail-closed kombinovanom validacijom
Version 2.630.0
Added
- Dodato je ugrađeno TrueType variable-font instanciranje sa mapiranim osama, deljenim i privatnim
gvartorkama, IUP interpolacijom, jednostavnim i složenim ažuriranjima kontura, metrikama fantomskih tačaka, pečenjemHVAR,VVARiMVAR, kompaktnim iznova građenjem statičkih glifova, izlazom sa ispravnim checksum-om i registracijom Unicode fontova bez callback-ova
Version 2.629.0
Added
- Dodata je CMS procena placeholder-a bez sporednih efekata iz eksplicitnih, provider ili RSA veličina sertifikat potpisa, egzaktno oblikovanje statičkog kontejnera, konzervativne rezerve dinamičkog payload-a, obnavljanja pre potpisivanja, provider ponove ograničene mogućnostima, stroge garancije jednokratnog poziva eksternog potpisnika, ograničeno dimenzionisanje i detaljna dijagnostika pokušaja
Version 2.628.0
Added
- Dodato je pravljenje podskupova fontova ugrađenih u učitane PDF-ove zasnovano na dostižnosti, uključujući sadržaj stranica, ugnježdene Form XObjects, appearance stanja anotacija, deljene font programe, TrueType i CFF formate, izbor kodirane veličine, stabilne CID i ToUnicode mape, detaljne rezultate i podrazumevano odbijanje kada potpisi postoje
Version 2.627.0
Added
- Dodato je automatsko generisanje PDF/UA strukture za deklarativna layout stabla, uključujući naslove, liste, tabele, slike, metapodatke jezika i alternativnog teksta, artefakte paginacije, marked-content reference bezbedne za nastavljanje, čuvanje redosleda čitanja, semantičku validaciju i statistiku strukture
Version 2.626.0
Added
- Dodat je deklarativni document DOM sa nasledivim stilovima, višekratno upotrebljivim fabrikama komponenti, tekstom, razmacima, stekovima, kontejnerima, sekcijama, ponovljenim zaglavljima i podnožjima, ponderisanim tabelama sa ponavljajućim redovima zaglavlja, ograničenom dubinom nastavljanja, statistikom paginacije, fragmentima teksta i tabela bez kopiranja, linearnim obilaskom na vrhovnom nivou, trenutnim ispiranjem stranica i odgovarajućim Delphi i C++Builder površinama
Version 2.625.0
Added
- Dodata je ponovljiva statistička performance kapija za Win32 i Win64 koja izoluje učitavanje, snimanje, renderovanje i izdvajanje teksta, beleži warmup-ove i 30 sirovih uzoraka sa p50, p95, varijansom uzorka, RSS, proces I/O, okruženjem i determinističkim identitetom fixture-a, pa zatim vrednuje stabilne JSON pragove i vraća neuspešan exit code pri regresiji
Version 2.624.0
Changed
- Preprađeno je parsiranje jednostavnih rečnika i nizova oko nepromenljivih izvornih opsega, direktne numeričke konverzije, jednoprohodnih ugnježdenih kontejnera i indeksiranog ubacivanja u rečnik, uz javnu telemetriju materijalizacije; Win32 fixture sa 30,000 parova smanjio je bajtove alokacije u pet prolaza za 64.7 procenata, a proteklo vreme sa 3,656 ms na 46 ms
Version 2.623.0
Added
- Dodati su konfigurabilni parser limiti za bajtove pojedinačnih tokena, zbirne tokene, unose nizova ili rečnika i neispravne tokene, plus strogi preset za netrustirani ulaz, tipizirani limit izuzeci i telemetrija po učitavanju; regresione kapije odbijaju token od 2 MiB i kontejner od milion tokena ispod 250 ms i ispod vršnih 37 MiB procesa
Version 2.622.0
Added
- Dodati su eksplicitni API-ji za oslobađanje grafa objekata učitane stranice i telemetriju koji odbacuju čiste korene u vlasništvu stranice i render keševe, a čuvaju indirektne deljene resurse i metapodatke za ponovno učitavanje; sekvencijalna obrada 100,000 stranica ostaje na stabilnom vršnom 69.3 MiB, a oslobođene obične ili kompresovane stranice se ponovo materijalizuju sa svojim izvornim identitetom objekta
Version 2.621.0
Changed
- Dekodirani object-stream kontejneri sada koriste konfigurabilni LRU keš sa ograničenjem bajtova, trenutnim isticanjem po kontejneru, ponovnim učitavanjem iz izvora posle isticanja, režimom bez zadržavanja i telemetrijom vršnih bajtova, isticanja i ponovnog učitavanja
Version 2.620.0
Changed
- Velika obična page stabla se sada otvaraju u kompaktne placeholder-e, razrešavaju slučajne stranice kroz obilazak vođen
/Counti hash indeks indirektnih objekata, keširaju razrešene stranice, izlažu telemetriju i kontrole materijalizacije i šire se automatski pre strukturnih mutacija ili operacija snimanja
Version 2.619.0
Changed
- Učitana AcroForm polja, kvalifikovana imena, widget-i, anotacije i stranice sada dele lenj dvosmerni keš odnosa sa obrnutom pretragom anotacija, pretragom stranice po widget-u, telemetrijom aktivnosti, eksplicitnom invalidacijom za sirove izmene grafa objekata i automatskim održavanjem bezbednim prema mutacijama
Version 2.618.0
Changed
- Pretraga page objekata sada koristi lenj obnovljen obrnuti indeks svestan mutacija za brojeve objekata i razrešene pokazivače stranica, zamenjujući ponovljena skeniranja tabele stranica kroz kopiranje stranica, outline-e, imenovana odredišta, akcije, formulare, pristupačnost i usaglašavanje page stabla, uz telemetriju validnosti i aktivnosti
Version 2.617.0
Changed
- Poređenje renderovanih dokumenata sada podržava DPI po izboru pozivaoca, RGB ili luminansnu toleranciju boja, kapije sličnosti po odnosu promenjenih piksela i SSIM-slične, determinističke povezane promenjene regione, opcione PNG overlay-je razlika i fail-closed budžete piksela po stranici i ukupno, uz eksplicitnu dijagnostiku renderovanja
Version 2.616.0
Changed
- Poređenje dokumenata sada obilazi grafove indirektnih objekata kroz determinističke putanje zasnovane na katalogu, hash-uje vrednosti i tokove unutar eksplicitnih limita resursa, poravnava stranice pre klasifikovanja ubacivanja, brisanja, pomeranja i izmena, razlikuje pomerene objekte od dodavanja i uklanjanja i prijavljuje nepotpuna poređenja umesto da rezultate ograničene budžetom tretira kao identične
Version 2.615.0
Changed
- Dekodiranje učitanih slika sada koristi 16 shard-ova metapodataka keša i egzaktnu per-key singleflight koordinaciju, izvodi nezavisna skupa dekodiranja uporedo uz čuvanje jednog owner dekodiranja za duplirane zahteve, sprovodi konfigurisane bajt i entry budžete kroz sve shard-ove i izlaže keširane entry point-e dekodiranja plus telemetriju konkurentnosti; četiri nezavisna JPEG zahteva od 12,000 piksela skaliraju se 3.72 puta na četiri Win64 worker-a, dok osam zahteva istog ključa dekodira jednom
Version 2.614.0
Changed
- Renderovanje grayscale i RGB JPEG-a niske rezolucije sada bira ograničenu inverse-DCT skalu 1/2, 1/4 ili 1/8, strimuje skalirane scanline kroz fixed-point resampler direktno u egzaktnu ciljnu bitmapu, čuva dekod budžete, otkazivanje i izolaciju codec worker-a i izlaže telemetriju izvora, skaliranja, cilja, scanline i memorije kroz
GetLastJPEGReducedDecodeInfo; regresioni fixture od 12,000 x 12,000 na 300 x 300 radi 24.05 puta brže od potpunog dekodiranja bez alokacije svog 432 MB izvornog rastera
Version 2.613.0
Changed
- Nizovi
/Contentsučitane stranice sada izlažu lenj seekable konkatenirani tok, zadržavaju nefiltrirane segmente u skladištu podržanom izvorom, dekodiraju najviše jedan filtrirani segment istovremeno, koriste amortizovano-linearno nakupljanje tokena i bajtova, čuvaju originalne tokove pri izmenama dodavanjem novog segmenta i drže sekvencu od 1 GiB sa 10,000 segmenata ispod dodatnih 64 MiB radne memorije
Version 2.612.0
Changed
- Inkrementalna ažuriranja sada drže izvornu datoteku zaključanom za pisanje i podržanu fajl-sistemom umesto da zadržavaju kompletne izvorne bajtove, obilaze i emituju samo izmenjene, nove i obrisane objekte u redkim xref podsekcijama, strimuju originalni prefiks ka novom cilju i direktno dodaju uz rollback za snimanja na isti cilj; revizija od 4 GiB sa jednim objektom ostaje unutar dodatnih 128 MiB radne memorije
Version 2.611.0
Added
- Dodat je ograničen keš dekodera učitanih fontova u okviru dokumenta sa LRU limitom od 32 MiB i 128 unosa, singleflight ponovnom upotrebom parsiranja kroz stranice, izdvajanje učitanog teksta, SVG izvoz i zamenu teksta, nezavisnim deep-copy rezultatima iz
GetLoadedFontDecoder, konfigurabilnim memoriskim budžetom i telemetrijskim API-jima te automatskom invalidacijom konfiguracije grafa, stranice, ponovnog učitavanja, JSON Patch i CMap; ponovljena upotreba jednog deljenog indirektnog fonta sada parsira njegovo enkodiranje, širine,ToUnicode,CIDToGIDMapi descendantske mape samo jednom dok je zadržan
Version 2.610.0
Changed
- Ubrzan je uvoz stranica i kalemljenje objekata zamenom linearnog niza za pretragu stranih objekata sa tačnom promenom veličine mapom otvorenog adresiranja stepena dva u okviru operacije, sa ključem po izvornom dokumentu, broju objekta i generaciji; deljeni indirektni objekti i ciklični grafovi čuvaju postojeću semantiku identiteta kroz batch uvoze, dok veliki grafovi objekata sada koriste registraciju amortizovano konstantnog vremena i pretragu očekivano konstantnog vremena
Version 2.609.0
Changed
- Poboljšana je vernost SVG izvoza stranica: direktni graphics-state operatori
w,J,j,Midsada čuvaju širinu linije, imenovane cap i join stilove, miter limite, dash nizove i dash fazu;q/Qvraća ove atribute kroz ugnježdeni sadržaj i Form XObjects; even-odd paint operatorif*,B*ib*emitujufill-rule="evenodd"; PDF dlake nulte širine ostaju vidljive kroz neskalirajuće SVG poteze
Version 2.608.0
Added
- Dodata je infrastruktura statičkog linkovanja QuickJS-a:
Lib/HPDFQuickJSStatic.paslinkuje pet QuickJS OMF objekata (građenih bcc32c-om iz zakrpljenih izvora) kroz{'$L'}direktive — bez DLL zavisnosti — i deklariše kompletnu C runtime površinu (47 simbola: msvcrt C99 matematika, Borland 64-bitna aritmetika, size-neutral atomic stub-ovi, pthread stub-ovi);thirdparty/QuickJS/build-static.batautomatizuje patch-and-compile pipeline. Poznato ograničenje:JS_NewRuntimeuspeva, aliJS_NewContextudara u access violation jer uklanjanje_Atomicmenja redosled inicijalizacije struktura; DLL build iz v2.607.0 ostaje isprobana radna putanja za evaluaciju
Version 2.607.0
Added
- Dodata je generacija DataMatrix 2D bar kodova (
Lib/HPDFDataMatrix.pas): ASCII-mode enkodiranje sa kompresijom parova cifara, Reed-Solomon ECC preko GF(256) sa DataMatrix primitivnim polinomom $12D, kvadratnim veličinama od 10x10 do 144x144, naizmeničnim smerom raspoređivanja kodnih reči i L-oblikovanim finder obrascem;THPDFPage.DrawDataMatrixrenderuje enkodiranu matricu kao mrežu popunjenih kvadrata modula - Dodata je generacija PDF417 naslaganih 2D bar kodova (
Lib/HPDFPDF417.pas): text-mode enkodiranje sa uparivanjem znakova u bazi 30, Reed-Solomon ECC preko GF(929) sa primitivnim elementom 3, enkodiranjem simbol deskriptora i red/kolona rasporedom sa start/stop obrascima;THPDFPage.DrawPDF417renderuje matricu kodnih reči - Dodato je povezivanje QuickJS JavaScript engine-a (
Lib/HPDFQuickJS.pasplus pre-built Win32/Win64quickjs.dllpodthirdparty/QuickJS/bin/): dinamičko učitavanje DLL-a, runtime+context životni ciklus i evaluaciona API površina (Eval/EvalInt/EvalFloat);Evalkodna putanja ima poznati Win32 startup crash pri linkovanju u aplikaciju i dokumentovana je za dalju istragu - Dodat je arhitekturni cilj izdvajanja
THPDFWriter(Lib/HPDFWriter.pas): registar xref unosa (free/used/compressed), klasični serijalizator xref tabele i graditelj trailer rečnika kojima putanja snimanja THotPDF-a delegira inkrementalno
Version 2.606.0
Added
- Dodate su dve HotPDFCLI komande:
decryptučitava enkriptovani PDF sa datom lozinkom, dekriptuje ga prekoDecryptLoadedDocumenti snima neenkriptovanu kopiju (-oizlazna putanja, podrazumevano<input>-decrypted.pdf), aoptimizerekompresuje svaki tok FlateDecode-om prekoCompressLoadedDocument(-oizlazna putanja, podrazumevano<input>-optimized.pdf, odbija enkriptovani ulaz)
Version 2.605.0
Added
- Dodata je generacija QR Code 2D bar kodova: novi
Lib/HPDFQRCode.pasimplementira kompletan QR enkoder (numeric, alphanumeric i byte enkodirajući režimi; Reed-Solomon korekcija grešaka preko GF(256); verzije 1-40 sa sva četiri EC nivoa L/M/Q/H; svih osam mask obrazaca sa ocenom kazne; ispravno raspoređivanje modula uključujući finder, timing, alignment, format info i version info obrasce). MetodTHPDFPage.DrawQRCoderenderuje enkodiranu matricu kao mrežu popunjenih kvadrata modula na svakoj stranici u pisanju (ModuleSizeu tačkama, konfigurabilan EC nivo i boja)
Version 2.604.0
Added
- Dodata je kompletna MacExpertEncoding dekod tabela: gornja polovina od 128 bajtova sada mapira expert glifove (male verzalke, old-style cifre, superior/inferior cifre, razlomke, tipografske simbole) na najbliži Unicode code point ili Private Use Area surrogat, zamenjujući prethodni raw-byte identity fallback koji je za dokumente sa expert-kodiranim Type 1 fontovima proizvodio nečitak izlaz
Version 2.603.0
Fixed
- Popravljena je dugogodišnja nestabilna greška u
ConcurrentObjStmDecryptionMatchesSerial: globalFRevisionbio je zastareo posle downgradaaes256naaes128pod podrazumevanom PDF 1.6 verzijom, pa jeCreateKeysgreškom odlazio u V5 granu koja nikada ne popunjava nasleđene/Oi/Upassword hash-eve — serializovani enkripcioni rečnik je tada nosio prazne ili zastarele password niske i datoteka se nije mogla otvoriti. Popravka ponovo izvodiFRevisioniz downgradovanogFCryptKeyTypei u setter-u i na dva mesta pregovaranja verzije, a nasleđena grana rečnika sada podiže jasnu dijagnostiku kada password niske nisu tačno 32 bajta
Added
- Dodata je HotPDFCLI
htmlkomanda: renderuje ograničenu HTML datoteku (h1-h6, p, ul, ol, hr, inline markup) u PDF prekoHPDFRenderHTMLDocument
Version 2.602.0
Added
- Dodat je block-level HTML uvoz:
THPDFHTMLImporter(iHPDFRenderHTMLDocumentconvenience omot) renderuje ograničeni HTML podskup na dokument u pisanju —h1-h6naslovi sa veličinama po nivou,ppasusi (goli tekst tela postaje implicitni pasusi),ul/olliste sa uvučenimlistavkama (bullet ili1.numeracija),hrlinije, automatski prelomi stranica kod donje margine i browser-style oporavak za nezatvorenep/liblokove;head/script/styleregioni se preskaču, a container tag-ovi prolaze transparentno. Inline markup (b/i/u/font/a/sub/sup, entiteti, prelamanje reči) delegira se postojećemTextOutHTMLrenderer-u, pa blokovi drže zajedno unutar stranice; tabele, slike, CSS i ugnježdene liste su van obuhvata
Version 2.601.0
Added
- Dodate su tri HotPDFCLI komande:
mergedodaje svaku stranicu dodatnih ulaza prvom dokumentu i snima kombinovanu datoteku (-oizlazna putanja, najmanje dva ulaza, zaštićen sudar izlaza i ulaza),splitupisuje svaku izabranu stranicu dokumenta u njenu sopstvenu jednostraničnu datoteku (<prefix>-page<N>.pdf,--pagesraspon od 1, podrazumevani prefiks iz ulazne putanje), aexport-svgupisuje SVG izvoz svake izabrane stranice (<prefix>-page<N>.svg, podrazumevana stranica 1)
Version 2.600.0
Added
- Dodat je SVG izvoz stranica:
BuildLoadedPageSVGvraća samostalan SVG 1.1 dokument za svaku učitanu stranicu, aSaveLoadedPageAsSVGga upisuje na disk; izvoze se putanje (fill/stroke/fill-and-stroke paint operatori sa DeviceRGB bojama), tekstualni tokovi (<text>elementi pozicionirani po znaku koji koriste isti font-decode fallback lanac kao izdvajanje teksta, poštujući Tf/Tc/Tw/Tz/Ts i tekst matricu uključujući rotaciju i skaliranje), image XObjects (dekodirani i ugrađeni kao base64 PNG data URI-ji mapirani kroz CTM jedinični kvadrat) i Form XObjects (rekurzivna interpretacija sa matricom forme i sopstvenim /Resources), a stranice sa /Rotate 90/180/270 izvoze se u geometriji rotiranog platna - Poznata ograničenja nasleđena iz deljenog content-stream device dispatcher-a: nema W/W* isecanja, nema
shshading-ova, nema Type 3 fontova, inline slike prijavljuju samo metapodatke, a ExtGState podržani stroke parametri (LW/LC/LJ/ca/CA) se poštuju dok se običniw/J/j/doperatori ne dispečuju
Version 2.599.0
Added
- Dodat je HotPDFCLI alat za komandnu liniju (
tools/HotPDFCLI): konzolni front end sa tri komande —info(PDF verzija, broj stranica i veličina prve stranice, enkripcioni metod, linearizacija i xref struktura, brojači anotacija/fontova/slika/formulara/potpisa, Info metapodaci),extract-text(--pagesrasponi od 1,--outizlaz u datoteku,--layoutmonospace grid režim koji prati vizuelni redosled čitanja) iverify(status po polju potpisa, potpisnik, razlog, hash, vreme potpisivanja, pokrivenost celog dokumenta i stanje sertifikata, ne-nula exit code kada bilo koji potpis padne);Build-HotPDFCLI.batproizvodi Win32 i Win64 binarne datoteke
Version 2.598.0
Added
- Dodat je
SetRenditionMediaPlayParameters: kači ili ažurira/Prečnik parametara reprodukcije medija rendicije sa obaveznim/MHili best-effort/BEciljevima koji nose procenat jačine zvuka, vidljivost kontrolera, autoplay zastavicu, fit režim (meet/slice/fill/scroll/hidden), broj ponavljanja i trajanje kao intrinsično, beskonačno ili eksplicitan vremenski raspon - Dodat je
SetRenditionMediaScreenParameters: kači ili ažurira/SPrečnik parametara medijskog ekrana rendicije (tip prozora floating/full-screen/hidden/screen-annotation pravougaonik, DeviceRGB boja pozadine, neprozirnost pozadine, indeks monitora) - Dodat je
SetSoundAnnotationParameters: prepisuje sample format/Soundtoka Sound anotacije (stopa, kanali, bitova po uzorku, Raw/Signed/muLaw/ALaw enkodiranje) van ukočenih podrazumevanih 22050 Hz stereo 16-bit Signed vrednosti i postavlja/Nameikonu poput Speaker ili Mic
Version 2.597.0
Added
- Dodat je
SetMovieAnnotationParameters: preglašava/Movierečnik filmske anotacije (par odnosa stranica, rotacija 0/90/180/270, trajanje u sekundama, vidljivost postera) koji jeAddMovieAnnotationnapravio sa svojim ukočenim podrazumevanim vrednostima - Dodat je
SetRichMediaPresentation: popunjava/RichMediaSettingsrečnike aktivacije, deaktivacije i prezentacije RichMedia anotacije (imena uslova poputPOpage-open, toolbar / navigation UI / context click / transparency zastavica); prazno ime uslova izostavlja odgovarajući rečnik - Dodat je
ResolveIndirectObjectnaTHotPDF: razrešava indirektne reference koje autorska strana čuva unutar zapisanih rečnika, pa pozivaoci mogu obilaziti sveže građena stabla objekata;AddRichMediaAnnotationsada takođe registruje svoju anotaciju uLastAnnotation
Version 2.596.0
Added
- Dodato je otkrivanje dokaza opoziva uživo: parser sertifikata sada čita AIA OCSP responder i CRLDistributionPoints URI ekstenzije,
HPDFExtractCertificateRevocationURLsih izlaže po sertifikatu, aHPDFCollectCMSRevocationRequestsih pretvara u zahteve za dokaze (GET pkix-crl po distribution point-u, POST ocsp-request sa minimalnim RFC 6960 SHA-256 CertID telom građenim iz sertifikata i njegovog izdavača, pri čemu se samopotpisani sertifikati razrešavaju kao sopstveni izdavač) - Dodat je
HPDFValidateCMSCertificatePathOnline: skuplja te zahteve, izvršava ih kroz transport koji obezbeđuje pozivalac preko postojeće retry/worker mašinerije (biblioteka nikada ne otvara socket-e) i svaki preuzeti OCSP odgovor i CRL uvodi u offline validator; neuspešna preuzimanja degradiraju na offline semantiku dokaza
Version 2.595.0
Added
- Dodato je JBIG2 dekodiranje halftone regiona (tipovi segmenata 22/23): pattern rečnici (tip 16) sa MMR ili aritmetičkim kolektivnim bitmapama, stack-ovi bit-ravni u sivoj skali i u MMR obliku (bajt-poravnate ulančane ravni) i u aritmetičkom obliku (jedan deljeni MQ dekoder), grid raspoređivanje sa 8.8 fixed-point vektorima i opcionom HSKIP praznom mapom
- Dodati su JBIG2 samostalni generic-refinement regioni (tipovi 42/43, GRTEMPLATE 0/1 sa TPGRON) koji dorazuju arhiviranu bitmapu referenciranog region segmenta ili bafera stranice
- Dodati su
AddPubSecKeyMaterial/ClearPubSecKeyMaterials: dodatni privatni ključevi primalaca koji se isprobavaju na svakom/Recipientskoveratu kada primarniPubSecKeyMaterialne odgovara - Dodati su graditelji test tokova
HPDFJBIG2Codec_EncodeHalftoneRegionTestStreamiHPDFJBIG2Codec_EncodeStandaloneRefinementTestStreamkoji pokrivaju nove tipove segmenata od početka do kraja
Fixed
- Popravljeno je javnim-ključem enkriptovano učitavanje AES-128 dokumenata: nasleđeni prolaz kroz objekte ostavio je
FileKey,StringKeyTypeiStreamKeyTypeneinicijalizovane posle pubsec podele, pa se svaki objekat dekriptovao smećem umesto ključem (Win64 učitavanje je propadalo odmah; Win32 učitavanje je tiho davalo pogrešan otvoreni tekst) - Popravljeno je povratno putovanje enkriptovanih niski: ciphertext se sada uvek serializuje kao hex niska jer literalne niske normalizuju CR, LF i CRLF u jedan LF, a obrada escape-ova mogla je prevrnuti proizvoljne cipher bajtove
Version 2.594.0
Added
- Dodata je ugrađena aproksimacija identiteta za predefinisane CJK UCS2/UTF16 CMap-ove (
UniJIS-UCS2-H,UniGB-UTF16-Vi još 15):HPDFLoadStandardCMapFileodgovara iz ugrađene tabele kada CMap resursi nisu isporučeni na disku, pa Type0 izdvajanje teksta više ne dekodira 2-bajtne kodove bajt po bajt - Dodate su JBIG2 Huffman tabele iz korisničkog ulaza (tip segmenta 53, opisni oblik iz Annex B.2): izvorni dekoder parsira segmentske tabele, a simbol-rečnički SDHUFFDH/SDHUFFDW/SDHUFFBMSIZE/SDHUFFAGGINST i tekst-region SBHUFFFS/DS/DT/RDW/RDH/RDX/RDY/RDSIZE selector vrednosti 3 ih razrešavaju iz referenciranih segmenata
- Dodat je
SetStructureClassMapEntrykoji registruje deljeni atributski rečnik imena klase u StructTreeRoot/ClassMap, čime je dopunjenaSetStructureElementClass/C API
Fixed
- Popravljen je oporavak ključa za više primalaca kod javnog ključa:
/Recipientskoveri čuvani su u nebrojanoj listi koja je aliasala jedan bafer kroz unose, pa su dokumenti sa dva ili više primalaca izvodili pogrešan ključ datoteke za svaki cipher; koveri su sada vlasničke kopije, a nasleđena SHA-1 putanja hash-uje netaknute bajtove koverata kao i AES-256 putanja
Version 2.593.0
Added
- Dodato je renderovanje Shading Type 1 (zasnovano na funkciji): vidljivi deo domenskog pravougaonika deli se quadtree-om vođenim greškom boje i svaka listova ćelija se boji kao dva gradijentna trougla sa bojama temena uzorkovanim iz funkcije sa dva ulaza, zamenjujući prethodnu "not sampled" fallback dijagnostiku
- Dodata je popustljiva evaluacija funkcija sa dva ulaza: funkcija koja deklariše samo jedan ulaz degradira na
f(x)(konstantna po drugoj domenskoj koordinati) umesto da padne, pa sampled i eksponencijalne funkcije iza Type 1 shading-a i dalje boje
Version 2.592.0
Added
- Dodat je karantin object-stream kontejnera: pokvareni
/Type /ObjStmkontejner se beleži sa razlogom (THPDFObjStmQuarantineReason: nije tok, loš rečnik, loše zaglavlje, loša veličina toka, dekriptovanje nije uspelo, dekompresija nije uspela,/Firstvan opsega, zaglavlje se ne može parsirati ili kontejnerski izuzetak), dijagnostičkom linijom i brojevima članskih objekata koje je ostavio nerazrešenim, dok nezavisni kontejneri nastavljaju da se učitavaju - Dodat je karantin na nivou člana (
osqrMemberUnparsable): telo člana koje ne uspe da se parsira iz uspešno dekodiranog kontejnera beleži se jednom bez uticaja na braću, aGetLoadedQuarantinedObjStmCount/GetLoadedQuarantinedObjStmInfoizlažu svaki zapis; zapisi karantina preživljavaju recovery ponove jednog učitavanja, deduplikuju se po kontejneru i brišu se pri sledećem ulasku u učitavanje
Version 2.591.0
Added
- Dodato je straničenje mape ukrštenih referenci: kada gusta mapa pređe
THotPDF.XRefMapPagingThresholdunosa (podrazumevano 250000, 0 isključuje), prolaz završetka učitavanja pakuje je uTHPDFXRefMapPager-- sortiran snapshot spakovanih slotova od 24 bajta kojeg opslužuje binarna pretraga kroz LRU materijalizovanu stranicu od 64 unosa -- i oslobađa gusti niz - Dodat je
GetLoadedXRefMapPagedkoji prijavljuje straničeno stanje sa brojem unosa, bajtovima snapshota i brojačima pogodaka ili promašaja prozora; obnova slobodnog skupa pri inkrementalnom snimanju i razrešavanje indirektnog/Lengthlenj materijalizovanih članova toka odgovaraju kroz pager, pa straničeni dokumenti zadržavaju punu funkcionalnost
Version 2.590.0
Added
- Dodata su eksplicitna lifecycle stanja objekata:
THPDFObjectLifecycleStatedobijaolsRaw(indeksirane ali nematerijalizovane kompresovane članove),olsParsed(materijalizovane iz izvornih bajtova, neizmenjene) iolsFlushed(serializovane u izlazni dokument); učitani objekti sada noseolsParsedumesto generičkog čistog stanja - Dodati su
MarkRaw,MarkParsediMarkFlushednaTHPDFObject;GetLoadedObjectLifecycleStatevraćaolsRawza kompresovane članove čije telo još nije materijalizovano - Dodati su
RawCount,ParsedCountiFlushedCountuTHPDFObjectLifecycleStatistics; svaka putanja potpunog snimanja (plain, packed, linearized) premešta emitovane objekte uolsFlushed, dokIsDirtyi dalje značiolsDirtyiliolsMustWrite
Version 2.589.0
Added
- Dodata je zero-copy materijalizacija članova object-stream-a: kompresovani članovi se sada parsiraju kroz read-only slice pogled nad deljenim dekompresovanim baferom kontejnera umesto dupliranog podstringa plus druge kopije toka, čuvajući egzaktni raspored bajtova uključujući prateći znak novog reda
- Dodat je
THPDFObjectStreamSliceStream, javni read-only view tok koji izlaže (source, offset, length) isečke sa virtuelnim pratećim LF, plus dva nova poljaTHPDFObjectStreamCacheInfo,SliceViewCountiSliceViewBytes, koja prijavljuju koliko je članova materijalizovano kroz zero-copy poglede
Version 2.588.0
Added
- Dodato je istovremeno dekriptovanje object-stream kontejnera kroz novu
HPDFObjStmDecodejedinicu:THotPDF.ObjStmDecryptWorkers(podrazumevano 1) ograničava worker niti koje prethodno dekriptuju svaki poseban AES-256 enkriptovani/Type /ObjStmkontejner pre serijskog decode-and-index prolaza; ključni materijal po kontejneru se kopira i čisti po zahtevu, rezultati čuvaju redosled reda, a nasleđeni RC4 / AES-128 kontejneri ostaju na pozivnoj niti
Version 2.587.0
Added
- Dodato je ponovno učitavanje dokumenta enkriptovanog javnim ključem: dokumenti enkriptovani sa
/Adobe.PPKLite//Adobe.PubSecse sada učitavaju kada pozivalac dodeliPubSecKeyMaterial(izHPDFParsePFX); prescan odmotava/RecipientsRSA-OAEP koverat, oporavlja seed i ponovo izvodi ključ datoteke, pa dekriptovanje kontejnera i niski radi nepromenjeno - Dodat je
PubSecRecipientQuerycallback koji bira koji koverat primaoca odmotava dati ključ, uzPubSecRecipientQueryContextza stanje pozivaoca - Dodat je
HPDFUnwrapRSAOAEPRecipientEnvelopekoji oporavlja seed i bitove dozvola iz CMS EnvelopedData koverata primaoca
Fixed
- Popravljene su mane javnoključnog writer-a otkrivene povratnim putovanjem ponovnog učitavanja: koverati primalaca oštećivani su binarno-preko-Unicode povratnim putovanjem niske (sada se čuvaju hex-kodirano), digest ključa datoteke hash-ovao je bajtove koverata sa pomerajem od jednog bajta, a
/Recipientsniske su enkriptovane kao obične niske - sada se izostaju kroz eksplicitnuSkipEncryptionzastavicu
Version 2.586.0
Added
- Dodato je nastavljanje na XFA overflow cilj:
<overflow target="..."/>sada usmerava prelivene flowed stavke u pravougaonik imenovanog ciljnog subform-a, nagomilavajući redove nastavljanja dok se cilj ne napuni, uz fallback na normalni lanac content-area i upozorenje kada cilj nedostaje, manji je od jedne stavke ili je pun
Version 2.585.0
Added
- Dodato je XFA renderovanje bar kodova:
<draw><value><barcode type="...">sada emituje crte nezavisne od uređaja umesto da degradira u read-only tekst polje, mapirajući XFA symbology imena (code3Of9,code128,ean13,upcA,codabari još neka) na bar kod engine - Dodata je XFA transformaciona grafika:
rotate,<tran><scale>i<tran><translate>obavijaju svaku vrstu grafike (linija, luk, pravougaonik, slika, tekst, bar kod) uq ... cm ... Qtransformaciju sa rotacijom oko centra
Version 2.584.0
Added
- Proširen je FormCalc string funkcijama:
Concat,Len,Left,Right,Substr,Replace,Lower,Upper,TrimiSpace, uključujući string literale u navodnicima i mešovite tekst/numeričke izraze - Dodata je FormCalc konverzija datuma:
Date2Num/Num2Dateprovlače ISO datume kroz serijsko brojanje dana od 1900. epohe, plusDate() - Dodata je FormCalc finansijska biblioteka:
Pmt,FV,PV,RateiNPersa konvencijom predznaka novčanog toka, kombinovati sa numeričkim funkcijama poputRound
Version 2.583.0
Added
- Dovršeno je XFA SOM razrešavanje sa međusegmentima goli-
*wildcard koji silaze u svaku child granu i pravim class tokenima:#subform/#dataGroupbiraju container-class čvorove,#fieldbira čvorove slične poljima, a ostali#nametokeni poklapaju prilagođene data čvorove - Class tokeni se sada kombinuju sa indeksiranjem (
#subform[2]broji svaki čvor klase u redosledu dokumenta) i učestvuju u..pretragama po potomcima
Version 2.582.0
Added
- Dodato je usaglašavanje appearance stanja radio dugmadi i checkbox-ova: upisivanje vrednosti dugmeta kroz
SetFormFieldValueiliSetLoadedFormFieldValueByNamesada bira odgovarajuće/ASstanje u svakom widget-u, a flatten se usagljava pre generisanja appearance-a, pa zastareloOffstanje nikada ne može nadjačati uveženu vrednost - Dodata je stabilnost regeneracije za button appearance-e:
EnsureLoadedFieldAppearanceStreamčuva postojeće ime on-stanja state rečnika i izvodi imena on-stanja radio dece iz njihove sopstvene/Texport vrednosti
Version 2.581.0
Added
- Dodati su rotirani appearance-i polja: widget-i sa
/MK /Rsada nose rotaciju kao/Matrixna generisanom appearance-u uz zadržavanje nerotiranog form prostora, pa comb, multiline i listbox renderovanje ostaje nepromenjeno, a flatten preslikava transformisani okvir na/Rect - Dodata je podrška za rich-text appearance: polja bez običnog
/Vali sa/RVtelom renderuju karakter sadržaj sa odstranjenim inline XHTML oznakama - Dodato je prelamanje celih reči za multiline tekst polja: predugački redovi se lome na granicama reči koristeći procenu širine po znaku, čuvajući reči netaknutim umesto da se seku
Version 2.580.0
Added
- Dodati su CID-font appearance-i polja:
EnsureLoadedFieldAppearanceStreamrazrešava/DAfont kroz AcroForm/DRrečnik i ponovo kači font objekat dokumenta na appearance resurse, pa Type0 fontovi renderuju CJK vrednosti kao UTF-16BE hex tekst umesto Helvetica zamene - Dodato je appearance pokrivanje za svaku AcroForm klasu polja: checkbox i radio widget-i sada dobijaju
Offplus on-state appearance-e (vector kvačica i popunjen krug, bez zavisnosti od ZapfDingbats), push dugmad renderuju natpise, a listbox-ovi boje po jedan/Optred sa istaknutim izabranim redom - Dodata je procena širine po znaku koja meri CJK i full-width raspone punim em-om, poboljšavajući poravnavanje i comb raspoređivanje za višebajtne vrednosti
Version 2.579.0
Added
- Dodati su strogi form-script budžeti kroz
THotPDF.FormScriptBudgetssvojstvo: CPU presek po zidnom satu, kumulativni memoriski budžet i ograničenje generisanog izlaza sada vezuju svakoEvaluateLoadedFieldJavaScriptizvršavanje i svaki prolaz preračunavanja - Dodat je
THPDFScriptBudgetszapis koji pokriva dužinu skripte, naredbe, dubinu rekurzije, operacije, CPU vreme, memoriju po vrednosti i kumulativnu te bajtove izlaza; nula u bilo kom polju diže to konkretno ograničenje - Dodata je telemetrija evaluacije:
THPDFJavaScriptEvaluationResultsada prijavljujeElapsedMillisecondsiValueBytesuz broj operacija
Version 2.578.0
Added
- Dodat je graf zavisnosti izračunavanja form polja kroz
THotPDF.BuildLoadedFormCalculationGraph: svaka/COregistrovana Calculate skripta se statički analizira i ulančava u topološki redosled evaluacije - Dodat je
THotPDF.RecalculateLoadedFormFieldsIncrementalkoji preračunava samo izračunavanja koja tranzitivno čitaju promenjeno polje, pa se lanci poput međuzbira ka zbiru propagiraju u jednom prolazu bez diranja nevezanih izračunavanja - Dodato je praćenje prljavih polja: upisi kroz
SetFormFieldValueiSetLoadedFormFieldValueByNamenakupljaju dirty skup koji troše bezparametarski inkrementalni overload, overload sa eksplicitno promenjenim poljima i potpuni prolaz preračunavanja - Dodata je
HPDFFormCalcGraphjedinica koja izlaže upite pogođenog zatvorenja, potpuni redosled ciljeva, brojače ciklusa i nerazrešena imena izvora za alatne preglede - Dodat je
HPDFExtractSafeJavaScriptFieldReferenceskoji izdvaja imena polja koja safe-subset skripta čita izAFSimple_Calculateargumenata igetFieldpristupa, preskačući string literale
Changed
- Ciklusi zavisnosti sada čuvaju
/COredosled dokumenta i promenjeno polje nikada ne preračunava sopstvenu skriptu, pa se ciklični dokumenti ponašaju kao jednoprohodno preračunavanje i korisnički upisane vrednosti uvek prežive
Version 2.577.0
Added
- Dodata je batch validacija potpisa kroz novi metod
THotPDF.ValidateLoadedSignatureBatch: svaki učitani potpis se verifikuje bajt po bajt i validira sertifikat u jednom prolazu sa strukturiranim rezultatima po potpisu - Dodata je
HPDFSignatureBatchjedinica sa deljenim kešem sertifikat putanja: potpisi koji ponavljaju isti lanac potpisnika koriste prethodnu presudu putanje umesto da je preračunavaju - Dodato je deljeno keširanje vremenskih oznaka kroz batch: identični RFC 3161 dokumentni timestamp-ovi i ugrađeni tokeni timestamp-a potpisa preskaču ponovnu verifikaciju preko
THPDFCMSVerifyOptions.SkipSignatureTimestampVerification - Dodato je deljenje dokaza opoziva kroz potpise: OCSP odgovori i CRL-ovi viđeni tokom jedne validacije čuvaju se u
THPDFRevocationEvidenceCachei ubrizgavaju u kasnije potpise pod novimvesCacheizvorom dokaza - Dodat je
THPDFSignatureValidationBatchza samostalna batch izvršavanja saFailFast, paralelizmom worker-a, tokenima otkazivanja i deljenim eksternim kešem opoziva - Dodat je
HPDFSignatureBatchResultToJSONkoji prikazuje ishod celog batch-a sa statistikom keša kao mašinski čitljiv JSON
Version 2.576.0
Fixed
- Popravljen je pad Showcase demoa sa access violation pri pokretanju:
THPDFViewerokidaOnPageChangetokom konstrukcije i ponovnog vezivanja, pa se prva generacija galerije sada pokreće izOnShow(nakon što postoje window handle-ovi) i svaki event handler čuva se od kontrola koje su jošnil - Popravljeno je ugrađivanje kompletnih TrueType fontova u Showcase galeriju za njene Unicode uzorke: sada je uključeno pravljenje podskupova fontova, čime se dokument od deset stranica smanjio sa oko 3.9 MB na oko 336 KB
Version 2.575.0
Added
- Dodata je algorithm-agile PDF MAC proizvodnja i validacija za SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-384 i SHA3-512, uključujući streaming hash-ovanje raspona i CMS provere konzistentnosti zaštite algoritma
- Dodati su eksplicitni
THPDFPDFMACOptionscompatibility, modern, high-assurance i custom profili sa algoritmima generacije, validation allowlistama, opcionim sprovođenjem AES-256-GCM, policy dijagnostikom i source-kompatibilnim podrazumevanim overload-ovima
Security
- PDF MAC validacija sada otkriva enkodirani digest pre hash-ovanja velikih bajtnih raspona i odbacuje nedozvoljene algoritme ili enkripcione režime pre autentikacije, dok HMAC-SHA-256, HKDF-SHA-256 i AES-256 key wrap ostaju fiksirani formatom dokumenta
Version 2.574.0
Added
- Dodat je
SaveIncrementalUpdateAuthenticatedsa režimima kriptografskog integriteta i poverljivih sertifikata: metod upisuje kandidata u istom direktorijumu, autentifikuje svaki potpis koji nosi policy, sprovodi DocMDP, FieldMDP, UR ili UR3, Identity i odluke o nepoznatim transformacijama kroz kasnije revizije i atomski zamenjuje cilj tek nakon što svaki policy uspe
Security
- Analiza revizija sada rekonstruiše transformacione politike iz egzaktnog potpisanog snapshota i vezuje ih za izvorni objekat potpisa, bajtni raspon i CMS vrednost umesto da veruje kasnijim redefinicijama u aktivnom grafu objekata, dok se odbijeni kandidati brišu bez menjanja postojećeg cilja
Version 2.573.0
Added
- Dodat je glavni
Showcasedemo podDemo\Delphi: generiše PDF galeriju od deset stranica pri pokretanju (gradijent naslovnica, tipografija sa inline rich tekstom, vector gradijenti / obrasci / transparentnost,THPDFTablefaktura, bar kod simbologije, slike oslikane u runtime-u, anotacije i linkovi, optional-content slojevi i PAdES signature appearance) i renderuje ga unutar ugrađenogTHPDFViewer-a sa sinhronizovanom listom tema - Dodata je
Encrypt AES-256akcija jednim klikom u Showcase demou koja iznova gradi galeriju sa AESV3 (R6) enkripcijom, korisničkom lozinkom i dozvolama samo za štampu uHotPDF-Showcase-Encrypted.pdf - Dodata je bookmark navigacija za svaku stranicu Showcase galerije preko
BeginDoc(True)iOutlineRoot.AddChild, pa se generisani dokument otvara sa popunjenim outline panelom
Version 2.572.0
Added
- Proširen je pregled potpisnih transformacija i klasifikacija inkrementalnih izmena kroz sve standardne metode:
GetLoadedSignaturePermissionssada prijavljujeDocMDP,UR,FieldMDP,Identity, nepoznate metode, Catalog/URnaspram/UR3povezivanja, svaki standardni usage-right bit i ograničeni tranzitivniIdentity /Dataopseg objekata; analiza revizija razlikuje popunjavanja formulara, potpise, create/delete/modify operacije anotacija i ugrađenih fajlova i izlaže nezavisneURCompliant,IdentityComplianti zbirneTransformCompliantodluke
Fixed
- Primenjena je standardna podrazumevana
DocMDP /P 2dozvola kada opcionog unosa nema, a odbijene su deformisane, duplirane, nepoklapajuće ili nepoznate transformacione strukture umesto da se tiho ignorišu
Version 2.571.0
Added
- Dodata je podrška za MacExpertEncoding: tabela imena glifova prenešena iz PDF 1.7 Appendix D.3 sada puni
HPDFBaseEncToUnicode, pa expert-set Type 1 fontovi dekodiraju u pravi Unicode pri izdvajanju teksta umesto raw byte identiteta; Adobe Glyph List dobio je trinaestsmallvarijanti akcenata (od Acutesmall do Tildesmall) sa njihovim spacing-accent code point-ovima - Dodato je jedanaest razdvojivih blend režima (ISO 32000-1 11.3.5):
HPDFBlendComponentimplementira Multiply, Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn, HardLight, SoftLight, Difference i Exclusion; renderer parsira/BMiz ExtGState u snapshot graphics stanja i kompozituje oslikane piksele naspram pozadine pre alpha težinske obrade - Uključena su ugnježdena GSUB contextual lookup-ovanja: SequenceLookupRecord može sada ciljati contextual (Type 5), chained-contextual (Type 6) i reverse-chained (Type 8) lookup-ove, dispečujući kroz deljene per-format primenjivače pod postojećim ograničenjem dubine rekurzije
Version 2.570.0
Added
- Dodat je
THPDFRevocationEvidenceCache, thread-safe LRU keš za dokaze timestamp / OCSP / CRL ključan po izdavaču, serijskom broju i responder identifikatorima (ne osetljiv na velika slova). Unosi nose prozor validnosti, pretrage biraju najnovije počinjući interval koji sadrži vreme evaluacije, pogoci osvežavaju skorašnjost, a i budžet broja unosa i budžet bajtova okidaju FIFO isticanje sa potpunim brojačima pogodaka / promašaja / isticanja / zamene prekoGetInfo - Dodati su page-level
SaveState/RestoreStatenaTHPDFPagekoji emitujuq/Qgraphics-state operatore, pa pozivaoci mogu uokviriti clip, ExtGState i text-outline sekcije bez diranja content buildera
Fixed
- Popravljeno je ispadanje slobodnih unosa tradicionalne tabele iz spojene mape ukrštenih referenci pri učitavanju: classic-table type-0 unosi se sada beleže kao njihovi xref-stream pandani, pa drugi prolaz
SaveIncrementalUpdatevidi sačuvani slobodni lanac umestoSourceFreeObjectCount=0i izgubljenih generacija - Popravljeno je podizanje "Cannot call Start on a running or suspended thread" u
THPDFSignatureEvidenceTaskpri konstrukciji: zadatak se sada pokreće uAfterConstruction, nakon što je objekat potpuno izgrađen, umesto da trkuje RTL proveru thread stanja iznutra iz konstruktora
Version 2.569.0
Added
THPDFCertificateValidationOptions.TrustPurposebira policy bez ograničenja, za potpisivanje dokumenata, za potpisivanje koda, za zaštitu e-pošte, za vremenske oznake, za OCSP potpisivanje ili prilagođeni EKU policy, dok validacija putanje zadržava potpuno sprovođenje dozvoljenih i isključenih podstabala imena, mapiranje i inhibiciju sertifikat policy-ja, a izabrani purpose OID prijavljuje uTHPDFCertificateValidationInfo
Version 2.568.0
Added
THPDFSignatureEvidenceTaskpribavlja dokaze vremenskih oznaka, OCSP i CRL kroz ograničene background worker-e sa stabilnim redosledom rezultata, eksponencijalnim retry-jem i ograničenim kašnjenjima servera, kooperativnim otkazivanjem, limitima veličine odgovora, izolacijom transportnih izuzetaka, živim snapshot-ovima i jasno razdvojenim ishodima trajnog otkaza, iscrpljenih pokušaja, otkazivanja i prevelikog odgovora
Version 2.567.0
Added
THPDFWindowsKeyStorageSignatureProviderpotpisuje kroz smart-card, TPM i CNG key-storage provider-e proizvođača bez izvoza privatnih ključeva, podržava pretragu trajno sačuvanih ključeva ili pozajmljene i vlasničkeNCRYPT_KEY_HANDLEvrednosti, opciono sprovođenje hardverske upotrebe, tih pristup, RSA PKCS#1 v1.5, RSA-PSS, ograničen izlaz i klasifikaciju statusa provider-a uz postojeći PKCS#11 adapter
Version 2.566.0
Added
HPDFNormalizeContentStreamGraphicsStateiHPDFCompareContentStreamsSemanticporede dekodirane content stream-ove kroz ograničene kanonske događaje, eliminišući razlike u zapisu brojeva i niski, redundantna podešavanja graphics i text stanja, prazneq/Qopsege i ekvivalentne konkatenirane matrice, uz zadržavanje efektivnog stanja, operanada operatora i SHA-256 identiteta inline slika
Version 2.565.0
Changed
SaveIncrementalUpdatesada iznova gradi kompletan aktivni lanac slobodnih objekata posle destruktivnih izmena, čuva ranije slobodne generacije, uvećava novo oslobođene generacije uz saturaciju na 65535, zadržava nenulte generacije prepisanih objekata, emituje unose u determinističkom redosledu brojeva objekata i izlaže rezultat krozGetLastIncrementalXRefRebuildInfo
Version 2.564.0
Added
THPDFPage.TextOutOutlineoblikuje Unicode tekst po izboru pozivaoca kroz aktivni TrueType font, pretvara GDI zapise o pomeranju, liniji, kubnoj Bézier krivi i zatvaranju putanje u izvorne PDF putanje sa veličinom fonta, horizontalnim skaliranjem, pozicijom bazne linije i rotacijom, pa ih popunjava pod postojećim graphics stanjem isecanja, boje, blend režima, alpha i soft-maske bez ugrađivanja tekst operatora
Version 2.563.0
Added
FlattenLoadedPageComplexGraphicsotkriva mesh shading i složene Pattern resurse, procenjuje rastuće raster rezolucije naspram ograničene reference visoke rezolucije od 16 regiona uz metriku perceptuelne greške težinske po luminansi, čuva stranice sa spot bojama i emituje izabrani rezultat kroz ograničeni CalRGB tile writer bez šavova
Version 2.562.0
Changed
FlattenLoadedPageTransparencysada razrešava izvorne ICC, CIE, device, soft-mask, blend-space, rendering-intent i black-point-compensation boje kroz zajednički renderer, pa emituje Flate-komprimovane D65 CalRGB pločice bez šavova pod ukupnim raster i per-tile piksel budžetima pod kontrolom pozivaoca, uz telemetriju vršne memorije
Version 2.561.0
Added
ScrubLoadedRedactionRemnantsuklanja Redact anotacije i anotacije priloga, informacije o dokumentu, XMP i privatne metapodatke, pridružene i ugrađene fajlove i svaki indirektni font, sliku, payload ili drugi objekat koji posle redakcije ostane nedostižan, pa zatim kompaktuje brojeve objekata i prisiljava potpuno prepisivanje koje ne može zadržati bajtove inkrementalnih revizija
Version 2.560.0
Changed
ApplyLoadedRedactionssada postavlja even-odd granicu isecanja oko kompletnog sadržaja stranice, pa se presecajući tekst, putanje, slike, obrasci, inline slike i Form XObjects isecaju precizno, dok se direktan tekst operandi i pojedinačneTJstavke brišu preko četvorougaonika glifova, a preklapajući pravougaonici redakcije konzervativno spajaju
Version 2.559.0
Changed
- Uvoz stranica sada ponovo koristi ekvivalentne indirektne slike, Form XObjects, Patterns, ugrađene font programe, Font rečnike i ExtGState rečnike kroz stranice i izvorne dokumente preko kanonskih SHA-256 otisaka svesnih zavisnosti, uz statistiku pogodaka, promašaja i unosa na nivou celog odredišta
Version 2.558.0
Added
AnalyzeLoadedPageSemanticTextiExtractLoadedPageSemanticTextgrade stabilan redosled čitanja iz četvorougaonika glifova sa ponavljajućim trakama kolona, poravnatim redovima i ćelijama tabela, nivoima lista, naslovima, potpisima slika i tabela te vertikalnim zonama pune širine, koristeći ograničeno O(n log n) grupisanje umesto redosleda toka
Version 2.557.0
Added
- Izdvajanje iz učitanih stranica sada čuva višestruke skalirane
/ToUnicodeciljeve i vraća zapise znakova sa transformisanim četvorougaonicima, baznim linijama, izvornim klasterima i eksplicitnim članstvom komponenti ligatura, uz prijavu da li širine fonta i vertikalne metrike čine geometriju egzaktnom
Version 2.556.0
Changed
- Izdvajanje teksta iz učitanih stranica sada rekonstruiše nedostajuće ili nepotpune
/ToUnicodemape iz ugrađenih sfnt cmap formata 0, 4, 6 i 12, AGL podržanih imena glifova iz/Encoding /Differences, ispravno dekodiranih binarnih/CIDToGIDMaptokova i Adobe CID zbirnih tabela, uz iste fallback-ove dostupne obrnutoj zameni teksta
Version 2.555.0
Changed
- Ponovna upotreba shaping-a na strani proizvođača sada koristi hash pretragu, stabilne identitete sadržaja fonta, egzaktnu 64-bitnu feature masku, ključeve za vertikalu, skriptu, jezik i smer, plus unose rečnih isečaka vezanih za kontekst koji mogu sklapati ponovljene transformacije iste dužine kroz menjajuće tekstualne tokove, uz zadržavanje ograničene LRU memorije i detaljne telemetrije isečaka
Version 2.554.0
Changed
- Mešani tekst s desna na levo sada razrešuje uparene zagrade na osnovu jakih pisama obuhvaćenog i prethodećeg teksta, ogleda zagrade i uobičajene smerne operatore samo u RTL segmentima, čuva surrogate parove dopunske ravnine i grupe kombinujućih znakova tokom obrtanja LTR podsegmenta i drži sirove nizove glyph ID-jeva odvojeno od rukovanja Unicode interpunkcijom
Version 2.553.0
Changed
- Vertikalno pisanje sada izvodi porekla TrueType glifova iz
vmtxgornjih side bearing vrednosti iglyfgranica, daje prednostvrt2nadvertkroz kompletan GSUB prolaz koji čuva dužinu i koristi mapirane Unicode glifove vertikalnog prikaza za interpunkciju, uz zadržavanje izdvojenog izvornog teksta
Version 2.552.0
Added
- Registrovani OpenType kolor fontovi sada biraju najbliži ograničeni
sbixili CBDT/CBLC bitmap strike, bezbedno razrešujusbixduplikate zapisa glifova, prepoznaju PNG, JPEG i TIFF resurse, dekodiraju PNG i JPEG izvorno i pozicioniraju svaki bitmap prema ppem vrednosti strike-a i metrikama porekla bazne linije
Version 2.551.0
Changed
- Registrovani OpenType SVG kolor glifovi sada crtaju osnovne putanje, oblike, nasleđene punjene ispune i poteze, afine transformacije i gzip-komprimovane dokumente direktno kao PDF vektore, uz ograničeno parsiranje i fail-closed odbacivanje skripti, entiteta, eksternih resursa, aktivnih linkova, nepodržane prozirnosti i preteranog ulaza
Version 2.550.0
Changed
- Registrovani OpenType fontovi sada parsiraju ograničene COLR v1 paint DAG-ove i crtaju slojevite solid, linear, radial i sweep ispune kroz isecanje glifova, afine paint transformacije, višekratno upotrebljive kolor glifove, source-over redosled i PDF blend kompozicije, dok ciklični, preterani i van opsega grafovi fail-closed otkazuju pre ispisa stranice
Version 2.549.0
Added
BeginLoadedPageProgressiveRegionRendersada renderuje ograničen prozor korisničkog prostora kroz nastavljive slice-ove operatora, ponovo koristi keširane display liste, konzervativno izbacuje nepovezane paint objekte uz očuvanje napredovanja grafike i teksta, usklađuje memorijske rezervacije sa ROI-om i izveštava o broju vidljivih i izbačenih paint objekata
Version 2.548.0
Changed
- Overprint provera otiska sada čuva odredišne ploče kojih nema u DeviceGray, Separation i DeviceN bojama, primenjuje egzaktnu DeviceCMYK
/OPM 1zaštitu nula-komponenti, zamenjuje eksplicitno imenovane process ploče i kombinuje spot boje kroz njihove tint transformacije i alternativne prostore boja
Version 2.547.0
Changed
- Renderovanje učitanih stranica sada obrađuje izolovane i knockout grupe transparentnosti u ograničenim tile-ovima od 768 piksela, čuva apsolutne koordinate uređaja kroz ugnježdene grupe i soft maske vezane za tile, dekodira i tokenizuje svaki Form jednom i izlaže broj grupa, broj tile-ova, vršno tile skladište i procenjeno skladište bez tile-ova kroz
GetLastTransparencyGroupTileStats
Version 2.546.0
Fixed
- Luminosity soft maske sada razrešavaju i validiraju prostor boja za mešanje svoje grupe transparentnosti, izvode kolorimetrijski CIE Y za ICCBased i Lab sadržaj, konvertuju Separation i DeviceN boje kroz kompletne transformacije alternativnog prostora, primenjuju egzaktne pozadine po broju komponenti kroz vektorske, shading, mesh i slikovne putanje i ponovo koriste kompajlirane maske samo za odgovarajuće transformacije i rendering intent-e
Version 2.545.0
Added
- Renderovanje učitanih stranica sada izvršava Type 6, Type 10 i Type 16 threshold halftone-ove sa kompaktnom periodičnom geometrijom, egzaktnim 8-bitnim ili big-endian 16-bitnim poređenjem, nezavisnim Type 5 RGB screens i transfer prevaziđenjima, ograničenim 64 MiB kešom kompajliranih screen-ova i atomskim continuous-tone fallback-om za neispravne ili prevelike podatke
Version 2.544.0
Added
- Renderovanje učitanih stranica sada izvršava kompletne
/TRi/TR2nizove sa nezavisnim identity kanalima i evaluira keširane Type 0 sampled funkcije od jedan do četiri ulazne i izlazne dimenzije, sa svim standardnim zapakovanim dubinama uzoraka, eksplicitnim encode i decode mapiranjima, linearnom interpolacijom, višedimenzionalnom kubičnom interpolacijom i jednodimenzionalnim prirodnim kubičnim splajnovima pod budžetom od 64 MiB za keš funkcija
Version 2.543.0
Added
- Renderovanje učitanih stranica sada kešira dekodirane i tokenizovane Type 3 CharProc display liste po fontu, glifu, linearnoj matrici i stanju boja kroz 256-unosni, 131,072-tokeni LRU, čuva translaciju i punu semantiku izvršavanja
d0/d1i izlaže telemetriju pogodaka, promašaja, izbacivanja, veličine i zaobilaženja prevelikih unosa krozGetLastType3GlyphCacheStats
Version 2.542.0
Added
- Obojeni i neobojeni tiling šabloni sada se renderuju sa matricama šablona u roditeljskim podrazumevanim koordinatama, sa sva tri ISO tiling tipa, označenim koracima, izolovanim putanjama ćelija, doslednim osnovnim tintama ispune i poteza, transformacijama ugnježenih resursa, ograničenom rekurzijom i izvršavanjem tile-ova, dok
RegisterTilingPatterniTHPDFTilingPatternBuilderizlažu validiran izbor matrice i tiling tipa
Version 2.541.0
Added
- Učitane JPEG i JPEG 2000 slike sada mogu izabrati deterministički kvalitet rekompresije iz ograničenih proba kodiranja kombinovanjem sample-ovane greške percepcije ponderisane lumom sa relativnim troškom kodiranih bajtova kroz
OptimizeLoadedImagesByVisualCost, uključujući eksplicitne limite greške i uštede, provere otkazivanja, stabilno razbijanje jednakih rezultata i detaljnu telemetriju izbora
Version 2.540.0
Added
- Dekodiranje regiona JPEG 2000 sada može konkurentno rekonstruisati nezavisne presekuće codestream tile-ove sa stanjem kodeka po worker-u, determinističkom kompozicijom po redovima, proverama otkazivanja, automatskim limitima CPU i korisničkih workera, fallback-om budžeta vršne memorije i telemetrijom dekodovanja izloženom kroz
JPEG2000ParallelTileDecoding,JPEG2000TileWorkerLimitiGetLastJPEG2000ParallelDecodeStats
Version 2.539.0
Added
- Dekodovanje JPEG 2000 sada podržava validiran direktan pristup codestream tile-ovima, kombinovanu rekonstrukciju izvornog regiona i rezolucije od interesa stepena dvojke, budžete dekodovanog izlaza, zahteve za rezolucijom kroz crash-izolovane codec workere i automatski izbor renderera učitane stranice na osnovu vidljivih ciljnih piksela kroz
DecodeLoadedImageRegionAtResolution
Version 2.538.0
Added
- Progresivno renderovanje učitanih stranica sada dekoduje podobne
DCTDecodeslike po jedan JPEG scan uz svaki ograničeni nastavak, objavljuje brojače scan-ova i slika plus otkazive scan callback-ove, primenjuje budžete za izlaz i broj scan-ova i vraća se na kompletan put slike kod nekompatibilnog paint stanja, onemogućenog dekodovanja, codec izolacije ili neispravnog ulaza
Version 2.537.0
Added
- Učitane
CCITTFaxDecodeslike sada dekoduju T.4 i T.6 nekompresovane extension režime, razlikuju EOFB od nepodržanih ekstenzija, poštujuEndOfLine,EndOfBlockiDamagedRowsBeforeErrori oporavljaju oštećene Group 3 redove uz ograničenu EOL resinhronizaciju i zamenu redova definisanu specifikacijom
Version 2.536.0
Added
- JBIG2 zahtevi za slikovne regione sada grade ograničenu zatvorenost zavisnosti i dekoduju samo regione stranice koji se presecaju sa traženim tile-om, komponuju isečene piksele deklarisanim operatorima, preskaču nezavisne regione van prozora, čuvaju ulančane globalne rečnike i izlažu statistiku dekodovanja kroz
THPDFJBIG2Decoder.LoadRegionFromByteArray
Version 2.535.0
Added
- Izvorna Pascal JBIG2 putanja sada prihvata ograničene long-form tabele referenciranih segmenata sa identifikatorima od jednog, dva i četiri bajta, razrešuje višeslojne lance globalnih rečnika, odbacuje nevažeće zavisnosti i izlaže
HPDFJBIG2SplitSymbolDictionaryGlobalsza razdvajanje tokova uz očuvanje zavisnosti
Version 2.534.0
Added
- Izvorni Pascal JBIG2 dekoder sada čuva i ponovo koristi generičke i refinement aritmetičke kontekste verovatnoće kroz zavisne symbol rečnike, uključujući ulančane i fan-out reference, uz određivanje veličine konteksta svesno šablona, izolaciju dubokim kopiranjem i zaštite od neispravnog izvora
Version 2.533.0
Added
- Izvorni Pascal JBIG2 dekoder sada obrađuje aritmetičke i standard-Huffman refinement i agregatne simbole u symbol rečnicima, plus refinisane instance u tekstualnim regionima, uz deljene refinement kontekste, ograničene aritmetičke podtokove, adaptivne refinement šablone i zaštite od neispravnih referenci
Version 2.532.0
Added
- Učitavanje dokumenata velikog memorijskog otiska, renderovanje stranica, optimizacija tokova i paralelna optimizacija slika sada dele pravičan process-wide planer vršne memorije sa konfigurabilnim budžetom u bajtovima, FIFO i oversized prijemom, čekanjima svesnim otkazivanja, putanjom bez alokacija kad nema konkurencije, kumulativnom statistikom pritiska i telemetrijom rezervacije i čekanja po operaciji
Version 2.531.0
Changed
- Privremeno spill skladište sada koristi nezavisno komprimovane blokove od 256 KiB, zadržava nekompresibilne blokove bez širenja, grupiše upise kroz ograničen asinhroni red, podržava nasumično prepisivanje i promenu veličine i izveštava o logičkoj, fizičkoj, blokovskoj, serijskoj i backpressure statistici
Version 2.530.0
Changed
- Sirovi komprimovani opsezi, dekodovane slike, kompajlirane display liste i renderovane rasterske stranice sada kombinuju least-recently-used redosled sa ograničenim frequency sketch-om, sprečavajući da im jednoprolazna skeniranja izbace ustanovljene vruće unose
AdaptiveAdmissionmože vratiti čist recency prijem po sloju, dok se frequency prijemi, odbijanja i ciklusi starenja izlažu kroz statistiku keša
Version 2.529.0
Added
THPDFCacheAdmissionPolicyiSetCacheAdmissionPolicyobezbeđuju nezavisne granice po broju unosa, ukupnim bajtovima i po jednom unosu za sirove komprimovane opsege, dekodovane slike, kompajlirane display liste i renderovane rasterske straniceGetCacheAdmissionStatisticsizveštava o zauzeću, pogocima, promašajima, prijemima, odbijanjima i izbacivanjima za svaki sloj, dok prevelike display liste i rasterske stranice zaobilaze zadržavanje bez otkazivanja tekuće operacije
Version 2.528.0
Changed
- Učitani dokumenti sada interniraju ponovljene PDF imena, operatore content toka i nepromenljive stringove do 64 bajta u bazenu obuhvaćenom dokumentom, smanjujući duplirano skladištenje stringova kroz parsirane objekte i content operacije
GetDocumentStringInternStatisticsizveštava o zahtevima po kategoriji, pogocima, promašajima, zaobilaženjima, zadržanom skladištu i iskorišćenim bajtovima, dok čvrsti plafoni od 65,536 unosa i 4 MiB drže neprijateljske dokumente ograničenim
Version 2.527.0
Changed
- Učitavanje PDF-a sada koristi zadržanu blokovsku arenu za kratkotrajne parser tokene i bafere, smanjujući saobraćaj alokatora uz nezavisno vlasništvo nad trajnim objektima dokumenta
- Ključevi rečnika se parsiraju direktno bez konstruisanja privremenih name objekata, a
GetLastParserArenaStatisticsizveštava o zadržanom skladištu, vršnoj upotrebi, ponovnoj upotrebi alokacija, prometu tokena i izostavljanju privremenih objekata
Version 2.526.0
Changed
HPDFTransferStreamsada upisuje memory, mapped-file, lazy-file, adaptive-cache i range-cache izvore kroz putanje svesne skladišta, bez alokacije posrednog bafera za ceo tok- Serijalizacija nešifrovanih PDF tokova, dekodovani izlaz bez filtera, izvoz sirovih učitanih slika, materializacija lazy tokova i prelivanje privremenih tokova automatski koriste direktan prenos, uz mapped-file i range-cache brojače bajtova dostupne za dijagnostiku
Version 2.525.0
Changed
- Prefetch parsera sa nasumičnim pristupom sada raste adaptivno kroz 1, 2, 4 i 8 blokova tokom trajnog čitanja unapred, ostaje ograničen konfigurisanim kapacitetom keša i potiskuje se odmah nakon nasumičnih ili unazadnih seek-ova
AdaptiveReadAheadEnabled,MaxReadAheadBlocksiSequentialReadToleranceBytesizlažu kontrolu politike, dok statistika range keša izveštava o klasifikaciji pristupa i tekućim ili vršnim read-ahead prozorima
Version 2.524.0
Added
THPDFCoalescingRandomAccessSourcespaja susedna parser čitanja u konfigurabilne keširane opsege, sprovodi ograničeni least-recently-used budžet u bajtovima i izlaže statistiku izvora, keša i prefetch-aLoadFromRandomAccessSourcesada automatski primenjuje spajanje opsega i asinhroni prefetch sledećeg opsega, dok foreground seek-ovi otkazuju nepovezani rad iReadAtCancellableomogućava udaljenim transportima da kooperativno prekinu zahteve u toku
Version 2.523.0
Changed
- Type 3 radijalni shading-i se sada renderuju kroz adaptivnu Gouraud teselaciju sa ograničenom greškom umesto fiksnih diskova punih boja sa 48 stranica
- High-DPI i transformisane granice krugova koriste toleranciju tetive od 0.35 piksela uređaja, nelinearne funkcije boja se adaptivno dele, a neproširene unutrašnjosti početnog kruga ostaju neobojene
Version 2.522.0
Fixed
- Učitavanje lozinki sa V=4 sada razrešuje nezavisne
StrFiStmFpodrazumevane vrednosti zajedno sa direktnim ili nizovnimCryptprevaziđenjima na nivou toka - Parametri stream šifrovanja mogu izabrati
Identity,V2iliAESV2, a potrošeni filter unosi se uklanjaju pre nego što se pokrene ostatak pipeline-a dekodera toka
Version 2.521.0
Added
- Učitane
DCTDecode,JPXDecodeiJBIG2Decodeslike sada mogu da se dekoduju u crash-izolovanim Win32 ili Win64 worker procesima kroz ograničenu deljenu memoriju CodecIsolationModei kontrole worker putanje, timeout-a i limita memorije podržavaju kompatibilno automatsko primenjivanje ili fail-closed rukovanje za nepouzdane dokumente, uz strukturiranu telemetriju statusa, procesa, exit koda i vremena
Version 2.520.0
Added
THPDFDeterministicReplayLogbeleži ograničene uređene odluke za checkpoint-e otkazivanja, dostupnost random-access opsega i boolean ili integer ishode callback-ova, uz stabilan JSON izvoz i uvoz- Strogi replay validira identitet događaja, argumente i redosled, reprodukujući progresivno učitavanje, filtriranje anotacija i odluke o otkazivanju tile callback-ova nezavisno od tekućeg eksternog stanja
Version 2.519.0
Added
BuildLoadedObjectDependencyGraphsada izlaže ograničene čvorove indirektnih objekata i grane referentnih slotova sa egzaktnim identitetima objekata, putanjama, stanjem razrešavanja, stanjem životnog ciklusa i dostižnošću Catalog-a- Čvorovi objekata izveštavaju o prenosivim procenama plitke memorije i zadržanim bajtovima zasnovanim na dominatorima, tako da se deljeni resursi pripisuju najbližem objektu koji ih isključivo zadržava
Version 2.518.0
Added
- Ograničeni oporavak unakrsnih referenci sada izlaže strukturirani tok događaja koji pokriva prihvat i odbijanje kandidata, izabrane xref sekcije, ponovo izgrađene ofsete, otkaze zbog limita i konačne ishode
- Svaki događaj oporavka nosi inkluzivno-ekskluzivni opseg izvornih bajtova, identitet indirektnog objekta kada je primenjivo, eksplicitni nivo poverenja i ograničenu englesku dijagnostiku, uz konfigurabilno zadržavanje i evidenciju izbačenih događaja
Version 2.517.0
Added
- Ujedinjena telemetrija operacija sada izveštava o CPU vremenu tekućeg thread-a, vršnim dodatnim živim Delphi alokacijama, sample-ovanom working set-u procesa, promenama procesnih I/O bajtova, promašajima keša i širenju dekodovanih tokova uz postojeće metrike proteklog vremena i memorije komponenti
- Evidencija dekodovanja sada razlikuje kodirani ulaz, zbirni rad filtera i konačne izlazne bajtove, uz širenje objavljeno u promilima gde
1000znači1x
Version 2.516.0
Added
- Regresioni slučajevi neispravnih PDF-ova sada mogu kontinuirano da se ponovo validiraju i minimiziraju pod konfigurabilnim limitima pokušaja i bajtova, uz zadržavanje najmanjeg ulaza sa ekvivalentnim potpisom kroz process-bezbedno zaključavanje i atomsku zamenu
- Corpus PDF-ovi koriste stabilne case ID-jeve po potpisu greške i determinističke
hotpdf.corpus.case.v1sidecar fajlove koji sadrže SHA-256 sadržaja i broj bajtova
Version 2.515.0
Added
- Cross-engine regresione probe sada pokrivaju parse, render, text i save domene sa ograničenim ugrađenim HotPDF SHA-256 otiscima, proverama stabilnosti kroz ponovljena izvršavanja, izolovanim rezultatima izuzetaka, imenovanim engine-ima, limitima ulaza i determinističkim verzionisanim JSON izveštajima
Version 2.514.0
Added
- Verzionisani flat C ABI sada učitava PDF-ove kroz 64-bitne random-access callback-ove direktno u parser bafere i čuva ih kroz retryable sekventne write callback-ove bez prelaska Delphi-upravljanih tipova preko granice
HotPDFABI.dllisporučuje stabilnecdeclexporte, opaque validirane handlove, fiksne status kodove, eksplicitne dužine u bajtovima, otkazivanje, napredak, dijagnostiku, Win32 i Win64 build automatizaciju, import biblioteke ihotpdf_abi.hheader sa proverenim rasporedom
Version 2.513.0
Added
- PDF/UA-2, PDF/A-4 i PDF/X-6 validatori sada mogu vraćati jedan deljeni mašinski čitljiv model nalaza sa profilom, ozbiljnošću, stabilnim rule ID-jem, stavkom standarda, putanjom objekta, brojem objekta i lokacijom stranice koja se broji od nule
- Detaljni nalazi popravke PDF/UA-2 razlikuju primenjene, nerešene, vraćene i neuspele akcije sa brojačima popravki, dok
ComplianceFindingsToJSONemituje deterministički verzionisani JSON za CI i audit pipeline-ove
Version 2.512.0
Added
- Transakciona popravka PDF/UA-2 sada obnavlja nedostajući alternativni tekst iz postojećeg semantičkog teksta ili označenog sadržaja stranice, unapređuje važeći jezik dokumenta za nasleđivanje, zatvara praznine u nivoima naslova i usklađuje Artifact uloge strukture sa marked-content tagovima za dokumente proizvođača i učitane dokumente
- Opcije popravke izlažu eksplicitne podrazumevane vrednosti i ograničene fallback politike, dok izveštaj o popravci razlikuje uspešne izmene alternativnog teksta, jezika, naslova i artefakata od nerešene semantike koja zahteva pregled autora
Version 2.511.0
Changed
- Rekompresija učitanih slika i downsampling efektivnog DPI-ja sada konvertuju boje podržanih ICCBased, CalGray i CalRGB ulaza u eksplicitni kalibrisani RGB, dok nepodržane kalibrisane, Separation i DeviceN slike ostaju nepromenjene i izveštavaju o svojoj odluci o očuvanju
- Ravnanje transparentnosti sada emituje kalibrisani RGB, rekurzivno otkriva spot obojiva kroz stranicu i ugnježdene resurse i čuva stranice koje sadrže Separation ili DeviceN boje kao vektorski sadržaj uz strukturiranu dijagnostiku statusa
- CalRGB renderovanje sada poštuje redosled elemenata PDF matrice i primenjuje ispravnu inverznu XYZ-to-sRGB transformaciju za vektorske i rasterske boje
Version 2.510.0
Changed
- ICC transformacije boja se sada ponovo koriste kroz thread-safe ograničeni LRU keš od 64 MiB sa ključem od kompletnog sadržaja source, proof i output profila, efektivnog rendering intenta i podešavanja black-point kompenzacije, izbegavajući ponovljeno parsiranje profila i konstruisanje transformacija kroz vektorske, slikovne, stranične i paralelne putanje renderovanja
Version 2.509.0
Changed
- ICC renderovanje učitanih stranica sada primenjuje sva četiri PDF rendering intenta i pravu black-point kompenzaciju kroz source, proof, output i sRGB transformacije za vektorske boje i slikovne uzorke, uz platformski servis boja zadržan kao compatibility fallback
Version 2.508.0
Changed
- LZW enkoder (
TPDFLZWCompressor) je dobioCompress(Input, Parms)overload koji primenjuje forward PNG/TIFF predictor pre kompresije, čime je simetričan saDecompress(Input, Parms)putanjom dekodera, pa se LZW+Predictor tokovi mogu pisati u oba smera - Interpreter content toka sada prati
cmoperator grafike i snima aktivni CTM na svaki emitovani glif (THPDFGlyphRecord.CTMA..CTMF), tako da pozivaoci mogu izračunati pravo poreklo u korisničkom prostoru prekoCTM * Tmkada matrice transformacija prethode tekstu. Glyph X/Y ostaju u tekstualnom prostoru (identity CTM je uobičajen slučaj), pa se postojeće ponašanje ne menja ReplaceLoadedPageText/ReplaceLoadedDocumentTextsada obrađuju pogotke koji se protežu preko dva ili više uzastopnih simple-string operanada (npr.(Hel) Tj (lo) Tj): početni operand dobija kompletan tekst zamene (kodiran kroz svoj font, uz očuvanje nepoklopljenog prefiksa), a svaki sledeći operand u opsegu pogotka se prazni. Ranije su takvi pogoci preko više operanada tiho preskakani kao dokumentovano ograničenje; ponašanje zamene sa jednim operandom je nepromenjeno
Version 2.507.0
Added
- Dodato selektivno šifrovanje toka: novi
THPDFStreamObject.SkipEncryptionflag, koji encryption gateway pisaca poštuje, drži pojedinačni tok u plaintext-u čak i kada je aktivno šifrovanje celog dokumenta (ISO 32000-1 7.6.4 selective crypt filter /Identity). Ovo je temelj za mešovite šifrovane/plaintext tokove u jednom dokumentu
Version 2.506.0
Added
- Dodato nasleđeno RC2 PFX dešifrovanje:
DecryptPKCS12EncryptedBytessada rutirapbeWithSHA1And40BitRC2-CBC(OID 1.2.840.113549.1.12.1.6) ipbeWithSHA1And128BitRC2-CBC(1.2.840.113549.1.12.1.5), klonirajući 3DES CryptoAPI putanju saKP_EFFECTIVE_KEYLENparametrom postavljenim na 40 / 128, tako da se uvezeni RC2 key materijal čita sa ispravnom efektivnom jačinom umesto pune dužine - Dodato burn-in redigovanje:
ApplyLoadedRedactionsprolazi kroz svaku/Subtype /Redactanotaciju, prazni donje text-showing string operande čiji glifovi padaju unutar/Rectanotacije (bajtovi postaju razmaci, pa tekst zaista nestaje iz izdvajanja umesto da bude samo prekriven), ponovo boji neproziran pravougaonik preko svakog regiona i vraća broj ispražnjenih operanada. Podržava argument opsega stranica (''= sve stranice). Takođe dodajeAddLoadedRedactAnnotationza kreiranje/Redactanotacija na učitanoj stranici. Praznjenje stavki TJ niza i isecanje vektora/slika su van obuhvata za ovu rundu (single-string Tj /'/"operandi se prazne; pogođeni TJ stringovi se preskaču sa fill-rectangle fallback-om)
Version 2.505.0
Changed
- Interpreter teksta sada razrešuje horizontalni napredak svakog glifa iz prave
/Widthstabele fonta (PDF 1.7 9.6.3) preko novogIHPDFFontResolver.Advancemetoda, umesto ranije ravne0.5 * fontSizeaproksimacije.HPDFBuildFontDecoderčita/FirstChar,/LastChari/Widthsniz brojeva za jednostavne (non-CID) fontove; kada širina nije dostupna, resolver vraća 0 i interpreter zadržava half-em fallback, pa se ponašanje za fontove bez širina ne menja. Ovo poboljšava tačnost pozicioniranja glifa po X za izdvajanje teksta, detekciju kolona i analizu redosleda čitanja
Version 2.504.0
Added
- Dodato
SetLoadedAcroFormCalculationOrderza ponovnu izgradnju AcroForm/COniza redosleda proračuna u redosledu imena polja koje dostavlja pozivalac (polja koja se ne razreše se preskaču), tako da lanac proračuna može da se napiše eksplicitno umesto samo da se nadovezuje - Dodato
RegisterNChannelColorSpace, DeviceN-varijanta pomoćnika za prostore boja koji emituje/NChannelmarker (PDF/X-6 / PDF 2.0) za prostore boja koje među svojim obojivima mogu imati i process boje - Dodato
SetStructureElementClassza upis/Cniza imena klasa elementa strukture (PDF 1.7 14.9.2.2) koji referencira deljene klase atributa - Dodato
AddLoadedPagePieceInfoza upis page-piece rečnika (PDF 1.7 14.5) pod/PieceInfo/<Application>sa/LastModifieddatumskim žigom i parovima ključ/vrednost koje dostavlja pozivalac
Version 2.503.0
Added
- Pretraga teksta bez obzira na velika i mala slova sada savija Unicode umesto samo ASCII: deljeni matcher glifova (
HPDFMatchGlyphs) zamenjuje svoju A-Z redukciju na mala slova saTCharacter.ToLower(Unicode Simple_Lowercase_Mapping), pa se akcentovana latinička (À-ý), grčka (Α-Ω) i ćirilička (А-Я) velika slova poklapaju sa svojim oblicima malih slova uSearchLoadedPageText/SearchLoadedDocumentText. Pre-XE2 build-ovi zadržavaju ASCII fallback - Dodat inline-image callback apstrakciji content uređaja:
IHPDFContentDevice.ProcessInlineImagese aktivira za svakiBI/ID/EIblok kada uređaj deklariracdcNeedImages, noseći normalizovani sažetak širine / visine / prostora boja / image maske koji je ravni tokenizer već zabeležio na BI tokenu. Uređaji za izdvajanje teksta, enumeraciju putanja i reviziju sada mogu računati na inline slike umesto da ih tiho preskaču; page renderer usmerava callback na no-op jer inline slike crta kroz svoju produkcionu petlju
Fixed
- Popravljeno tiho ispuštanje PDF/A OutputIntent-a dodatog u učitani dokument u
SaveLoadedDocument:AddPDFAOutputIntentje punio listu intent-a u memoriji, ali putanja čuvanja učitanog dokumenta nikada nije prikačila katalog, pa je izlaz padao na veraPDF-u zbog nedostajućih/OutputIntents. NoviEnsureLoadedPDFAOutputIntentskorak sada kačiFOutputIntentsna/OutputIntentsniz učitanog kataloga i označava ga dirty pre čuvanja, prisiljavajući ponovnu serijalizaciju sa prisutnim intent-om
Version 2.502.1
Fixed
- Popravljeno renderovanje vrednosti poravnatih AcroForm polja kao debele konture umesto normalnog popunjenog teksta:
EnsureLoadedFieldAppearanceStreamsada emituje eksplicitan0 Tr(fill) odmah nakonBTu svakom generisanom widget appearance toku, tako da je režim renderovanja teksta deterministički bez obzira na okolno stanje sadržaja stranice. Ranije je istekli1 Tr(stroke) na graphics stanju bio nasleđivan od Form XObject-a konzumiranog prekoDo, bojeći vrednost polja crvenom konturom od 2 poena koja je izgledala podebljano i pogrešno obojena - Uklonjen nasleđeni blok resetovanja podrazumevanog stanja na kraju
THPDFPage.CloseCanvaskoji je upisivao1 0 0 RG/rg+1 Tr+2 wdirektno u content tok stranice nakonGStateRestore(tj. van svakog q/Q para) bez ikakvog path operatora koji bi ih potrošio. To zaostalo graphics stanje curilo je u sve što je crtano kasnije na stranicama proizvedenim autorstvom i bilo je uzvodni izvor gore opisanog simptoma debele konture teksta; zatvaranje platna sada ostavlja content tok čistim jer q/Q oko metafile replay-a već izoluje stanje replay-a
Version 2.502.0
Added
- Dodat LZW enkoder (
TPDFLZWCompressor) simetričan postojećemTPDFLZWDecompressor-u, pa se tokovi mogu pisati LZW-om i skup PDF filtera je sada kompletan u oba smera; enkoder ogleda Clear / EOI pozicioniranje dekodera, rast koda promenljive širine i EarlyChange konvenciju, i prolazi povratno kroz dekoder uključujući i preko 12-bitne saturacije punog rečnika - Dodata puna podrška za CSS / X11 imenovane boje HTML parseru boja teksta, proširujući prepoznatu paletu od starih 16 VGA boja na kompletan skup CSS Color Module Level 4 (od aliceblue do yellowgreen, uključujući gray/grey, aqua/cyan i fuchsia/magenta aliase) preko tabele sa binarnom pretragom
- Dodato kreiranje Optional Content Membership rečnika sa
AddLoadedOptionalContentMembership, koje gradi/Type /OCMDobjekat čija se/OCGslista i/Ppolitika (AnyOn / AllOn / AnyOff / AllOff) slivaju u postojećiEvaluateLoadedOCVisibilityevaluator, tako da se kompleksni izrazi vidljivosti slojeva sada mogu i pisati, a ne samo konzumirati - Dodata ulazna tačka rich-text FreeText anotacije
AddLoadedFreeTextAnnotationRichTextkoja kači/RCrich-content XML fragment i opcionu/DSpodrazumevanu stilsku definiciju na FreeText anotaciju (PDF 1.5 12.5.6.16), upotpunjujući field-nivo/RVputanju - Dodat katalog
/RequirementswriterAddLoadedDocumentRequirement(ISO 32000-1 7.7.4) koji dodaje requirement rečnike sa/Splus parovima ključ/vrednost koje dostavlja pozivalac u/Requirementsniz kataloga - Dodato prepoznavanje Type 16 halftone-a (threshold maske) u page rendereru:
/Widthmaske pokreće ekvivalentnu frekvenciju screenovanja tako da stranica zadržava halftone ritam umesto da tiho odbaci operator, uz dijagnostiku koja označava aproksimaciju
Changed
- Proširen ASN.1 BER/DER dekoder da prihvata high-tag-number long formu (tag >= 31), BER indefinite-length formu za konstruisane čvorove (završenu 00 00 End-of-Contents markerom, uz skeniranje bezbedno za rekurziju) i long-form dužine do X.690 8-bajtnog plafona, pa CMS paketi trećih strana koji koriste ove forme bivaju parsirani umesto da dižu izuzetak; novi
IsIndefiniteiExtendedTagNumberpolja zapisa beleže koju je formu koristio parsirani čvor - Izoštrene fallback dijagnostike renderera: Type 1 function-based shading sada izveštava o specifičnoj poruci umesto generičke "unsupported shading type", a nepodržani halftone tipovi navode stvarni broj tipa u dijagnostici
Version 2.501.0
Added
- Dodati PDF 2.0 structure odredišta i linkovi sadržaja stranice generisani iz marked-content podataka, koje čine
FindStructureElementForMCIDobrnuto pretraživanje konstantnog vremena koje razrešava (stranica, MCID) par nazad do njegovog vlasničkog StructElem-a kroz ParentTree dokumenta, lokalniAddStructureDestinationLinkkoji emituje GoTo akciju koja nosi i obavezni page-koordinatni/Dfallback i PDF 2.0/SDniz koji imenuje ciljni StructElem indirektnom referencom, i udaljeniAddGoToRStructureDestinationLinkčiji je prvi element/SDbyte-string/IDciljnog elementa u eksternom fajlu, pa PDF 2.0 pregledači skaču na sadržaj strukture dok se stariji pregledači vraćaju na imenovanu stranicu
Version 2.500.0
Added
- Dodata ograničena PDF/UA-2 validacija i transakciona popravka za kompletno PDF 2.0 numerisanje listi i lanace nastavka, pravilne tablične mreže i grupe redova, asocijacije i cikluse zaglavlja lokalne za tabelu, egzaktne Ruby i Warichu sekvence dece, savete izgovora po elementu i uređene ugrađene PLS leksikone izgovora, uz nove pomoćnike za autorstvo, stabilnu dijagnostiku, brojače semantičkih popravki i rollback za dvosmislene defekte strukture
Version 2.499.0
Added
- Dodato generisanje PDF/X-6, PDF/X-6p i PDF/X-6n i ograničena validacija za PDF 2.0 dokumente, uključujući ugrađene, eksterne, Catalog-nivoa i stranične output intent-e; checksum-ove eksternih profila, ICC verzije, potpise prostora boja i tabele N-obojiva; validaciju nasleđenih page-box-ova; ograničenja exchange-akcija, izgleda anotacija, fontova, formi, graphics stanja i resursa; stabilnu dijagnostiku svesnu stavki; i fail-closed validaciju generisanja
Version 2.498.0
Added
- Dodata ograničena, nemutirajuća PDF/UA-2 validacija i transakciona popravka namespace-ova i atributa strukture za dokumente proizvođača i učitane dokumente, uključujući kanonsku registraciju namespace-ova, čišćenje duplikata i nevažećih namespace-ova, otkrivanje sukoba role-mape, popravku standardnog namespace-a strukture, eksplicitne custom namespace-ove atributa, normalizaciju revizija, strukturirane izveštaje, nezavisne limite objekata i mutacija i automatski rollback kada validacija i dalje ne prolazi
Version 2.497.0
Added
- Dodato ograničeno generisanje PDF/A-4, PDF/A-4e i PDF/A-4f i validacija učitanih dokumenata sa pravilima specifičnim za profil za anotacije, akcije, ugrađene fajlove, metapodatke, output intent-e, fontove, forme i optional-content; strukturiranom dijagnostikom sa stabilnim kodovima, stavkama i lokacijama objekata ili stranica; fail-closed validacijom
EndDoc-a; izostavljanjem trailerInfo-a; obaveznim PDF/A-4fEmbeddedFilesstablom imena; i kompletnim grafovima priloga
Version 2.496.0
Added
- Proširen ograničeni AcroForm JavaScript evaluator sa tipiziranim boolean, number, string, null, undefined i array vrednostima; short-circuit logičkim, poredbenim, izrazima jednakosti, unarnim i uslovnim izrazima; determinističkim funkcijama datuma; string i array metodama; očuvanom kompatibilnošću numeričkih polja; i eksplicitnim limitima skripti, iskaza, dubine, operacija, argumenata, kolekcija, stringova i memorije vrednosti
Version 2.495.0
Added
- Dodato izvorno CFF2 instanciranje varijabilnih fontova i glyph subsetting sa fvar i avar 1.0/2.0 razrešavanjem koordinata, VariationStore blend evaluacijom, rekurzivnim ravnanjem podrutina, očuvanim multi-FD rečnicima i hint podacima, bakingom metrika HVAR/VVAR/MVAR, ograničenim fail-closed parsiranjem i automatskom RegisterUnicodeTTF integracijom
Version 2.494.0
Added
- Dodate ugnježdene copy-on-write transakcije grafa objekata sa snapshot-ovima indirektnog korena pri prvom upisu, rollback-om na licu mesta, obnovom dodatih objekata i brojeva objekata, ograničenim prelivanjem u privremene fajlove za velike tokove, automatskim praćenjem mutacija kontejnera, eksplicitnom pripremom raw upisa i statistikom memorije u živo
Version 2.493.0
Added
- Dodat ograničeni content-stream AST koji čuva tokene sa leksimama celih bajtova, povezanim čvorovima operacija i kontejnera, nepreklapajućim edit overlay-ima, byte-egzaktnim no-op povratnim prolazima, strimovanom serijalizacijom i bezgubitnom ciljanom zamenom teksta
Version 2.492.0
Added
- Dodato ograničeno prozorsko memorijsko mapiranje za učitavanje velikih lokalnih PDF-ova sa deljenim pristupom lazy tokovima, konfigurabilnim pragom i geometrijom LRU prozora, automatskim fallback-om na tok, čitanjima preko prozora, deljenjem kroz atomsku zamenu i dijagnostikom mapiranja
Version 2.491.0
Security
- Lozinke, izvedeni ključevi fajla i objekata, keširani AES rasporedi, plaintext privatnih ključeva PKCS#12, pomoćni prostor autentifikovanog dešifrovanja i baferi plaintext-a direktnog strimovanja fajlova sada se eksplicitno prekrivaju na svakoj putanji uspeha i izuzetka
Version 2.490.0
Changed
- Promenjeno odloženo Standard-security dešifrovanje da uhvati ograničen sirovi encryption objekat i trailer ID kroz autoritativni xref ofset tokom učitavanja, čuvajući egzaktne binarne ključne unose i uklanjajući kasnija čitanja kompletnog izvora na važećim dokumentima
Version 2.489.0
Changed
- Promenjeno učitavanje lozinki da oporavlja RC4 i AES ključeve fajla iz ograničenih trailer, xref, document-ID i autoritativnih opsega encryption rečnika, izbegavajući zahteve za kompletnim izvorom kod važećih random-access dokumenata uz zadržavanje compatibility fallback-a
Version 2.488.0
Added
- Dodato renderovanje učitanih stranica za Shading tipove 4 do 7 sa byte-poravnatim dekodovanjem mesh-a, ponovnom upotrebom ivica nastavka, Gouraud bojama svesnim funkcija, ograničenom adaptivnom Coons i tensor-produkt teselacijom, grupisanim popunama trouglova, klipovanjem, pozadinama i budžetima za neispravan ulaz
Version 2.487.0
Changed
- Promenjeni PFX, eksterni potpisnik i signature-provider tokovi rada da kopiraju ograničenim baferima od 256 KB, hash-uju tokom opsege bajtova za zakrpu i seek-zakrpljuju
/ByteRangei/Contentspolja fiksne širine, uključujući potpisivanje istog toka bez zadržavanja kompletnog drugog PDF-a
Version 2.486.0
Added
- Dodato izvorno standard-Huffman JBIG2 dekodovanje za
SDHUFFsymbol rečnike iSBHUFFtekstualne regione, uključujući svih 15 Annex B tabela, sirove ili MMR kolektivne bitmape, tabele symbol-ID po regionu i ograničene zaštite od neispravnog ulaza
Version 2.485.0
Added
- Dodato RC4-128 i AES-128 šifrovano pisanje object toka i ponovno učitavanje lozinke sa ograničenim pre-parse oporavkom ključa, ispravnim izvođenjem ključa po broju objekta, rukovanjem lenjim komprimovanim članovima i bez ponovnog čitanja celog fajla nakon uspešnog oporavka ključa
Version 2.484.0
Added
- Dodate transakcione sesije izmene formi i ograničene event akcije, kompletna FDF razmena polja, anotacija i statusa, deterministički XFA fallback-ovi specijalizovanih vidžeta i napredna paginacija, strimovana validacija ugrađenih fajlova, napredni Portfolio prikazi, sortiranje, fascikle, navigacija i izmena šeme, petodimenzionalni JSON budžeti operacija, callback-om zasnovan integracioni ABI i minimizacija korpusa uz očuvanje greške sa diferencijalnim regresionim probama
Version 2.483.0
Added
- Dodat stabilan kompletan JSON izvoz grafa objekata i validirano zakrpavanje, nematerijalizujući uvid u object tokove, ograničena validacija linearizacije, kanonski identifikatori dokumenata izvedeni iz sadržaja za reproduktivni izlaz, eksplicitne politike nedostižnih objekata, ograničeno sređeno višeizvorično sklapanje stranica, nezavisno ciklična kompozicija overlay-a i underlay-a, geometrijski kompletno ravnanje rotacije stranica i podrška za čitanje, pisanje i poništavanje sličica stranica
Version 2.482.0
Added
- Dodata eksternalizacija inline slika svesna sadržaja, čišćenje resursa bezbedno za nasleđivanje i izgled, spajanje content tokova, kanonska deduplikacija Form XObject-a i ugrađenih fontova, politikom kontrolisana JPEG i JPEG 2000 rekompresija, deljenje JBIG2 globala sa egzaktnim poklapanjem, downsampling efektivnog DPI-ja uz upravljanje bojama i koordinaciju soft maski i adaptivno pakovanje object tokova svesno lokalnosti
Version 2.481.0
Added
- Dodate višekratno upotrebljive display liste stranica i prostorni indeksi, ograničeno renderovanje tile-ova i traka, determinističko paralelno renderovanje stranica, ravnanje transparentnosti, dijagnostika mastila i trapovanja, process i spot separation ploče, izvršive halftone i transfer funkcije i intent-svesni source, proof i output ICC pipeline-ovi sa black-point kompenzacijom
Version 2.480.0
Added
- Dodat raspored teksta i dokumenata svestan standarda sa Unicode prelamanjem redova i deljenjem reči, optimalnom kompozicijom pasusa, izbalansiranim kolonama, paginacijom fusnota i završnih napomena, dimenzionisanjem i paginacijom tabela, isključivanjem lebdećih elemenata, strukturiranim ugnježenim listama, keep grupama i ograničenim keširanjem shaped run-ova
Version 2.479.0
Added
- Dodato PDF/UA-2 autorstvo strukture svesno namespace-ova i ograničena jednoprolazna validacija za hijerarhiju, atribute, vlasništvo anotacija, pridružene fajlove, naslove, liste, tabele, formule i MathML
Version 2.478.0
Added
- Dodata validacija poverenja van mreže zasnovana na standardima sa delta i indirektnim CRL-ovima, strogom OCSP politikom, X.509 ograničenjima imena i politika sertifikata, politikom algoritama u trenutku evaluacije, determinističkom proverom više potpisnika i ugnježenih protivpotpisa i strukturiranim JSON izveštajima validacije
Version 2.477.0
Added
- Dodato AES-256 šifrovanje javnim ključem sa eksplicitnim RSA-OAEP hash politikama, ECDH i X25519 ili X448 dogovorom ključeva, CMS protivpotpisima i inkrementalnom obnovom PAdES-LTA vremenskog žiga koja čuva svaku raniju reviziju
Version 2.476.0
Added
- Dodato AESV4 šifrovanje direktnih fajlova sa ograničenom memorijom i autentifikovano dešifrovanje plus ISO/TS 32004:2024 samostalna proizvodnja PDF MAC-a, verifikacija, dijagnostika, atomski izlaz i preflight validacija
Version 2.475.0
Added
- Dodato ISO/TS 32003:2023 AESV4 šifrovanje lozinkom i autentifikovano učitavanje sa AES-256-GCM, jedinstvenim IV-ovima od 12 bajtova, autentifikacionim tagovima od 16 bajtova, PDF 2.0 developer ekstenzijama, pokrivanjem ugnježenih stringova, podrškom za object tokove i odbacivanjem neovlašćenih izmena
Version 2.474.1
Fixed
- CMS potpisivanje više ne otpada na kompilaciji kada callback potpisnika sa anonimnim metodama uhvati zapis sign opcija na Delphi Win32
- Potpisivanje sistemskim sertifikatima više ne otpada na kompilaciji kada digest callback uhvati zapis sign opcija na Delphi Win32
- E-Invoice demo se sada kompajlira nakon što je enumeracija problema validacije proširena dodatnim PDF/A-3 proverama priloga i XMP proverama
Version 2.474.0
Added
- Procesor JSON konfiguracije poslova koji podržava merge, split, optimise, encrypt i validate operacije sa strukturiranim rezultatima po operaciji
- Opaque-handle C ABI za visokovredne operacije nad dokumentima uključujući create, load, brojanje stranica, save i izvršavanje poslova za ugradnju iz drugih jezika
- Poređenje dokumenata sa page-count, page-text, object-count i rendered-image režimima koje vraća strukturirani JSON izveštaj o razlikama
Version 2.473.0
Added
- Višekratno upotrebljive validation politike sada pokrivaju ponovnu upotrebu WTPDF-a, pristupačnost i prijem validiranih deklaracija, izlažu metapodatke claim-ova deklaracija i greške svesne izvora, izvršavaju uređene serije kroz ograničene limite workera i reda čekanja i obezbeđuju nezavisne inspect, add-missing i synchronize režime za popravku XMP metapodataka
Version 2.472.0
Added
- CMS verifikacija sada podržava Ed25519 i Ed448 kroz dinamički izabrani platformski provider plus ML-DSA-44, ML-DSA-65 i ML-DSA-87 iza eksplicitne PDF 2.0 developer ekstenzije, dok zajednički ograničeni ugovor providera omogućava callback, udaljeno i PKCS#11 RSA potpisivanje sa ponovnim pokušajima, otkazivanjem, identifikatorima ključeva i parametrima specifičnim po algoritmu
Version 2.471.0
Added
- Renderovanje učitanih stranica sada cilja zajedničku apstrakciju uređaja za sopstvene bitmape, eksterne device kontekste poput štampača i enhanced metafajlove, dok opciono CMYK overprint proofing tumači
/OP,/opi/OPM 1za pregled kombinovanih process boja uz postojeće knockout renderovanje grupa transparentnosti
Version 2.470.0
Added
- Varijabilni OpenType fontovi sada izlažu metapodatke osa i imenovanih instanci sa validiranim izborom po osi i integracijom providera statičkih instanci, dok COLR i CPAL slojevi, SVG dokumenti glifova i CBDT bitmap strike-ovi mogu biti pregledani i renderovani kroz izvorne ili pozivaocem dostavljene putanje rasterizacije
Version 2.469.0
Added
- TrueType i OpenType font subsetting sada može ponovo koristiti validirane rezultate adresirane sadržajem iz trajnog disk keša sa atomskim upisima, oporavkom od oštećenja, izbacivanjem po pristupu unutar budžeta bajtova, očuvanim kompaktnim CID mapiranjem i uočljivom statistikom pogodaka, promašaja, upisa, odbijanja i izbacivanja
Version 2.468.0
Added
- Višekratno upotrebljivi layout elementi sada izlažu merenje bez bočnih efekata, sopstvene postavljene i prekoračujuće fragmente za paginaciju pasusa, redova, kontejnera i po meri, plus deklarativne pozadinske, header, footer i prednje slojeve primenjene u stabilnom redosledu kompozicije stranice
Version 2.467.0
Added
- Linearizovani random-access izvori sada izveštavaju o ograničenoj dostupnosti prve stranice i main-xref-a, učitani tokovi mogu koristiti determinističku rekompresiju Flate visokog odnosa sa četiri strategije, a nezavisni slikovni tokovi mogu se optimizovati konkurentno uz workere pod kontrolom pozivaoca i commits u redosledu izvora
Version 2.466.0
Added
- Učitani dokumenti sada izlažu clean, dirty, released i must-write stanja objekata, bezbedno oslobađanje object toka keša nakon čuvanja, xref free-list i generacijsku validaciju sa ograničenim detaljima u senci definicija, deterministički izlaz rečnika i dijagnostička čuvanja u QDF stilu koja čuvaju sadržaj
Version 2.465.0
Added
- ASCII85 i ASCIIHex filteri sada izlažu ograničene stream dekodere sa strogim krajnjim markerima, dijagnostikom neparnih niblova i očuvanim zaostatkom ulaza; učitani dokumenti mogu otvarati zero-copy slice-ove izvora samo za čitanje i izveštavati o statistici pipeline-a po filteru kroz preflight i optimizaciju tokova
Version 2.464.0
Added
- Učitane forme mogu bezbedno da evaluiraju ograničene skripte proračuna i validacije bez aktivnog JavaScript engine-a; RichMedia anotacije izlažu metapodatke imenovanih resursa, izdvajanje bajtova i ciljanu sanitizaciju; XFA ravnanje podržava indexed, wildcard, class i descendant SOM vezivanja plus ograničene numeričke FormCalc funkcije; i XFDF povratni putevi anotacija pokrivaju svaki podržani podtip anotacija kroz jedno simetrično mapiranje
Version 2.463.0
Added
- RSA-PSS CMS potpisivanje sada podržava konfigurabilnu so i interne, eksterne ili Windows CNG potpisnike; PDF/X izlaz validira produkcione uslove, ICC komponente i overprint kontrole; učitane označene stranice izlažu geometrijsku dijagnostiku redosleda čitanja; i PDF Portfolio-i mogu pisati i pregledati collection šeme plus metapodatke po fajlu
Version 2.462.0
Added
- Učitani AcroForm-i sada evaluiraju
/COredosled proračuna, regenerišu multiline, quadded, automatski dimenzionisane i comb izglede, razrešavaju normal, rollover i down stanja izgleda anotacija i poravnavaju izabrana polja samo u njihove vlasničke stranice; ravnanje svesno potpisa odbija DocMDP ili FieldMDP kršenja politika
Version 2.461.0
Added
- Renderovanje učitanih stranica sada primenjuje izolovane i knockout grupe transparentnosti, alpha i luminosity soft maske sa bojama pozadine i transfer funkcijama, kompletne Type 3 CharProc-ove u njihovom tekućem opsegu resursa, Form matrice sa potpunom obnovom graphics stanja i dekodovanje vidljivog regiona za isečene slike uključujući izvorno JPEG 2000 širenje regiona;
DecodeLoadedImageRegionizlaže pozivaocima egzaktno pravougaono rastersko dekodovanje
Version 2.460.0
Added
- Renderovanje učitanih stranica sada kešira odvojena optional-content i ICC stanja color intenta, obezbeđuje ignore, ograničeno-izveštajne i strict fallback politike za preskočene operatore ili objekte i objavljuje ujedinjenu telemetriju proteklog vremena, vršne memorije, dekodovanih bajtova, pogodaka keša, promašaja keša, broja objekata, uspeha i otkazivanja za učitavanje, renderovanje, progresivne slice-ove i optimizaciju tokova
Version 2.459.0
Added
BeginLoadedPageProgressiveRenderdodaje nastavljivo renderovanje stranice sa budžetima proteklog vremena i content operatora, delimičnim pristupom bitmapama, progress callback-ovima i eksplicitnim paused, completed i cancelled stanjima;THPDFCancellationTokeninstance u vlasništvu pozivaoca sada kooperativno otkazuju učitavanje dokumenta, sinhrono i progresivno renderovanje, optimizaciju tokova, preflight validaciju, PFX potpisivanje i potpisivanje preko Windows certificate store-a
Version 2.458.0
Added
ImmediateFlushLayoutpremešta završene tokove stranica u skladište zasnovano na fajlu radi ograničenog generisanja izveštaja; raspored pasusa sada podržava ograničenja zadrži-sa-sledećim, siroćica i udovica, bidi smer prvog-jakog sa eksplicitnim prevaziđenjima, ograničenu dijagnostiku koordinata, nasleđene dimenzije stranice, semantičke/Ppomoćnike i tipovane artefakte paginacije za zaglavlja, podnožja, vodene žigove i brojeve stranica
Version 2.457.0
Added
SetFontFallbackChainiTextOutWithFallbackdodaju uređeni izbor fonta svesnog skripte sa proverama pokrivenosti Unicode skalara i trajnom dijagnostikom nerešenih glifova; vertikalni tekst sada emituje kompletneIdentity-Vnizove sa/DW2i/W2metrikama izvedenim iz OpenTypevhea,vmtxiVORGtabela kada su dostupne
Version 2.456.0
Added
HPDFEncodePredictordodaje strogo TIFF i fiksno ili adaptivno PNG kodiranje prediktora za pakovane, 8-bitne i 16-bitne redove rasterskih podataka;ExtractLoadedImageToStreamizbegava nizove bajtova pune veličine za izvorne ili generički dekodirane slikovne sadržaje;OptimizeLoadedStreamsselektivno rekompresuje podržane familije filtera kroz prelivne bafore memorije-u-disk i zamenjuje samo tokove koji dostižu pozitivan prag uštede
Version 2.455.0
Added
DecodeLoadedStreamToStreamsada komponuje učitane PDF filtere u ograničeni lanac čija završna faza piše direktno u tok pozivaoca;DocumentDecodeBudgetBytesdodaje podrazumevani plafon od 1 GiB kroz nezavisne lance, dok zaštite broja-filtera, dubine ugnježđivanja, cikličnih referenci i rekurzivnih tokova izlažu strukturiranu dijagnostiku lanca
Version 2.454.0
Added
- Veliki učitani tokovi sada ostaju na opsezima izvornog fajla do mutacije i prelivaju prevelike izmene u fajlove u vlasništvu preko
LoadedStreamMemoryThreshold; članovi kompresovanih tokova objekata se indeksiraju i materijalizuju po broju objekta pri prvoj upotrebi;LoadFromRandomAccessSourcedodaje integraciju HTTP opsega i prilagođenog skladišta, sa dijagnostikom toka i keša objekata
Version 2.453.0
Changed
- Dopunska snimanja sada čuvaju trajni ID trejlera kroz svaku reviziju, rotiraju samo ID izmene, ne emituju dopunjenu reviziju kada graf učitanih objekata nije promenjen i izlažu odluke spajanja hibridnih referenci kroz
GetLoadedXRefMergeInfosa eksplicitnim brojačima xref toka, preklapanja tabele i prvenstva najnovije revizije
Version 2.452.0
Added
- Dodat je izvorni PDF 2.0 izlaz plus autorisanje PDF/A-4, PDF/A-4e, PDF/A-4f i PDF/UA-2, sa XMP identifikacijom svesnom reviziji, PDF 2.0 strukturnim ulogama, registracijom imenskog prostora kroz
RegisterStructureNamespaceiAddStructureElementNS, strogom PDF/UA-2 validacijom strukture i profilno-neutralnim pridruženim fajlovima krozAddPDFAssociatedFile
Version 2.451.0
Added
DetectFacturXInvoicesada izlaže dekodirani MIME tip primarnog priloga i vezani URI XMP imenskog prostora, dokValidateFacturXInvoiceunakrsno proverava tačan FileSpec koji dele Catalog/AFi stablo imena EmbeddedFiles, imena/Fi/UF, XML MIME tip, XMPDocumentTypei profilno-specifični Factur-X ili ZUGFeRD imenski prostor kroz četiri namenska zastupice problema
Version 2.450.0
Added
- Preflight JSON, HTML i veraPDF-stil nalazi sada nose stabilne imenske
ruleIdvrednosti plus mašinski čitljive lokacije sa logičkim opsegom, putanjom, PDF ključem i tačnim brojem objekta, indeksom stranice ili ofsetom bajtova kada su dostupni; JSON izveštaji takođe emituju dokumentovana ISOspecmapiranja i ostaju važeći kada nizovi sadrže više nalaza
Version 2.449.0
Added
SanitiseLoadedDocumentsada primenjuje smernice samo-JavaScript, aktivnog-sadržaja ili strogo-nepoverljivog-dokumenta na učitani PDF, prijavljuje uklonjene akcije i sadržaje, ne uspeva zatvoreno za nepoznate tipove akcija, uklanja nedostižne objekte kroz ograničeni ciklusno-bezbedan skoro-linearni obilazak, kompaktno žive brojeve objekata i atomično zamenjuje izvor pri snimanju na mestu
Version 2.448.0
Added
- Renderer učitanih stranica sada izvršava obojene i neobojene obrasce popločavanja plus aksijalne i radijalne obrasce nijansiranja za popune i poteze, uključujući matrice obrazaca, nasleđivanje nijansi, isecanje putanja, keširanu tokenizaciju sadržaja, ugnježdenu obnovu stanja grafike i ograničenu rekurziju i brojeve pločica za neprijateljske resurse
Version 2.447.0
Added
- Dodat je konfigurabilni plafon
DecodeBudgetBytesod 256 MiB po-lancu koji agregira izlaz iz ugnježdenih Flate, LZW, ASCIIHex, ASCII85, RunLength i slikovnih-prediktors faza pre nego što stignu u memoriju, saGetLastDecodeBudgetInfodijagnostikom i nula kao eksplicitnim režimom bez ograničenja
Version 2.446.0
Added
- Dodata je opcione
LinearizeOutputza brzi veb prikaz, koja emituje rečnik parametra linearizacije u prvih 1024 bajta, tabele nagoveštaja prve-stranice i deljenih-objekata, sekcije stranica uređene po zavisnostima i dve kompatibilne tabele ukrštenih referenci uz zadržavanje direktne izlazne fajla i toka i pouzdanu detekciju ponovnog učitavanja
Version 2.445.0
Added
- Učitani PDF-ovi sada koriste ograničeno oporavljanje ukrštenih referenci nakon oštećenih
startxrefdeklaracija ili neupotrebljivih xref podataka, prvo premeštajući važeću tabelu ili tok, a zatim obnavljajući validirane ofsete direktnih objekata sa prvenstvom najnovije definicije, filtriranjem lažno-pozitivnih ugnježdenih objekata, konfigurabilnim budžetima skeniranja i objekata, ograničenim xref-sidro pokušajima, strukturiranom dijagnostikom i snimanjem kompletnog prepisa
Version 2.444.0
Added
AnalyzeLoadedSignatureRevisionssada klasifikuje svaku dopunsku reviziju nakon izabranog potpisa kao dugoročnu validaciju, popunjavanje i potpisivanje formulara, napomene ili druge izmene, prijavljuje izmenjene i oslobođene objekte i imena polja i procenjuje usklađenost sa DocMDP i FieldMDP nezavisno kroz tradicionalne, tokovne, hibridne i kompresovano-objektne xref istorije
Version 2.443.0
Added
VerifyLoadedSignatureWithTrustiHPDFValidateCMSCertificatePathsada grade putanju sertifikata potpisnika do sidara poverenja koja isporučuje pozivalac i verifikuju potpise sertifikata, periode ispravnosti, Osnovna ograničenja, ograničenja dužine putanje i Upotrebu ključa- Offline validacija opoziva sada verifikuje OCSP i CRL potpise, autoritet odgovarača, identitet sertifikata, svežinu statusa i vremena opoziva uz davanje prioriteta VRI dokazima specifičnim za potpis pre dokaza DSS-a na nivou dokumenta, dokaza pozivaoca i CMS CRL-ova
THPDFSignatureInfo.CertificateValidationprijavljuje poverenje, dužinu putanje, sidro poverenja, vreme procene, status i izvor opoziva, vreme opoziva i probleme validacije nezavisno od kriptografskogsvValid
Version 2.442.0
Added
- Verifikacija učitanog potpisa sada kriptografski validira RFC 3161 vremenske oznake dokumenta u odnosu na PDF
/ByteRangei tokove vremenskih oznaka potpisa u odnosu na vrednost nadređenog CMS potpisa, dokTHPDFSignatureInfo.Timestampizlaže vrstu vremenske oznake, status, smernicu, otisak poruke, serijski broj, vreme generisanja, tačnost, redosled, nonce, TSA identitet i detalje sertifikata potpisnika tokena
Version 2.441.0
Added
- Verifikacija učitanog potpisa sada podržava CMS RSA-PSS potpise sa SHA-1, SHA-256, SHA-384 ili SHA-512 i validira eksplicitne parametre heša, MGF1 heša, dužine soli i polja-trailera
THPDFSignatureInfosada prijavljujeSignedRevisionLengthiUnsignedTrailingBytes, asvInvalidByteRangeidentifikuje strukturno nebezbedne opsege PDF potpisa
Changed
- Verifikacija potpisa sada vraća poziciju toka pozivaoca, poredi sekvenca bajtova osetljive na bezbednost bez ranih izlaza i prijavljuje kompletne parametre RSA-PSS algoritma
Fixed
- CMS verifikacija sada odbacuje preklapajuće, van-opsega, skraćene ili dvosmislene opsege bajtova i validira kompletan RSA PKCS#1
DigestInfoidentifikator algoritma umesto da prihvata bilo koju nisku okteta veličine sažetka
Version 2.440.0
Fixed
- Registracija Unicode fontova sada alocira kompletan bafer napretka glifa pre čitanja metrike fonta, čime se sprečavaju povrede pristupa u tokovima rada OpenType oblikovanja i podskupova fontova
GetWideTextWidthsada tumači keširane napretke Unicode-a u em jedinicama i prebacuje na merenje platforme kada metrika glifa nije dostupna, čime se vraćaju ispravno skalirane širine za prelom i rasporedBeginIncrementalUpdatesada označava učitane objekte čistim pre praćenja izmena pozivaoca, tako da nepromenjeni objekti ne budu prepisani, a napušteni rečnici šifrovanja se ispravno oslobađaju u dopunjenom odeljak ukrštenih referenci
Version 2.439.0
Added
HPDFDecodePredictoriHPDFTryDecodePredictorpružaju ograničeno dekodiranje za TIFF predikciju od 1, 2, 4, 8 i 16 bita i svih pet PNG filtera redova, sa strogom proverom redova i iskoristivom dijagnostikomTPDFLZWDecompressordodaje direktan izlaz toka, višekratno upotrebljive metode dekodiranja koje ne izbacuju izuzetke, konfigurabilna ograničenja izlaza i zahteve za terminatorom toka, te po-dekodiranje širinu koda, rečnik, resetovanje, proširenje i statistiku izlaza
Changed
- LZW dekodiranje sada koristi susednu arenu fraza, podržava oba PDF
EarlyChangerežima i oba redosleda popunjavanja bitova, obrađuje clear resetovanja iKwKwKproširenje striktno, i povećava izlaz niza geometrijski - Ekstrakcija učitanih Flate i LZW slika sada poštuje geometriju prediktora
DecodeParmsiEarlyChange, koristi prelivno bezbedno dimenzionisanje rastera, i deli istu implementaciju prediktora kao dekodiranje tokova ukrštenih referenci
Fixed
- Flate dekodiranje sa parametrima prediktora sada čita iz toka dekompresije umesto da kopira komprimovane ulazne bajtove u fazu prediktora
- Loše formirani LZW kodovi, skraćeni redovi, neispravne PNG oznake redova, nemoguća geometrija prediktora i preveliko proširenje sada deterministički ne uspevaju umesto da vrate delimične ili još uvek komprimovane podatke slike
Version 2.438.0
Fixed
THPDFViewerse sada kompajlira na Delphi XE2 do XE8, gdeWM_DPICHANGEDnedostaje uWinapi.Messages; konstanta poruke DPI-a po monitoru je sada definisana lokalno za alate starije od Delphi 10 Seattle, čime se obnavljaju TRIAL DCU izgradnje biblioteke za RAD Studio XE2..XE8 koje su prekinute saE2003 Undeclared identifier
Version 2.437.0
Changed
GetWideTextWidthsada meri Unicode tekst iz keša širine napretka po kodnoj tački, popunjenog jednom iz tabele hmtx fonta, umesto obilaskaCreateCompatibleDC+GetTextExtentPoint32Wpri svakom pozivu -- ubrzanje 10-100 puta za prelom reči, poravnanje i merenje ćelija tabele na dugim Unicode dokumentima, sa transparentnim prebacivanjem na nasleđeni GDI put kada nijedan Unicode font nije registrovan
Version 2.436.0
Fixed
/FontDescriptor /CapHeightugrađenog fonta sada koristi pravu metrikuotmsCapEmHeightlica umesto tvrdokodirane konstante, uz prebacivanje na ~70% uspona za lica koja prijavljuju nulu
Version 2.435.0
Fixed
- Ugrađeni Unicode fontovi sada zadržavaju glifove koje proizvodi OpenType oblikovanje (arapske prezentacione forme, ligature, kontekstne alternative) pri podskupu -- skup
FUnicodeExtraUsedGlyphskoji beležeMarkUnicodeGlyphUsed/EnableShapingFeatureForSubsetje bio zapisan ali ga podskupnik nikada nije koristio, pa su ti glifovi u izlazu padali na.notdef
Version 2.434.0
Added
THPDFWeightedCachedodaje nepromovišuće ispitivanje, Bulovo pretraživanje, eksplicitno uklanjanje i prenos vlasništva, trenutno skraćivanje budžeta, statistiku stope pogodaka i životnog ciklusa, kao i tokove SHA-256 ključeva sadržaja
Changed
- Velike uređene ToUnicode i CID CMap mape sada koriste logaritamsko pretraživanje znakova i opsega, čuvaju jednobajtne do četvorobajtne prostore kodova tačno, izoluju deljene raščlanjene mape po korenu resursa, i povećavaju memoriju raščlanjivača geometrijski
- Trajni keš renderovanih stranica sada atomicno zapisuje PNG i indeksne podatke, prati recentnost na nivou stranice, primenjuje smanjena ograničenja odmah, i oporavlja zastarele indekse, napuštene privremene fajlove, nedostajuće fascikle i neindeksirane fascikle dokumenata
Fixed
- Raščlanjivanje CMap-a sada ispravno obrađuje neparne heksadecimalne zalogaje i odbacuje loše formirane heksadecimalne podatke, neispravne ili prelivne opsege, negativne CID ciljeve i neograničena eksplicitna mapiranja, dok deterministički zamenjuje neispravne UTF-16 surogate sekvence
- Zamena u težinskom kešu više ne oslobađa objekat kada se ista instanca ponovo umetne pod njenim postojećim ključem, a oštećeni PNG unosi disk-keša se uklanjaju nakon neuspelog dekodiranja umesto da ne uspevaju pri svakom kasnijem pretraživanju
Version 2.433.0
Added
- Verifikacija učitanog potpisa sada podržava ECDSA P-256, P-384 i P-521 CMS potpise sa SHA-1, SHA-256, SHA-384 ili SHA-512, uključujući izbor potpisnika po izdavaocu-i-serialu i SubjectKeyIdentifier, strogu DER validaciju potpisa i proširenu dijagnostiku algoritama i krivulja
- ICC upravljanje bojama sada validira ICC v2/v4 profile, izvodi i verifikuje broj komponenti, deduplikuje registrovane profile, konvertuje ICCBased vektorske boje i sirove uzorke slika u sRGB sa podrškom za rendering-intent, i zadržava PDF Alternate prostor boja kao kontrolisano prebacivanje
Version 2.432.0
Added
THPDFTableCellsada podržava ćelije slika (ImageIndex+ImageAspectskaliraju registrovanu sliku na širinu kolone sa H/V poravnanjem) i HTML ćelije (IsHTMLrenderuje tekst ćelije krozTextOutHTMLza umetnuti bold/boja/veza/sub-sup označavanje), u skladu sa raznolikošću sadržaja ćelije koju izvoz mreže treba da nosi
Version 2.431.0
Added
- Novi
THPDFTableengine za raspored i renderovanje (HPDFTablejedinica) slaže tabele iz deklarisanih širina kolona i redova, sa po-ćeliji tekstom, poravnanjem, bojom i preglasavanjima fonta,ColSpan/RowSpanspajanjem, automatskim prelomom reči sa izmerenim visinama redova, pozadinama zaglavlja i zebra-pruga, i automatskim nastavkom preloma stranice koji ponavlja traku zaglavlja na svakoj stranici -- sve pokreće postojeće primitive crtanjaTHPDFPage, tako da proizvođači više ne moraju ručno da crtaju ćelije saRectangleiTextOut
Version 2.430.0
Changed
- Obrada toka sadržaja i uređivanje učitanih stranica sada se skalira efikasnije na velike tekstualne i putne radne opterećenja, čuva Unicode dopunske ravni i semantiku PDF putanja, poništava keševe stranica nakon mutacija, i dovršava upise u tokove koji prihvataju delimične bafore
Version 2.428.0
Added
THPDFPage.TextOutHTMLdobija preopterećenje za prelom reči koje primaMaxWidthi lomi dugačke redove na granicama reči, plus ugrađene oznake hiperveze (<a href>) i potiskom/nadopisom (<sub>/<sup>); hiperveze se crtaju plavo i podvučeno i registruju klikabilnu URI napomenu
Version 2.427.0
Changed
- Uzastopni tekstualni nizovi koji dele isti font i veličinu više ne reemituju operator
Tfpri svakom pozivu, smanjujući tokove sadržaja u dokumentima bogatim fontovima (tabele, pasusi) dok ga i dalje reemituju nakon obnove grafičkog stanja (Q) gde PDF to zahteva - Aproksimacija elipse u
THPDFPagesada koristi standardnu konstantu kubne-Bézier-kappa0.5522847498, podudarajući se sa svakom drugom implementacijom elipse i kružnice u jedinici i uklanjajući malo odstupanje zavisno od radijusa koje je proizvodila prethodna aproksimacija11/20
Version 2.426.0
Added
- Pregledač sada predgreje keš renderovanih stranica za stranice susedne onoj koja je upravo prikazana, koristeći pozadinsku nit pri istom DPI-u tako da sledeće okretanje stranice pogodi keš umesto ponovnog sinhronog renderovanja; novo svojstvo
PrefetchRadiuskontroliše koliko stranica sa svake strane se predgreje (0 ga isključuje)
Version 2.425.0
Added
- Renderer učitanih stranica sada dekodira i crta ugrađene slike (
BI/ID/EI) umesto da ih preskace, proširujući skraćene parove ključ/vrednost ugrađene slike i sirove bajtove u vreme tokenizacije i smeštajući rezultat kroz isto mapiranje CTM jediničnog kvadrata korišćeno za XObject-e slika
Version 2.424.2
Changed
- Keš diska renderovanih stranica sada prikuplja sve fajlove stranica u jednom skeniranju direktorijuma i izbacuje prelivni rep u jednom prolazu, zamenjujući prethodnu petlju ponovnog skeniranja-pri-izbacivanju koja je radila u kvadratnom vremenu u odnosu na broj stranica po dokumentu
- Deduplikacija slika sada memorise SHA-256 svakog pohranjenog toka slike i upoređuje heševe pre obilaska bajtova, tako da dodavanje iste velike slike na mnogo stranica više ne ponovo čita svaki prethodno pohranjeni tok pri svakom umetanju
Version 2.424.1
Changed
- Težinski keš dekodiranih slika i podskupova fontova sada rešava preglede putem indeksa heširanja i održava redosled najnedavno korišćenih putem indeksno utemeljene dvostruko povezane liste, pretvarajući svaki
Get,Puti unapređenje aktualnosti iz O(n) pomaka niza u O(1) rad, tako da renderovanje velikih višeslikovnih dokumenata više ne degradira kako se keš puni
Version 2.424.0
Changed
CompressLoadedDocumentsada poštujeCompressionLevel, obrađuje izvorne tokove u ograničenim komadima, zadržava originalni teret kada kompresija ga ne smanjuje, sigurno oslobađa zamenjene tokove i označava transformisane objekte toka prljavima tako daSaveLoadedDocumenttrajno pohranjuje rezultat umesto da uzme put kopiranja nepromenjenog fajla.DecompressLoadedDocumentkoristi istu sigurnu za vlasništvo putanju strujanja, uklanja identitetske/DecodeParmsi ostavlja tokove prediktora TIFF ili PNG komprimovanim sve dok faza prediktora ne može biti sigurno dekodirana
Version 2.423.0
Added
THPDFPage.AddCertificationSignatureFieldiConfigureCertificationSignaturesada stvaraju jedinstveni sertifikacioni potpis DocMDP sa sve tri nivoa dozvola i odgovarajućim povezivanjem Catalog/Perms /DocMDP, dokAttachSignatureFieldLockemituje neizravne politike SigFieldLock i odgovarajuće reference FieldMDP za opsege polja All, Include ili Exclude.THotPDF.GetLoadedSignaturePermissionsizvodi ograničeni strukturni pregled istog grafa dozvola, uključujući traženu izravnost, povezivanje sa korenom, slaganje politika i dijagnostiku, bez mešanja strukture politike sa kriptografskom valjanošću ili usklađenošću sa kasnijim revizijama
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