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 /Size mnogo 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 1a2a3a birao 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 i size atributa, 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), HTML font size atributa, 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-win32 i za x86_64-win64 kroz 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: AddImageFromFile sada prihvata .webp fajlove 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 /Rotate svake 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 /AP dobijaju sintetizovan izgled crtan iz sopstvenih svojstava — FreeText i Stamp tekst sa /DA stilizovanjem i /Q poravnanjem, Square i Circle oblici sa /C / /IC bojom i /BS širinom, Line i Ink potezi, te Highlight / Underline / StrikeOut / Squiggly quad oznake koje poštuju /QuadPoints i /CA neprozirnost
  • Skrivene napomene (zastavica /F hidden) 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 rowspan i colspan ć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

  • SubsetLoadedFonts sada 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

  • DownsampleLoadedImages sada 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, /Decode opsege 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 kroz TJpeg2000Bitmap.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 #id ponovnu upotrebu, a i dalje odbacuju skripte, spoljne resurse, slike i nepodržan aktivan sadržaj

Version 2.712.0

Changed

  • ReplaceLoadedPageText sada zamenjuje poklapanja koja se prostiru na TJ string 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 SyntheticBase sa 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, ApplyArabicGSUBContextualRefinement i 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.DrawAztec i samostalnu THPDFAztec jedinicu: 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.ExtractLoadedPageText i 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 Ceil dosledno 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, SaveLoadedPagesToTiffBanded i SaveLoadedPagesToTiffStreamBanded, uz upisivanje kompresovanih slikovnih podataka red po red kroz band enkodere, tako da veoma velike stranice ne traže kompletan framebuffer; THPDFBandImageExportInfo prijavljuje 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.SaveLoadedDocument i SaveLoadedDocumentToStream sada validiraju GTS_PDFA1 OutputIntent (nasleđen iz izvornog kataloga ili sveže registrovan) i emituju pdfaid:part / pdfaid:conformance XMP identifikaciju kada je PDFACompliance postavljeno, uz čuvanje postojećeg pdfaid paketa bajt-po-bajt pri ponovnom snimanju
  • Dodan je prijem vertikalnog pisanja (WMode 1) na strani učitavanja: CIDFont /W2 i /DW2 metrike ćelija sada vode ekstrakciju teksta i renderovanje stranice, obilazeći kolone niz y osu tekst-prostora sa v1x/v1y pozicionim vektorom umesto horizontalnih /W koraka

Version 2.704.0

Added

  • Dodato je paralelno renderovanje pločica i pojasova učitane stranice kroz THotPDF.RenderLoadedPageTilesParallel i THotPDF.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 jednim signatures/signHash zahtevom za uređenu seriju istog algoritma, uz sprovođenje lokalnih i akreditivnih multisign limita, 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.RenewPAdESLTATimestamp je 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, HPDFParsePFXByLocalKeyID i THPDFCMSSignOptions.PFXLocalKeyID, uključujući stroge jednovredne localKeyId i friendlyName bag 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 keyLength specifič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.NavigateUri Canvas-a u skladu sa specifikacijom za XPS i OpenXPS, pa Path, Glyphs i ugnježdeni Canvas vizuali dobijaju opsežni URI osim ako ga sami preglase, uz čuvanje external, mail, package-page i percent-dekodiranih LinkTarget akcija 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 Opacity i solid, gradient ili image Canvas.OpacityMask vrednosti 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.Clip za skraćenu geometriju, lokalne ili udaljene StaticResource PathGeometry vrednosti, direktne property elemente, strukturirane line, Bézier, quadratic i arc figure, transformacije geometrije, prazna isecanja i ugnježdeno EvenOdd ili NonZero isecanje kroz PDF W* ili W, 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 Path i Glyphs vizuale, uz čuvanje HTTP, HTTPS i mail linkova kao PDF URI anotacija i razrešavanje stranica relativnih na paket plus percent-dekodiranih LinkTarget fragmenata 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 VisualBrush za inline ili resursom podržane Canvas, Path i Glyphs vizuale, hijerarhijsku i udaljenu ResourceDictionary pretragu, apsolutni Viewbox, apsolutni ili relativni Viewport, None, Tile i 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 ToUnicode mape i amortizovano-linearan izlaz pozicioniranih nizova bez GDI zamene fontova

Version 2.691.0

Added

  • Dodat je ograničeni OpenXPS Glyphs Indices raspored za stroge brojače code-jedinica i glifova po klasteru, eksplicitne napretke u stotinkama em-a, horizontalne i vertikalne ofsete, obrnut napredak neparnog BidiLevel-a, solid popune atributa ili property elemenata, neprozirnost, izvorno PDF TJ grupisanje, 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.OpacityMask za solid, variable-alpha više-stanične linearne i eliptične radialne gradijente oraz obične, popločane ili refleksione PNG ImageBrush maske, 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 upotrebljiv RegisterLuminositySoftMaskState graditelj sa vezivanjem resursa alpha slike

Version 2.689.0

Added

  • Dodati su OpenXPS ImageBrush Tile, FlipX, FlipY i FlipXY rež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čenim RegisterImageTilingPattern API-jem za ponovo upotrebljive obrasce sa slikom

Version 2.688.0

Added

  • Dodata je podrška za OpenXPS ImageBrush.Transform za konačne matrice sa šest parametara u atributima i MatrixTransform property elemente, nadovezane posle izvornog Path isecanja 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; nestandardni RelativeTransform i nerazrešeni matični resursi ostaju eksplicitna dijagnostika

Version 2.687.0

Added

  • Dodato je postavljanje image XObject pod kontrolom matrice kroz THPDFPage.ShowImageMatrix i proširen XPS fixed-page uvoz sa paketnim JPEG, PNG, TIFF i JPEG XR ImageBrush popunama, apsolutnim ili na-granice-relativnim Viewbox i Viewport mapiranjem, 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 RadialGradientBrush vrednostima, 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, brainpoolP384r1 i brainpoolP512r1 ECDSA 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 HPDFInterpretContentTokensDevice i opciono kompletan IHPDFContentOperatorDevice proš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, javnim OperatorCount metrikama, očuvanom kompatibilnošću semantičkih uređaja, ispravljenom semantikom ", v i y operatora i korektnim rukovanjem EI terminatorom bez lažne fallback dijagnostike

Version 2.680.0

Added

  • Dodati su ograničeni transakcioni RepairPDFA4 preklopi 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 ConfigureCryptFilterDefaults i SetStreamCryptFilter, uključujući rezervisane filtere za lozinke i javne ključeve, /Identity, writer-ispravne password-security /EFF i vodeće /Crypt pipeline-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 BeginIncrementalUpdate preklop 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 /Encrypt reference, 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-identifier sa 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 SignerInfo zapisa kroz HPDFCMSBuildMultiSignedData i HPDFCMSMergeSignedData, 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 SubjectKeyIdentifier identiteti potpisnika kroz THPDFCMSSignOptions.SignerIdentifier, uključujući kompaktno IMPLICIT SID kodiranje, automatski izbor verzije SignerInfo i SignedData, 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 6211 CMSAlgorithmProtection, 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.ValidatePDFMACChain sa 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đenjem KDFSalt, odbacivanjem slabljenja jačine sažetka, proverama autentifikovanih /P i /Perms, preflight izveštavanjem i ograničenim parsiranjem revizija bez privremenih PDF kopija

Version 2.666.0

Added

  • Dodat je THotPDF.SignPDFWithPFXAndAttachedPDFMAC i validacija vezana za potpis sa direktnim AuthCode aktivnog trejlera, indirektnim SigObjRef-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.RegisterNChannelColorSpace da emituje ISO 32000-2 oblik DeviceN sa pet elemenata, /Subtype /NChannel i 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 /NChannel familijama 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 MacData sa 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: render rasterizuje svaku izabranu stranicu u <prefix>-page<N>.png kroz bitmap pipeline učitane stranice (--pages opseg, --dpi 10..2400, podrazumevano 150), tables izdvaja tipizirane tabele u CSV ili JSON preko ExportLoadedTypedTables (--json, -o fajl ili konzola), a compare štampa JSON izveštaj poređenja dva dokumenta kroz HPDFDocCompareDocuments (--mode 0..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 sa cmsFLAGS_NOOPTIMIZE samo 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 gvar torkama, IUP interpolacijom, jednostavnim i složenim ažuriranjima kontura, metrikama fantomskih tačaka, pečenjem HVAR, VVAR i MVAR, 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 /Count i 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 /Contents uč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, CIDToGIDMap i 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, M i d sada čuvaju širinu linije, imenovane cap i join stilove, miter limite, dash nizove i dash fazu; q/Q vraća ove atribute kroz ugnježdeni sadržaj i Form XObjects; even-odd paint operatori f*, B* i b* emituju fill-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.pas linkuje 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.bat automatizuje patch-and-compile pipeline. Poznato ograničenje: JS_NewRuntime uspeva, ali JS_NewContext udara u access violation jer uklanjanje _Atomic menja 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.DrawDataMatrix renderuje 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.DrawPDF417 renderuje matricu kodnih reči
  • Dodato je povezivanje QuickJS JavaScript engine-a (Lib/HPDFQuickJS.pas plus pre-built Win32/Win64 quickjs.dll pod thirdparty/QuickJS/bin/): dinamičko učitavanje DLL-a, runtime+context životni ciklus i evaluaciona API površina (Eval/EvalInt/EvalFloat); Eval kodna 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: decrypt učitava enkriptovani PDF sa datom lozinkom, dekriptuje ga preko DecryptLoadedDocument i snima neenkriptovanu kopiju (-o izlazna putanja, podrazumevano <input>-decrypted.pdf), a optimize rekompresuje svaki tok FlateDecode-om preko CompressLoadedDocument (-o izlazna putanja, podrazumevano <input>-optimized.pdf, odbija enkriptovani ulaz)

Version 2.605.0

Added

  • Dodata je generacija QR Code 2D bar kodova: novi Lib/HPDFQRCode.pas implementira 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). Metod THPDFPage.DrawQRCode renderuje enkodiranu matricu kao mrežu popunjenih kvadrata modula na svakoj stranici u pisanju (ModuleSize u 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: global FRevision bio je zastareo posle downgrada aes256 na aes128 pod podrazumevanom PDF 1.6 verzijom, pa je CreateKeys greškom odlazio u V5 granu koja nikada ne popunjava nasleđene /O i /U password hash-eve — serializovani enkripcioni rečnik je tada nosio prazne ili zastarele password niske i datoteka se nije mogla otvoriti. Popravka ponovo izvodi FRevision iz downgradovanog FCryptKeyType i 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 html komanda: renderuje ograničenu HTML datoteku (h1-h6, p, ul, ol, hr, inline markup) u PDF preko HPDFRenderHTMLDocument

Version 2.602.0

Added

  • Dodat je block-level HTML uvoz: THPDFHTMLImporter (i HPDFRenderHTMLDocument convenience omot) renderuje ograničeni HTML podskup na dokument u pisanju — h1-h6 naslovi sa veličinama po nivou, p pasusi (goli tekst tela postaje implicitni pasusi), ul/ol liste sa uvučenim li stavkama (bullet ili 1. numeracija), hr linije, automatski prelomi stranica kod donje margine i browser-style oporavak za nezatvorene p/li blokove; head/script/style regioni 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ćem TextOutHTML renderer-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: merge dodaje svaku stranicu dodatnih ulaza prvom dokumentu i snima kombinovanu datoteku (-o izlazna putanja, najmanje dva ulaza, zaštićen sudar izlaza i ulaza), split upisuje svaku izabranu stranicu dokumenta u njenu sopstvenu jednostraničnu datoteku (<prefix>-page<N>.pdf, --pages raspon od 1, podrazumevani prefiks iz ulazne putanje), a export-svg upisuje SVG izvoz svake izabrane stranice (<prefix>-page<N>.svg, podrazumevana stranica 1)

Version 2.600.0

Added

  • Dodat je SVG izvoz stranica: BuildLoadedPageSVG vraća samostalan SVG 1.1 dokument za svaku učitanu stranicu, a SaveLoadedPageAsSVG ga 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 sh shading-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čni w/J/j/d operatori 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 (--pages rasponi od 1, --out izlaz u datoteku, --layout monospace grid režim koji prati vizuelni redosled čitanja) i verify (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.bat proizvodi Win32 i Win64 binarne datoteke

Version 2.598.0

Added

  • Dodat je SetRenditionMediaPlayParameters: kači ili ažurira /P rečnik parametara reprodukcije medija rendicije sa obaveznim /MH ili best-effort /BE ciljevima 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 /SP reč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 /Sound toka 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 /Name ikonu poput Speaker ili Mic

Version 2.597.0

Added

  • Dodat je SetMovieAnnotationParameters: preglašava /Movie rečnik filmske anotacije (par odnosa stranica, rotacija 0/90/180/270, trajanje u sekundama, vidljivost postera) koji je AddMovieAnnotation napravio sa svojim ukočenim podrazumevanim vrednostima
  • Dodat je SetRichMediaPresentation: popunjava /RichMediaSettings rečnike aktivacije, deaktivacije i prezentacije RichMedia anotacije (imena uslova poput PO page-open, toolbar / navigation UI / context click / transparency zastavica); prazno ime uslova izostavlja odgovarajući rečnik
  • Dodat je ResolveIndirectObject na THotPDF: razrešava indirektne reference koje autorska strana čuva unutar zapisanih rečnika, pa pozivaoci mogu obilaziti sveže građena stabla objekata; AddRichMediaAnnotation sada takođe registruje svoju anotaciju u LastAnnotation

Version 2.596.0

Added

  • Dodato je otkrivanje dokaza opoziva uživo: parser sertifikata sada čita AIA OCSP responder i CRLDistributionPoints URI ekstenzije, HPDFExtractCertificateRevocationURLs ih izlaže po sertifikatu, a HPDFCollectCMSRevocationRequests ih 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 /Recipients koveratu kada primarni PubSecKeyMaterial ne odgovara
  • Dodati su graditelji test tokova HPDFJBIG2Codec_EncodeHalftoneRegionTestStream i HPDFJBIG2Codec_EncodeStandaloneRefinementTestStream koji 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, StringKeyType i StreamKeyType neinicijalizovane 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-V i još 15): HPDFLoadStandardCMapFile odgovara 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 SetStructureClassMapEntry koji registruje deljeni atributski rečnik imena klase u StructTreeRoot /ClassMap, čime je dopunjena SetStructureElementClass /C API

Fixed

  • Popravljen je oporavak ključa za više primalaca kod javnog ključa: /Recipients koveri č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 /ObjStm kontejner 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, /First van 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, a GetLoadedQuarantinedObjStmCount / GetLoadedQuarantinedObjStmInfo izlaž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.XRefMapPagingThreshold unosa (podrazumevano 250000, 0 isključuje), prolaz završetka učitavanja pakuje je u THPDFXRefMapPager -- 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 GetLoadedXRefMapPaged koji 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 /Length lenj 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: THPDFObjectLifecycleState dobija olsRaw (indeksirane ali nematerijalizovane kompresovane članove), olsParsed (materijalizovane iz izvornih bajtova, neizmenjene) i olsFlushed (serializovane u izlazni dokument); učitani objekti sada nose olsParsed umesto generičkog čistog stanja
  • Dodati su MarkRaw, MarkParsed i MarkFlushed na THPDFObject; GetLoadedObjectLifecycleState vraća olsRaw za kompresovane članove čije telo još nije materijalizovano
  • Dodati su RawCount, ParsedCount i FlushedCount u THPDFObjectLifecycleStatistics; svaka putanja potpunog snimanja (plain, packed, linearized) premešta emitovane objekte u olsFlushed, dok IsDirty i dalje znači olsDirty ili olsMustWrite

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 polja THPDFObjectStreamCacheInfo, SliceViewCount i SliceViewBytes, koja prijavljuju koliko je članova materijalizovano kroz zero-copy poglede

Version 2.588.0

Added

  • Dodato je istovremeno dekriptovanje object-stream kontejnera kroz novu HPDFObjStmDecode jedinicu: THotPDF.ObjStmDecryptWorkers (podrazumevano 1) ograničava worker niti koje prethodno dekriptuju svaki poseban AES-256 enkriptovani /Type /ObjStm kontejner 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.PubSec se sada učitavaju kada pozivalac dodeli PubSecKeyMaterial (iz HPDFParsePFX); prescan odmotava /Recipients RSA-OAEP koverat, oporavlja seed i ponovo izvodi ključ datoteke, pa dekriptovanje kontejnera i niski radi nepromenjeno
  • Dodat je PubSecRecipientQuery callback koji bira koji koverat primaoca odmotava dati ključ, uz PubSecRecipientQueryContext za stanje pozivaoca
  • Dodat je HPDFUnwrapRSAOAEPRecipientEnvelope koji 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 /Recipients niske su enkriptovane kao obične niske - sada se izostaju kroz eksplicitnu SkipEncryption zastavicu

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, codabar i 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) u q ... cm ... Q transformaciju sa rotacijom oko centra

Version 2.584.0

Added

  • Proširen je FormCalc string funkcijama: Concat, Len, Left, Right, Substr, Replace, Lower, Upper, Trim i Space, uključujući string literale u navodnicima i mešovite tekst/numeričke izraze
  • Dodata je FormCalc konverzija datuma: Date2Num/Num2Date provlače ISO datume kroz serijsko brojanje dana od 1900. epohe, plus Date()
  • Dodata je FormCalc finansijska biblioteka: Pmt, FV, PV, Rate i NPer sa konvencijom predznaka novčanog toka, kombinovati sa numeričkim funkcijama poput Round

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/#dataGroup biraju container-class čvorove, #field bira čvorove slične poljima, a ostali #name tokeni 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 SetFormFieldValue ili SetLoadedFormFieldValueByName sada bira odgovarajuće /AS stanje u svakom widget-u, a flatten se usagljava pre generisanja appearance-a, pa zastarelo Off stanje 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 /T export vrednosti

Version 2.581.0

Added

  • Dodati su rotirani appearance-i polja: widget-i sa /MK /R sada nose rotaciju kao /Matrix na 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 /V ali sa /RV telom 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: EnsureLoadedFieldAppearanceStream razrešava /DA font kroz AcroForm /DR reč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 Off plus on-state appearance-e (vector kvačica i popunjen krug, bez zavisnosti od ZapfDingbats), push dugmad renderuju natpise, a listbox-ovi boje po jedan /Opt red 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.FormScriptBudgets svojstvo: CPU presek po zidnom satu, kumulativni memoriski budžet i ograničenje generisanog izlaza sada vezuju svako EvaluateLoadedFieldJavaScript izvršavanje i svaki prolaz preračunavanja
  • Dodat je THPDFScriptBudgets zapis 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: THPDFJavaScriptEvaluationResult sada prijavljuje ElapsedMilliseconds i ValueBytes uz broj operacija

Version 2.578.0

Added

  • Dodat je graf zavisnosti izračunavanja form polja kroz THotPDF.BuildLoadedFormCalculationGraph: svaka /CO registrovana Calculate skripta se statički analizira i ulančava u topološki redosled evaluacije
  • Dodat je THotPDF.RecalculateLoadedFormFieldsIncremental koji 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 SetFormFieldValue i SetLoadedFormFieldValueByName nakupljaju dirty skup koji troše bezparametarski inkrementalni overload, overload sa eksplicitno promenjenim poljima i potpuni prolaz preračunavanja
  • Dodata je HPDFFormCalcGraph jedinica koja izlaže upite pogođenog zatvorenja, potpuni redosled ciljeva, brojače ciklusa i nerazrešena imena izvora za alatne preglede
  • Dodat je HPDFExtractSafeJavaScriptFieldReferences koji izdvaja imena polja koja safe-subset skripta čita iz AFSimple_Calculate argumenata i getField pristupa, preskačući string literale

Changed

  • Ciklusi zavisnosti sada čuvaju /CO redosled 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 HPDFSignatureBatch jedinica 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 THPDFRevocationEvidenceCache i ubrizgavaju u kasnije potpise pod novim vesCache izvorom dokaza
  • Dodat je THPDFSignatureValidationBatch za samostalna batch izvršavanja sa FailFast, paralelizmom worker-a, tokenima otkazivanja i deljenim eksternim kešem opoziva
  • Dodat je HPDFSignatureBatchResultToJSON koji 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: THPDFViewer okida OnPageChange tokom konstrukcije i ponovnog vezivanja, pa se prva generacija galerije sada pokreće iz OnShow (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 THPDFPDFMACOptions compatibility, 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 SaveIncrementalUpdateAuthenticated sa 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 Showcase demo pod Demo\Delphi: generiše PDF galeriju od deset stranica pri pokretanju (gradijent naslovnica, tipografija sa inline rich tekstom, vector gradijenti / obrasci / transparentnost, THPDFTable faktura, bar kod simbologije, slike oslikane u runtime-u, anotacije i linkovi, optional-content slojevi i PAdES signature appearance) i renderuje ga unutar ugrađenog THPDFViewer-a sa sinhronizovanom listom tema
  • Dodata je Encrypt AES-256 akcija jednim klikom u Showcase demou koja iznova gradi galeriju sa AESV3 (R6) enkripcijom, korisničkom lozinkom i dozvolama samo za štampu u HotPDF-Showcase-Encrypted.pdf
  • Dodata je bookmark navigacija za svaku stranicu Showcase galerije preko BeginDoc(True) i OutlineRoot.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: GetLoadedSignaturePermissions sada prijavljuje DocMDP, UR, FieldMDP, Identity, nepoznate metode, Catalog /UR naspram /UR3 povezivanja, svaki standardni usage-right bit i ograničeni tranzitivni Identity /Data opseg objekata; analiza revizija razlikuje popunjavanja formulara, potpise, create/delete/modify operacije anotacija i ugrađenih fajlova i izlaže nezavisne URCompliant, IdentityCompliant i zbirne TransformCompliant odluke

Fixed

  • Primenjena je standardna podrazumevana DocMDP /P 2 dozvola 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 trinaest small varijanti 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): HPDFBlendComponent implementira Multiply, Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn, HardLight, SoftLight, Difference i Exclusion; renderer parsira /BM iz 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 preko GetInfo
  • Dodati su page-level SaveState / RestoreState na THPDFPage koji emituju q / Q graphics-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 SaveIncrementalUpdate vidi sačuvani slobodni lanac umesto SourceFreeObjectCount=0 i izgubljenih generacija
  • Popravljeno je podizanje "Cannot call Start on a running or suspended thread" u THPDFSignatureEvidenceTask pri konstrukciji: zadatak se sada pokreće u AfterConstruction, nakon što je objekat potpuno izgrađen, umesto da trkuje RTL proveru thread stanja iznutra iz konstruktora

Version 2.569.0

Added

  • THPDFCertificateValidationOptions.TrustPurpose bira 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 u THPDFCertificateValidationInfo

Version 2.568.0

Added

  • THPDFSignatureEvidenceTask pribavlja 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

  • THPDFWindowsKeyStorageSignatureProvider potpisuje 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čke NCRYPT_KEY_HANDLE vrednosti, 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

  • HPDFNormalizeContentStreamGraphicsState i HPDFCompareContentStreamsSemantic porede 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, prazne q/Q opsege i ekvivalentne konkatenirane matrice, uz zadržavanje efektivnog stanja, operanada operatora i SHA-256 identiteta inline slika

Version 2.565.0

Changed

  • SaveIncrementalUpdate sada 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 kroz GetLastIncrementalXRefRebuildInfo

Version 2.564.0

Added

  • THPDFPage.TextOutOutline oblikuje 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

  • FlattenLoadedPageComplexGraphics otkriva 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

  • FlattenLoadedPageTransparency sada 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

  • ScrubLoadedRedactionRemnants uklanja 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

  • ApplyLoadedRedactions sada 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čne TJ stavke 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

  • AnalyzeLoadedPageSemanticText i ExtractLoadedPageSemanticText grade 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 /ToUnicode ciljeve 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 /ToUnicode mape iz ugrađenih sfnt cmap formata 0, 4, 6 i 12, AGL podržanih imena glifova iz /Encoding /Differences, ispravno dekodiranih binarnih /CIDToGIDMap tokova 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 vmtx gornjih side bearing vrednosti i glyf granica, daje prednost vrt2 nad vert kroz 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 sbix ili CBDT/CBLC bitmap strike, bezbedno razrešuju sbix duplikate 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

  • BeginLoadedPageProgressiveRegionRender sada 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 1 zaš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 /TR i /TR2 nizove 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/d1 i izlaže telemetriju pogodaka, promašaja, izbacivanja, veličine i zaobilaženja prevelikih unosa kroz GetLastType3GlyphCacheStats

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 RegisterTilingPattern i THPDFTilingPatternBuilder izlaž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, JPEG2000TileWorkerLimit i GetLastJPEG2000ParallelDecodeStats

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 DCTDecode slike 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 CCITTFaxDecode slike sada dekoduju T.4 i T.6 nekompresovane extension režime, razlikuju EOFB od nepodržanih ekstenzija, poštuju EndOfLine, EndOfBlock i DamagedRowsBeforeError i 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 HPDFJBIG2SplitSymbolDictionaryGlobals za 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
  • AdaptiveAdmission mož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

  • THPDFCacheAdmissionPolicy i SetCacheAdmissionPolicy obezbeđuju nezavisne granice po broju unosa, ukupnim bajtovima i po jednom unosu za sirove komprimovane opsege, dekodovane slike, kompajlirane display liste i renderovane rasterske stranice
  • GetCacheAdmissionStatistics izveš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
  • GetDocumentStringInternStatistics izveš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 GetLastParserArenaStatistics izveštava o zadržanom skladištu, vršnoj upotrebi, ponovnoj upotrebi alokacija, prometu tokena i izostavljanju privremenih objekata

Version 2.526.0

Changed

  • HPDFTransferStream sada 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, MaxReadAheadBlocks i SequentialReadToleranceBytes izlaž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

  • THPDFCoalescingRandomAccessSource spaja 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-a
  • LoadFromRandomAccessSource sada automatski primenjuje spajanje opsega i asinhroni prefetch sledećeg opsega, dok foreground seek-ovi otkazuju nepovezani rad i ReadAtCancellable omoguć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 StrF i StmF podrazumevane vrednosti zajedno sa direktnim ili nizovnim Crypt prevaziđenjima na nivou toka
  • Parametri stream šifrovanja mogu izabrati Identity, V2 ili AESV2, 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, JPXDecode i JBIG2Decode slike sada mogu da se dekoduju u crash-izolovanim Win32 ili Win64 worker procesima kroz ograničenu deljenu memoriju
  • CodecIsolationMode i 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

  • THPDFDeterministicReplayLog belež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

  • BuildLoadedObjectDependencyGraph sada 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 1000 znači 1x

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.v1 sidecar 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.dll isporučuje stabilne cdecl exporte, opaque validirane handlove, fiksne status kodove, eksplicitne dužine u bajtovima, otkazivanje, napredak, dijagnostiku, Win32 i Win64 build automatizaciju, import biblioteke i hotpdf_abi.h header 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 ComplianceFindingsToJSON emituje 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 dobio Compress(Input, Parms) overload koji primenjuje forward PNG/TIFF predictor pre kompresije, čime je simetričan sa Decompress(Input, Parms) putanjom dekodera, pa se LZW+Predictor tokovi mogu pisati u oba smera
  • Interpreter content toka sada prati cm operator grafike i snima aktivni CTM na svaki emitovani glif (THPDFGlyphRecord.CTMA..CTMF), tako da pozivaoci mogu izračunati pravo poreklo u korisničkom prostoru preko CTM * Tm kada 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 / ReplaceLoadedDocumentText sada 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.SkipEncryption flag, 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: DecryptPKCS12EncryptedBytes sada rutira pbeWithSHA1And40BitRC2-CBC (OID 1.2.840.113549.1.12.1.6) i pbeWithSHA1And128BitRC2-CBC (1.2.840.113549.1.12.1.5), klonirajući 3DES CryptoAPI putanju sa KP_EFFECTIVE_KEYLEN parametrom 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: ApplyLoadedRedactions prolazi kroz svaku /Subtype /Redact anotaciju, prazni donje text-showing string operande čiji glifovi padaju unutar /Rect anotacije (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 dodaje AddLoadedRedactAnnotation za kreiranje /Redact anotacija 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 /Widths tabele fonta (PDF 1.7 9.6.3) preko novog IHPDFFontResolver.Advance metoda, umesto ranije ravne 0.5 * fontSize aproksimacije. HPDFBuildFontDecoder čita /FirstChar, /LastChar i /Widths niz 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 SetLoadedAcroFormCalculationOrder za ponovnu izgradnju AcroForm /CO niza 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 /NChannel marker (PDF/X-6 / PDF 2.0) za prostore boja koje među svojim obojivima mogu imati i process boje
  • Dodato SetStructureElementClass za upis /C niza imena klasa elementa strukture (PDF 1.7 14.9.2.2) koji referencira deljene klase atributa
  • Dodato AddLoadedPagePieceInfo za upis page-piece rečnika (PDF 1.7 14.5) pod /PieceInfo/<Application> sa /LastModified datumskim ž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 sa TCharacter.ToLower (Unicode Simple_Lowercase_Mapping), pa se akcentovana latinička (À-ý), grčka (Α-Ω) i ćirilička (А-Я) velika slova poklapaju sa svojim oblicima malih slova u SearchLoadedPageText / SearchLoadedDocumentText. Pre-XE2 build-ovi zadržavaju ASCII fallback
  • Dodat inline-image callback apstrakciji content uređaja: IHPDFContentDevice.ProcessInlineImage se aktivira za svaki BI/ID/EI blok kada uređaj deklarira cdcNeedImages, 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: AddPDFAOutputIntent je 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. Novi EnsureLoadedPDFAOutputIntents korak sada kači FOutputIntents na /OutputIntents niz 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: EnsureLoadedFieldAppearanceStream sada emituje eksplicitan 0 Tr (fill) odmah nakon BT u svakom generisanom widget appearance toku, tako da je režim renderovanja teksta deterministički bez obzira na okolno stanje sadržaja stranice. Ranije je istekli 1 Tr (stroke) na graphics stanju bio nasleđivan od Form XObject-a konzumiranog preko Do, 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.CloseCanvas koji je upisivao 1 0 0 RG/rg + 1 Tr + 2 w direktno u content tok stranice nakon GStateRestore (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ćem TPDFLZWDecompressor-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 /OCMD objekat čija se /OCGs lista i /P politika (AnyOn / AllOn / AnyOff / AllOff) slivaju u postojeći EvaluateLoadedOCVisibility evaluator, tako da se kompleksni izrazi vidljivosti slojeva sada mogu i pisati, a ne samo konzumirati
  • Dodata ulazna tačka rich-text FreeText anotacije AddLoadedFreeTextAnnotationRichText koja kači /RC rich-content XML fragment i opcionu /DS podrazumevanu stilsku definiciju na FreeText anotaciju (PDF 1.5 12.5.6.16), upotpunjujući field-nivo /RV putanju
  • Dodat katalog /Requirements writer AddLoadedDocumentRequirement (ISO 32000-1 7.7.4) koji dodaje requirement rečnike sa /S plus parovima ključ/vrednost koje dostavlja pozivalac u /Requirements niz kataloga
  • Dodato prepoznavanje Type 16 halftone-a (threshold maske) u page rendereru: /Width maske 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 IsIndefinite i ExtendedTagNumber polja 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 FindStructureElementForMCID obrnuto pretraživanje konstantnog vremena koje razrešava (stranica, MCID) par nazad do njegovog vlasničkog StructElem-a kroz ParentTree dokumenta, lokalni AddStructureDestinationLink koji emituje GoTo akciju koja nosi i obavezni page-koordinatni /D fallback i PDF 2.0 /SD niz koji imenuje ciljni StructElem indirektnom referencom, i udaljeni AddGoToRStructureDestinationLink čiji je prvi element /SD byte-string /ID ciljnog 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 trailer Info-a; obaveznim PDF/A-4f EmbeddedFiles stablom 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 /ByteRange i /Contents polja 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 SDHUFF symbol rečnike i SBHUFF tekstualne 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, /op i /OPM 1 za 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 /CO redosled 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; DecodeLoadedImageRegion izlaž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

  • BeginLoadedPageProgressiveRender dodaje 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; THPDFCancellationToken instance 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

  • ImmediateFlushLayout premeš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 /P pomoćnike i tipovane artefakte paginacije za zaglavlja, podnožja, vodene žigove i brojeve stranica

Version 2.457.0

Added

  • SetFontFallbackChain i TextOutWithFallback dodaju uređeni izbor fonta svesnog skripte sa proverama pokrivenosti Unicode skalara i trajnom dijagnostikom nerešenih glifova; vertikalni tekst sada emituje kompletne Identity-V nizove sa /DW2 i /W2 metrikama izvedenim iz OpenType vhea, vmtx i VORG tabela kada su dostupne

Version 2.456.0

Added

  • HPDFEncodePredictor dodaje strogo TIFF i fiksno ili adaptivno PNG kodiranje prediktora za pakovane, 8-bitne i 16-bitne redove rasterskih podataka; ExtractLoadedImageToStream izbegava nizove bajtova pune veličine za izvorne ili generički dekodirane slikovne sadržaje; OptimizeLoadedStreams selektivno 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

  • DecodeLoadedStreamToStream sada komponuje učitane PDF filtere u ograničeni lanac čija završna faza piše direktno u tok pozivaoca; DocumentDecodeBudgetBytes dodaje 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; LoadFromRandomAccessSource dodaje 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 GetLoadedXRefMergeInfo sa 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 RegisterStructureNamespace i AddStructureElementNS, strogom PDF/UA-2 validacijom strukture i profilno-neutralnim pridruženim fajlovima kroz AddPDFAssociatedFile

Version 2.451.0

Added

  • DetectFacturXInvoice sada izlaže dekodirani MIME tip primarnog priloga i vezani URI XMP imenskog prostora, dok ValidateFacturXInvoice unakrsno proverava tačan FileSpec koji dele Catalog /AF i stablo imena EmbeddedFiles, imena /F i /UF, XML MIME tip, XMP DocumentType i 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 ruleId vrednosti 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 ISO spec mapiranja i ostaju važeći kada nizovi sadrže više nalaza

Version 2.449.0

Added

  • SanitiseLoadedDocument sada 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 DecodeBudgetBytes od 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, sa GetLastDecodeBudgetInfo dijagnostikom i nula kao eksplicitnim režimom bez ograničenja

Version 2.446.0

Added

  • Dodata je opcione LinearizeOutput za 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 startxref deklaracija 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

  • AnalyzeLoadedSignatureRevisions sada 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

  • VerifyLoadedSignatureWithTrust i HPDFValidateCMSCertificatePath sada 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.CertificateValidation prijavljuje poverenje, dužinu putanje, sidro poverenja, vreme procene, status i izvor opoziva, vreme opoziva i probleme validacije nezavisno od kriptografskog svValid

Version 2.442.0

Added

  • Verifikacija učitanog potpisa sada kriptografski validira RFC 3161 vremenske oznake dokumenta u odnosu na PDF /ByteRange i tokove vremenskih oznaka potpisa u odnosu na vrednost nadređenog CMS potpisa, dok THPDFSignatureInfo.Timestamp izlaž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
  • THPDFSignatureInfo sada prijavljuje SignedRevisionLength i UnsignedTrailingBytes, a svInvalidByteRange identifikuje 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 DigestInfo identifikator 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
  • GetWideTextWidth sada 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 raspored
  • BeginIncrementalUpdate sada 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

  • HPDFDecodePredictor i HPDFTryDecodePredictor pruž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 dijagnostikom
  • TPDFLZWDecompressor dodaje 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 EarlyChange režima i oba redosleda popunjavanja bitova, obrađuje clear resetovanja i KwKwK proširenje striktno, i povećava izlaz niza geometrijski
  • Ekstrakcija učitanih Flate i LZW slika sada poštuje geometriju prediktora DecodeParms i EarlyChange, 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

  • THPDFViewer se sada kompajlira na Delphi XE2 do XE8, gde WM_DPICHANGED nedostaje u Winapi.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 sa E2003 Undeclared identifier

Version 2.437.0

Changed

  • GetWideTextWidth sada meri Unicode tekst iz keša širine napretka po kodnoj tački, popunjenog jednom iz tabele hmtx fonta, umesto obilaska CreateCompatibleDC + GetTextExtentPoint32W pri 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 /CapHeight ugrađenog fonta sada koristi pravu metriku otmsCapEmHeight lica 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 FUnicodeExtraUsedGlyphs koji beleže MarkUnicodeGlyphUsed / EnableShapingFeatureForSubset je bio zapisan ali ga podskupnik nikada nije koristio, pa su ti glifovi u izlazu padali na .notdef

Version 2.434.0

Added

  • THPDFWeightedCache dodaje 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

  • THPDFTableCell sada podržava ćelije slika (ImageIndex + ImageAspect skaliraju registrovanu sliku na širinu kolone sa H/V poravnanjem) i HTML ćelije (IsHTML renderuje tekst ćelije kroz TextOutHTML za 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 THPDFTable engine za raspored i renderovanje (HPDFTable jedinica) slaže tabele iz deklarisanih širina kolona i redova, sa po-ćeliji tekstom, poravnanjem, bojom i preglasavanjima fonta, ColSpan / RowSpan spajanjem, 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 crtanja THPDFPage, tako da proizvođači više ne moraju ručno da crtaju ćelije sa Rectangle i TextOut

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.TextOutHTML dobija preopterećenje za prelom reči koje prima MaxWidth i 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 Tf pri 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 THPDFPage sada koristi standardnu konstantu kubne-Bézier-kappa 0.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 aproksimacija 11/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 PrefetchRadius kontroliš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, Put i 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

  • CompressLoadedDocument sada poštuje CompressionLevel, 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 da SaveLoadedDocument trajno pohranjuje rezultat umesto da uzme put kopiranja nepromenjenog fajla.DecompressLoadedDocument koristi istu sigurnu za vlasništvo putanju strujanja, uklanja identitetske /DecodeParms i ostavlja tokove prediktora TIFF ili PNG komprimovanim sve dok faza prediktora ne može biti sigurno dekodirana

Version 2.423.0

Added

  • THPDFPage.AddCertificationSignatureField i ConfigureCertificationSignature sada stvaraju jedinstveni sertifikacioni potpis DocMDP sa sve tri nivoa dozvola i odgovarajućim povezivanjem Catalog /Perms /DocMDP, dok AttachSignatureFieldLock emituje neizravne politike SigFieldLock i odgovarajuće reference FieldMDP za opsege polja All, Include ili Exclude.THotPDF.GetLoadedSignaturePermissions izvodi 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 new HPDFReplaceWatermarkPlaceholders overload is given a THPDFPlaceholderDocInfo record. The legacy 4-parameter signature stays for callers that only need the page / file / date-time subset

Version 2.421.0

Added

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

Version 2.420.0

Added

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

Version 2.419.0

Added

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

Version 2.418.0

Added

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

Changed

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

Version 2.417.0

Added

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

Fixed

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

Version 2.416.0

Added

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

Version 2.415.0

Added

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

Version 2.414.0

Added

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

Version 2.413.2

Fixed

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

Version 2.413.1

Fixed

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

Version 2.413.0

Changed

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

Fixed

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

Version 2.412.0

Changed

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

Fixed

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

Version 2.411.0

Added

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

Version 2.410.0

Added

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

Fixed

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

Version 2.409.0

Added

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

Changed

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

Version 2.408.0

Added

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

Fixed

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

Version 2.407.0

Added

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

Fixed

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

Version 2.406.0

Added

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

Version 2.405.0

Added

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

Fixed

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

Version 2.404.0

Added

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

Version 2.403.0

Added

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

Version 2.402.0

Changed

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

Version 2.401.0

Added

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

Version 2.400.0

Added

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

Version 2.399.0

Added

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

Version 2.398.0

Added

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

Version 2.397.0

Added

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

Version 2.396.0

Added

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

Version 2.395.0

Added

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

Version 2.394.0

Added

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

Version 2.393.0

Added

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

Version 2.392.0

Added

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

Version 2.391.0

Added

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

Fixed

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

Version 2.390.0

Added

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

Fixed

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

Version 2.389.0

Added

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

Changed

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

Fixed

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

Version 2.388.0

Added

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

Changed

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

Fixed

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

Version 2.387.0

Added

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

Version 2.386.0

Added

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

Version 2.385.0

Added

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

Version 2.384.0

Added

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

Version 2.383.0

Added

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

Version 2.382.0

Added

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

Version 2.381.0

Added

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

Fixed

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

Version 2.380.0

Added

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

Fixed

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

Version 2.379.0

Added

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

Version 2.378.0

Added

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

Fixed

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

Version 2.377.0

Added

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

Version 2.376.1

Fixed

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

Version 2.376.0

Added

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

Fixed

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

Version 2.375.0

Added

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

Fixed

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

Version 2.374.0

Fixed

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

Version 2.373.0

Fixed

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

Version 2.372.0

Fixed

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

Version 2.371.0

Fixed

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

Version 2.370.0

Added

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

Version 2.369.0

Added

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

Version 2.368.0

Added

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

Version 2.367.0

Added

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

Version 2.366.0

Added

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

Version 2.365.0

Added

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

Version 2.364.0

Added

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

Version 2.363.0

Added

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

Version 2.362.0

Fixed

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

Version 2.361.0

Fixed

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

Version 2.360.0

Added

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

Version 2.359.0

Added

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

Version 2.358.0

Added

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

Version 2.357.0

Added

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

Version 2.356.0

Added

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

Version 2.355.0

Added

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

Version 2.354.0

Fixed

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

Version 2.353.0

Fixed

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

Version 2.352.0

Fixed

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

Version 2.351.0

Fixed

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

Version 2.350.0

Fixed

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

Version 2.349.0

Fixed

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

Version 2.348.0

Added

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

Fixed

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

Version 2.347.0

Added

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

Version 2.346.0

Fixed

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

Version 2.345.0

Fixed

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

Version 2.344.0

Added

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

Version 2.343.0

Fixed

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

Added

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

Version 2.342.0

Added

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

Version 2.341.0

Fixed

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

Version 2.340.0

Added

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

Version 2.339.0

Added

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

Version 2.338.0

Fixed

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

Added

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

Version 2.337.0

Added

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

Fixed

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

Version 2.336.0

Security

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

Added

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

Version 2.335.0

Added

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

Version 2.334.0

Added

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

Version 2.333.0

Added

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

Version 2.332.0

Added

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

Security

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

Version 2.331.0

Added

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

Version 2.330.0

Added

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

Version 2.329.0

Added

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

Version 2.328.0

Added

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

Version 2.327.0

Added

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

Version 2.326.0

Added

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

Version 2.325.3

Fixed

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

Version 2.325.2

Fixed

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

Version 2.325.1

Fixed

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

Version 2.325.0

Added

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

Version 2.324.0

Added

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

Version 2.323.0

Added

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

Version 2.322.0

Changed

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

Version 2.321.0

Added

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

Version 2.320.0

Added

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

Version 2.319.1

Fixed

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

Version 2.319.0

Changed

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

Version 2.318.0

Added

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

Version 2.317.0

Added

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

Version 2.316.0

Added

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

Version 2.315.0

Changed

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

Version 2.314.0

Added

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

Version 2.313.0

Added

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

Version 2.312.0

Added

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

Version 2.311.0

Added

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

Version 2.310.0

Changed

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

Performance

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

Version 2.309.4

Added

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

Version 2.309.3

Added

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

Version 2.309.2

Added

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

Version 2.309.1

Fixed

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

Version 2.309.0

Fixed

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

Version 2.308.0

Added

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

Version 2.307.0

Added

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

Version 2.306.0

Changed

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

Version 2.305.0

Added

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

Version 2.304.0

Fixed

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

Version 2.303.0

Fixed

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

Version 2.302.0

Fixed

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

Version 2.301.0

Fixed

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

Version 2.300.0

Fixed

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

Version 2.299.0

Added

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

Version 2.298.0

Fixed

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

Version 2.297.0

Added

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

Version 2.296.0

Added

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

Version 2.295.0

Added

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

Version 2.294.0

Added

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

Version 2.293.0

Added

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

Fixed

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

Version 2.292.32

Added

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

Fixed

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

Version 2.292.31

Added

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

Version 2.292.30

Added

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

Version 2.292.29

Added

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

Version 2.292.28

Added

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

Version 2.292.27

Added

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

Version 2.292.26

Added

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

Version 2.292.25

Fixed

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

Version 2.292.24

Added

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

Version 2.292.23

Added

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

Version 2.292.22

Fixed

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

Version 2.292.21

Added

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