HotPDF Release Notes

Version history for HotPDF user-visible features, fixes, compatibility updates, and documentation changes

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

  • Javítva, hogy egy cross-reference alszakasz, amely több bejegyzést deklarál, mint amennyi a táblázatban van, végigszaladt a teljes deklarált számon kiolvasnivaló adat nélkül, így egy negyven bájtos hibás fájl elutasítása másodpercekig tartott
  • Javítva, hogy a job runner elvesztette az összes már elkészített eredményét, amikor egy művelet kivételt dobott, és hogy a HTML import elvesztett egy képobjektumot, amikor a körülötte lévő streamet nem sikerült létrehozni

Version 2.748.5

Fixed

  • Javítva, hogy a nem ASCII jelszavú PKCS#12 fájlok nem nyíltak meg: a jelszó egy UTF-8 bájtsorozat, de egyenként egy bájttal bővítették ahelyett, hogy dekódolták volna, így a levezetett kulcs minden ASCII-n kívüli karakternél rossz volt. A modern PBES2 sémával védett fájlokat nem érintette, ezért viselkedett eltérően a kettő
  • Javítva, hogy a signature batch validator és a revocation evidence cache érvénytelen opcióval való konstrukciónál access violation-t dobott a saját hibája helyett, mert a destruktor azelőtt futott le, hogy a felszabadított tagok létrejöttek volna
  • Javítva, hogy az evidence letöltő task a destruktorában hibázott, amikor az argumentumait elutasították, mivel az ellenőrzések azelőtt futottak, hogy maga a szál létrejött volna
  • Javítva, hogy a cloud-signature provider olyan algoritmus-azonosítót kódolt, amelynek második arcja meghaladja a 39-et, és egy hibás azonosító most a provider saját hibáját dobja konverziós hiba helyett
  • A tanúsítvány- és aláíráskonténerek most elutasítják a beágyazott elemet, amely olyan hosszt deklarál, amely túlér a tartalmazó elemen, így az már nem térhet el, hogy mi kerül validálásra és mit fed le az aláírás
  • A privát kulcs értékei most törlődnek a memóriából RSA-aláírás után, ahelyett hogy a heapen maradnának a következő allokációig

Version 2.748.4

Fixed

  • Javítva, hogy a Type 1 betűtípusok betöltése minden tulajdonságot a betűtípusprogram első sorából olvasott: a tokenlista ürítés nélkül töltődött újra, így a verzió, család és vastagság karakterláncok, a stem hintek és a charstring kulcs hossza mind elavult tokenekből kerültek ki. A Type 1 betűtípusok mostantól saját metadatát jelentenek
  • Javítva, hogy a charstring kulcs hossza egy már felszabadított karakterláncba mutató pointerként tárolódott, és range check nélkül használták; mostantól értékként tárolódik, és a formátum által engedett tartományra szorítkozik
  • Javítva, hogy a nem beágyazott betűtípusok mindig a rendszer alapértelmezett betűvágására estek vissza: a kért vágásnév bájtonként másolódott a wide-character betűtípusrekordba, így egyetlen telepített család sem egyezett soha
  • Javítva, hogy a beágyazott TrueType és OpenType elemzése a csonkolt betűtípusprogram végén túl olvasott glyph körvonalak, kompozit glyph argumentumok és egy OpenType konténer CFF táblájának dekódolásakor, és egy hibás karaktertérkép már nem kér negatív glyph tömböt
  • Javítva a cross-reference táblák és streamek túlfolyó deklarált objektumszámai: egy egészszám-határ közelében lévő számot állító bejegyzés negatív indexbe csavarodott és a táblán kívülre íródott, és egy deklarált objektumszám vagy a fájlnál jóval nagyobb /Size csak erre az állításra alapozta a loader tömbjeinek méretezését

Version 2.748.3

Fixed

  • Javítva, hogy a Data Matrix érvényes bemenetet utasított el: a szimbólum méretét a számjegyek felezésével becsülték, de csak egymás melletti számjegyek tartoznak közös code wordbe, így az olyan szöveg, mint a 1a2a3a, túl kicsi szimbólumot választott saját adataihoz, és nem sikerült kódolni
  • Javítva, hogy a XFDF négybájtos UTF-8 karakterei, például emojik, rossz surrogate párra dekódolódtak, és egy felismerhetetlen bájt már nem nyeli el az utána következő három karaktert
  • Az enhanced metafile régiórekordjai mostantól a rekord mérete alapján korlátozzák a téglalapjaik számát ahelyett, hogy a régió fejlécében szereplő számnak hinnének, amely messze a rekordon túlra olvashatott
  • Azok a PNG képek, amelyeknél a deklarált szélesség szorozva a magassággal meghaladja a címezhető tartományt, a fejlécnél kerülnek elutasításra negatív hosszú pixelbuffer allokálása helyett
  • A kiváló minőségű képújramintavételezés mostantól tartományon kívüli kérést jelent ahelyett hogy túlcsordulna a köztes puffer méretén
  • Egy WebP meta prefix kép, amely több entropiacsoportot állít, mint amennyi pixelje van, elutasításra kerül ahelyett hogy néhány száz bájt bemenetből több száz megabyte prefix táblát allokálna
  • Javítva a szivárgások az Aztec kódolás, a WebP bitmap dekódolás és az object stream dekódoló worker pool hibaútvonalain, ahol egy félig felépített objektet elhagytak, amikor egy későbbi lépés kivételt dobott

Version 2.748.2

Fixed

  • Javítva, hogy a QR Code szimbólumok elvesztették az utolsó code word biteket: a modulhelpezet bejárása kihagyta a legbaloldalibb oszlopot, így az utolsó hibajavító blokk farka soha nem került a szimbólumba
  • Javítva, hogy a QR terminátor az adatblokk teljes maradékát nullabitekkel töltötte, amivel nem maradt hely a 0xEC / 0x11 pad code wordeknek, amelyeket az ISO/IEC 18004 előír; egy version 1 szimbólum hat nulla code wordet hordozott helyette
  • Egy új teszt visszaolvassa a generált szimbólumot a moduljaiból, így az adatblokk, a pad code wordek, a hibajavító blokk, a maszk és a helpezet mind a szabványhoz képest ellenőrzésre kerülnek, nem a kódoló saját kimenetéhez képest

Version 2.748.1

Fixed

  • Javítva, hogy három parser végtelen ideig akadt hibás bemeneten a jelentése helyett: az objektum parser egy >>-nél tömbön belül vagy ]-nél szótáron belül, a CMap olvasó egy kóbor zárójelnél vagy kapcsos zárójelnél, a XFDF olvasó egy tag név nélküli konstrucciónál (például dokumentumtípus-deklarációnál) vagy attribútumok közötti kóbor bájtnál. Mindegyikük abbahagyta a kurzora mozgatását, így egyetlen váratlan bájt a parsolást végtelen ciklussá tette
  • Javítva, hogy a XFDF CDATA szakaszai markupként olvasódtak: tartalmuk most elemszövegként kerül felvételre, és a szakasz zárójelölését most helyesen méri ahelyett, hogy az első karaktert nyelné el
  • Javítva, hogy egy 2 GB közeli WebP chunk hossz túlfolytatta a méretellenőrzést, így a payload másolása a fájlbuffer végén túl olvasott; a chunk hosszak mostantól 64 bites aritmetikában, tartomány szerint ellenőrzöttek
  • Javítva, hogy egy 0xFFFFFFFF hosszú PNG chunk felszabadította a chunk buffert, miközben a chunk továbbra is a deklarált hosszát jelentette, ami miatt a későbbi olvasások felszabadított memóriára mutattak; a túl hosszú chunkok elutasításra kerülnek
  • Javítva, hogy a CCITT fax dekódolás nagyon nagy deklarált oldalméreteknél túlcsordultatta a sorbuffer méretszámítását, ami a bufferen túlra írt; a sortárolás mostantól korlátos, és a dekódolás a határnál tisztán megáll
  • Javítva, hogy a CCITT kódoló nyolccal osztható szélességeknél egy bájttal a scanline vége túl olvasott
  • Javítva, hogy az enhanced metafile megjegyzésrekordjai 64 bites buildeken 32 bites csonkított pointeren keresztül olvasódtak, ami minden GDI megjegyzést vivő EMF-nél nem kapcsolódó címet olvasott
  • Javítva, hogy a 256-nál kevesebb palettabejegyzéssel rendelkező 8 bites képek inicializálatlan memóriát publikáltak a színtáblájuk végeként, és a tábla mostantól a valódi bejegyzésszámát deklarálja
  • Javítva, hogy a mélyen egymásba ágyazott, indefinite hosszúságú BER struktúrák kimerítették a vermet aláírás- vagy tanúsítványkonténer parsolása közben; a 128 szintet meghaladó egymásba ágyazás elutasításra kerül

Version 2.748.0

Fixed

  • Javítva minden 2D vonalkód hibajavítása, amelyet a könyvtár rajzol: a QR Code, Data Matrix, PDF417 és Aztec a generátorpolinomot az állandó tagtól felfelé építették, de úgy osztottak vele, mintha a vezető tag jönne először, így minden szimbólum olyan check wordeket hordozott, amelyeket egyetlen, a szabványnak megfelelő olvasó sem fogad el. A check wordek most megfelelnek az ISO/IEC 18004, ISO/IEC 16022 és ISO/IEC 15438 kiszámított példáinak
  • Javítva, hogy az Aztec szimbólumok elvesztették payload-jüket: a kódoló helyben osztja el a code word tömböt, és a hívó ugyanezt a tömböt emitálja, így az üzenetszavakat felülírta az osztás, és a szimbólum sem az adatot, sem érvényes mode message-t nem hordozott
  • Javítva, hogy a Data Matrix generátorpolinomja a gyökeit egy hatvánnyal túl alacsonyan indította, ami egy másik polinomot adott, mint amit az ISO/IEC 16022 E melléklete előír
  • Javítva a Data Matrix finder mintázatát: a tömör L mostantól a bal oldali oszlop és az alsó sor, a váltakozó clock sáv pedig a felső sor és a jobb oldali oszlop, mindegyik sötéttel indul az L-lel közös sarkában. A kettő fel volt cserélve, így az olvasók nem tudták megállapítani a szimbólum tájolását

Version 2.747.4

Fixed

  • Javítva, hogy a betöltött dokumentumok szerkesztése a rendszer tizedeselválasztójával írta a PDF számokat: a page stitching, a rectangle redaction, a szöveg- és képbélyegzők, az összetett vízjel-alakzatok és az ellipszis-appearances mostantól mindig pontot írnak, így a tizedesvesszős locale-en (például német vagy francia Windows) szerkesztett dokumentumok már nem tartalmaznak olyan content streameket, amelyeket a megjelenítők elutasítanak
  • Javítva, hogy a Type 1 betűtípusok betöltése a rendszer locale-jétől függött: a FontMatrix, BlueValues, stem hint és charstring valós számok mostantól ponttal írt PostScript számokként parsolódnak, így a PFB betűtípusok megőrzik metrikáikat és kontúrjaikat tizedesvesszős rendszereken, ahelyett hogy csendben szétesnének
  • Javítva, hogy a default-appearance (/DA) betűméret- és színfeldolgozása, a HTML width és size attribútumai, a FormCalc eredmények és a job JSON számok a folyamat locale-jét követték; mostantól minden irányban invariant formátumot használnak
  • Javítva, hogy a beépített vonalkódrajzolás a sáv téglalapjait locale-függő formátumon keresztül írta, ami érvénytelen content streamet eredményezett tizedesvesszős rendszeren
  • A Free Pascal buildek mostantól invariant formátummal parsolják és formázzák a content stream operandusokat, a szövegkinyerési metrikákat és a JavaScript számokat, ezzel összhangban a Delphi buildekkel, ahelyett hogy a locale-függő konverzióra esnének vissza
  • A számformázó mostantól nem írja felül minden hívásnál a gazdaalkalmazás globális formátumbeállításaiban a tizedeselválasztót, ami megváltoztatta, hogyan formázza a program többi része a saját számait, és nem volt biztonságos, amikor egyszerre több szál dokumentumokat állított elő

Version 2.747.3

Fixed

  • Javítva, hogy a betöltött dokumentumok szerkesztése a rendszer tizedeselválasztójával írta a PDF számokat: a page stitching, a rectangle redaction, a szöveg- és képbélyegzők, az összetett vízjel-alakzatok és az ellipszis-appearances mostantól mindig pontot írnak, így a tizedesvesszős locale-en (például német vagy francia Windows) szerkesztett dokumentumok már nem tartalmaznak olyan content streameket, amelyeket a megjelenítők elutasítanak
  • Javítva, hogy a Type 1 betűtípusok betöltése a rendszer locale-jétől függött: a FontMatrix, BlueValues, stem hint és charstring valós számok mostantól ponttal írt PostScript számokként parsolódnak, így a PFB betűtípusok megőrzik metrikáikat és kontúrjaikat tizedesvesszős rendszereken, ahelyett hogy csendben szétesnének
  • Javítva, hogy a default-appearance (/DA) betűméret- és színfeldolgozása, a HTML font size attribútumok, a FormCalc eredmények és a job JSON számok a folyamat locale-jét követték; mostantól minden irányban invariant formátumot használnak
  • A Free Pascal buildek mostantól invariant formátummal parsolják és formázzák a content stream operandusokat, a szövegkinyerési metrikákat és a JavaScript számokat, ezzel összhangban a Delphi buildekkel, ahelyett hogy a locale-függő konverzióra esnének vissza

Version 2.747.2

Added

  • Hozzáadva a Free Pascal Win32 támogatást: a Lazarus package mostantól dedikált build belépési pontokon keresztül épül i386-win32-re és x86_64-win64-re egyaránt, a smoke suite-ok elfogadnak egy architektúra-argumentumot, és a 32 bites fordító valamint a C szimbólum-linkelés problémái javítva lettek; a PDF létrehozás és betöltés, a Flate tömörítés, az AES titkosítás és a CBZ dokumentumkezelés mindkét targeten lefedett

Version 2.747.1

Fixed

  • Javítva a beépített vonalkód-dekódoló forgatott maszkos újrapróbálása, amely elavult bájtokat hagyott a forgatott maszk érintetlen celláiban, amivel fantom festéket talált ki, és olvashatlanná tette a negyed fordulattal elforgatott Code 39 szimbólumokat; a forgatott puffer most explicit nullázásra kerül, így az elforgatott Code 39 fotók és szkennelések dekódolódnak a forgatási újrapróbáláson

Version 2.747.0

Added

  • Hozzáadva WebP kép importot: az AddImageFromFile most elfogad .webp fájlokat egy beépített, veszteségmentes (VP8L) dekódolón keresztül, amely megvalósítja az RFC 9649-et — kanonikus prefix kódokat, térbeli meta prefix kódokat, LZ77 hátrautalásokat a szomszédsági távolságtérképpel, a color cache-et és mind a négy inverz transzformációt (predictor, color, subtract-green, pixelcsomagolásos color indexing); a veszteséges VP8 képkockák egyértelmű üzenettel elutasításra kerülnek

Version 2.746.0

Added

  • A beépített vonalkód-dekódoló most a nyolc tájolás bármelyikében olvas QR szimbólumokat, ahová egy lefotózott vagy beszkennelt oldal érkezhet: a finder minták azonosítják a hiányzó sarkot, a mintavételezett modulmátrix pedig forgatva vagy tükrözve kerül a várt elrendezésbe a dekódolás előtt, így negyed fordulattal elforgatott és tükrözött felvételek előfeldolgozás nélkül olvashatók

Version 2.745.0

Added

  • Hozzáadva eIDAS minősített tanúsítvány értékelést a betöltött aláírásokhoz: a GetLoadedSignatureQCStatements kimutatja az aláírótanúsítvány ETSI EN 319 412-5 QCStatements értékeit — QcCompliance, QcSSCD, QcType értékek, a QcLimitValue pénznem/összeg/kitevő és a PDS helyek —, plusz a TS 119 495 PSD2 fizető és kedvezményezett szerepeket, és minősített aláírás heurisztikát jelez, amikor a QcCompliance és a QcSSCD is be van állítva (a QTSP megbízhatósági döntése a hívónál marad)

Version 2.744.0

Added

  • Hozzáadva N-up tervezést a betöltött dokumentumokhoz: a ComposeLoadedPagesNUp minden oldalt rács szerint komponált, forráspapír méretű ívekre tördel át (2-up, 4-up, 6-up, egészen 16x16-ig) nyomdakész kimenethez, mindegyik oldal /Rotate-ját az elhelyezési mátrixba olvasztva, az oldalerőforrásokat a kompozícióval megosztva, és opcionálisan hajszálvékony cellakereteket rajzolva állítható középmargóval

Version 2.743.0

Added

  • A FlattenLoadedAnnotations most beégeti a megjelenési adatfolyam nélküli annotációkat csendes kihagyásuk helyett: a widgetek mezőmegjelenése először a mezőértékből generálódik (a böngészőből nyomtatott űrlapoknál gyakori /NeedAppearances eset), így a beírt érték átvészeli az oldaltartalomba
  • A /AP nélküli markup annotációk szintetizált megjelenést kapnak, amelyet saját tulajdonságaikból rajzol a könyvtár — FreeText és Stamp szöveg /DA stílusozással és /Q igazítással, Square és Circle alakzatok /C / /IC színnel és /BS vastagsággal, Line és Ink körvonalak, valamint Highlight / Underline / StrikeOut / Squiggly quad markup /QuadPoints és /CA opacitás tiszteletben tartásával
  • A rejtett annotációkat (a /F hidden flag) annotációként hagyja meg, amikor nincs megjelenésük, mert egy láthatatlan jegyzet beégetése láthatóvá tenné

Version 2.742.0

Added

  • A HTML import most teljes foglaltsági rácson oldja fel a táblázatokat, így a rowspan és colspan cellák helyesen foglalják el oszlopaikat, és a későbbi sorok kihagyják a foglalt helyeket balra csúszás helyett
  • A táblázat sormagasságai a cellaszöveg adott cella saját betűtípusa alatti tördeléséből származnak karakterszámlálós becslés helyett, így a vegyes keskeny és széles tartalom már nem eredményez túlcsorduló vagy túlméretezett cellákat
  • Az oszlopszélességek követik a <col> szélességi tippeket és a cellánkénti szélesség attribútumokat, és a <thead>-vel jelölt fejlécsorok (vagy az elején all-<th> sorok) minden folytatott oldal tetején megismétlődnek, amikor a táblázat oldaltörésen átmegy
  • Egy rowspan csoport egyben marad az oldaltöréseken át: az áthidaló cella által összekötött sorok együtt kerülnek a következő oldalra, így az áthidaló cellát sosem vágják ketté

Version 2.742.0

Fixed

  • Javítva, hogy a Free Pascal package buildek 2.738.0 óta hibáztak: az LTV bizonyíték és seed value tagdeklarációk egy csak-Delphi feltételes blokkba kerültek, miközben a megvalósításaik feltétel nélküliek voltak, így a Free Pascal package már nem fordult; a megvalósítások most ugyanazt a feltételt hordozzák, és a package újra fordul

Version 2.741.0

Added

  • Hozzáadva szerkezetrendű szövegkinyerés: az ExtractLoadedPageStructureText a dokumentumszerkezet fáját járja be szerzői sorrendben (ISO 32000-1 14.8.4), és MCID szerint fűzi össze egy oldal marked-content futamait, így a taggelt dokumentumok, például állami űrlapok és akadálymentes kiadványok a hiteles olvasási sorrendjüket adják vissza geometriai találgatás helyett; a fa által sosem igényelt betűjelek egy geometriai farokba esnek, és a taggelés nélküli jelentésben számolódnak

Version 2.741.0

Fixed

  • Javítva, hogy a Free Pascal buildek leálltak hiba jelentése helyett, amikor egy dokumentum olyan codecet igényelt, amelyet ezek a buildek nem linkelnek: egy TIFF megnyitása, JPEG 2000 vagy JBIG2 kép dekódolása, progresszív vagy csökkentett felbontású JPEG olvasása, ICC színtranszformáció alkalmazása vagy Zopfli újratömörítés kérése azonnal befejezte a folyamatot
  • Ezen műveletek mindegyike most úgy hibázik, ahogy a hívója már elvárja, így az egyiket használó dokumentum a funkció kihagyásával töltődik be, ahelyett hogy magával rántaná az alkalmazást

Version 2.740.0

Fixed

  • Engedélyezve a P-384 ECDH kulcsegyeztetés: a CIOS Montgomery szorzás végső feltételes kivonása a P limb plusz borrow értékhez hasonlított, amely nullába fordul át a P-384 / P-521 prímek csupa-egyes magas limbjein, és csendben tévesen kölcsönzött; az összehasonlítás most a túlcsorduló összeadás nélkül észleli a borrow-t, és a P-384 megosztott titok bájtonként egyezik az OpenSSL referencia vektorokkal

Version 2.740.0

Fixed

  • Javítva a színes betűjelek átlátszóságvesztése Free Pascal buildekben: a beágyazott színes bitmapokat egy olyan útvonalon olvasták, amely eldobja az alpha csatornát, így minden emoji vagy színes betűtípusú betűjel fedetlen téglalapként rajzolódott. A bitmapok most megtartják pixelenkénti alfájukat

Version 2.739.0

Added

  • Hozzáadva CSS2.1 bekezdés-tipográfiát a HTML5 import motorhoz: text-align (a régi align attribútummal és a center-tag leképezéssel), letter-spacing és word-spacing a PDF Tc / word-space operátorokon keresztül, text-indent az első sor behúzásához, valamint text-decoration underline / line-through szabályok, így a meglévő webes és e-mail HTML importok megtartják a középre zárt címeket, a behúzásokat és az aláhúzásokat
  • Kibővítette a beépített QR dekódolót az 1-es verzión túl: a szimbólum verziója most a finder geometriából, rács oszthatóságán keresztül származik (a 2-40-es verziók tiszta modulráccsal dekódolódnak), a byte-mode hosszplafon az ISO/IEC 18004 Table 7 verziónkénti kapacitását követi, a function-module térkép pedig lefedi az alignment mintákat és a verzióinformációs blokkokat a magasabb szimbólumokhoz

Version 2.739.0

Added

  • A Free Pascal buildek most titkosítanak és fejtenek vissza dokumentumokat: az AES belépési pontokat a könyvtár saját FIPS-197 megvalósítása szolgálja ki unsupported-operation hiba helyett, így AES-128 és AES-256 védelmű fájlok hozhatók létre és nyithatók meg ott
  • Az AES-GCM titkosítás és visszafejtés, beleértve a nagy hasznos terhekhez használt streaming kontextust, elérhető a Free Pascal buildekben
  • A Free Pascal smoke test most FIPS-197 known answer alapján ellenőrzi a rejtjelet, PKCS#7 és GCM round tripeket gyakorol, valamint létrehoz és újratölt egy AES-256 védelmű dokumentumot jelszóelutasítással

Version 2.738.0

Added

  • A Free Pascal buildek most natívan tömörítenek és bontanak ki dokumentumokat: a deflate codecet egy beépített backend szolgáltatja a Free Pascal-jal szállított Pascal zlib megvalósítás fölött, így a FlateDecode tartalom már nem unsupported-operation hibát jelez
  • Tömörített dokumentumok hozhatók létre és tölthetők újra Free Pascal alatt az alapértelmezett tömörítési beállítással, és a kereszthivatkozás-adatfolyamok, objektum-adatfolyamok, beágyazott fájlok és tömörített oldaltartalmak mind dekódolódnak ott
  • A backend lefedi a zlib és nyers deflate burkolókat, a gzip burkolót és az automatikus fejlécészlelést, így az SVG importok és a többablakméretes kibontási fallback úgy viselkednek, mint Delphi alatt
  • A Free Pascal smoke test most egy wrapper és checksum önteszt plusz egy tömörített dokumentum round trip révén ellenőrzi a codecet

Version 2.738.0

Added

  • Hozzáadva AIA caIssuers lánc kiegészítést: a HPDFFetchAIAIntermediates bejárja egy CMS tanúsítványkészlet access-method 1.3.6.1.5.5.7.48.2 végpontjait a hívó transzportján keresztül (csupasz DER és PEM törzsek egyaránt dekódolódnak), a FetchMissingIntermediates validációs opció pedig a lekért köztes tanúsítványokat az útvonalépítésbe táplálja, így a lone end-entity tanúsítvánnyal érkező felhős aláírók aláírásai validálódnak az útvonalépítés elbukása helyett
  • Hozzáadva egyhívásos LTV engedélyezést: a PopulatePAdESLTVEvidence bejárja a betöltött összes aláírást, online lekéri a közteseit plusz az OCSP/CRL bizonyítékait, és az anyagot a dokumentum DSS-ébe írja, friss B-B aláírású dokumentumot B-LT-re emelve kézzel összerakott bizonyítéktömbök nélkül
  • Hozzáadva seed value kikényszerítést az aláíráshoz: a CheckLoadedSignatureSeedValue beolvassa az aláírásmező /SV szótárát, és a jelölt SubFilter, DigestMethod, Reason és DocMDP profilt a megszorításaihoz méri az ISO 32000-1 12.7.5.5 force-bit szemantikájával, így az űrlapszerző megszorításai már az aláírás elhelyezése előtt érvényesülnek

Version 2.737.0

Added

  • Hozzáadva szigorú mentésellenőrzést a VerifySavedOutput property-n keresztül: írás után egy friss olvasópéldány kereszthivatkozás-helyreállítás nélkül újratölti a fájlt, így a sérült szerializáció a hívás helyén jelentkezik, a következő fogyasztónál való felbukkanás helyett
  • Kiterjesztette a ReproducibleOutput-ot titkosított dokumentumokra: az AES-CBC adatfolyamok a statikus 14*(1+i) IV konvenciót használják, a kulcsanyag és a sók determinisztikusan származnak, és a kanonikus dokumentum-ID normalizálja a változékony Info időbélyegeket, így bájt-azonos titkosított mentések születnek a regressziós pipeline-okhoz

Version 2.736.0

Added

  • Hozzáadva jó minőségű újramintavételezést és monokróm ditheringet az új HPDFResample uniton keresztül: szétválasztható Catmull-Rom bicubic és Lanczos3 kernelek váltják fel a GDI nyújtási szemantikáját a képlekicsinyítésnél az ImageDownsampleKernel property-n keresztül, a RenderOutputDither pedig Floyd-Steinberg hibadiffúziót alkalmaz az oldal kompozitálása után, így a nyomtatási előnézet kimenete megőrzi a fotó részletességét tiszta fekete-fehérben

Version 2.735.2

Fixed

  • Javítva a Flate kibontási adatfolyamok hibája, amely a puffer változó címét adta át a puffer helyett a forrásadatfolyamból történő újratöltéskor, így minden olvasásnál sérült a memória, és összeomolhatott a folyamat; a tömörített dokumentumok betöltését, az inflate adatfolyamosztályokat, valamint a tömörítő és kibontó adatfolyam segédeket mind érinti

Version 2.735.1

Fixed

  • Javítva a növekedésre képes, adatforrás nélküli XFA mezők egyetlen sorrá összecsukása lapításkor: a magasságukat most a sablon által deklarált szövegből méri a könyvtár, ami pontosan az, amit egy ilyen mező megjelenít. Az üres adathoz kötött mező továbbra is üresként méreteződik

Version 2.735.0

Added

  • Hozzáadva rajzolási idejű hiányzó betűjel észlelést: a TrackUnresolvedGlyphs property rögzíti minden olyan kódpontot, amely .notdef tofu dobozként jelenne meg az aktív Unicode face-en, OnUnresolvedGlyph eseményt dob megállapításonként, és a nem regisztrált, tisztán GDI dokumentumokat érintetlenül hagyja
  • Hozzáadva örökölt kern tábla támogatást: a RegisterUnicodeTTF rögzíti az Apple/GDI-korszakbeli kern táblát, és a kerning kibocsátás a format-0 bináris párkeresésére esik vissza, amikor a betűtípus nem tartalmaz GPOS kern lookupokat, helyreállítva a klasszikus pártávolságot olyan betűtípusokban, mint a gyári Arial
  • Hozzáadva futamonkénti betűtípus-fallbacket a bekezdéselrendezésben: a WideTextOutBox most minden tördelt sort szétbont azoknál a kódpontoknál, amelyeket az aktuális betűtípus nem tud leképezni, és minden futamot a feloldott fallback betűtípusával rajzol, így a vegyes latin, emoji és CJK bekezdések tofu nélkül jelennek meg, amikor fallback láncok vannak regisztrálva

Version 2.735.0

Added

  • A Free Pascal buildek most a teljes könyvtárat lefedik: minden unit lefordul FPC 3.2.2 és Lazarus alatt, korábban csak az alapvető létrehozási és betöltési útvonal tette
  • XPS, EPUB és CBZ tárolók importálhatók Free Pascal alatt egy beépített, csak olvasható ZIP olvasón keresztül, amely kezeli a ZIP64 méreteket, a stored és deflated bejegyzéseket, a CRC ellenőrzést és a hagyományosan titkosított bejegyzéseket ugyanazzal a jelszó-callbackgel, mint a Delphi útvonal
  • Az XFA űrlaplapítás, a FormCalc számító motor, a widget futtatókörnyezet, a dokumentummegjelenítő komponensek, a Type 1 betűtípuskezelők, a HTML import, az aláírásellenőrzés és a job runner mind lefordulnak Free Pascal buildekben; a betöltött dokumentum XFA packetjeinek lapításához továbbá kell a deflate codec, amelyet ezek a buildek nem linkelnek

Fixed

  • Javítva a PNG segédunit 64 bites bájtcseréje, amely hibás értékeket adott Win64 alatt, és miatta az unit egyáltalán kimaradt a buildből

Version 2.734.0

Added

  • Hozzáadva az RFC 3161 időbélyeg-kérés kiszolgálóoldalát: a HPDFRFC3161BuildRequest kibocsátja a DER TimeStampReq-et friss pozitív INTEGER nonce-mal, opcionális policy OID-del és certReq-gel, a HPDFRFC3161ParseResponse pedig dekódolja a PKIStatusInfo fejlécet és kinyeri a tokent, így a TSA transzport callbackjei három sorosak egy DER tanulmány helyett
  • Hozzáadva az ISO/TS 32002 developer extension deklarációt (THotPDF.EnsureISO32002Extensions), amely lefedi az EdDSA aláírási algoritmusokat és a további ECDSA görbéket PDF 2.0 dokumentumokban, idempotensen és verziókapuzottan, akárcsak a 32001-es SHA-3 deklaráció

Version 2.733.0

Added

  • Hozzáadva hordozható X25519 és X448 Montgomery-ladder kulcsegyeztetést, valamint P-256 / P-521 NIST-görbés ECDH-t CIOS Montgomery szorzással, lehetővé téve a key-agreement (KARI) nyilvános kulcsú címzettek teljes egészében a folyamaton belüli létrehozását és felbontását; az RFC 7748 és az OpenSSL által generált referencia vektorok a ladder viselkedését a regressziós csomagba zárják
  • Hozzáadva a HPDFUnwrapKeyAgreementRecipientEnvelope metódust az AddPubSecAgreementKeyMaterial és AddPubKeyAgreementRecipientWithSecret belépési pontokkal együtt, így az ECDH / X25519 / X448 címzettekkel titkosított dokumentumok megnyithatók a címzett privát skalárjával, és titkosíthatók külső ECDH eszközök nélkül

Version 2.732.0

Changed

  • A mentések most 1 MiB-os pufferelt íróadatfolyamon vezetik át a szerializáló kimenetét, az objektumfejlécek, szótárkulcsok és xref sorok tokenenkénti Write hívásait kötegelt kiírásokká vonva össze fájl alapú céloknál
  • A kereszthivatkozás-adatfolyam hasznos adatai PNG Up predikciót alkalmaznak (/DecodeParms /Predictor 12) a FlateDecode előtt, és a /Index alszakaszokon keresztül összevonják a free-list lyukakat, így az xref tárolók minden PDF 1.5+ dokumentumnál és ritka objektumtartományoknál zsugorodnak
  • A CompressionLevel property most a kereszthivatkozás-adatfolyam és objektum-adatfolyam tárolók Flate erőfeszítését is kiválasztja, így a clMaximum kisebb strukturális adatfolyamokat eredményez mentés közben

Fixed

  • A kereszthivatkozás-adatfolyam /W mezőszélességei most a tényleges eltolási tartományhoz alkalmazkodnak a rögzített [1 4 2] elrendezés helyett, amelynek Cardinal castja csendben levágta a 4 GiB feletti eltolásokat, károsodott kimenetet eredményezve

Version 2.731.0

Changed

  • Újraépítette a beépített template-matching OCR-t összefüggő komponenses betűjelkinyeréssel, szürkeárnyalatos lefedettség-pontozással gyorsítótárazott többbetűtípusos sablonok alapján, Otsu binarizálással helyi ablakos fallbackgel, bimodális hézagon alapuló szavakra bontással, szónkénti alapvonalakkal, porszemcse-zaj elutasítással, valamint kibővített 62 karakteres ábécével, amely vegyes kis- és nagybetűs ASCII szöveget ismer fel sorszintű magasságklaszterezéssel és kis-/nagybetű kontextuspreferenciával

Version 2.730.0

Added

  • Hozzáadva Win64 támogatást a Free Pascal 3.2.2-hez és Lazarus 4.6-hoz, beleértve egy futásidejű package-et, reprodukálható build szkriptet, kompatibilitási réteget és nem GUI create-and-reload smoke testet; a natív statikus codec integrációk továbbra is csak Delphi alatt érhetők el, és explicit unsupported-operation hibát jeleznek Free Pascal buildekben

Version 2.729.0

Added

  • Hozzáadva gazdasemleges dinamikus XFA widget futtatókörnyezetet Unicode szerkesztéssel, fókusz- és találatteszteléssel, példányt ismerő kötéssel, atomi validációval és számítással, korlátozott reflow-val, valamint csak olvasható betöltött dokumentum factoryvel, amely megőrzi a forrás XFA-t

Version 2.728.0

Fixed

  • Kijavította az XFA belső mérését és szövegfolytatását, hogy megőrizze az explicit üres és számított értékeket, használja az egyes mezőkhöz vagy ismételt sorokhoz tartozó kötési kontextust, megtartsa a breakAfter akciókat, elkerülje a szintetikus névütközéseket, és kikényszerítsen egy gyorsítótárazott globális mérési keretet

Version 2.727.0

Changed

  • Az XFA elrendezés most belső minimális és maximális méreteket alkalmaz, a növekedésre képes mezőket a hozzájuk kötött szövegből méri, és atomikusan osztja szét a jogosult textEdit tartalmat tartalomterületek és oldalak között csak olvasható folytatási mezőkkel, valamint korlátozott szöveg-, töredék- és mérési keretekkel

Version 2.726.0

Added

  • Hozzáadva teljes NChannel process és spot attribútumokat, mixing hinteket, korlátozott PDF 2.0 CxF/X-4 spektrális festék adatfolyamokat, valamint dokumentumszintű konzisztencia-ellenőrzéseket a spot tint definíciókhoz és a külső output-intent színezőkomponens táblákhoz

Version 2.725.0

Added

  • Hozzáadva szálbiztos, determinisztikus SIMD scanline megjelenítő backendet, amely előre ellenőrzi a támogatott téglalap display listeket, a végső bitmap felületet vektorblokkokban írja köztes bitmapmásolat nélkül, és pontos, kérésenkénti elutasítási okokat ad vissza a meglévő software fallback és telemetria csővezetéken keresztül

Version 2.724.0

Changed

  • Kibővítette a korlátozott natív FormCalc értékelőt általános SOM node-set aggregátumokkal, kevert skalár és node-set argumentumokkal, beágyazott numerikus és string hívásokkal, valamint determinisztikus kiválasztó, string, trigonometriai, logaritmikus és konverziós függvényekkel a meglévő művelet-, tömb-, mélység-, idő- és kimeneti keretek alatt

Version 2.723.0

Changed

  • A SubsetLoadedFonts most biztonságosan subset-eli a beágyazott Type 1 PFB, szétvágott bináris és hex PFA programokat, megtartja a rekurzív TrueType composite függőségeket, és lezárja a COLR v0/v1 körvonalfüggőségeket, miközben megőrzi a szín-, bitmap-, variation- és shaping táblákat

Version 2.722.0

Added

  • Hozzáadva korlátozott jelszó-callbackeket a klasszikus ZIP-titkosítású XPS, EPUB és CBZ bejegyzésekhez, beleértve bejegyzésenkénti újrapróbálási korlátokat, megszakítás-ellenőrzéseket, csak memóriás hitelesítéskezelést, valamint zárt hibázású elutasítást az elérhetetlen, érvénytelen vagy nem támogatott titkosításra

Version 2.721.0

Changed

  • A DownsampleLoadedImages most a támogatott 8 bites Separation és DeviceN képmintákat közvetlenül a komponens térben méretezi át, és megőrzi az eredeti színtér-gráfot, a tint transzformációt, a színezőkomponenseket, a /Decode tartományokat és az overprint szemantikát mentés és újratöltés során

Version 2.720.0

Added

  • Hozzáadva korlátozott, beépített felismerő overloadokat nagy kontrasztú nagybetűs ASCII OCR-hez, vízszintes Code 39-hez és tiszta, tengelyigazított QR version 1 byte-mode szimbólumokhoz, lehetővé téve kereshető szövegrétegeket és betöltött oldal vonalkód-dekódolást hívó által szolgáltatott engine nélkül, miközben a kétértelmű vagy nem támogatott bemenet zárt módon hibázik

Version 2.719.0

Added

  • Hozzáadva korlátozott JPEG 2000 finomítást felbontás és minőségi réteg szerint a THPDFJpeg2000Decoder.LoadProgressiveFromByteArray útján, plusz többrétegű kódolást a TJpeg2000Bitmap.QualityLayers útján, azonos végső pixelekkel LRCP, RLCP, RPCL, PCRL és CPRL progressziós sorrendek esetén

Version 2.718.0

Changed

  • Beágyazta a teljes UniJIS, UniGB, UniCNS és UniKS UCS2 és UTF16 vízszintes és függőleges CMapeket, beleértve a kiegészítő skalárokat és a szabványos függőleges alapértelmezéseket, így a CJK szövegkinyerés és geometria már nem függ külső Unicode leképezési fájloktól vagy fél-em találgatásoktól

Version 2.717.0

Added

  • Hozzáadva explicit linearizált megosztott objektum függőségtartományokat és tartományérkezés alapú újrarajzolási ütemezőt, így az oldalak már az összes opcionális függőség megérkezése előtt kirajzolódhatnak, és pontosan akkor rajzolódnak újra, amikor az újonnan elérhető adat megváltoztatja az eredményt

Version 2.716.0

Added

  • Hozzáadva korlátozott objektumgráf-javítást a végrehajtható xref, trailer, katalógus, oldalfa- és névfa-preflight megállapításokhoz validált tranzakciócommittal és teljes visszagörgetéssel nem biztonságos vagy kétértelmű bemenet esetén

Version 2.715.0

Added

  • Hozzáadva PDF 2.0 titkosított payload burkolókat, amelyeknél a látható dokumentumtartalom hitelesítés előtt is olvasható marad, miközben a beágyazott fájlnevek, leírások és bájtok védve maradnak explicit jelszavas feloldásig

Version 2.714.0

Changed

  • A betöltött oldal SVG exportja most kibocsátja az axiális és radiális gradienseket, a Type 4-től Type 7-ig terjedő mesh árnyalatok korlátozott PNG ábrázolásait és a dekódolt inline képeket a megfelelő kihagyás-számlálók növelése nélkül

Version 2.713.0

Changed

  • Az OpenType SVG színes betűjelek most a korlátozott Form XObject csővezetéket használják ívekhez, vektor gradiensekhez, opacitáshoz, geometriai maszkokhoz és helyi #id újrafelhasználáshoz, miközben továbbra is elutasítják a szkripteket, a külső erőforrásokat, a képeket és a nem támogatott aktív tartalmat

Version 2.712.0

Changed

  • A ReplaceLoadedPageText most a TJ string elemeken és tömbökön átívelő egyezéseket cserél betűjel-forrástartományokon keresztül, miközben megőrzi a kerning számokat, az egyezetlen prefixeket és suffixeket, a nem kapcsolódó operandusokat és az eredeti tartalom-adatfolyam szerkezetet

Version 2.711.0

Added

  • Hozzáadva a CFF FontSet SyntheticBase feloldását örökölt Top és Private DICT értékekkel, CharStringsekkel, charsettel, Encodinggal és Local Subrs-szal, továbbá determinisztikus felülírási szemantikával és korlátozott elutasítással az érvénytelen, ciklikus vagy túlságosan mély öröklődésre

Version 2.710.0

Added

  • Hozzáadva determinisztikus, korlátozott Flate prediktorkiválasztást a HPDFSelectFlatePredictor útján, elosztott sormintákkal, becsült bájtköltséggel, konfigurálható CPU súlyozással, valamint explicit bájt-, sor- és munkakeretekkel

Version 2.709.0

Added

  • Hozzáadva opt-in natív JBIG2 Huffman szimbólumszótár- és szövegterületkimenetet a THPDFJBIG2Options.UseHuffmanEncoding útján, beleértve a szabványos DH, DW, BMSIZE, FS, DS és DT táblákat, nyers kollektív bitmapokat, szimbólum-ID táblákat, determinisztikus natív útválasztást és pixelpontos dekódoló round tripeket, miközben megmarad az aritmetikai és MMR alapértelmezés

Version 2.708.0

Changed

  • Gyorsítótárazta az arab és kombinált presentation-form fordított cmap leképezéseket regisztrált betűtípusgenerációnként, kiváltva az ismételt U+FB00..U+FDFF és U+FE70..U+FEFF bejárásokat az ApplyArabicGSUBRefinement, ApplyArabicGSUBContextualRefinement és az általános kontextusú GSUB útvonalon, miközben megőrzi a kódpontprecedenciát és a formázott kimenetet

Version 2.707.0

Added

  • Hozzáadva az Aztec 2D vonalkód kódolót (ISO/IEC 24778) a THPDFPage.DrawAztec és a különálló THPDFAztec egységen keresztül: dinamikus programozású magas szintű kódolás módrögzítésekkel, shift-ekkel és bináris-shift futamokkal, bit töltéssel (bit stuffing), Reed-Solomon hibajavítással GF(16)-tól GF(4096)-ig, automatikus kompakt 15x15..27x27 vagy teljes 19x19..143x143 szimbólumválasztással, valamint kényszerített rétegvezérléssel rögzített szimbólumméretekhez
  • Hozzáadva a függőleges oldalszöveg összeállítást: a THotPDF.ExtractLoadedPageText és a tartomány/adatfolyam aggregációs API-k most a WMode 1 betűjeleket oszlopokba rendezik a betűjel origó X szerint, az oszlopokat jobbról balra sorolják, és minden oszlopot fentről lefelé járnak be, ahelyett hogy a függőleges CJK szöveget betűjelenkénti sorokra szaggatnák

Fixed

  • Javítva a párhuzamos sávexport hibája, amely PNG sávszélesség-eltérés miatt hibázott tört pixeles oldalakon (A4 96 DPI-nél): a raszterméret most Ceil-lel kerekít, egységesen a sávírókkal, így a leszállított csempék mindig egyeznek a kódoló szélességével

Version 2.706.0

Added

  • Hozzáadva streamelt betöltött oldal PNG exportot és sávos többoldalas TIFF exportot a THotPDF.SaveLoadedPageToPng, SaveLoadedPageToPngStream, SaveLoadedPagesToTiffBanded és SaveLoadedPagesToTiffStreamBanded útján, amelyek a tömörített képadatokat soronként írják a sávkódolókon keresztül, így a nagyon nagy oldalakhoz nem kell teljes framebuffer; a THPDFBandImageExportInfo oldal-, sáv-, sor-, worker-, memória-, kimeneti, időzítési és megszakítási telemetriát jelent

Version 2.705.0

Added

  • Hozzáadva a PDF/A finalizálást a betöltött mentési utakhoz: a THotPDF.SaveLoadedDocument és SaveLoadedDocumentToStream most validálja a GTS_PDFA1 OutputIntentet (a forráskatalógusból örökölve vagy frissen regisztrálva), és kibocsátja a pdfaid:part / pdfaid:conformance XMP azonosítást, amikor a PDFACompliance be van állítva, miközben a meglévő pdfaid packetet bájtonként megőrzi újramentéskor
  • Hozzáadva a függőleges írás (WMode 1) feldolgozását a betöltési oldalon: a CIDFont /W2 és /DW2 cellametrikák most vezérlik a szövegkinyerést és az oldal megjelenítését, oszlopokban haladva lefelé a szögtér y tengelyén a v1x/v1y pozicionáló vektorral a vízszintes /W előrehaladások helyett

Version 2.704.0

Added

  • Hozzáadva párhuzamos betöltött oldal csempe- és sávmegjelenítést a THotPDF.RenderLoadedPageTilesParallel és THotPDF.RenderLoadedPageBandsParallel útján, sor-főrendű hívószál-callbackekkel, kölcsönzött bitmapokkal, kooperatív megszakítással, hívó által vezérelt folyamatban lévő memóriával, csúcsmemória-felvételi szabályozással, valamint korlátozott, megváltoztathatatlan Type 3 betűjel- és halftone screen gyorsítótárral, amelyet izolált megjelenítési kontextusok osztanak meg

Version 2.703.0

Added

  • Hozzáadva korlátozott CSC multisign digest tételt a THPDFCSCSignatureProvider.SignHashBatch útján, egy hash-rögzített SAD-dal és egy signatures/signHash kéréssel rendezett, azonos algoritmusú tételhez, miközben kikényszeríti a helyi és hitelesítési multisign korlátokat, a szigorú válaszkardinalitást, a szinkron vagy aszinkron eredményrendezést, a SHA-256 tartalom alapú idempotenciakulcsokat és a befejezett tétel visszajátszását

Version 2.702.0

Added

  • Kibővítette a THotPDF.RenewPAdESLTATimestamp metódust hívó által szolgáltatott tanúsítvány-, OCSP- és CRL bizonyítékokkal, amelyek a meglévő DSS-be olvadnak össze az új RFC 3161 dokumentumidőbélyeg előtt, minden korábbi revíziót bájtonként megőriz, és pontosan duplikátummentesíti a validációs adatfolyamokat az egymást követő megújítások során

Version 2.701.0

Added

  • Hozzáadva záradékkal címezhető PAdES baseline és kiterjesztett profil preflight a THotPDF.PreflightLoadedPAdES útján, amely minden alkalmazandó követelményt jelent stabil szabály ID-vel, profillal, normatív szinttel, szabványzáradékkal, PDF útvonallal, objektumszámmal, aláírt vagy aktuális revízióval és megfelelési státusszal, miközben validálja a CMS kardinalitásokat, az aláírótanúsítvány ESS hivatkozásokat, az aláírás-szótár korlátokat, a bájttartomány-lefedettséget, a megbízható időt, a DSS bizonyítékokat és a dokumentumidőbélyeg-lefedettséget

Version 2.700.0

Added

  • Hozzáadva végponttól végpontig terjedő ECDSA, Ed25519 és Ed448 PFX / PKCS#12 privátkulcs-betöltést és CMS dokumentumaláírást, beleértve a named-curve CNG ECDSA-t, az opcionális OpenSSL 3 PureEdDSA-t, RFC 8410 kulcsdekódolást, RFC 8419 digest és paraméterszabályokat, SHAKE256-ot 512 bites kimenettel Ed448-hoz, automatikus kulcsalgoritmus-választást és szigorú tanúsítvány-kulcs párosítást

Version 2.699.0

Added

  • Hozzáadva determinisztikus többazonosságú PFX / PKCS#12 hitelesítésválasztás a HPDFEnumeratePFXIdentities, HPDFParsePFXByLocalKeyID és THPDFCMSSignOptions.PFXLocalKeyID útján, beleértve a szigorú egyértékű localKeyId és friendlyName bag attribútumokat, nyilvános kulcs párosítást, rekurzív safe-content bageket, korlátozott kétértelműség- és ciklusdiagnosztikát, valamint automatikus, egyező köztes és gyökér tanúsítványlánc beágyazást pontos DER duplikátumeltávolítással

Version 2.698.0

Added

  • Kibővítette a folyamaton belüli PFX / PKCS#12 PBES2 visszafejtést AES-128-CBC és AES-192-CBC, valamint PBKDF2 HMAC-SHA-384 és HMAC-SHA-512 PRF-ekkel, beleértve a rejtjelspecifikus opcionális keyLength validációt, valamint a korlátozott salt, iteráció, IV és padding ellenőrzéseket, miközben megmarad az AES-256-CBC és HMAC-SHA-1 / SHA-256 kompatibilitás

Version 2.697.0

Added

  • Hozzáadva a szabványnak megfelelő XPS és OpenXPS Canvas FixedPage.NavigateUri öröklődést, így a leszármazott Path, Glyphs és beágyazott Canvas vizuális elemek megkapják a hatókörrel rendelkező URI-t, hacsak felül nem írják, megőrizve a külső, mail, csomagoldal és percent-dekódolt LinkTarget akciókat transzformációkon, beágyazott vágásokon, izolált opacitáscsoportokon, újrafelhasználható vizuális elemek elnyomásán, beágyazott felülírások utáni helyreállításon, valamint a meglévő link, URI, megszakítási és nem biztonságos séma korlátokon keresztül

Version 2.696.0

Added

  • Hozzáadva korlátozott natív XPS és OpenXPS Canvas átlátszósági csoportokat, így az Opacity és a sima, gradient vagy kép Canvas.OpacityMask értékek az átfedő gyermekvizuális elemeket egyszer kompozitálják izolált DeviceRGB Form XObjecteken keresztül, összevont egységes alfával, megosztott változó alfás soft maszkokkal, beágyazott csoportokkal, transzformált vágásokkal, erőforrásátvitellel, megtartott linkekkel, valamint zárt hibázású hibás, nem támogatott, szinguláris vagy túlméretezett tartalomkezeléssel

Version 2.695.0

Added

  • Hozzáadva korlátozott natív XPS és OpenXPS Canvas.Clip konverziót rövidített geometriához, helyi vagy távoli StaticResource PathGeometry értékekhez, közvetlen property elemekhez, strukturált vonal-, Bézier-, kvadratikus és ív alakzatokhoz, geometriatranszformációkhoz, üres vágásokhoz, valamint beágyazott EvenOdd vagy NonZero vágáshoz PDF W* vagy W útján, vágott navigációs határokkal, 100,000 érték elemzési korlátjaival és zárt hibázású hibás vagy szinguláris transzformációdiagnosztikával

Version 2.694.0

Added

  • Hozzáadva korlátozott natív XPS és OpenXPS navigációt transzformált Path és Glyphs vizuális elemekhez, amely megőrzi a HTTP, HTTPS és mail linkeket PDF URI annotációkként, és feloldja a csomaghoz relatív oldalakat, valamint a percent-dekódolt LinkTarget töredékeket előre- vagy hátrafelé mutató PDF GoTo akciókként, miután minden oldal létezik, metrikát ismerő kattintási határokkal, 65,536 linkes és 8,192 karakteres korlátokkal, VisualBrush rögzítéselnyomással, megszakíthatósággal és zárt hibázású nem biztonságos séma diagnosztikával

Version 2.693.0

Added

  • Hozzáadva korlátozott natív XPS és OpenXPS VisualBrush konverziót inline vagy erőforrás alapú Canvas, Path és Glyphs vizuális elemekhez, hierarchikus és távoli ResourceDictionary kereséssel, abszolút Viewbox-szal, abszolút vagy relatív Viewport-tal, None, Tile és tükrözött csempemódokkal, transzformációkkal, opacitással, újrafelhasználható Form XObjectekkel, megosztott csempemintákkal, tokent ismerő erőforrásátvitellel, valamint zárt hibázású ciklus-, hibás bemenet-, rekurzió-, tartalom-, gyorsítótár- és elhelyezési keretekkel

Version 2.692.0

Added

  • Hozzáadva natív XPS és OpenXPS csomagbetűtípus-beágyazást TrueType és OpenType programokhoz, TTC tagtöredékekhez, GUID-elfedett erőforrásokhoz, közvetlen vagy cmapből származtatott glyph ID-khoz, egy-a-sokhoz Unicode klaszterekhez, explicit előrehaladásokhoz és offsztekhez, szélességben helyes RTL origókhoz, megosztott betűtípus-erőforrásokhoz, beágyazási és no-subsetting engedélyekhez, opcionális glyph subsettinghez, korlátozott ToUnicode leképezésekhez, valamint amortizáltan lineáris, pozicionált run kimenethez GDI face helyettesítés nélkül

Version 2.691.0

Added

  • Hozzáadva korlátozott OpenXPS Glyphs Indices elrendezést szigorú klaszter kódegység- és betűjelszámokhoz, explicit század-em előrehaladásokhoz, vízszintes és függőleges offsztekhez, páratlan BidiLevel visszafelé haladáshoz, sima attribútum vagy property-element kitöltésekhez, opacitáshoz, natív PDF TJ kötegeltéshez, pozicionált Unicode klaszter fallbackhez, megtartott szövegkinyeréshez, zárt hibázású hibás bemenet diagnosztikához, valamint amortizáltan lineáris bufferekhez 65,536 leképezéses felső korláttal

Version 2.690.0

Added

  • Hozzáadva az OpenXPS Path.OpacityMask támogatást sima, változó alfás multi-stop lineáris és ellipszis radiális gradient, valamint sima, csempézett vagy tükrözött PNG ImageBrush maszkokhoz összevont egységes alfán keresztül, korlátozott natív DeviceGray átlátszósági csoportokkal, megosztott árnyalatmintákkal és kép soft-maszk adatfolyamokkal, zárt hibázású nem támogatott tartalom kezeléssel, valamint az újrafelhasználható RegisterLuminositySoftMaskState builderrel alfakép-erőforrás kötéssel

Version 2.689.0

Added

  • Hozzáadva az OpenXPS ImageBrush Tile, FlipX, FlipY és FlipXY módjait natív PDF csempemintákon keresztül, egy, kettő vagy négy egymástól függetlenül vágott elhelyezéssel, megosztott kép- és PNG soft-maszk erőforrásokkal, összeállított fixed-page, útvonal- és brush mátrixokkal, valamint a korlátozott RegisterImageTilingPattern API-val újrafelhasználható, képalapú mintákhoz

Version 2.688.0

Added

  • Hozzáadva az OpenXPS ImageBrush.Transform támogatást véges hatparaméteres attribútummátrixokhoz és MatrixTransform property elemekhez, amelyek a natív Path vágás után és a viewport vágás valamint képelhelyezés előtt fűződnek össze, így a brush forgathat, méretezhet, nyírhat vagy tolhat el a befoglaló vektorgeometria változtatása nélkül; a nem szabványos RelativeTransform és a feloldatlan mátrixerőforrások explicit diagnosztikák maradnak

Version 2.687.0

Added

  • Hozzáadva mátrixvezérelt kép XObject elhelyezést a THPDFPage.ShowImageMatrix útján, és kibővítette az XPS fixed-page importot csomagbeli JPEG, PNG, TIFF és JPEG XR ImageBrush kitöltésekkel, abszolút vagy határokhoz relatív Viewbox és Viewport leképezéssel, natív útvonal- és egyviewportos vágással, kép- és útvonalopacitással, PNG soft-maszk alfával, DPI-tudatos 96 DPI méretezéssel, megosztott dekódolt erőforrás gyorsítótárazással, valamint fail-safe diagnosztikával a nem támogatott csempézéshez, transzformációkhoz, színkonverzióhoz és képkörvonalakhoz

Version 2.686.0

Changed

  • Hozzáadva újrafelhasználható, korlátozott multi-stop radiális gradient regisztrációt, és kibővítette a natív vektoros XPS útvonalimportot property-element ellipszis RadialGradientBrush értékekkel, Pad spread móddal, egységes stop alfával, brush opacitással, relatív vagy abszolút középpont-, origó- és sugárleképezéssel, natív Type 3 PDF árnyalattal, valamint koordinátavisszaállítással, amely érintetlenül hagyja az útvonal geometriáját

Version 2.685.0

Changed

  • Kibővítette a rendezett natív vektoros XPS útvonalimportot idézőjeleket ismerő és korlátozott property-element elemzéssel, sima és multi-stop lineáris gradient brushekkkel, natív PDF árnyalatmintákkal, brush és stop alfával, alapértelmezett határokhoz relatív vagy explicit abszolút gradient koordinátákkal, tartományon kívüli stop interpolációval, valamint fail-safe diagnosztikával a nem támogatott transzformációkhoz, spread módokhoz, színinterpolációhoz, változó alfához és degenerált tengelyekhez

Version 2.684.0

Changed

  • Hozzáadva rendezett natív vektoros XPS útvonalimport korlátozott rövidített geometriával, kitöltési szabályokkal, sima RGB és ARGB kitöltésekkel és körvonalakkal, útvonal-opacitással, körvonalvastagsággal, hatparaméteres transzformációkkal, valamint fail-safe diagnosztikával a nem támogatott rajzolási funkciókhoz

Version 2.683.0

Changed

  • Megszigorította a ténylegesen kirajzolt tartalomra vonatkozó PDF/X-6 validációt definícióidejű árnyalatminta grafikus állapottal, nem stroke-olt minta ExtGState szemantikával, zárt hibázású soft-maszk altípus- és hátterellenőrzésekkel, pontos Type 3 betűjelmetrikákkal és örökölt színszabályokkal, szigorú kombináltfesték-alfa osztályozással, korlátozott JPX színkövetkeztetéssel és megjelenést ismerő annotációkompozitálással

Version 2.682.0

Added

  • Hozzáadva termelő- és ellenőrzőtámogatást a brainpoolP256r1, brainpoolP384r1 és brainpoolP512r1 ECDSA aláírásokhoz, beleértve a görbespecifikus SHA-2 és SHA3 digest mátrixot, fail-before-provider aláírásvalidációt, szigorú named-curve tanúsítványparamétereket, paraméter nélküli ECDSA algoritmusazonosítókat, kanonikus DER aláírásértékeket, Windows CNG named-curve importot, valamint determinisztikus diagnosztikát az explicit, hátrahagyott, ismeretlen vagy eltérő paraméterekhez

Version 2.681.0

Changed

  • Egységesítette a nem progresszív bitmap, közvetlen DC, Form és display-list tartalomvégrehajtást a HPDFInterpretContentTokensDevice és az opcionális, teljes IHPDFContentOperatorDevice kiterjesztésen keresztül, operátoronként egy megszakítási ellenőrzőponttal, fordítási idejű operátorindex-gyorsítótárazással az operanduskeresés nélküli display-list visszajátszáshoz, publikus OperatorCount metrikákkal, megőrzött semantic-device kompatibilitással, kijavított ", v és y operátor szemantikával, valamint szabályos EI lezárókezeléssel téves fallback diagnózis nélkül

Version 2.680.0

Added

  • Hozzáadva korlátozott, tranzakciós RepairPDFA4 overloadokat típusos opciókkal, részletes javítási jelentésekkel, megosztott megállapítás-eredettel, biztonságos PDF 2.0 fejléc-, trailer ID, metaadat-, Catalog és megjelenítés-normalizálással, névteret ismerő PDF/A azonosításjavítással, konfigurálható részleges vagy teljesmegfelelőségű commit szabályokkal, hibaregresszió-észleléssel, bájtpontra pontos gráf- és XMP visszagörgetéssel, valamint szigorú határvonallal, amely megőrzi az oldaltartalmat, a betűtípusokat, a színeket, az átlátszóságot, a képeket, a grafikus operátorokat és a kinyert szöveget

Version 2.679.0

Added

  • Hozzáadva ténylegesen kirajzolt tartalomra vonatkozó PDF/X-6 validációt választható ISO 15930-9:2020 vagy resolved-errata 2025 szabályokkal, tényleges ICC fejléc- és csatornaellenőrzésekkel, erőforrást ismerő bejárással a tartalomtömbök, Form XObjectek, csempe- és árnyalatminták, képek, Type 3 betűjelek, soft maszkok és annotációmegjelenések mentén, overprint-mode és kombináltfesték-átlátszósági diagnosztikával, stabil szabályeredettel, valamint korlátozott dekódoltbájt-, token-, objektum-, probléma-, rekurzió- és grafikusállapot-munkakeretekkel

Version 2.678.0

Added

  • Mélyítette a korlátozott PDF/A-4 validációt gyorsítótárazott ICC fejléc- és komponensellenőrzésekkel, dokumentum- és oldalszintű output-intent konzisztenciával, ténylegesen kirajzolt eszközszín- és átlátszóságelemzéssel tartalomtömbök, beágyazott Form XObjectek, képek, képmaszkok, árnyalatok és annotációmegjelenések mentén, örökölt grafikus állapottal, megjelenítési betűtípus-beágyazással, CIDFont és CMap kapcsolatokkal, szigorú annotációjelzőkkel és megjelenési állapotokkal, UTF-8 XMP packet és névtérvalidációval, logikai oldalfa-helyekkel, stabil záradéktudatos diagnosztikával, valamint konfigurálható dekódoltbájt- és tartalomtoken-plafonokkal

Version 2.677.0

Added

  • Befejezte a korlátozott PDF/UA-2 dokumentum-, emberi olvasásra kész szöveg-, opcionális tartalom-, annotáció-, AcroForm-, szerkezetcél-, könyvjelző-, beágyazott fájl- és beágyazott oldalcímke-validációt, beleértve a fizikai ParentTree tulajdonlást, skalár szerkezetgyermekeket, megjelenési adatfolyam korlátozásokat, névtér-URI alapú XMP tulajdonságokat, Unicode private-use észlelést és záradéktudatos diagnosztikát; a strukturált HTML, XHTML, XML és JSON export most közös, tag-első akadálymentes olvasási modellt használ nyelvvel, címmel, navigációval, oldalcímkékkel, biztonságos linkekkel, annotációkkal, nem érzékeny űrlapvezérlőkkel, marked-content helyettesítésekkel, artifactokkal, képalternatívákkal, geometriai fallbackgel, független korlátokkal, megszakíthatósággal és atomi publikációval

Version 2.676.0

Added

  • Hozzáadva korlátozott minimális bájttartomány-tervezést a linearizált PDF minden oldalához a PlanProgressiveLinearizedPageRanges útján, nyers és Flate elsődleges vagy túlcsordulási tipp dekódolással, interoperábilis bájtigazított kombinált és Annex F folyamatos split tippelrendezésekkel, pontos bootstrap, oldal-, megosztottcsoport- valamint LF- vagy CRLF-prefixű hagyományos vagy adatfolyam kereszthivatkozás-függőségekkel, szabályos short-read felhalmozással, 256 MiB alapértelmezett tervezőmemória-plafonnal zárt hibázású kódolásdiszkriminációval, átfedést ismerő összefésüléssel, szigorú strukturális keresztellenőrzésekkel, típusos korlátokkal és elérhetőségi diagnosztikával, valamint egységesített [0, /E) elsőoldal-útvonallal

Version 2.675.0

Added

  • Hozzáadva független, szabványnak megfelelő crypt-filter szabályokat stringekre, normál adatfolyamokra és beágyazott fájlokra a ConfigureCryptFilterDefaults és SetStreamCryptFilter útján, jelszó- és nyilvános kulcsú rezervált szűrőkkel, /Identity-vel, író szempontjából helyes jelszó-biztonsági /EFF és vezető /Crypt csővezetékekkel, zárt hibázású nyilvános kulcsú stream-specifikus címzetthatárokkal, kis-nagybetű-érzékeny külső named-filter betöltéssel és vizsgálattal, /CFM /None-nal, V2 kulcshossz-jelentéssel, vegyes szabályú Direct File fallbackgel, szétvágott objektum-adatfolyam tároló- és tagstring-szabályokkal, valamint szabályokat megőrző titkosított növekményes frissítésekkel

Version 2.674.0

Added

  • Hozzáadva hitelesítést megőrző Standard és nyilvános kulcsú titkosított növekményes frissítéseket egy jelszót ismerő BeginIncrementalUpdate overloadon és hozzárendelt címzetti kulcsanyagon keresztül, biztonságosan megőrzött fájlkulcsokkal vagy FEK-ekkel, külön string, stream, metadata és Identity crypt-filter szabályokkal, generációt ismerő örökölt objektumkulcs-deriválással, pontos örökölt /Encrypt hivatkozásokkal, bájt-azonos forrásrevíziókkal, eredeti user, owner vagy címzetti hozzáféréssel, valamint zárt hibázású elutasítással titkosítási változtatások vagy nem támogatott heterogén szűrők esetén

Version 2.673.0

Security

  • Hozzáadva korlátozott JBIG2 szegmentgráf-validációt a teljes oldalas, régiós, natív vagy külső dekódolás előtt, valamint a globális szótár megosztása előtt, indexelt duplikátum- és hiányzóhivatkozás-ellenőrzésekkel, iteratív ciklus- és függőségmélység-észleléssel, beágyazott adatfolyam oldalhozzárendelés-kikényszerítésével, tiltott szegmentek elutasításával, hosszú hivatkozás- és aggregátumél-keretekkel, szimbólumszótár-foglalási védelmekkel és precíz hibatelemetriával

Version 2.672.0

Added

  • Hozzáadva a PAdES E-EPES signature-policy-identifier generálását és szigorú validációját explicit policy OID-ekkel, ismert vagy ETSI ismeretlen hash-ekkel, SPuri, SPUserNotice és SPDocSpecification minősítőkkel, korlátozott Unicode és gyűjteményelemzéssel, policy-dokumentum hash-eléssel, elsődleges aláíró OID és hash rögzítésével a kriptográfiai munka előtt, dedikált eltérésstátuszokkal és teljes JSON jelentéssel

Version 2.671.0

Added

  • Hozzáadva determinisztikus RFC 5652 tárolókat legfeljebb 256 független elsődleges SignerInfo bejegyzéssel a HPDFCMSBuildMultiSignedData és HPDFCMSMergeSignedData útján, teljes tétel elővalidációval az aláírói mellékhatások előtt, aláírónkénti attribútumokkal, algoritmusokkal, tanúsítványokkal és providerekkel, szigorú definite-length tárolóvalidációval, DER szerint rendezett és duplikátummentes halmazokkal, független ellenőrzési eredményekkel, egyaláírós bájt-kompatibilitással és mellékhatásmentes aggregátum placeholder méretezéssel

Version 2.670.0

Added

  • Hozzáadva opcionális RFC 5652 SubjectKeyIdentifier aláíró-azonosságokat a THPDFCMSSignOptions.SignerIdentifier útján, kompakt IMPLICIT SID kódolással, automatikus SignerInfo és SignedData verzióválasztással, szigorú X.509 kiterjesztéskinyeréssel, provider és placeholder-méretezési támogatással, valamint zárt hibázású SID, tanúsítvány és verzióegyeztetéssel az ellenőrzés során

Version 2.669.0

Security

  • Hozzáadva fail-fast CMS digest-algoritmus konzisztencia-diagnosztikát a SignedData.digestAlgorithms, SignerInfo, aláírásmechanizmus-paraméterek és az RFC 6211 CMSAlgorithmProtection mentén, dedikált ellenőrzési státusszal, validációs hibakóddal, időbélyeg-propagációval, részletes hibaokokkal és JSON kimenettel

Version 2.668.0

Added

  • Hozzáadva a SHA3-256, SHA3-384 és SHA3-512 generálását és ellenőrzését detached CMS, RSA PKCS#1 v1.5, RSA-PSS és ECDSA provider szerződések, RFC 3161 tartalom- és aláírás-időbélyegek, PAdES-LTA megújítás, Seed Value szótárak és ISO 32001 PDF 2.0 developer-extension deklarációk esetén, korlátozott egymenetes bájttartomány hash-eléssel, amelyet a megfelelő PDF MAC szabályok is használnak

Version 2.667.0

Added

  • Hozzáadva a THotPDF.ValidatePDFMACChain metódust legrégebbi-legújabb irányú növekményes revízióvalidációval, kumulatív klasszikus vagy xref-adatfolyam indexeléssel, pontos revízió- és xref hibahelyekkel, történelmi MAC csere észleléssel, stabil KDFSalt kikényszerítéssel, digest-erősség lefokozás elutasításával, hitelesített /P és /Perms ellenőrzésekkel, preflight jelentéssel, valamint korlátozott revízióelemzéssel ideiglenes PDF másolatok nélkül

Version 2.666.0

Added

  • Hozzáadva a THotPDF.SignPDFWithPFXAndAttachedPDFMAC metódust és az aláíráshoz kapcsolt validációt közvetlen aktív-trailer AuthCode-gal, közvetett SigObjRef-fel, teljes aláírt revízió lefedettséggel, nyers aláírás-érték digest kötéssel, SHA-2 vagy SHA-3 PDF MAC szabályokkal, egymenetes aláírási és MAC tartomány hash-eléssel, preflight jelentéssel és atomi kimenetcserével

Version 2.665.0

Fixed

  • Kijavította a THotPDF.RegisterNChannelColorSpace hívást, hogy az ISO 32000-2 öt-elemű DeviceN formát bocsásson ki /Subtype /NChannel altípussal és process-komponens metaadatokkal, a minimálisan igényelt PDF verziót 1.6-ra emelte, és a luminositás soft maszkok most az alternate színtéren keresztül oldják fel az NChannel festéket, miközben megmarad az olvasási kompatibilitás a régi /NChannel család tokenekkel

Version 2.664.0

Added

  • Befejezte a PDF blend-mode megjelenítést integer hot-path megvalósításokkal a Hue, Saturation, Color és Luminosity módokhoz, és kijavította a teljes opacitású gyors utat, így minden aktív szétválasztható vagy nem szétválasztható blend mode a hátterére kompozitál

Version 2.663.0

Security

  • Hitelesíti a PKCS#12 tárolókat, mielőtt a titkosított safe tartalmakat kiadná: a külső, opcionális MacData-t ellenőrzi korlátozott PKCS#12 KDF iterációkkal, SHA-1 vagy SHA-256 HMAC-mal, konstans idejű digest összehasonlítással, valamint zárt hibázású rossz-jelszó és manipulációkezeléssel

Version 2.662.0

Added

  • Hozzáadva három HotPDFCLI parancsot: a render minden kijelölt oldalt raszterez <prefix>-page<N>.png fájlba a betöltött-oldal bitmap csővezetéken keresztül (--pages tartomány, --dpi 10..2400, alapértelmezetten 150), a tables típusos táblázatokat exportál CSV-be vagy JSON-ba az ExportLoadedTypedTables segítségével (--json, -o fájl vagy konzol), a compare pedig két dokumentum JSON összehasonlítási jelentését írja ki a HPDFDocCompareDocuments útján (--mode 0..5: oldalszám-, oldalszöveg-, objektumszám-, megjelenített-kép-, teljes és strukturális mód)

Fixed

  • Javítva a Win64 ICC transzformációs csővezeték hibája, amely 8 bites kötegelt transzformációknál (TransformBytes) csupa-nulla kimenetet adott: a Win64 lcms2 objektumokban lévő optimalizált 1D-LUT gyors út nullákat ad vissza, miközben az általános újramintavételező csővezeték helyes, ezért a 8 bites transzformáció most csak Win64 alatt épül cmsFLAGS_NOOPTIMIZE-gal; a 16 bites egyszín út és az összes Win32 transzformáció megtartja az optimalizált gyors utat (a kötegelt sRGB elsődlegek most mindkét platformon round-trip-elnek)

Version 2.661.0

Added

  • Hozzáadva valódi, keretezett Zopfli nagy-hányados Flate tömörítést a meglévő négy-stratégiás zlib alapvonal mögött, szigorú növekedés-mentes kiválasztással, bemeneti, iterációs, blokk-, kimeneti és eltelt-idő korlátokkal, részletes adatfolyam- és párhuzamos-kép telemetriával, valamint determinisztikus, rögzített korpuszos megtakarítási kapukkal

Version 2.660.0

Added

  • Hozzáadva determinisztikus, XML formátumú, gép-olvasható preflight jelentéseket és ABI-verziójú, megbízható plugin-eket jellemző-kinyeréshez és egyéni validációs szabályokhoz, stabil rendezéssel, policy-bundle integrációval, megszakítás-propagációval, zárt hibázású képesség-ellenőrzésekkel, valamint véges plugin-, megállapítás-, jellemző-, sztring-, kimeneti és futásidő-keretekkel

Version 2.659.0

Added

  • Kibővítette a korlátozott XFA FormCalc-ot feltételes logikával, ismételt numerikus aggregátumokkal és validált dinamikus példány-callback-ekkel, valamint hozzáadott alapból kikapcsolt, sandboxolt QuickJS űrlap-szkripteket teljes vezérlési folyamattal, natív typed array-ekkel, izolált adateléréssel, véges utasítás-, idő-, memória-, verem-, érték- és példány-műveleti keretekkel, valamint végrehajtási telemetriával

Version 2.658.0

Added

  • Hozzáadva korlátozott, szerkeszthető XFA packet DOM-okat teljes XDP adatfolyamokhoz és rendezett packet tömbökhöz, local-name útvonal-lekérdezésekkel, packet és csomópont módosítással, pontos, érintetlen-bájt megtartással, packet-enkénti szelektív újraírással, determinisztikus névtér- és attribútum-kimenettel, biztonságos CDATA darabolással, entity escaping-gel, valamint véges bemeneti, kimeneti, packet-, csomópont-, mélységi, attribútum-, szöveg- és lekérdezési keretekkel

Version 2.657.0

Added

  • Hozzáadva a CSC API v2 távoli aláírást a meglévő CMS provider csővezetéken keresztül, alkalmazásáltal kezelt transzporttal, OAuth token frissítéssel, korlátozott hitelesítési lánc-felderítéssel, explicit authorization és SAD kezeléssel, szinkron vagy aszinkron digest aláírással, RSA-PSS paraméterekkel, pollinggal, RFC 3161 időbélyegekkel, megszakíthatósággal, stabil idempotencia-kulcsokkal és egy véges, befejezett műveletek gyorsítótárával

Version 2.656.0

Added

  • Hozzáadva opcionális, tartalom-pontszámos XPS, EPUB és CBZ dokumentumkezelőket cserélhető, szálbiztos regisztrációval, egyetlen validált archívum-vizsgálattal, fixed-page, spine és természetes kép-rendezéssel, megváltoztathatatlan PDF-konverziós gyorsítótárral, közös archívum-, erőforrás-, reflow-, oldal-, pixel-, DPI-, kimeneti és megszakítási keretekkel, valamint visszagörgetés-biztos PDF publikálással

Version 2.655.0

Added

  • Hozzáadva korlátozott típusos táblázat-kinyerést és atomi CSV vagy JSON exportot kanonikus oszlopokkal, azonos oldalon belüli töredékek és egymást követő oldalak összefésülésével, összevont cella-áthidalásokkal, ismételt fejlécekkel, oldalgeometriával, megbízhatósági értékekkel, eredet-nyomonkövetéssel, valamint területi beállítás által vezérelt integer, number, boolean, dátum, dátum-idő, pénznem és százalék következtetéssel

Version 2.654.0

Added

  • Hozzáadva a betöltött oldalak atomi strukturált exportját HTML, XHTML, XML és JSON formátumba egyetlen olvasási-sorrend modellel, blokkokkal, formázott span-ekkel, felismert táblázatokkal, koordinátákkal, forrássorrenddel, opcionális korlátozott PNG képekkel, Unicode-biztos escaping-gel, megszakíthatósággal és véges erőforrás-keretekkel

Version 2.653.0

Added

  • Hozzáadva a betöltött oldalak atomi színátírása DeviceGray, DeviceRGB vagy DeviceCMYK színtérre, kereshető vektortartalom megtartásával, képek és összetett erőforrások veszteségmentes, színkezeléses raszter-konverziójával, forgásbiztos kimenettel, explicit megjelenítési hűségi és erőforrás-keretekkel, valamint a spot színekre vonatkozó preserve, process-convert vagy reject szabályokkal

Version 2.652.0

Added

  • Hozzáadva felülvizsgálat-elvű betöltöttoldal-kitakarítás észlelést ellenőrzösszeg-alapú PII mintákkal, bővíthető entitás- és arcdetektorokkal, konfidencia-pontozású oldalterület-találatokkal, korlátozott munkatelemetriával, kötelező felülvizsgáló-identitással, atomi jóváhagyott-annotáció előkészítéssel, valamint különálló, explicit beégetési határral

Version 2.651.0

Added

  • Hozzáadva korlátozott betöltött oldalas és régiós vonalkód-dekódolást bővíthető motorokkal, progresszív alacsony felbontású megjelenítéssel, fallback negyedfordulatos szkenneléssel, validált szöveges és nyers hasznosadatokkal, PDF-területi határokkal és tájolással, konfidenciaszűréssel, átfedésdeduplikációval, megszakíthatósággal és erőforrás-telemetriával

Version 2.650.0

Added

  • Hozzáadva korlátozott, megszakítható, kereshető OCR szövegrétegeket bővíthető felismerő motorokkal, konfidencia- és geometria-validációval, forgáshoz igazított láthatatlan Unicode szöveggel, optional-content csoportosítással, erőforrás-telemetriával és atomi többoldalas publikálással

Version 2.649.0

Added

  • Hozzáadva teljes objektumgráf oda-vissza konverziót verziózott JSON-on keresztül adatfolyamos snapshot és inkrementális exporttal, nyers vagy dekódolt beágyazott és atomi sidecar hasznosadatokkal, korlátozott séma-kompatibilis importtal, szerkezeti és adatfolyamhossz-validációval, valamint tranzakciós publikálással

Version 2.648.0

Added

  • Hozzáadva korlátozott javítást a kézzel szerkesztett QDF diagnosztikai dokumentumokhoz, amely megőrzi az objektum- és adatfolyambájtokat, javítja a közvetlen, közvetett, hiányzó vagy elavult adatfolyamhosszakat, újraépíti a klasszikus kereszthivatkozás-offszeteket és trailereket, elutasítja a nem biztonságos struktúrát, és a kimenetet a normál loaderen keresztül ellenőrzi

Version 2.647.0

Added

  • Hozzáadva szálbiztos egyéni adatfolyamszűrő nyilvántartást korlátozott push és pull szerződésekkel, megosztott dekódolási keretekkel, kooperatív megszakítással, explicit seek követelményekkel, izolált egyéni hibákkal és végrehajtási telemetriával

Version 2.646.0

Added

  • Hozzáadva korlátozott tartalomoperátor visitor és event API-kat csak olvasható operandusnézetekkel, determinisztikus állapot-callback-ekkel, inspect, measure, replace, delete, stop és reject műveletekkel, kooperatív megszakítással, validált kimenettel és atomi betöltöttoldal-frissítésekkel

Version 2.645.0

Added

  • Hozzáadva bővíthető betöltöttoldal-renderelő backend szerződést fordított display-list hozzáféréssel, natív GDI implementációval, szálbiztos párhuzamos dispatch-sel, determinisztikus fallback szabályzattal, gyorsítótár-érvénytelenítéssel és végrehajtási telemetriával

Version 2.644.0

Added

  • Hozzáadva korlátozott elrendezés-átfedésészlelést, elemútvonalakat, opt-in forrásképezést, natív vektoros túlcsordulási és átfedés-átfedő rétegeket, élő diagnosztikai callback-eket és munkastatisztikákat

Version 2.643.0

Added

  • Hozzáadva natív, korlátozott vektoros diagramokat vonal-, oszlop-, terület-, körcikk- és pontdiagram-sorozatokkal, automatikus vagy kézi tengelyekkel, témákkal, jelmagyarázatokkal, címkékkel, PDF/UA Figure alternatívákkal és megjelenítési statisztikákkal

Version 2.642.0

Added

  • Hozzáadva korlátozott, GUI-szálas RichEdit és RTF lapozást vektoros EMF kimenettel, képekkel, opt-in támogatott OLE prezentációkkal, megszakíthatósággal, adatfolyam-pozíció megőrzésével, valamint explicit bemeneti, karakter-, oldal- és kimeneti keretekkel

Version 2.641.0

Added

  • Hozzáadva korlátozott SVG 2 importot újrafelhasználható PDF Form XObject-ekként natív geometriával és ívekkel, CSS cascadel, vektoros színátmenetekkel, clip és mask támogatással, Base 14 szöveggel, opacity erőforrásokkal, elhelyezkedés-tudatos link annotációkkal és importstatisztikákkal

Version 2.640.0

Added

  • Hozzáadva verziózott HTML5 paged-media importprofilt toleráns DOM elemzéssel, nyomtatási CSS cascadel, lapozott blokk- és táblázatelrendezéssel, opcionális AcroForm vezérlőkkel, korlátozott callback-vezérelt erőforrásokkal és műveletenkénti statisztikákkal

Version 2.639.0

Changed

  • A nagy helyi fájlos leképezések mostantól a konfigurált leképezett-bájt keretet igazítják a nagyobb szekvenciális ablakok és legfeljebb 16 kisebb MRU véletlen hozzáférésű ablak között, megtartják az explicit rögzített geometriájú opciót, és jelentik az aktív geometriát, az átmeneteket, a hozzáférési minta darabszámait és a csúcsot jelentő leképezett bájtokat

Version 2.638.0

Added

  • Hozzáadva korlátozott oldalközi JBIG2 szimbólumtranzitást külső és natív backendekkel, egyetlen megosztott globális szótárral, egzakt duplikátumoldal-újrafelhasználással, közvetlen PDF kép-köteg beszúrással, backend- és méretelemetriával, valamint a 100 oldalas regressziós korpuszon mért 78.8 százalékos tömörítési megtakarítással

Version 2.637.0

Changed

  • A párhuzamos betöltöttoldal-megjelenítés mostantól a folyamat-szintű memóriakeretből csökkenti a kért worker-ek számát, lefoglal minden igényelt oldalt, a rendezett kimenet foglalásait a callback kézbesítésen át is megtartja, megszakítás vagy hiba esetén felébreszti a keretre várókat, valamint párhuzamosítási, foglalási, felvételi, késleltetési és várakozási telemetriát jelent

Version 2.636.0

Changed

  • A betöltöttoldal-előolvasás mostantól a gyorsítótár-záron kívül fordít és renderel, a tokenizáláson és a lejátszáson keresztül kooperatívan szakad meg, elsőbbséget ad az előtérbeli oldalrenderelésnek, valamint haladási, hiba-, elővételi és megszakítási késleltetési telemetriát tesz elérhetővé

Version 2.635.0

Added

  • Hozzáadva rendezett, adatfolyamos párhuzamos oldalrenderelést hívószál-callback-ekkel, korlátozott kész-bitmap sorral, producer backpressure-vel, kooperatív megszakítással, kölcsönzött bitmap élettartamokkal, valamint sor-, bájt-, várakozási, befejezési és kézbesítési telemetriával

Version 2.634.0

Added

  • Hozzáadva kétállásos párhuzamos betöltöttoldal-pipeline-t, amely a render-gyorsítótár záron kívül fordítja a display listeket, a teljes oldalkészlet lefordítása előtt elindítja a lejátszást, dinamikusan egyensúlyozza a korlátozott worker-eket, megőrzi a bemeneti sorrendet, csökkenti a tartalom-token allokációt, valamint állapot-, gyorsítótár-, befejezési és késleltetési telemetriát tesz elérhetővé

Version 2.633.0

Added

  • Hozzáadva megváltoztathatatlan, hivatkozásszámlált dekódolt bitmap handle-eket másolás nélküli gyorsítótár-találatokkal, közvetlen szálbiztos renderer rajzolással, igény szerinti izolált módosítható másolatokkal, kiürítéstől független élettartamokkal, valamint kumulatív handle- és másolási telemetriával

Version 2.632.0

Changed

  • A QuickJS végrehajtás mostantól Win32 és Win64 alatt is működik statikus objektumokon és ABI-semleges bridge DLL-en keresztül, Unicode-biztos értékekkel, determinisztikus státuszjelentéssel, konfigurálható memória-, verem-, szkript-, idő- és megszakítási limitekkel, biztonságos DLL-felderítéssel, elutasított szkriptek utáni helyreállítással és reproducálható cross-platform runtime buildekkel

Version 2.631.0

Changed

  • A Factur-X és ZUGFeRD üzleti szabály validáció mostantól a teljes átvizsgált XPath 2 Schematron felületet végigfuttatja külső kód-adatbázisokkal, szekvenciális bindingekkel, kvantorokkal, FLWOR összegekkel, stabil fallback szabályazonosítókkal, biztonságos korlátozott XML elemzéssel, explicit kiértékelési hiba-találatokkal, nulla csendes kihagyással és fail-closed kombinált validációval

Version 2.630.0

Added

  • Hozzáadva beépített TrueType variable-font instancingot képzett tengelyekkel, megosztott és privát gvar tuple-ökkel, IUP interpolációval, egyszerű és összetett outline frissítésekkel, phantom-point metrikákkal, HVAR-, VVAR- és MVAR bakinggel, kompakt statikus glyph újraépítéssel, ellenőrzösszeg-helyes kimenettel és callback-mentes Unicode betűtípus-regisztrációval

Version 2.629.0

Added

  • Hozzáadva mellékhatás-mentes CMS placeholder becslést explicit, provider vagy RSA tanúsítványos aláírásméretekből, egzakt statikus tárolóformázással, konzervatív dinamikus hasznosadat-tartalékokkal, elő-aláírási újraépítésekkel, képességfeltételes provider újrapróbálásokkal, szigorú külső aláíró egylépéses garanciákkal, korlátozott méretezéssel és részletes kísérletdiagnosztikával

Version 2.628.0

Added

  • Hozzáadva elérhetőségen alapuló betűtípus-subsettinget a betöltött PDF-ekbe ágyazott betűtípusokhoz, beleértve az oldaltartalmat, a beágyazott Form XObject-eket, az annotáció appearance állapotokat, a megosztott betűtípusprogramokat, a TrueType és CFF formátumokat, a kódolt méret szerinti kiválasztást, a stabil CID és ToUnicode leképezéseket, a részletes eredményeket, valamint az alapértelmezett elutasítást aláírások jelenlétében

Version 2.627.0

Added

  • Hozzáadva automatikus PDF/UA struktúragenerálást deklaratív elrendezésfákhoz, beleértve a címsorokat, listákat, táblázatokat, ábrákat, a nyelvi és alternatív szöveg metaadatokat, a lapozási artefaktumokat, a folytatásbiztos marked-content hivatkozásokat, az olvasási sorrend megőrzését, a szemantikus validációt és a struktúrstatisztikákat

Version 2.626.0

Added

  • Hozzáadva deklaratív dokumentum DOM-ot öröklődő stílusokkal, újrafelhasználható komponensgyárakkal, szövegekkel, spacer-ekkel, stack-ekkel, konténerekkel, szekciókkal, ismétlődő fejlécekkel és láblécekkel, súlyozott, ismétlődő fejlécsoros táblázatokkal, korlátozott folytatási mélységgel, lapozási statisztikákkal, másolás nélküli szöveg- és táblázattöredékekkel, lineáris felsőszintű bejárással, azonnali oldalírással, valamint egymással megegyező Delphi és C++Builder felületekkel

Version 2.625.0

Added

  • Hozzáadva megismételhető Win32 és Win64 statisztikai performance gate-et, amely elkülöníti a betöltést, mentést, renderelést és szövegkinyerést, warmupokat és 30 nyers mintát rögzít p50, p95, mintaszórás, RSS, folyamat-I/O, környezet és determinisztikus fixture identitás mellett, majd stabil JSON küszöböket értékel ki, és regresszió esetén hibás kilépési kóddal tér vissza

Version 2.624.0

Changed

  • Átdolgozta az egyszerű szótár- és tömbelemzést megváltoztathatatlan forrásspan-ek, közvetlen numerikus konverzió, egy menetes beágyazott konténerek és indexelt szótárbeszúrás köré, publikus materializációs telemetriával; egy 30,000 páros Win32 fixture 64.7 százalékkal csökkentette az öt menetes allokációs bájtokat, az eltelt idő pedig 3,656 ms-ról 46 ms-ra csökkent

Version 2.623.0

Added

  • Hozzáadva konfigurálható elemző limiteket egyedi token bájtokra, összesített tokenekre, tömb- vagy szótárbejegyzésekre és hibás tokenekre, valamint szigorú nem megbízható bemenet presetet, típusos limit kivételeket és betöltésenkénti telemetriát; a regressziós gate-ek 250 ms alatt, 37 MiB alatti folyamatcsúccsal utasítanak el egy 2 MiB-os tokent és egy egymillió tokenes konténert

Version 2.622.0

Added

  • Hozzáadva explicit betöltöttoldal objektumgráf-felszabadítási és telemetria API-kat, amelyek eldobják a tiszta, oldal-tulajdonú gyökereket és a render gyorsítótárakat, miközben megőrzik a közvetett megosztott erőforrásokat és az újratöltési metaadatokat; 100,000 oldal szekvenciális feldolgozása stabil 69.3 MiB csúcson marad, a felszabadított közönséges vagy tömörített oldalak pedig eredeti objektumidentitásukkal materializálódnak újra

Version 2.621.0

Changed

  • A dekódolt object-stream konténerek mostantól konfigurálható, bájtban korlátos LRU gyorsítótárat használnak azonnali konténerszintű kiürítéssel, kiürítés után forrásalapú újratöltéssel, nulla-megtartású móddal, valamint csúcsbájt-, kiürítési és újratöltési telemetriával

Version 2.620.0

Changed

  • A nagy közönséges oldalfák mostantól kompakt placeholderekként nyílnak meg, a véletlenszerű oldalakat /Count-vezérelt bejárással és közvetett objektum hash indexszel oldják fel, gyorsítótározzák a feloldott oldalakat, materializációs telemetriát és vezérlést tesznek elérhetővé, és szerkezeti módosítás vagy mentési művelet előtt automatikusan kibővülnek

Version 2.619.0

Changed

  • A betöltött AcroForm mezők, minősített nevek, widgetek, annotációk és oldalak mostantól lusta, kétirányú kapcsolat-gyorsítótárat osztanak meg fordított annotációkereséssel, widgetenkénti oldalkereséssel, aktivitási telemetriával, explicit érvénytelenítéssel a nyers objektumgráf-szerkesztésekhez, valamint módosításbiztos automatikus karbantartással

Version 2.618.0

Changed

  • Az oldal-objektum keresés mostantól lustán újraépített, módosításérzékeny fordított indexet használ objektumszámokra és feloldott oldalpointerekre, felváltva az ismételt oldaltábla-bejárásokat az oldalmásolás, outline-ök, named destination-ök, action-ök, űrlapok, akadálymentesítés és oldalfa-egyeztetés során, miközben érvényességi és aktivitási telemetriát tesz elérhetővé

Version 2.617.0

Changed

  • A renderelt dokumentum-összehasonlítás mostantól támogatja a hívó által választott DPI-t, RGB vagy luminancia színtoleranciát, változott pixel arány és SSIM-szerű hasonlósági küszöböket, determinisztikus összefüggő változásrégiókat, opcionális PNG differencia-átfedéseket, valamint fail-closed oldal- és összesített pixelkereteket explicit megjelenítési diagnosztikával

Version 2.616.0

Changed

  • A dokumentum-összehasonlítás mostantól determinisztikus, katalógusalapú útvonalakon járja be a közvetett objektumgráfokat, explicit erőforrás-kereteken belül hasheli az értékeket és adatfolyamokat, oldalakat igazít, mielőtt beszúrásokat, törléseket, áthelyezéseket és változásokat osztályozna, megkülönbözteti az áthelyezett objektumokat a hozzáadottaktól és eltávolítottaktól, és befejezetlen összehasonlításokat jelent, ahelyett hogy a keretkorlátos eredményeket azonosnak tekintené

Version 2.615.0

Changed

  • A betöltött kép dekódolása mostantól 16 gyorsítótár-metaadat shardot és egzakt kulcsonkénti singleflight koordinációt használ, a független, drága dekódolásokat párhuzamosan végzi, miközben megőrzi az egy tulajdonos dekódolást a duplikált kérésekhez, minden shardra érvényesíti a konfigurált bájt- és bejegyzés-kereteket, valamint gyorsítótárazott dekódolási belépési pontokat és párhuzamosítási telemetriát tesz elérhetővé; négy független 12,000 pixeles JPEG kérés 3.72-szeresére skálázódik négy Win64 workeren, míg nyolc azonos kulcsú kérés egyszer dekódol

Version 2.614.0

Changed

  • Az alacsony felbontású szürkeárnyalatos és RGB JPEG megjelenítés mostantól korlátozott 1/2, 1/4 vagy 1/8 inverz-DCT skálát választ, a skálázott sorokat fixpontos resampleren keresztül közvetlenül a pontos célbitmapba vezeti, megőrzi a dekódolási kereteket, a megszakíthatóságot és a codec-worker izolációt, valamint forrás-, skálázott, cél-, sor- és memóriatelemetriát tesz elérhetővé a GetLastJPEGReducedDecodeInfo révén; a 12,000 by 12,000-ról 300 by 300-ra csökkentő regressziós fixture 24.05-ször gyorsabb a teljes dekódolásnál, anélkül hogy lefoglalná a 432 MB-os forrásrasztert

Version 2.613.0

Changed

  • A betöltött oldal /Contents tömbjei mostantól lusta, seekelhető összefűzött adatfolyamot tesznek elérhetővé, a szűretlen szegmenseket forrásalapú tárolóban tartják, egyszerre legfeljebb egy szűrt szegmenst dekódolnak, amortizáltan lineáris token- és bájtösszegzést használnak, szerkesztéskor új szegmens hozzáfűzésével őrzik meg az eredeti adatfolyamokat, és egy 1 GiB-os, 10,000 szegmenses szekvenciát 64 MiB alatt tartanak további munkamemóriában

Version 2.612.0

Changed

  • Az inkrementális frissítések mostantól írásra zárolva és fájlalapúan tartják a forrásfájlt a teljes forrásbájtok megtartása helyett, csak a változott, új és törölt objektumokat járják be és bocsátják ki ritka xref alszakaszokban, az eredeti előtagot új célra streamelik, és azonos célú mentéseknél közvetlenül fűznek hozzá rollbackkel; egy 4 GiB-os egyobjektumos revízió 128 MiB-on belül marad a további munkamemóriában

Version 2.611.0

Added

  • Hozzáadva korlátozott, dokumentum-hatókörű betöltöttbetűtípus-dekódoló gyorsítótárat 32 MiB-os és 128 bejegyzéses LRU limitekkel, singleflight elemzés-újrafelhasználással oldalak, betöltött szövegkinyerés, SVG export és szövegcsere között, a GetLoadedFontDecoder független deep-copy eredményeivel, konfigurálható memóriakeret- és telemetria API-kkal, valamint automatikus gráf-, oldal-, újratöltési, JSON Patch és CMap konfiguráció-érvénytelenítéssel; egy megosztott közvetett betűtípus ismételt használata mostantól csak egyszer elemzi az encodingját, szélességeit, ToUnicode-, CIDToGIDMap- és leszármazott leképezéseit, amíg meg van tartva

Version 2.610.0

Changed

  • Felgyorsította az oldalimportot és az objektum-graftolást a lineáris, pontosan átméretezett idegen objektum keresőtömb helyettesítésével egy művelet-hatókörű, kettő hatványai méretű, nyílt címzésű mapre, amely forrásdokumentum, objektumszám és generáció szerint kulcsol; a megosztott közvetett objektumok és a ciklikus gráfok megtartják meglévő identitás-szemantikájukat a kötegelt importok során, miközben a nagy objektumgráfok mostantól amortizáltan konstans idejű regisztrációt és várhatóan konstans idejű keresést használnak

Version 2.609.0

Changed

  • Javította az SVG oldalexport hűségét: a közvetlen w, J, j, M és d graphics-state operátorok mostantól megőrzik a vonalvastagságot, a nevesített cap és join stílusokat, a miter limiteket, a dash tömböket és a dash fázist; a q/Q visszaállítja ezeket az attribútumokat beágyazott tartalomban és Form XObject-ekben; az even-odd f*, B* és b* festőoperátorok fill-rule="evenodd" értéket bocsátanak ki; a nulla szélességű PDF hairline-ok nem skálázódó SVG stroke-okon keresztül láthatóak maradnak

Version 2.608.0

Added

  • Hozzáadva QuickJS statikus linkelési infrastruktúrát: a Lib/HPDFQuickJSStatic.pas az öt QuickJS OMF objektumot linkeli (patchelt forrásokból bcc32c-vel fordítva) {'$L'} direktívákon keresztül — DLL függőség nélkül —, és deklarálja a teljes C runtime felületet (47 szimbólum: msvcrt C99 matematika, Borland 64 bites aritmetika, méretsemleges atomic stubok, pthread stubok); a thirdparty/QuickJS/build-static.bat automatizálja a patch-and-compile pipeline-t. Ismert korlát: a JS_NewRuntime sikeres, de a JS_NewContext access violationbe fut, mert az _Atomic eltávolítása megváltoztatja a struct inicializálás sorrendjét; a v2.607.0-s DLL build marad a működő kiértékelési útvonal

Version 2.607.0

Added

  • Hozzáadva DataMatrix 2D vonalkód-generálást (Lib/HPDFDataMatrix.pas): ASCII módú kódolás számjegypár-tömörítéssel, Reed-Solomon ECC GF(256) felett a DataMatrix primitív $12D polinomjával, 10x10-től 144x144-ig terjedő négyzetméretek, váltakozó irányú kódword-elhelyezés és L alakú finder minta; a THPDFPage.DrawDataMatrix a kódolt mátrixot kitöltött modulnégyzetek rácsaként jeleníti meg
  • Hozzáadva PDF417 egymásra rakott 2D vonalkód-generálást (Lib/HPDFPDF417.pas): szövegmódú kódolás base-30 karakterpárosítással, Reed-Solomon ECC GF(929) felett a 3-as primitívvel, szimbólumleíró kódolással, valamint sor/oszlop elrendezéssel start/stop mintákkal; a THPDFPage.DrawPDF417 megjeleníti a kódword mátrixot
  • Hozzáadva a QuickJS JavaScript engine bindinget (Lib/HPDFQuickJS.pas plusz előre fordított Win32/Win64 quickjs.dll a thirdparty/QuickJS/bin/ alatt): dinamikus DLL betöltés, runtime+context életciklus és a kiértékelési API felület (Eval/EvalInt/EvalFloat); az Eval kódútvonal ismert Win32 indítási összeomlást produkál alkalmazásba linkelve, és nyomon követendő vizsgálatként dokumentálták
  • Hozzáadva a THPDFWriter architekturális kinyerési célt (Lib/HPDFWriter.pas): xref bejegyzésnyilvántartás (free/used/compressed), klasszikus xref tábla szerializáló és trailer szótárépítő, amelyre a THotPDF mentési útvonala inkrementálisan delegál

Version 2.606.0

Added

  • Hozzáadva két HotPDFCLI parancsot: a decrypt betölt egy titkosított PDF-et a megadott jelszóval, a DecryptLoadedDocument segítségével dekódolja, és titkosítatlan másolatot ment (-o kimeneti útvonal, alapértelmezett <input>-decrypted.pdf); az optimize minden adatfolyamot újratömörít FlateDecode használatával a CompressLoadedDocument révén (-o kimeneti útvonal, alapértelmezett <input>-optimized.pdf, titkosított bemenetet elutasít)

Version 2.605.0

Added

  • Hozzáadva QR Code 2D vonalkód-generálást: az új Lib/HPDFQRCode.pas teljes QR kódolót implementál (numerikus, alfanumerikus és bájt kódolási módok; Reed-Solomon hibajavítás GF(256) felett; 1-40-es verziók mind a négy EC szinttel, L/M/Q/H; mind a nyolc maszminta büntetés-kiértékeléssel; helyes modulelhelyezés finder, timing, alignment, formátuminformációs és verzióinformációs mintákkal). A THPDFPage.DrawQRCode metódus a kódolt mátrixot kitöltött modulnégyzetek rácsaként jeleníti meg bármely írás alatt álló oldalon (ModuleSize pontban, konfigurálható EC szint és szín)

Version 2.604.0

Added

  • Hozzáadva a teljes MacExpertEncoding dekódolási táblát: a 128 bájtos felső fél mostantól a szakértő glyph-eket (kiskapitálisokat, old-style számokat, felső/alsó indexű számjegyeket, törteket, tipográfiai szimbólumokat) a legközelebbi Unicode kódpontra vagy Private Use Area helyettesre képezi le, felváltva a korábbi nyers bájtos identitás fallbacket, amely olvashatatlan, zavart kimenetet adott a szakértő kódolású Type 1 betűtípusokat használó dokumentumoknál

Version 2.603.0

Fixed

  • Javította a ConcurrentObjStmDecryptionMatchesSerial régóta fellépő, szeszélyes hibáját: az FRevision globális elavulttá vált, miután az aes256 az alapértelmezett PDF 1.6 verzió alatt aes128-ra fokozódott le, félrevezetve a CreateKeys-t a V5 ágba, amely soha nem tölti ki a hagyományos /O és /U jelszóhasheket — a szerializált titkosítási szótár így üres vagy elavult jelszósztringeket hordozott, és a fájl nem volt megnyitható. A javítás a setterben és mindkét verziótárgyalási helyen újraszámolja az FRevision-t a lefokozott FCryptKeyType-ből, a hagyományos szótárág pedig mostantól egyértelmű diagnosztikát ad, ha a jelszósztringek nem pontosan 32 bájtosak

Added

  • Hozzáadva a HotPDFCLI html parancsát: egy korlátozott HTML fájlt (h1-h6, p, ul, ol, hr, inline jelölés) PDF-ké renderel a HPDFRenderHTMLDocument segítségével

Version 2.602.0

Added

  • Hozzáadva blokkszintű HTML importot: a THPDFHTMLImporter (és a HPDFRenderHTMLDocument kényelmi wrapper) korlátozott HTML részhalmazt renderel egy írás alatt álló dokumentumra — h1-h6 címsorok szintenkénti méretekkel, p bekezdések (a csupasz törzsszöveg implicit bekezdéssé válik), ul/ol listák behúzott li elemekkel (felsorolásjel vagy 1. számozás), hr vonalak, automatikus oldaltörések az alsó margónál, valamint böngésző-stílusú helyreállítás nem lezárt p/li blokkoknál; a head/script/style régiók kihagyásra kerülnek, a konténer tagek átlátszóan átengednek. Az inline jelölés (b/i/u/font/a/sub/sup, entitások, szótörés) a meglévő TextOutHTML rendererre delegálódik, így a blokkok egy oldalon belül egyben maradnak; a táblázatok, képek, CSS és beágyazott listák nem tartoznak a hatókörbe

Version 2.601.0

Added

  • Hozzáadva három HotPDFCLI parancsot: a merge a további bemenetek minden oldalát az első dokumentumhoz fűzi, és menti az egyesített fájlt (-o kimeneti útvonal, legalább két bemenet, kimenet/bemenet ütközés védve); a split a dokumentum minden kijelölt oldalát saját egyoldalas fájlba írja (<prefix>-page<N>.pdf, --pages egyalapú tartomány, az alapértelmezett prefix a bemeneti útvonalból); az export-svg minden kijelölt oldal SVG exportját írja (<prefix>-page<N>.svg, alapértelmezett 1. oldal)

Version 2.600.0

Added

  • Hozzáadva SVG oldal exportot: a BuildLoadedPageSVG önálló SVG 1.1 dokumentumot ad vissza bármely betöltött oldalhoz, a SaveLoadedPageAsSVG pedig lemezre írja; exportálásra kerülnek az útvonalak (fill/stroke/fill-and-stroke festőoperátorok a DeviceRGB színekkel), a szövegfuttatások (karakterenként pozicionált <text> elemek, amelyek ugyanazt a betűtípus-dekódolási fallback láncot használják, mint a szövegkinyerés, tiszteletben tartva a Tf/Tc/Tw/Tz/Ts értékeket és a szövegmátrixot a forgással és skálázással együtt), a kép XObject-ek (dekódolva és base64 PNG data URI-ként beágyazva, a CTM egységnégyzetén keresztül képezve) és a Form XObject-ek (rekurzív értelmezés a form mátrixszal és a saját /Resources-szel), valamint a /Rotate 90/180/270 oldalak az elforgatott vásznalgeometriában exportálódnak
  • A megosztott content-stream eszközdiszpécserből örökölt ismert korlátok: nincs W/W* kivágás, nincsenek sh árnyalások, nincsenek Type 3 betűtípusok, az inline képek csak metaadatokat jelentenek, és míg az ExtGState által támogatott stroke paraméterek (LW/LC/LJ/ca/CA) érvényesülnek, addig a sima w/J/j/d operátorok nem kerülnek kiküldésre

Version 2.599.0

Added

  • Hozzáadva a HotPDFCLI parancssori eszközt (tools/HotPDFCLI): konzolos front end három paranccsal — info (PDF verzió, oldalszám és elsőoldal-méret, titkosítási módszer, linearizáció és xref struktúra, annotáció/betűtípus/kép/űrlap/aláírás számlálók, Info metaadatok), extract-text (egyalapú --pages tartományok, --out fájlkimenet, --layout fix szélességű rácss mód, amely megfelel a vizuális olvasási sorrendnek) és verify (aláírásmezőnkénti státusz, aláíró, ok, hash, aláírási idő, teljes dokumentumra kiterjedő lefedettség és tanúsítványállapot, nem nulla kilépés, ha bármely aláírás hibás); a Build-HotPDFCLI.bat Win32 és Win64 binárisokat készít

Version 2.598.0

Added

  • Hozzáadva a SetRenditionMediaPlayParameters-t: csatolja vagy frissíti egy média rendition /P médialejátszási paraméterek szótárát kötelezően tiszteletendő /MH vagy legjobb szándékú /BE célokkal, amelyek hordozzák a hangerő-százalékot, a vezérlő láthatóságát, az autoplay jelzőt, a fit módot (meet/slice/fill/scroll/hidden), az ismétlésszámot, valamint intrinsic, végtelen vagy explicit timespan időtartamot
  • Hozzáadva a SetRenditionMediaScreenParameters-t: csatolja vagy frissíti egy média rendition /SP médialejátszó képernyőparaméter-szótárát (ablaktípus floating/full-screen/hidden/screen-annotation téglalap, DeviceRGB háttérszín, háttér átlátszatlanság, monitorindex)
  • Hozzáadva a SetSoundAnnotationParameters-t: újraírja egy Sound annotáció /Sound adatfolyamának mintaformátumát (mintavételi ráta, csatornák, bit mintánként, Raw/Signed/muLaw/ALaw kódolás) a beégetett 22050 Hz-es sztereó 16 bites Signed alapértelmezéseken túl, és beállítja a /Name ikont, például Speaker vagy Mic

Version 2.597.0

Added

  • Hozzáadva a SetMovieAnnotationParameters-t: felülírja egy film annotáció /Movie szótárát (méretarány-pár, forgás 0/90/180/270, időtartam másodpercben, borítókép-láthatóság), amelyet az AddMovieAnnotation hozott létre a beégetett alapértelmezéseivel
  • Hozzáadva a SetRichMediaPresentation-t: feltölti egy RichMedia annotáció /RichMediaSettings aktiválási, deaktiválási és prezentációs szótárait (feltételnevek, mint a PO oldal-megnyitás, eszköztár / navigációs UI / helyi kattintás / átlátszóság jelzők); üres feltételnév esetén a megfelelő szótár kimarad
  • Hozzáadva a ResolveIndirectObject-ot a THotPDF-en: feloldja azokat a közvetett hivatkozásokat, amelyeket az író oldal a kiírt szótárakban tárol, így a hívók navigálhatnak a frissen épített objektumfákban; az AddRichMediaAnnotation mostantól az annotációját a LastAnnotation-ban is regisztrálja

Version 2.596.0

Added

  • Hozzáadva élő visszavonási bizonyíték felderítést: a tanúsítványértelmező mostantól beolvassa az AIA OCSP responder és CRLDistributionPoints URI kiterjesztéseket, a HPDFExtractCertificateRevocationURLs tanúsítványonként teszi elérhetővé azokat, a HPDFCollectCMSRevocationRequests pedig bizonyítékkérésekké alakítja őket (GET pkix-crl terjesztési pontonként, POST ocsp-request minimális RFC 6960 SHA-256 CertID törzzsel, amelyet a tanúsítványból és a kibocsátójából építenek, az önaláírt tanúsítványok saját kibocsátójukként oldódnak fel)
  • Hozzáadva a HPDFValidateCMSCertificatePathOnline-t: összegyűjti ezeket a kéréseket, a hívó által szolgáltatott transzporton keresztül hajtja végre őket a meglévő retry/worker mechanizmus felett (a könyvtár soha nem nyit socketet), és minden lekért OCSP választ és CRL-t betáplál az offline validátorba; a sikertelen lekérések az offline bizonyíték szemantikára degradálódnak

Version 2.595.0

Added

  • Hozzáadva JBIG2 halftone régió dekódolást (22/23 szegmenttípus): mintaszótárak (16-os típus) MMR vagy aritmetikai kollektív bitképekkel, szürkeárnyalatos bit-sík vermek mind MMR (bájtigazított láncolt síkok), mind aritmetikai formában (egy megosztott MQ dekódoló), rácsos elhelyezés 8.8 fixpontos vektorokkal és az opcionális HSKIP üres térképpel
  • Hozzáadva JBIG2 önálló generic-refinement régiókat (42/43 típus, GRTEMPLATE 0/1 TPGRON-nal), amelyek egy hivatkozott régiószegmens archivált bitmapjét vagy az oldalpuffert finomítják
  • Hozzáadva AddPubSecKeyMaterial / ClearPubSecKeyMaterials: további címzett privát kulcsok, amelyek minden /Recipients borítékon kipróbálásra kerülnek, ha az elsődleges PubSecKeyMaterial nem egyezik
  • Hozzáadva tesztadatfolyam-építőket: HPDFJBIG2Codec_EncodeHalftoneRegionTestStream és HPDFJBIG2Codec_EncodeStandaloneRefinementTestStream, amelyek végponttól végpontig lefedik az új szegmenttípusokat

Fixed

  • Javította a nyilvános kulcsos AES-128 dokumentumbetöltést: a hagyományos objektummenet a pubsec szétválás után inicializálatlanul hagyta a FileKey-t, StringKeyType-ot és StreamKeyType-ot, így minden objektum szemétkulccsal dekódolódott (a Win64 betöltés teljesen elbukott; a Win32 betöltés csendben rossz nyílt szöveget adott)
  • Javította a titkosított sztringek oda-vissza kezelését: a titkosított szöveg mostantól mindig hex sztringként szerializálódik, mert a literális sztringek a CR-t, LF-et és CRLF-et egyetlen LF-re normalizálják, és az escape feldolgozás tetszőleges titkosított bájtokat fordíthatott meg

Version 2.594.0

Added

  • Hozzáadva beépített identitás-közelítést az előre definiált CJK UCS2/UTF16 CMap-ekhez (UniJIS-UCS2-H, UniGB-UTF16-V és további 15): a HPDFLoadStandardCMapFile beépített táblából válaszol, ha nincsenek CMap erőforrások a lemezen, így a Type0 szövegkinyerés már nem dekódolja bájtonként a 2 bájtos kódokat
  • Hozzáadva felhasználói JBIG2 Huffman táblákat (53-as szegmenttípus, B.2 melléklet leíró formája): a natív dekódoló elemzi a táblaszegmenseket, a szimbólumszótár SDHUFFDH/SDHUFFDW/SDHUFFBMSIZE/SDHUFFAGGINST és a szövegrégió SBHUFFFS/DS/DT/RDW/RDH/RDX/RDY/RDSIZE választójának 3-as értéke pedig a hivatkozott szegmensekből oldja fel őket
  • Hozzáadva a SetStructureClassMapEntry-t, amely egy osztálynév megosztott attribútumszótárát regisztrálja a StructTreeRoot /ClassMap-jában, teljessé téve a SetStructureElementClass /C API-t

Fixed

  • Javította a nyilvános kulcsos többcímzettes kulcshelyreállítást: a /Recipients borítékok egy nem számlált listában tárolódtak, amely egy puffert aliasolt a bejegyzések között, így a két vagy több címzettes dokumentumok minden titkosításhoz rossz fájlkulcsot számoltak ki; a borítékok mostantól tulajdonolt másolatok, és a hagyományos SHA-1 útvonal a tiszta borítékbájtokat hasheli, ahogy az AES-256 útvonal

Version 2.593.0

Added

  • Hozzáadva Shading Type 1 (függvényalapú) megjelenítést: a domain téglalap látható részét színhiba-vezérelt quadtree osztja fel, minden levélcella két gradiens háromszöggént festődik, csúcsszínei a 2 bemenetű függvényből mintavételezve, felváltva a korábbi "not sampled" fallback diagnosztikát
  • Hozzáadva elnéző 2 bemenetű függvénykiértékelést: az csak egy bemenetet deklaráló függvény f(x)-ra fokozódik le (konstans a második domain koordinátában) a hibázás helyett, így a Type 1 árnyalás mögötti mintavételezett és exponenciális függvények is festenek

Version 2.592.0

Added

  • Hozzáadva object-stream karantént: egy sérült /Type /ObjStm konténer okkal kerül rögzítésre (THPDFObjStmQuarantineReason: nem adatfolyam, rossz szótár, rossz fejléc, rossz adatfolyam-méret, dekódolás sikertelen, kicsomagolás sikertelen, /First tartományon kívül, értelmezhetetlen fejléc vagy konténerkivétel), diagnosztikai sorral, valamint a feloldatlanul hagyott tagobjektumszámokkal, miközben a független konténerek tovább töltődnek
  • Hozzáadva tagszintű karantént (osqrMemberUnparsable): egy sikeresen dekódolt konténerből értelmezhetetlen tagtörzs egyszer rögzítésre kerül a testvérei befolyásolása nélkül, a GetLoadedQuarantinedObjStmCount / GetLoadedQuarantinedObjStmInfo pedig minden rekordot elérhetővé tesz; a karanténrekordok túlélik egy betöltés helyreállítási újrapróbálásait, konténerenként deduplikálódnak, és a következő betöltési belépéskor törlődnek

Version 2.591.0

Added

  • Hozzáadva kereszthivatkozás-térkép lapozást: amikor a sűrű térkép túllépi a THotPDF.XRefMapPagingThreshold bejegyzést (alapértelmezett 250000, a 0 letiltja), a betöltés-befejező menet THPDFXRefMapPager-be csomagolja -- rendezett snapshot tömörített 24 bájtos slotokból, amelyet bináris keresés válaszol meg egy LRU-materializált, 64 bejegyzéses oldalon keresztül --, és felszabadítja a sűrű tömböt
  • Hozzáadva a GetLoadedXRefMapPaged-et, amely a lapozott állapotot jelenti bejegyzésszámmal, snapshot bájtokkal, valamint ablak találat- és tévesztésszámokkal; az inkrementális mentés free-set újraépítése és a lustán materializált adatfolyamtagok közvetett /Length feloldása a pageren keresztül válaszol, így a lapozott dokumentumok megtartják a teljes funkcionalitást

Version 2.590.0

Added

  • Hozzáadva explicit objektum-életciklus állapotokat: a THPDFObjectLifecycleState kap egy olsRaw (indexelt, de nem materializált tömörített tagok), olsParsed (forrásbájtokból materializált, módosítatlan) és olsFlushed (a kimeneti dokumentumba szerializált) állapotot; a betöltött objektumok mostantól olsParsed-ot hordoznak az általános tiszta állapot helyett
  • Hozzáadva MarkRaw, MarkParsed és MarkFlushed metódusokat a THPDFObject-on; a GetLoadedObjectLifecycleState olsRaw-t ad vissza azoknál a tömörített tagoknál, amelyek törzse még nem materializálódott
  • Hozzáadva RawCount, ParsedCount és FlushedCount mezőket a THPDFObjectLifecycleStatistics-hoz; minden teljes mentési útvonal (sima, csomagolt, linearizált) a kibocsátott objektumokat olsFlushed-be mozgatja, miközben az IsDirty továbbra is olsDirty-t vagy olsMustWrite-t jelent

Version 2.589.0

Added

  • Hozzáadva zero-copy object-stream tag materializációt: a tömörített tagok mostantól csak olvasható slice nézeten keresztül értelmeződnek a megosztott kicsomagolt konténerpuffer felett, duplikált részsztring és második adatfolyammásolat helyett, megtartva a pontos bájt-elrendezést a záró újsorral együtt
  • Hozzáadva a THPDFObjectStreamSliceStream-ot, egy publikus, csak olvasható nézetadatfolyamot, amely (source, offset, length) slice-eket tesz elérhetővé virtuális záró LF-fel, valamint két új THPDFObjectStreamCacheInfo mezőt, a SliceViewCount-ot és a SliceViewBytes-t, amelyek jelentik, hány tag materializálódott zero-copy nézeteken keresztül

Version 2.588.0

Added

  • Hozzáadva párhuzamos object-stream konténerdekódolást az új HPDFObjStmDecode egységen keresztül: a THotPDF.ObjStmDecryptWorkers (alapértelmezett 1) korlátozza azokat a worker szálakat, amelyek minden különböző AES-256 titkosított /Type /ObjStm konténert előre dekódolnak a soros dekódolási és indexelési menet előtt; a konténerenkénti kulcsanyag kérésenként másolódik és törlődik, az eredmények megtartják a sorrendet, a hagyományos RC4 / AES-128 konténerek pedig a hívó szálon maradnak

Version 2.587.0

Added

  • Hozzáadva nyilvános kulcsos titkosított dokumentum újratöltést: az /Adobe.PPKLite / /Adobe.PubSec titkosítású dokumentumok mostantól betöltődnek, ha a hívó hozzárendeli a PubSecKeyMaterial-t (HPDFParsePFX-ből); az előszkennelés kibontja a /Recipients RSA-OAEP borítékot, visszanyeri a seedet, és újraszámolja a fájlkulcsot, így a konténer- és sztringdekódolás változatlanul fut
  • Hozzáadva a PubSecRecipientQuery callbacket, amely kiválasztja, hogy a szolgáltatott kulcs melyik címzettborítékot bontja ki, PubSecRecipientQueryContext-tel a hívói állapothoz
  • Hozzáadva a HPDFUnwrapRSAOAEPRecipientEnvelope-t, amely visszanyeri a seedet és a jogosultsági biteket egy CMS EnvelopedData címzettborítékból

Fixed

  • Javította az újratöltési oda-vissza teszt által felszínre hozott nyilvános kulcsos íróhibákat: a címzettborítékok egy bináris-Unicode sztring oda-vissza konverzió miatt sérültek (mostantól hex kódolással tárolódnak), a fájlkulcs digest egy bájttal eltoltan hashelte a borítékbájtokat, és a /Recipients sztringek közönséges sztringekként titkosítódtak — mostantól egy explicit SkipEncryption jelzővel opt-outolnak

Version 2.586.0

Added

  • Hozzáadva XFA overflow cél folytatást: a <overflow target="..."/> mostantól a túlcsordult folyó elemeket a nevesített cél subform téglalapjába irányítja, a folytatási sorokat egymásra rakva, amíg a cél megtelik, fallbackkel a normál tartalomterület-láncra, valamint figyelmeztetéssel, ha a cél hiányzik, egy elemnél kisebb vagy tele van

Version 2.585.0

Added

  • Hozzáadva XFA vonalkód-megjelenítést: a <draw><value><barcode type="..."> mostantól eszközfüggetlen vonalakat bocsát ki csak olvasható szövegmezővé fokozódás helyett, az XFA szimbológianeveket (code3Of9, code128, ean13, upcA, codabar és továbbiak) a vonalkódmotorra képezve
  • Hozzáadva XFA transzformációs grafikát: a rotate, <tran><scale> és <tran><translate> minden grafikafajtát (vonal, ív, téglalap, kép, szöveg, vonalkód) középpontos forgású q ... cm ... Q transzformációba csomagol

Version 2.584.0

Added

  • Kibővítette a FormCalcot sztringfüggvényekkel: Concat, Len, Left, Right, Substr, Replace, Lower, Upper, Trim és Space, ideértve az idézett sztringliterálokat és a vegyes szöveg/numerikus kifejezéseket
  • Hozzáadva FormCalc dátumkonverziót: a Date2Num/Num2Date oda-vissza konvertálja az ISO dátumokat az 1900-as korszakú sorozatnapszámlálón keresztül, plusz a Date()
  • Hozzáadva a FormCalc pénzügyi könyvtárát: Pmt, FV, PV, Rate és NPer a cash-flow előjelegyezménnyel, numerikus függvényekkel komponálhatóan, mint a Round

Version 2.583.0

Added

  • Befejezte az XFA SOM feloldást közbülső, csupasz * wildcard szegmensekkel, amelyek minden gyermekágba leereszkednek, valamint valódi osztálytokenekkel: a #subform/#dataGroup konténerosztályú csomópontokat választ ki, a #field mezőszerűeket, a többi #name token pedig egyéni adatcsomópontokra illeszkedik
  • Az osztálytokenek mostantól indexeléssel is komponálódnak (a #subform[2] az osztály minden csomópontját megszámolja dokumentumsorrendben), és részt vesznek a leszármazotti .. keresésekben

Version 2.582.0

Added

  • Hozzáadva rádiógomb- és jelölőnégyzet-appearance állapotegyeztetést: a gombérték írása a SetFormFieldValue vagy a SetLoadedFormFieldValueByName keresztül mostantól minden widgetben kiválasztja a megfelelő /AS állapotot, a laposítás pedig az appearance-ök generálása előtt egyeztet, így egy elavult Off állapot soha nem győzheti le az importált értéket
  • Hozzáadva regenerációs stabilitást a gomb appearance-ökhöz: az EnsureLoadedFieldAppearanceStream megőrzi egy állapotszótár meglévő on-state nevét, a rádiógomb-gyermekek on-state neveit pedig a saját /T exportértékükből származtatja

Version 2.581.0

Added

  • Hozzáadva elforgatott mező appearance-öket: a /MK /R widgetek mostantól a forgást /Matrix-ként hordozzák a generált appearance-ön, miközben megtartják a forgatás nélküli űrlapteret, így a comb, multiline és listbox megjelenítés változatlan marad, a laposítás pedig a transzformált dobozt a /Rect-re képezi le
  • Hozzáadva rich-text appearance támogatást: a sima /V nélküli, de /RV törzzsel rendelkező mezők a karaktertartalmat renderelik, az inline XHTML jelölést eltávolítva
  • Hozzáadva teljes szavas tördelést a többsoros szövegmezőkhöz: a túl hosszú sorok szóhatárokon törnek a karakterenkénti szélességbecsléssel, a szavak épségben maradnak a levágás helyett

Version 2.580.0

Added

  • Hozzáadva CID betűtípusos mező appearance-öket: az EnsureLoadedFieldAppearanceStream a /DA betűtípust az AcroForm /DR szótáron keresztül oldja fel, és újracsatolja a dokumentum font objektumot az appearance erőforrásokba, így a Type0 betűtípusok a CJK értékeket UTF-16BE hex szövegként renderelik Helvetica helyettesítés helyett
  • Hozzáadva appearance lefedettséget minden AcroForm mezőosztályhoz: a checkbox és rádiógomb widgetek mostantól Off és on-state appearance-öket is kapnak (vektoros pipa és kitöltött kör, ZapfDingbats függőség nélkül), a push gombok feliratot renderelnek, a listboxok pedig soronként egy /Opt sort festenek a kijelölt sor kiemelésével
  • Hozzáadva karakterenkénti szélességbecslést, amely a CJK és full-width tartományokat teljes em-mel méri, javítva a quadding és comb elhelyezést a több bájtos értékeknél

Version 2.579.0

Added

  • Hozzáadva szigorú űrlapszkript-kereteket a THotPDF.FormScriptBudgets property-n keresztül: valós idejű CPU leállítás, kumulatív memóriakeret és generált kimeneti korlát mostantól minden EvaluateLoadedFieldJavaScript futást és minden újraszámolási menetet korlátoz
  • Hozzáadva a THPDFScriptBudgets rekordot, amely lefedi a szkript hosszát, utasításait, rekurziós mélységét, műveleteit, CPU idejét, értékenkénti és kumulatív memóriáját, valamint a kimeneti bájtokat; a nulla bármely mezőben az adott konkrét limitelemet emeli fel
  • Hozzáadva kiértékelési telemetriát: a THPDFJavaScriptEvaluationResult mostantól ElapsedMilliseconds és ValueBytes értékeket is jelent a műveletszám mellett

Version 2.578.0

Added

  • Hozzáadva űrlapmező számítási függőséggráfot a THotPDF.BuildLoadedFormCalculationGraph révén: minden /CO-regisztrált Calculate szkript statikus elemzésen megy keresztül, és topológiai kiértékelési sorrendbe fűződik
  • Hozzáadva a THotPDF.RecalculateLoadedFormFieldsIncremental-t, amely csak azokat a számításokat számolja újra, amelyek tranzitívan olvasnak egy változott mezőt, így a részösszegből összegbe mutató láncok egy menetben terjednek tovább a nem kapcsolódó számítások érintése nélkül
  • Hozzáadva dirty mező követést: a SetFormFieldValue és a SetLoadedFormFieldValueByName keresztüli írások dirty halmazt halmoznak fel, amelyet a paraméter nélküli inkrementális overload, az explicit változottmező-listás overload és a teljes újraszámolási menet fogyaszt
  • Hozzáadva a HPDFFormCalcGraph egységet, amely érintett-lezárás lekérdezéseket, a teljes célsorrendet, ciklusszámokat és feloldatlan forrásneveket tesz elérhetővé eszközök előnézetéhez
  • Hozzáadva a HPDFExtractSafeJavaScriptFieldReferences-t, amely kinyeri azokat a mezőneveket, amelyeket egy biztonságos részhalmazú szkript olvas AFSimple_Calculate argumentumokból és getField hozzáférésekből, a sztringliterálokat kihagyva

Changed

  • A függőségciklusok mostantól megtartják a /CO dokumentumsorrendet, és egy változott mező soha nem számolja újra a saját szkriptjét, így a ciklikus dokumentumok egymenetes újraszámolásként viselkednek, a felhasználó által írt értékek pedig mindig fennmaradnak

Version 2.577.0

Added

  • Hozzáadva kötegelt aláírásvalidációt az új THotPDF.ValidateLoadedSignatureBatch metóduson keresztül: minden betöltött aláírás bájtszinten ellenőrzött és tanúsítvány szerint validált egyetlen menetben, strukturált aláírásonkénti eredményekkel
  • Hozzáadva a HPDFSignatureBatch egységet megosztott tanúsítványútvonal-gyorsítótárral: az ugyanazt az aláíróláncot ismétlő aláírások újrahasználják az előző útvonalítéletet az újraszámolás helyett
  • Hozzáadva megosztott időbélyeg-gyorsítótárazást a kötegen belül: az azonos RFC 3161 dokumentum-időbélyegek és beágyazott aláírás-időbélyeg tokenek kihagyják az újraellenőrzést a THPDFCMSVerifyOptions.SkipSignatureTimestampVerification révén
  • Hozzáadva visszavonási bizonyíték megosztást az aláírások között: egy validáció során látott OCSP válaszok és CRL-ek tárolódnak a THPDFRevocationEvidenceCache-ben, és a későbbi aláírásokba injektálódnak az új vesCache bizonyítékforrás alatt
  • Hozzáadva a THPDFSignatureValidationBatch-ot önálló kötegfuttatásokhoz FailFast-tal, worker párhuzamosítással, megszakítási tokenekkel és megosztott külső visszavonási gyorsítótárral
  • Hozzáadva a HPDFSignatureBatchResultToJSON-t, amely a teljes köteg kimenetelét rendereli gyorsítótár-statisztikákkal, gépi olvasású JSON-ként

Version 2.576.0

Fixed

  • Javította a Showcase demo access violation összeomlását indításkor: a THPDFViewer a konstrukció és az újrakötés során is elsütötte az OnPageChange-t, így az első galériagenerálás mostantól az OnShow-ból fut (miután léteznek az ablakhandle-ek), és minden eseménykezelő védekezik a még nil vezérlők ellen
  • Javította, hogy a Showcase galéria teljes TrueType betűtípusokat ágyazott be a Unicode mintáihoz: a font subsetting mostantól engedélyezett, a tízoldalas dokumentum kb. 3.9 MB-ról kb. 336 KB-ra zsugorodott

Version 2.575.0

Added

  • Hozzáadva algoritmus-rugalmas PDF MAC előállítást és validációt SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-384 és SHA3-512 algoritmusokhoz, beleértve az adatfolyamos tartományhashelést és a CMS algoritmusvédelmi konzisztencia-ellenőrzéseket
  • Hozzáadva explicit THPDFPDFMACOptions compatibility, modern, high-assurance és custom profilokat generálási algoritmusokkal, validációs allowlistákkal, opcionális AES-256-GCM kikényszerítéssel, policy diagnosztikával és forrás-kompatibilis alapértelmezett overloadokkal

Security

  • A PDF MAC validáció mostantól a nagy bájttartományok hashelése előtt fedezi fel a kódolt digestet, és a hitelesítés előtt elutasítja a nem engedélyezett algoritmusokat vagy titkosítási módokat, miközben a HMAC-SHA-256, HKDF-SHA-256 és AES-256 key wrap a dokumentumformátum által rögzített marad

Version 2.574.0

Added

  • Hozzáadva a SaveIncrementalUpdateAuthenticated-t kriptográfiai integritású és megbízható tanúsítványos módokkal: a metódus azonos könyvtárbeli jelöltet ír, minden policyt hordozó aláírást hitelesít, DocMDP, FieldMDP, UR vagy UR3, Identity és ismeretlen transzformációs döntéseket kényszerít ki a későbbi revíziókra, és csak minden policy sikere után helyettesíti atomikusan a célt

Security

  • A revízióelemzés mostantól az egzakt aláírt snapshotból rekonstruálja a transzformációs policyket, és az eredeti aláírásobjektumhoz, bájttartományhoz és CMS értékhez köti őket, ahelyett hogy az aktív objektumgráf későbbi átdefiniálásaira hagyatkozna, miközben az elutasított jelöltek törlődnek a meglévő cél változatlanul hagyásával

Version 2.573.0

Added

  • Hozzáadva a zászlóshajó Showcase demót a Demo\Delphi alatt: indításkor tízoldalas funkciógaléria PDF-et generál (gradiens borító, tipográfia inline rich texttel, vektoros gradiensek / minták / átlátszóság, egy THPDFTable számla, vonalkód-szimbológiák, futásidőben festett képek, annotációk és linkek, optional-content rétegek, valamint PAdES aláírás-appearance), és a beágyazott THPDFViewer-ben rendereli szinkronizált témalistával
  • Hozzáadva egykattintásos Encrypt AES-256 műveletet a Showcase demóhoz, amely újraépíti a galériát AESV3 (R6) titkosítással, felhasználói jelszóval és csak nyomtatás engedéllyel a HotPDF-Showcase-Encrypted.pdf fájlba
  • Hozzáadva könyvjelző-navigációt minden Showcase galériaoldalhoz a BeginDoc(True) és az OutlineRoot.AddChild révén, így a generált dokumentum feltöltött outline panellel nyílik meg

Version 2.572.0

Added

  • Kibővítette az aláírás-transzformáció vizsgálatát és az inkrementális változások osztályozását minden standard módszerre: a GetLoadedSignaturePermissions mostantól jelenti a DocMDP-t, UR-t, FieldMDP-t, Identity-t, az ismeretlen módszereket, a Catalog /UR és /UR3 kapcsolatot, minden standard használatjog-bitet, valamint a korlátos tranzitív Identity /Data objektumhatókört; a revízióelemzés megkülönbözteti az űrlapkitöltéseket, az aláírásokat, az annotáció- és beágyazottfájl létrehozási/törlési/módosítási műveleteket, valamint független URCompliant, IdentityCompliant és összesített TransformCompliant döntéseket tesz elérhetővé

Fixed

  • Alkalmazza a standard alapértelmezett DocMDP /P 2 jogosultságot, amikor az opcionális bejegyzés hiányzik, és elutasítja a hibás, duplikált, nem egyező vagy ismeretlen transzformációs struktúrákat, ahelyett hogy csendben átugraná őket

Version 2.571.0

Added

  • Hozzáadva MacExpertEncoding támogatást: a PDF 1.7 D.3 mellékletéből átírt glyph-névtábla mostantól táplálja a HPDFBaseEncToUnicode-t, így az expert-készletű Type 1 betűtípusok valódi Unicode-ra dekódolódnak szövegkinyeréskor a nyers bájt identitás helyett; az Adobe Glyph List megkapta a tizenhárom ékezetes small variánst (Acutesmall-től Tildesmall-ig) azokkal a térköz-ékezet kódpontokkal
  • Hozzáadva a tizenegy szétválasztható blend módot (ISO 32000-1 11.3.5): a HPDFBlendComponent implementálja a Multiply, Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn, HardLight, SoftLight, Difference és Exclusion módokat; a renderer a /BM-t az ExtGState-ből a graphics-state snapshotba dolgozza be, és a festett pixeleket a háttérrel kompozitálja az alpha súlyozás előtt
  • Engedélyezte a beágyazott GSUB kontextusos lookupokat: a SequenceLookupRecord mostantól célzhat kontextusos (Type 5), láncolt-kontextusos (Type 6) és vissza-láncolt (Type 8) lookupokat, a megosztott formátumonkénti alkalmazókon keresztül diszponálva a meglévő rekurziómélység-korlát alatt

Version 2.570.0

Added

  • Hozzáadva a THPDFRevocationEvidenceCache-et, egy szálbiztos LRU gyorsítótárat időbélyeg / OCSP / CRL bizonyítékokhoz, kibocsátó, sorozatszám és responder azonosítók szerint kulcsolva (nem esetérzékeny). A bejegyzések érvényességi ablakot hordoznak, a keresések a legkésőbb kezdődő, az értékelési időt tartalmazó intervallumot választják, a találatok felfrissítik a frissességet, a bejegyzésszám- és bájtkeretek egyaránt FIFO kiürítést váltanak ki teljes találat / tévesztés / kiürítés / csere számlálókkal a GetInfo révén
  • Hozzáadva oldalszintű SaveState / RestoreState metódusokat a THPDFPage-en, amelyek a q / Q graphics-state operátorokat bocsátják ki, így a hívók keretezhetik a clip, ExtGState és szövegkörvonal szekciókat a tartalomépítő megérintése nélkül

Fixed

  • Javította, hogy a hagyományos táblás free bejegyzések elvesztek a betöltéskor az összevont kereszthivatkozás-térképből: a klasszikus tábla type-0 bejegyzései mostantól úgy rögzítésre kerülnek, mint xref-stream társaik, így a második SaveIncrementalUpdate menet a megőrzött free láncot látja a SourceFreeObjectCount=0 és az elveszett generációk helyett
  • Javította, hogy a THPDFSignatureEvidenceTask konstrukciókor "Cannot call Start on a running or suspended thread" kiváltást dobott: a task mostantól az AfterConstruction-ban indul, miután az objektum teljesen felépült, ahelyett hogy a konstruktorból versenyzene az RTL szálállapot-ellenőrzéssel

Version 2.569.0

Added

  • A THPDFCertificateValidationOptions.TrustPurpose korlátozatlan, dokumentum-aláírási, kód-aláírási, e-mail-védelmi, időbélyegzési, OCSP-aláírási vagy egyéni EKU policyt választ, miközben az útvonalvalidáció megtartja a teljes engedélyezett és kizárt név-subfa kikényszerítést, a tanúsítvány-policy leképezést és gátlást, valamint jelenti a kiválasztott purpose OID-t a THPDFCertificateValidationInfo-ban

Version 2.568.0

Added

  • A THPDFSignatureEvidenceTask időbélyeg, OCSP és CRL bizonyítékokat szerez korlátozott háttérworkereken keresztül stabil eredménysorrenddel, exponenciális újrapróbálással és korlátos késleltetésekkel, kooperatív megszakítással, válaszméret-limitekkel, transzportkivétel-izolációval, élő snapshotokkal, valamint jól elkülönülő végleges, kimerült, megszakított és túlméretes kimenetekkel

Version 2.567.0

Added

  • A THPDFWindowsKeyStorageSignatureProvider smart-card, TPM és gyártói CNG kulcstároló providereken keresztül ír alá privát kulcsok exportálása nélkül, támogat perzisztált kulcs keresését vagy kölcsönzött és tulajdonolt NCRYPT_KEY_HANDLE értékeket, opcionális hardveres kikényszerítést, csendes hozzáférést, RSA PKCS#1 v1.5 és RSA-PSS aláírást, korlátozott kimenetet, valamint provider-státusz osztályozást a meglévő PKCS#11 adapter mellett

Version 2.566.0

Added

  • A HPDFNormalizeContentStreamGraphicsState és a HPDFCompareContentStreamsSemantic a dekódolt content streameket korlátozott kanonikus eseményeken keresztül hasonlítja össze, kiküszöbölve a szám- és sztringírásmód-beli különbségeket, a redundáns graphics és text-state beállítókat, az üres q/Q hatóköröket és az ekvivalens összefűzött mátrixokat, miközben megtartja a hatályos állapotot, az operátor operandusait és a SHA-256 inline-kép identitásokat

Version 2.565.0

Changed

  • A SaveIncrementalUpdate mostantól újjáépíti a teljes aktív free-objektumláncot destruktív szerkesztések után, megőrzi a korábban free generációkat, az újonnan felszabadított generációkat 65535 telítéssel növeli, megtartja a nem nulla generációkat az újraírt objektumoknál, determinisztikus objektumszám-sorrendben bocsátja ki a bejegyzéseket, és az eredményt a GetLastIncrementalXRefRebuildInfo révén teszi elérhetővé

Version 2.564.0

Added

  • A THPDFPage.TextOutOutline a hívó által kiválasztott Unicode szöveget a jelenlegi TrueType face-en keresztül formázza, a GDI move, line, köbös Bézier és path-záró rekordokat natív PDF útvonalakká alakítja át betűmérettel, vízszintes skálázással, baseline pozícióval és forgással, majd a meglévő kivágási, szín-, blend-mód, alpha és soft-mask graphics state alatt tölti ki őket szövegoperátorok beágyazása nélkül

Version 2.563.0

Added

  • A FlattenLoadedPageComplexGraphics felismeri a mesh shadinget és az összetett Pattern erőforrásokat, növekvő raszterfelbontásokat értékel ki egy korlátozott, 16 régiós, nagy felbontású referencia alapján luma-súlyozott perceptuális hibametrikával, megőrzi a spot színű oldalakat, és a kiválasztott eredményt a varratmentes, korlátos CalRGB tile író adja ki

Version 2.562.0

Changed

  • A FlattenLoadedPageTransparency mostantól a megosztott rendereren keresztül oldja fel a forrás ICC, CIE, eszköz, soft-mask, blend-tér, megjelenítési szándék és feketepont-kompenzációs színeket, majd varratmentes, Flate-tömörítésű D65 CalRGB tile-okat bocsát ki hívó által vezérelt teljes raszter- és tile-onkénti pixelkeretekkel, csúcs-memóriatelemetriával

Version 2.561.0

Added

  • A ScrubLoadedRedactionRemnants eltávolítja a Redact és fájlcsatolmány annotációkat, a dokumentuminformációkat, az XMP és privát metaadatokat, a társított és beágyazott fájlokat, valamint minden kitakarítás után elérhetetlenül maradt közvetett betűtípust, képet, hasznosadatot vagy egyéb objektumot, majd tömöríti az objektumszámokat, és teljes újraírást kényszerít ki, amely nem tarthat meg inkrementális revízióbájtokat

Version 2.560.0

Changed

  • Az ApplyLoadedRedactions mostantól even-odd kivágási határt helyez a teljes oldaltartalom köré, így a metsző szövegek, útvonalak, képek, minták, inline képek és Form XObject-ek pontosan kivágódnak, miközben a közvetlen szövegoperandusokat és az egyes TJ elemeket glyph négyszögekkel üríti ki, az átfedő kitakarító téglalapokat pedig konzervatívan egyesíti

Version 2.559.0

Changed

  • Az oldalimportok mostantól újrahasznosítják az ekvivalens közvetett képeket, Form XObject-eket, Pattern-eket, beágyazott betűtípusprogramokat, Font szótárakat és ExtGState szótárakat oldalak és forrásdokumentumok között kanonikus, függőségtudatos SHA-256 ujjlenyomatokkal, cél átfogó találat-, tévesztés- és bejegyzésstatisztikákkal

Version 2.558.0

Added

  • A AnalyzeLoadedPageSemanticText és az ExtractLoadedPageSemanticText stabil olvasási sorrendet épít glyph négyszögeiből, ismétlődő oszlopsávokkal, igazított táblázatsorokkal és cellákkal, listaszintekkel, címsorokkal, ábra- és táblázatfeliratokkal, valamint teljes szélességű függőleges zónákkal, korlátozott O(n log n) csoportosítást használva az adatfolyam-sorrend helyett

Version 2.557.0

Added

  • A betöltöttoldal-kinyerés mostantól megőrzi a több skálát lefedő /ToUnicode célokat, és karakterrekordokat ad vissza transzformált négyszögekkel, alapvonalakkal, forrásfürtökkel és explicit ligatúra-komponens tagsággal, miközben jelenti, hogy a betűtípus-szélességek és a vertikális metrikák teszik-e pontosá a geometriát

Version 2.556.0

Changed

  • A betöltöttoldali szövegkinyerés mostantól rekonstruálja a hiányzó vagy hiányos /ToUnicode leképezéseket beágyazott sfnt cmap 0, 4, 6 és 12 formátumokból, AGL-alapú /Encoding /Differences glyph nevekből, helyesen dekódolt bináris /CIDToGIDMap adatfolyamokból és Adobe CID gyűjteménytáblákból, ugyanazokkal a fallbackekkel, amelyek a fordított szövegcsere számára is elérhetők

Version 2.555.0

Changed

  • A produkáló oldali shaping újrahasznosítás mostantól hashelt keresést, stabil betűtípus-tartalom identitásokat, egzakt 64 bites feature maszkot, valamint vertikális, szkript, nyelv és irány kulcsokat használ, emellett kontextushoz kötött szó-slice bejegyzéseket, amelyek ismétlődő, egyenlő hosszúságú transzformációkat képesek összeállítani változó szövegfuttatások között, miközben megtartja a korlátos LRU memóriát és a részletes slice telemetriát

Version 2.554.0

Changed

  • A vegyes, jobbról balra irányú szöveg kezelésénél a párosított zárójelek feloldása mostantól a bezárt és a megelőző erős írásrendszerekből történik, a zárójelek és a gyakori irányoperátorok csak RTL futásokban tükröződnek, a kiegészítő síkbeli surrogate párok és a kombináló jel klaszterek megmaradnak az LTR részfutások megfordítása során, a nyers glyph-ID futások pedig elkülönülnek a Unicode írásjelkezeléstől

Version 2.553.0

Changed

  • A függőleges írás mostantól a TrueType glyph origókat a vmtx felső oldaltávolságaiból és a glyf határaiból származtatja, a vrt2 elsőbbséget élvez a vert-tel szemben a teljes, hosszmegőrző GSUB futás során, és az írásjelekhez a hozzárendelt Unicode függőleges megjelenítési glyphokat használja a kinyert forrásszöveg megőrzése mellett

Version 2.552.0

Added

  • A regisztrált OpenType színes betűtípusok mostantól a legközelebbi, korlátos sbix vagy CBDT/CBLC bitmap striét választják ki, biztonságosan oldják fel a sbix duplikált glyph rekordokat, felismerik a PNG, JPEG és TIFF eszközöket, a PNG-t és a JPEG-et natívan dekódolják, és minden bitmapot a strike ppem és alapvonal-origó metrikái alapján helyeznek el

Version 2.551.0

Changed

  • A regisztrált OpenType SVG szín-glyphok mostantól alapvető útvonalakat, alakzatokat, örökölt solid kitöltéseket és körvonalakat, affin transzformációkat és gzip-tömörített dokumentumokat rajzolnak közvetlenül PDF vektorokként, korlátozott elemzéssel és fail-closed elutasítással a szkriptek, entitások, külső erőforrások, aktív linkek, nem támogatott opacity és túlzott bemenet esetén

Version 2.550.0

Changed

  • A regisztrált OpenType betűtípusok mostantól korlátos COLR v1 paint DAG-okat elemeznek, és rétegzett solid, lineáris, radiális és sweep kitöltéseket rajzolnak glyph kivágásokon, affin paint transzformációkon, újrahasznosítható szín-glyphokon, source-over sorrendezésen és PDF blend kompozitokon keresztül, miközben a ciklikus, túlméretezett és tartományon kívüli gráfok fail-closed módon meghiúsulnak az oldalra írás előtt

Version 2.549.0

Added

  • A BeginLoadedPageProgressiveRegionRender mostantól korlátos, felhasználói térbeli ablakot jelenít meg folytatható operátor-sliceken keresztül, újrahasznosítja a gyorsítótárazott display listeket, konzervatívan kiszűri a nem kapcsolódó paint objektumokat a grafikai és szöveghaladás megőrzése mellett, a memóriafoglalásokat a ROI-hoz igazítja, és jelenti a látható valamint a kiszűrt paint számokat

Version 2.548.0

Changed

  • Az overprint proofing mostantól megőrzi azokat a céllemezeket, amelyek hiányoznak a DeviceGray, Separation és DeviceN paintekből, egzakt DeviceCMYK /OPM 1 nulla-komponens védelmet alkalmaz, lecseréli az explicit nevű process lemezeket, és a spot festékeket a tint transzformációikon és alternatív színtereiken keresztül kombinálja

Version 2.547.0

Changed

  • A betöltöttoldal-megjelenítés mostantól korlátos 768 pixeles csempékben dolgozza fel az isolated és knockout transparency groupokat, megőrzi az abszolút eszközkoordinátákat a beágyazott csoportok és csempén belüli lágy maszkok esetén, mindegyik Formot csak egyszer dekódolja és tokenizálja, és a GetLastTransparencyGroupTileStats révén közzéteszi a csoportszámot, a csempeszámot, a csúcscsempetárolást, valamint a becsült csempézés nélküli tárolást

Version 2.546.0

Fixed

  • A luminosity lágy maszkok mostantól feloldják és ellenőrzik a transparency group blending színterüket, kolorimetrikus CIE Y-t származtatnak az ICCBased és Lab tartalmakhoz, a Separation és DeviceN painteket teljes alternatív színtér-transzformációkon keresztül konvertálják, egzakt komponensszámú háttereket alkalmaznak a vektor-, árnyalat-, háló- és képútvonalakon, és a lefordított maszkokat csak egyező transzformációk és rendering intentek esetén használják újra

Version 2.545.0

Added

  • A betöltöttoldal-megjelenítés mostantól Type 6, Type 10 és Type 16 küszöbhalftoneokat hajt végre kompakt periodikus geometriával, egzakt 8 bites vagy big-endian 16 bites összehasonlítással, független Type 5 RGB képernyőkkel és transfer felülírásokkal, korlátos 64 MiB-os lefordított képernyő-gyorsítótárral, valamint atomi continuous-tone fallbackkel a hibás vagy túlméretezett adatok esetén

Version 2.544.0

Added

  • A betöltöttoldal-megjelenítés mostantól teljes /TR és /TR2 tömböket hajt végre független identity csatornákkal, és a gyorsítótárazott Type 0 mintavételezett függvényeket kiértékeli egy-négy bemeneti és kimeneti dimenzióban, minden szabványos csomagolt mintamélységben, explicit encode és decode leképezésekkel, lineáris interpolációval, többdimenziós köbös interpolációval és egydimenziós természetes köbös spline-okkal a 64 MiB-os függvény-gyorsítótár keretén belül

Version 2.543.0

Added

  • A betöltöttoldal-megjelenítés mostantól a dekódolt és tokenizált Type 3 CharProc display listeket gyorsítótározza betűtípus, glyph, lineáris mátrix és színállapot szerint egy 256 bejegyzéses, 131,072 tokenes LRU-ban, megőrzi a transzlációt és a teljes d0/d1 végrehajtási szemantikát, és a GetLastType3GlyphCacheStats révén találat-, tévesztés-, kiírási, méret- és túlméret-átugrási telemetriát közöl

Version 2.542.0

Added

  • A színes és szín nélküli tiling minták mostantól szülői alapértelmezésű koordinátájú pattern mátrixokkal, mindhárom ISO tiling típussal, előjeles lépésekkel, izolált cellaútvonalakkal, konzisztens fill és stroke alapszínezetekkel, beágyazott erőforrás transzformációkkal, korlátos rekurzióval és csempévégrehajtással jelennek meg, miközben a RegisterTilingPattern és a THPDFTilingPatternBuilder ellenőrzött mátrix- és tilingtípus-választást ad

Version 2.541.0

Added

  • A betöltött JPEG és JPEG 2000 képek mostantól determinisztikus újratömörítési minőséget választhatnak korlátos kódolási kísérletekből az OptimizeLoadedImagesByVisualCost révén, amely a mintavételezett, lumina-súlyozott perceptuális hibát kombinálja a relatív kódolt bájtköltséggel, explicit hiba- és megtakarítási határokkal, megszakítás-ellenőrzésekkel, stabil döntetlenfeloldással és részletes kiválasztási telemetriával

Version 2.540.0

Added

  • A JPEG 2000 régiódekódolás mostantól párhuzamosan rekonstruálja a független, metsző kodestream-csempéket workerenkénti codec állapottal, determinisztikus sor-fő kompozícióval, megszakítás-ellenőrzésekkel, automatikus CPU- és felhasználói worker limitekkel, csúcsmemória-keret fallbackkel, valamint a JPEG2000ParallelTileDecoding, JPEG2000TileWorkerLimit és GetLastJPEG2000ParallelDecodeStats révén közzétett dekódolási telemetriával

Version 2.539.0

Added

  • A JPEG 2000 dekódolás mostantól támogatja az ellenőrzött, közvetlen kodestream-csempa-hozzáférést, a forrásrégió és a kettő hatványán értendő érdeklődési felbontás együttes rekonstruálását, dekódolt kimeneti kereteket, felbontási kéréseket crash-elkülönített codec workereken keresztül, valamint a látható célképpixeleken alapuló automatikus betöltöttoldal-renderer választást a DecodeLoadedImageRegionAtResolution révén

Version 2.538.0

Added

  • A progresszív betöltöttoldal-megjelenítés mostantól a megfelelő DCTDecode képeket korlátos folytatásonként egy JPEG scannel dekódolja, közzéteszi a scan- és képszámlálókat, valamint megszakítható scan callbackeket, kimeneti és scanszám-kereteket alkalmaz, és teljes képi útvonalra vált inkompatibilis paint állapot, letiltott dekódolás, codec izoláció vagy hibás bemenet esetén

Version 2.537.0

Added

  • A betöltött CCITTFaxDecode képek mostantól dekódolják a T.4 és T.6 tömörítetlen kiterjesztési módokat, megkülönböztetik az EOFB-t a nem támogatott kiterjesztésektől, tiszteletben tartják az EndOfLine, EndOfBlock és DamagedRowsBeforeError beállításokat, és a sérült Group 3 sorokat korlátos EOL reszinkronizációval, valamint a specifikáció által előírt sorpótlással állítják helyre

Version 2.536.0

Added

  • A JBIG2 kép-régiókérések mostantól korlátos függőségi lezárást építenek, és csak a kért csempével metsző oldalrégiókat dekódolják, a kivágott pixeleket a deklarált operátorokkal komponálják, kihagyják a független, ablakon kívüli régiókat, megőrzik a láncolt globális szótárakat, és a THPDFJBIG2Decoder.LoadRegionFromByteArray révén közlik a dekódolási statisztikákat

Version 2.535.0

Added

  • A natív Pascal JBIG2 útvonal mostantól elfogadja a korlátos, hosszú formájú, hivatkozott szegmenstáblákat egy-, két- és négybájtos azonosítókkal, feloldja a többszintű globális szótárláncokat, elutasítja az érvénytelen függőségeket, és a HPDFJBIG2SplitSymbolDictionaryGlobals segítségével függőségeket megőrző adatfolyam-szétválasztást tesz lehetővé

Version 2.534.0

Added

  • A natív Pascal JBIG2 dekódoló mostantól megőrzi és újrahasznosítja a generikus és refinement aritmetikai valószínűségkontextusokat a függő szimbólumszótárak között, beleértve a láncolt és fan-out hivatkozásokat, sablontudatos kontextusméretezéssel, deep-copy izolációval és hibás forrás elleni védelemmel

Version 2.533.0

Added

  • A natív Pascal JBIG2 dekódoló mostantól kezeli az aritmetikai és standard-Huffman refinement és aggregátum szimbólumokat a szimbólumszótárakban, valamint a refinement példányokat a szövegterületeken, megosztott refinement kontextusokkal, korlátos aritmetikai részfolyamokkal, adaptív refinement sablonokkal és hibás hivatkozás elleni védelemmel

Version 2.532.0

Added

  • A nagy memóriaigényű dokumentumbetöltés, oldalmegjelenítés, adatfolyam-optimalizálás és párhuzamos képoptimalizálás mostantól egy tisztességes, folyamatszintű csúcsmemória-ütemezőt oszt meg konfigurálható bájtkerettel, FIFO és túlméretes felvétellel, megszakítástudatos várakozással, foglalásmentes, versenymentes útvonallal, kumulatív nyomásstatisztikával, valamint műveletenkénti foglalási és várakozási telemetriával

Version 2.531.0

Changed

  • Az ideiglenes spill tárolás mostantól önállóan tömörített 256 KiB-os blokkokat használ, a tömöríthetetlen blokkokat bővítés nélkül tartja meg, az írásokat korlátos aszinkron soron keresztül kötegeli, támogatja a véletlen felülírást és átméretezést, valamint logikai, fizikai, blokk-, köteg- és backpressure statisztikákat jelent

Version 2.530.0

Changed

  • A nyers tömörített tartományok, dekódolt képek, lefordított display listek és megjelenített raster oldalak mostantól a legkevésbé nemrég használt sorrendet korlátos frekvenciasketccel kombinálják, megakadályozva, hogy az egymenetes átvizsgálások kiszorítsák a bejáratott forró bejegyzéseket
  • Az AdaptiveAdmission rétegenként visszaállíthatja a tisztán recency alapú felvételt, miközben a frekvenciafelvételek, elutasítások és öregedési ciklusok a gyorsítótár-statisztikákon keresztül válnak láthatóvá

Version 2.529.0

Added

  • A THPDFCacheAdmissionPolicy és a SetCacheAdmissionPolicy független bejegyzésszám-, összbájt- és bejegyzésenkénti határokat ad a nyers tömörített tartományok, dekódolt képek, lefordított display listek és megjelenített raster oldalak számára
  • A GetCacheAdmissionStatistics minden rétegre jelent foglaltságot, találatot, tévesztést, felvételt, elutasítást és kiírást, miközben a túlméretezett display listek és raster oldalak kikerülik a megtartást anélkül, hogy az aktuális művelet meghiúsulna

Version 2.528.0

Changed

  • A betöltött dokumentumok mostantól dokumentum-hatókörű poolban internálnak minden ismétlődő PDF nevet, tartalom-adatfolyam operátort és 64 bájtig változatlan karakterláncot, csökkentve a duplikált karakterlánc-tárolást a feldolgozott objektumok és tartalom-műveletek között
  • A GetDocumentStringInternStatistics kategóriánkénti kéréseket, találatokat, tévesztéseket, átlépéseket, megtartott tárolást és újrahasznosított bájtokat jelent, miközben a 65,536 bejegyzéses és 4 MiB-os kemény határértékek kordában tartják a rosszindulatú dokumentumokat

Version 2.527.0

Changed

  • A PDF betöltés mostantól megtartott blokk-arenát használ a rövid életű parser tokenekhez és pufferekhez, csökkentve az allokátorforgalmat, miközben a tartós dokumentumobjektumok önálló tulajdonban maradnak
  • A szótárkulcsok közvetlenül, ideiglenes névobjektumok felépítése nélkül kerülnek feldolgozásra, és a GetLastParserArenaStatistics megtartott tárolást, csúcshasználatot, allokáció-újrahasznosítást, tokenforgalmat és ideiglenes objektum elhagyást jelent

Version 2.526.0

Changed

  • A HPDFTransferStream mostantól memória, mapped-file, lazy-file, adaptive-cache és range-cache forrásokat ír tárolástudatos útvonalakon keresztül, köztes, teljes adatfolyamra kiterjedő puffer lefoglalása nélkül
  • A titkosítatlan PDF adatfolyam szerializáció, a szűrőmentes dekódolt kimenet, a nyers betöltöttkép-exportálás, a lazy-stream materializálás és az ideiglenes adatfolyam spill automatikusan közvetlen átvitelt használ, mapped-file és range-cache bájtszámlálókkal a diagnosztikához

Version 2.525.0

Changed

  • A random-access parser előolvasása mostantól adaptívan növekszik 1, 2, 4 és 8 blokkra tartós előrefelé olvasás során, a konfigurált gyorsítótár-kapacitás alatt marad, és véletlen vagy hátrafelé seek után azonnal elnyomódik
  • Az AdaptiveReadAheadEnabled, a MaxReadAheadBlocks és a SequentialReadToleranceBytes házirend-vezérlést ad, miközben a range-cache statisztikák jelentik a hozzáférés-osztályozást, valamint az aktuális vagy csúcs előolvasási ablakokat

Version 2.524.0

Added

  • A THPDFCoalescingRandomAccessSource a szomszédos parser olvasásokat konfigurálható, gyorsítótárazott tartományokká vonja össze, korlátos, legkevésbé nemrég használt bájtkeretet tartat be, és forrás-, gyorsítótár- valamint előolvasási statisztikákat közöl
  • A LoadFromRandomAccessSource mostantól automatikusan alkalmaz tartomány-összevonást és aszinkron, következő tartományra irányuló előolvasást, miközben az előtérben zajló seek-ek lemondják a nem kapcsolódó munkát, és a ReadAtCancellable lehetővé teszi, hogy a távoli transzportok kooperatívan megszakítsák a folyamatban lévő kéréseket

Version 2.523.0

Changed

  • A Type 3 radiális árnyalatok mostantól hibakorlátos adaptív Gouraud tesszelláción keresztül jelennek meg a rögzített, 48 oldalú, egyszínű korongok helyett
  • A nagy DPI-jű és transzformált körhatárok 0.35 eszközpixeles húrtűrést használnak, a nemlineáris színfüggvények adaptívan tagolódnak, a kiterjesztetlen kezdőkör belsője pedig festetlenül marad

Version 2.522.0

Fixed

  • A V=4 jelszavas betöltés mostantól független StrF és StmF alapértelmezéseket old fel, együtt a közvetlen vagy tömb formájú, adatfolyam-szintű Crypt felülírásokkal
  • Az adatfolyam crypt paraméterei választhatnak Identity, V2 vagy AESV2 között, és a felhasznált szűrőbejegyzések eltávolításra kerülnek, mielőtt a megmaradó adatfolyam-dekódoló pipeline elindulna

Version 2.521.0

Added

  • A betöltött DCTDecode, JPXDecode és JBIG2Decode képek mostantól crash-elkülönített Win32 vagy Win64 worker folyamatokban dekódolódnak korlátos megosztott memórián keresztül
  • A CodecIsolationMode, a worker útvonal, a timeout és a memórialimit vezérlők támogatják a kompatibilis automatikus telepítést vagy a fail-closed kezelést a nem megbízható dokumentumok esetén, strukturált állapot-, folyamat-, kilépési kód- és időzítési telemetriával

Version 2.520.0

Added

  • A THPDFDeterministicReplayLog korlátos, rendezett döntéseket rögzít a megszakítási ellenőrzőpontok, a random-access tartomány elérhetősége és a logikai vagy egész callback kimenetelek számára, stabil JSON exporttal és importtal
  • A szigorú visszajátszás ellenőrzi az eseményidentitást, az argumentumokat és a sorrendet, miközben a progresszív betöltés, annotációszűrés és csempe-callback megszakítási döntéseket függetlenül reprodukálja az aktuális külső állapottól

Version 2.519.0

Added

  • A BuildLoadedObjectDependencyGraph mostantól korlátos közvetett objektum csomópontokat és referencia-slot éleket tár fel egzakt objektumidentitásokkal, útvonalakkal, feloldási állapottal, életciklus-állapottal és Catalog elérhetőséggel
  • Az objektumcsomópontok hordozható, sekély memóriabecsléseket és dominátor alapú megtartott bájtokat jelentenek, így a megosztott erőforrások ahhoz a legközelebbi objektumhoz íródnak, amely kizárólagosan megtartja őket

Version 2.518.0

Added

  • A korlátos kereszthivatkozás-helyreállítás mostantól strukturált eseményadatfolyamot tár fel, amely lefedi a jelöltek elfogadását és elutasítását, a kiválasztott xref szakaszokat, az újraépített offseteket, a limithibákat és a végső kimeneteleket
  • Minden helyreállítási esemény hordozza az inkluzív-exkluzív forrásbájttartományt, adott esetben az indirect objektumidentitást, explicit megbízhatósági szintet és korlátos, angol nyelvű diagnosztikát, konfigurálható megtartással és az eldobott események elszámolásával

Version 2.517.0

Added

  • Az egységes műveleti telemetria mostantól az aktuális szál CPU-idejét, a csúcstovábbi élő Delphi allokációkat, a mintavételezett folyamat working setet, a folyamat I/O bájt-deltákat, a gyorsítótár-tévesztéseket és a dekódolt adatfolyam tágulását jelenti a meglévő eltelt idő és komponensmemória metrikák mellett
  • A dekódolási elszámolás mostantól megkülönbözteti a kódolt bemenetet, az összesített szűrőmunkát és a végső kimeneti bájtokat, a tágulás ezrelékben kerül közzétételre, ahol a 1000 annyit jelent, mint 1x

Version 2.516.0

Added

  • A hibás PDF regressziós esetek mostantól folyamatosan újraérvényesíthetők és újraminimalizálhatók konfigurálható kísérleti és bájthatárok alatt, miközben a legkisebb, aláírással egyenértékű bemenet folyamatbiztos zárolással és atomi cserével megőrzésre kerül
  • A korpusz PDF-ek stabil hibaaláírású esetazonosítókat és determinisztikus hotpdf.corpus.case.v1 sidecar fájlokat használnak, amelyek tartalmazzák a tartalom SHA-256-os ellenőrzőösszegét és a bájtszámot

Version 2.515.0

Added

  • A kereszt-engine regressziós szondák mostantól lefedik a parse, render, text és save tartományokat korlátos, beépített HotPDF SHA-256 ujjlenyomatokkal, ismételt futású stabilitásellenőrzésekkel, izolált kivétel-eredményekkel, elnevezett engineekkel, bemeneti határokkal és determinisztikus, verziózott JSON jelentésekkel

Version 2.514.0

Added

  • Egy verziózott, lapos C ABI mostantól 64 bites random-access callbackeken keresztül, közvetlenül a parser pufferekbe tölti be a PDF-eket, és újrapróbálható, szekvenciális írási callbackeken keresztül menti őket, anélkül, hogy Delphi-kezelt típusok átlépnék a határt
  • A HotPDFABI.dll stabil cdecl exportokat, átlátszatlan, ellenőrzött handlokat, rögzített állapotkódokat, explicit bájthosszokat, megszakítást, haladást, diagnosztikát, Win32 és Win64 build automatizálást, import könyvtárakat, valamint az elrendezés-ellenőrzött hotpdf_abi.h fejlécet szállítja

Version 2.513.0

Added

  • A PDF/UA-2, PDF/A-4 és PDF/X-6 validátorok mostantól egyetlen közös, géppel olvasható finding modellt adhatnak vissza profillal, súlyossággal, stabil szabályazonosítóval, szabványos záradékkal, objektumútvonallal, objektumszámmal és nulla alapú oldalhellyel
  • A részletes PDF/UA-2 javítási findingek megkülönböztetik az alkalmazott, megoldatlan, visszagörgetett és meghiúsult műveleteket javításszámokkal, miközben a ComplianceFindingsToJSON determinisztikus, verziózott JSON-t bocsát ki CI és audit pipeline-ok számára

Version 2.512.0

Added

  • A PDF/UA-2 tranzakciós javítás mostantól visszaállítja a hiányzó alternate szöveget meglévő szemantikus szövegből vagy címkézett oldaltartalomból, öröklésre alkalmas, érvényes dokumentumnyelvet léptet elő, kezeli a címsorszint-hiányokat, és összehangolja az Artifact struktúraszerepeket a marked-content címkékkel a produkáló és a betöltött dokumentumok esetén
  • A javítási beállítások explicit alapértelmezéseket és korlátos fallback házirendeket tárnak fel, miközben a javítási jelentés megkülönbözteti a sikeres alternate szöveg-, nyelvi, címsor- és artifact módosításokat a szerzői áttekintést igénylő, megoldatlan szemantikától

Version 2.511.0

Changed

  • A betöltött kép újratömörítés és az effektív DPI alapú leskálázás mostantól átszínezi a támogatott ICCBased, CalGray és CalRGB bemeneteket explicit, kalibrált RGB-re, miközben a nem támogatott kalibrált, Separation és DeviceN képek változatlanok maradnak, és jelentik a megtartási döntésüket
  • Az áttetszőség-laposítás mostantól kalibrált RGB-t bocsát ki, rekurzívan észleli a spot színezőanyagokat az oldal és a beágyazott erőforrások között, és vektortartalomként őrzi meg a Separation vagy DeviceN paintet tartalmazó oldalakat strukturált állapotdiagnosztikával
  • A CalRGB megjelenítés mostantól tiszteletben tartja a PDF mátrix elemsorrendjét, és a helyes XYZ–sRGB inverz transzformációt alkalmazza a vektor- és rasterszínekre

Version 2.510.0

Changed

  • Az ICC színtranszformációk mostantól egy szálbiztos, 64 MiB-os, korlátos LRU gyorsítótáron keresztül hasznosulnak újra, amelyet a teljes source, proof és output profiltartalom, az effektív rendering intent és a black-point kompenzációs beállítás kulcsol, elkerülve az ismételt profilfeldolgozást és transzformációépítést a vektor-, kép-, oldal- és párhuzamos megjelenítési útvonalakon

Version 2.509.0

Changed

  • A betöltöttoldali ICC megjelenítés mostantól mind a négy PDF rendering intentet és a valódi black-point kompenzációt alkalmazza a source, proof, output és sRGB transzformációkban a vektor- és képszínekre egyaránt, miközben a platformi színszolgáltatás kompatibilitási fallbackként megmarad

Version 2.508.0

Changed

  • Az LZW kódoló (TPDFLZWCompressor) kapott egy Compress(Input, Parms) túlterhelést, amely a tömörítés előtt alkalmazza az előre irányú PNG/TIFF prediktort, ezzel szimmetrikussá válik a dekódoló Decompress(Input, Parms) útvonalával, így az LZW+Predictor adatfolyamok mindkét irányban előállíthatók
  • A tartalom-adatfolyam értelmező mostantól követi a grafikai cm operátort, és minden kibocsátott glyphhoz elmenti az aktív CTM-et (THPDFGlyphRecord.CTMA..CTMF), így a hívók a valódi felhasználói térbeli origót számíthatják CTM * Tm útján, amikor transzformációs mátrixok előzik meg a szöveget. A glyph X/Y szövegtérben marad (az identity CTM a gyakori eset), így a meglévő viselkedés változatlan
  • A ReplaceLoadedPageText / ReplaceLoadedDocumentText mostantól kezeli azokat a találatokat, amelyek két vagy több egymást követő egyszerű karakterlánc-operandusra terjednek ki (pl. (Hel) Tj (lo) Tj): a kezdő operandus kapja a teljes csereszöveget (a saját betűtípusán kódolva, a nem egyező előtag megőrzésével), a találati tartomány minden további operandusa pedig üresre íródik. Korábban az ilyen operandusokon átnyúló találatok dokumentált korlátozásként csendben kihagyásra kerültek; az egy operandusos csere viselkedése változatlan

Version 2.507.0

Added

  • Szelektív adatfolyam-titkosítás érkezett: az új THPDFStreamObject.SkipEncryption zászlót, amelyet az író titkosítási átjárója tiszteletben tart, egy adott adatfolyam plaintextben tartja akkor is, amikor a dokumentum-szintű titkosítás aktív (ISO 32000-1 7.6.4 szelektív crypt filter /Identity). Ez az alapja a vegyes, titkosított/plaintext adatfolyamoknak egyetlen dokumentumban

Version 2.506.0

Added

  • Örökölt RC2 PFX dekódolás érkezett: a DecryptPKCS12EncryptedBytes mostantól kezeli a pbeWithSHA1And40BitRC2-CBC (OID 1.2.840.113549.1.12.1.6) és a pbeWithSHA1And128BitRC2-CBC (1.2.840.113549.1.12.1.5) eseteket, a 3DES CryptoAPI útvonalat klónozva úgy, hogy a KP_EFFECTIVE_KEYLEN paraméter 40 / 128 értéket kap, így az importált RC2 kulcsanyag a helyes effektív erősségen olvasódik be, nem teljes hosszon
  • Beégetett kitakarítás (burn-in redaction) érkezett: az ApplyLoadedRedactions végigmegy minden /Subtype /Redact annotáción, üresre írja azokat a szöveget megjelenítő karakterlánc-operandusokat, amelyek glyphjai az annotáció /Rect területén belül esnek (a bájtok szóközök lesznek, így a szöveg tényleg eltűnik a kinyerésből, nem csak takarás alá kerül), minden régióra átlátszatlan téglalapot fest, és visszaadja a kivonolt operandusok számát. Támogatja az oldal-tartomány argumentumot ('' = minden oldal). Emellett hozzáadja az AddLoadedRedactAnnotation hívást, amellyel /Redact annotációk hozhatók létre betöltött oldalon. A TJ-tömb elemek kivonolása és a vektor/kép kivágás e körön kívül esik (az egyetlen karakterláncos Tj / ' / " operandusok kivonolódnak; az érintett TJ karakterláncok kitöltött téglalapos fallbackkel kerülnek kihagyásra)

Version 2.505.0

Changed

  • A szövegértelmező mostantól minden glyph vízszintes advance értékét a betűtípus valódi /Widths táblájából oldja fel (PDF 1.7 9.6.3) az új IHPDFFontResolver.Advance módszerrel, a korábbi lapos 0.5 * fontSize közelítés helyett. A HPDFBuildFontDecoder beolvassa az egyszerű (nem CID) betűtípusok /FirstChar, /LastChar és /Widths számtömbjét; ha nincs elérhető szélesség, a resolver 0-t ad vissza, és az értelmező megtartja a fél em fallbacket, így a szélesség nélküli betűtípusok viselkedése változatlan. Ez javítja a glyph X pozicionálás pontosságát a szövegkinyerés, az oszlopérzékelés és az olvasási sorrend elemzése számára

Version 2.504.0

Added

  • Érkezett a SetLoadedAcroFormCalculationOrder, amely újjáépíti az AcroForm /CO számítási sorrend tömböt a hívó által megadott mezőnév-sorrendben (a fel nem oldható mezők kihagyásra kerülnek), így a számítási lánc explicit módon felépíthető, nem csak hozzáfűzhető
  • Érkezett a RegisterNChannelColorSpace, egy DeviceN-változatú színtér-segédfüggvény, amely /NChannel jelölést bocsát ki (PDF/X-6 / PDF 2.0) azokhoz a színterekhez, amelyek colorantjai között process festékek is szerepelhetnek
  • Érkezett a SetStructureElementClass, amely a struktúraelem /C osztálynév-tömböt írja (PDF 1.7 14.9.2.2) a megosztott attribútumosztályokra hivatkozva
  • Érkezett az AddLoadedPagePieceInfo, amely oldal-darab szótárat ír (PDF 1.7 14.5) a /PieceInfo/<Application> alatt /LastModified dátumbélyeggel és a hívó által megadott kulcs/érték párokkal

Version 2.503.0

Added

  • A kis- és nagybetűket nem megkülönböztető szövegkeresés mostantól Unicode szerint hajtja össze a karaktereket, nem csak ASCII szerint: a közös glyph matcher (HPDFMatchGlyphs) az A-Z kisbetűsítését TCharacter.ToLower-re cseréli (Unicode Simple_Lowercase_Mapping), így az ékezetes latin (À-ý), görög (Α-Ω) és cirill (А-Я) nagybetűk egyeznek kisbetűs alakjukkal a SearchLoadedPageText / SearchLoadedDocumentText során. A XE2 előtti buildek megtartják az ASCII fallbacket
  • Inline-kép callback érkezett a tartalom-eszköz absztrakcióba: az IHPDFContentDevice.ProcessInlineImage minden BI/ID/EI blokkra meghívódik, amikor az eszköz deklarálja a cdcNeedImages jelzést, és hordozza a normalizált szélesség / magasság / színtér / képmaszk összegzést, amelyet a lapos tokenizáló már rögzített a BI tokenen. A szövegkinyerő, útvonalfelsoroló és audit eszközök mostantól számolhatnak az inline képekkel, ahelyett hogy csendben kihagynák őket; az oldalrenderer a callbacket no-opra irányítja, mert az inline képeket a saját gyártási ciklusán keresztül rajzolja

Fixed

  • Javítva, hogy a SaveLoadedDocument csendben eldobta a betöltött dokumentumhoz adott PDF/A OutputIntentet: az AddPDFAOutputIntent feltöltötte a memóriabeli intent listát, de a betöltött dokumentum mentési útvonala soha nem csatolta a katalógushoz, így a kimenet elbukott a veraPDF-en a hiányzó /OutputIntents miatt. Az új EnsureLoadedPDFAOutputIntents lépés mostantól a betöltött katalógus /OutputIntents tömbjére akasztja a FOutputIntents listát, és mentés előtt dirty-nek jelöli, kikényszerítve az újraszerializálást az intenttel együtt

Version 2.502.1

Fixed

  • Javítva, hogy a laposított AcroForm mezőértékek vastag körvonalasként jelentek meg normál kitöltött szöveg helyett: az EnsureLoadedFieldAppearanceStream mostantól explicit 0 Tr-t (fill) bocsát ki közvetlenül a BT után minden generált widget appearance streamben, így a szövegkirajzási mód determinisztikus, függetlenül a környező oldaltartalom állapotától. Korábban a grafikai állapoton szivárgó 1 Tr (stroke) öröklődött a Do útján felhasznált Form XObjectbe, és 2 pontos piros körvonallal rajzolta ki a mezőértéket, ami félkövérnek és elszíneződöttnek tűnt
  • Eltávolításra került egy örökölt alapállapot-visszaállító blokk a THPDFPage.CloseCanvas végéről, amely 1 0 0 RG/rg + 1 Tr + 2 w értékeket írt közvetlenül az oldaltartalom-adatfolyamba a GStateRestore után (vagyis bármely q/Q páron kívül), anélkül, hogy útvonal-operátor fogyasztotta volna őket. Ez a maradék grafikai állapot mindarra átszivárgott, amit utána rajzoltak a szerkesztéssel készült oldalakon, és a fenti vastag körvonalas szöveg tünetének upstream forrása volt; a vászon lezárása mostantól tisztán hagyja a tartalom-adatfolyamot, mert a metafájl-visszajátszást körülvevő q/Q már izolálja a visszajátszási állapotot

Version 2.502.0

Added

  • Érkezett egy LZW kódoló (TPDFLZWCompressor), amely szimmetrikus a meglévő TPDFLZWDecompressor-ral, így az adatfolyamok LZW-vel írhatók, és a PDF szűrőkészlet mostantól mindkét irányban teljes; a kódoló tükörben követi a dekódoló Clear / EOI elhelyezését, a változó szélességű kódnövekedést és az EarlyChange konvenciót, és átmegy a dekódolón oda-vissza, a szótár-teljes 12 bites telítést is beleértve
  • Teljes CSS / X11 névvel jelölt színtámogatás érkezett a HTML szövegszín-elemzőbe, a felismert palettát az örökölt 16 VGA színről a teljes CSS Color Module Level 4 készletre bővítve (aliceblue-tól yellowgreen-ig, a gray/grey, aqua/cyan és fuchsia/magenta álnevekkel együtt) bináris kereséses táblán keresztül
  • Optional Content Membership Dictionary létrehozás érkezett az AddLoadedOptionalContentMembership révén, amely /Type /OCMD objektumot épít, amelynek /OCGs listája és /P házirendje (AnyOn / AllOn / AnyOff / AllOff) a meglévő EvaluateLoadedOCVisibility kiértékelőt táplálja, így a komplex rétegláthatósági kifejezések mostantól felépíthetők, nem csak fogyaszthatók
  • Rich-text FreeText annotáció belépési pont érkezett, az AddLoadedFreeTextAnnotationRichText, amely a /RC rich-content XML töredéket és az opcionális /DS alapértelmezett stílust csatolja egy FreeText annotációhoz (PDF 1.5 12.5.6.16), kiegészítve a mezőszintű /RV útvonalat
  • Katalógus /Requirements író érkezett, az AddLoadedDocumentRequirement (ISO 32000-1 7.7.4), amely /S-t és a hívó által megadott kulcs/érték párokat hordozó követelményszótárakat fűz a katalógus /Requirements tömbjéhez
  • Type 16 halftone (küszöbmaszk) felismerés érkezett az oldalrendererbe: a maszk /Width értéke ekvivalens screening frekvenciát hajt, így az oldal megtartja a halftone ritmust az operátor csendes eldobása helyett, a közelítést jelző diagnosztikával

Changed

  • Az ASN.1 BER/DER dekódoló kibővült, hogy elfogadja a magas tagszámú hosszú formát (tag >= 31), a konstruált csomópontok BER határozatlan hosszúságú formáját (a 00 00 End-of-Contents jel zárja, rekurzióbiztos beolvasással), valamint az X.690 8 bájtos plafonig terjedő hosszú formájú hosszakat, így az ezeket a formákat használó külső CMS csomagok feldolgozásra kerülnek kivétel dobása helyett; az új IsIndefinite és ExtendedTagNumber rekordmezők rögzítik, melyik formát használta a feldolgozott csomópont
  • Élesebb renderer fallback diagnosztika: a Type 1 függvényalapú árnyalás mostantól konkrét üzenetet jelent az általános "unsupported shading type" helyett, és a nem támogatott halftone típusok megnevezik a tényleges típusszámot a diagnosztikában

Version 2.501.0

Added

  • PDF 2.0 struktúracélpontok és marked-content adatokból generált oldaltartalom-linkek érkeztek, amelyek között van a konstans idejű FindStructureElementForMCID visszirányú keresés, amely a (page, MCID) párt a dokumentum ParentTree-n keresztül visszavezeti a tulajdonló StructElemhez; a lokális AddStructureDestinationLink, amely GoTo akciót bocsát ki a kötelező oldal-koordináta /D fallbackkel és a PDF 2.0 /SD tömbbel, amely indirect hivatkozással nevezi meg a cél StructElemet; valamint a távoli AddGoToRStructureDestinationLink, amelynek /SD első eleme a külső fájlban lévő célelem bájt-karakterlánc /ID-ja, így a PDF 2.0 nézők a struktúratartalomra ugranak, az örökölt nézők pedig a megnevezett oldalra esnek vissza

Version 2.500.0

Added

  • Korlátos PDF/UA-2 validáció és tranzakciós javítás érkezett a teljes PDF 2.0 listaszámozásra és folytatási láncokra, a szabályos táblázatrácsokra és sori csoportokra, a táblázaton belüli fejléc-társításokra és ciklusokra, az egzakt Ruby és Warichu gyermeksorrendekre, az elemenkénti kiejtési javaslatokra, valamint a rendezett, beágyazott PLS kiejtési lexikonokra vonatkozóan, új szerkesztői segédfüggvényekkel, stabil diagnosztikával, szemantikus javításszámlálókkal és rollbackkel a kétértelmű struktúrahibák esetén

Version 2.499.0

Added

  • PDF/X-6, PDF/X-6p és PDF/X-6n generálás és korlátos validáció érkezett PDF 2.0 dokumentumokhoz, beleértve a beágyazott, külső, katalógus- és oldalszintű output intenteket; a külső profil ellenőrzőösszegeit, ICC verzióit, színtér-aláírásait és N-colorant tábláit; az örökölt oldalbox validációt; a csereakció, annotáció-megjelenés, betűtípus, űrlap, grafikai állapot és erőforrás megszorításokat; a stabil, záradéktudatos diagnosztikát; valamint a fail-closed generálási validációt

Version 2.498.0

Added

  • Korlátos, nem módosító PDF/UA-2 validáció és tranzakciós névtér- valamint struktúraattribútum-javítás érkezett produkáló és betöltött dokumentumokhoz, beleértve a kanonikus névtér-regisztrációt, a duplikált és érvénytelen névterek takarítását, a role-map ütközések észlelését, a standard struktúranévtér javítását, az explicit egyéni attribútum-névtereket, a revízió normalizálását, a strukturált jelentéseket, a független objektum- és módosítási limiteket, valamint az automatikus rollbacket arra az esetre, amikor a validáció továbbra is megbukik

Version 2.497.0

Added

  • Korlátos PDF/A-4, PDF/A-4e és PDF/A-4f generálás és betöltött dokumentum validáció érkezett profilfüggő annotáció, akció, beágyazott fájl, metaadat, output intent, betűtípus, űrlap és optional content szabályokkal; strukturált diagnosztikával stabil kódokkal, záradékokkal, valamint objektum- vagy oldalhelyekkel; fail-closed EndDoc validációval; a trailer Info elhagyásával; kötelező PDF/A-4f EmbeddedFiles névfával; valamint teljes csatolmánygráfokkal

Version 2.496.0

Added

  • A korlátos AcroForm JavaScript kiértékelő kibővült típusos boolean, number, string, null, undefined és array értékekkel; short-circuit logikai, összehasonlító, egyenlőségi, unáris és feltételes kifejezésekkel; determinisztikus dátumfüggvényekkel; string és array metódusokkal; megőrzött numerikus mezőkompatibilitással; valamint explicit szkript, utasítás, mélység, művelet, argumentum, kollekció, string és értékmemória limitekkel

Version 2.495.0

Added

  • Natív CFF2 változó betűtípus instancing és glyph subsetting érkezett fvar és avar 1.0/2.0 koordinátafeloldással, VariationStore blend kiértékeléssel, rekurzív szubrutin-laposítással, megőrzött multi-FD szótárakkal és hint adatokkal, HVAR/VVAR/MVAR metrikák beégetésével, korlátos fail-closed elemzéssel és automatikus RegisterUnicodeTTF integrációval

Version 2.494.0

Added

  • Beágyazott copy-on-write objektumgráf tranzakciók érkeztek első íráskor készített indirect-gyökér pillanatképekkel, helybeni rollbackkel, hozzáfűzött objektumok és objektumszámok helyreállításával, korlátos ideiglenes fájl spillel a nagy adatfolyamokhoz, automatikus konténermutáció-követéssel, explicit nyers írás előkészítéssel és élő memóriastatisztikákkal

Version 2.493.0

Added

  • Korlátos, tokeneket megőrző tartalom-adatfolyam AST érkezett minden-bájtos lexémákkal, összelinkelt művelet- és konténercsomópontokkal, nem átfedő szerkesztési overlayekkel, bájtpontos no-op oda-vissza átalakításokkal, adatfolyamos szerializációval és veszteségmentes, célzott szövegcserével

Version 2.492.0

Added

  • Korlátos, ablakos memórialeképezés érkezett nagy helyi PDF betöltésekhez megosztott lazy-stream hozzáféréssel, konfigurálható küszöbbel és LRU ablakgeometriával, automatikus adatfolyam fallbackkel, ablakok közötti olvasásokkal, atomi csere alapú megosztással és leképezési diagnosztikával

Version 2.491.0

Security

  • A jelszavak, a származtatott fájl- és objektumkulcsok, a gyorsítótárazott AES kulcsütemezések, a PKCS#12 privát kulcs plaintext, a hitelesített dekódolás scratch területe és a közvetlen fájlstreamelés plaintext pufferei mostantól explicit módon felülíródnak minden sikeres és kivétel útvonalon

Version 2.490.0

Changed

  • A késleltetett Standard-biztonsági dekódolás mostantól a betöltés során az authoritatív xref offseten keresztül ragadja meg a korlátos nyers titkosítási objektumot és a trailer ID-t, megőrizve az egzakt bináris kulcsbejegyzéseket, és megszüntetve a későbbi, teljes forrásra irányuló olvasásokat az érvényes dokumentumoknál

Version 2.489.0

Changed

  • A jelszavas betöltés mostantól korlátos trailer, xref, dokumentum-ID és authoritatív titkosítási szótár tartományokból nyeri vissza az RC4 és AES fájlkulcsokat, elkerülve a teljes forrásra irányuló kéréseket az érvényes random-access dokumentumoknál, miközben megtartja a kompatibilitási fallbacket

Version 2.488.0

Added

  • Betöltöttoldal-megjelenítés érkezett a Shading Types 4–7 típusokhoz bájtigazított mesh dekódolással, folytatási él újrahasznosítással, függvénytudatos Gouraud színekkel, korlátos adaptív Coons és tenzorszorzat tesszellációval, kötegelt háromszög-kitöltésekkel, kivágással, háttérrel és hibás bemenetre vonatkozó keretekkel

Version 2.487.0

Changed

  • A PFX, külső aláíró és aláírás-szolgáltató munkafolyamatok mostantól korlátos 256 KB-os pufferekkel másolnak, adatfolyamosan hashelik a javított bájttartományokat, és seek-patchelik a rögzített szélességű /ByteRange és /Contents mezőket, beleértve az azonos adatfolyamon belüli aláírást is, teljes második PDF megtartása nélkül

Version 2.486.0

Added

  • Natív standard-Huffman JBIG2 dekódolás érkezett SDHUFF szimbólumszótárakhoz és SBHUFF szövegterületekhez, beleértve mind a 15 Annex B táblát, a nyers vagy MMR kollektív bitmapokat, a régiónkénti szimbólum-ID táblákat és a korlátos, hibás bemenet elleni védelmeket

Version 2.485.0

Added

  • RC4-128 és AES-128 titkosított objektum-adatfolyam írás és jelszavas újratöltés érkezett korlátos, pre-parse kulcsvisszanyeréssel, helyes objektumszám-kulcsszármaztatással, lazy tömörített tag kezeléssel, valamint a sikeres kulcsvisszanyerés utáni teljes fájl újraolvasás elhagyásával

Version 2.484.0

Added

  • Tranzakciós űrlapszerkesztési sessionök és korlátozott eseményakciók érkeztek, teljes mező, annotáció és állapot FDF interchange, determinisztikus XFA specializált widget fallbackek és fejlett lapozás, adatfolyamos beágyazott fájl validáció, fejlett Portfolio nézetek, rendezés, mappák, navigáció és sémaszerkesztés, ötdimenziós JSON műveleti keretek, callback alapú integrációs ABI, valamint hibamegőrző korpuszminimalizálás differenciális regressziós szondákkal

Version 2.483.0

Added

  • Stabil, teljes objektumgráf JSON export és validált patchelés érkezett, nem materializáló objektum-adatfolyam vizsgálattal, korlátos linearizációs validációval, kanonikus, tartalomból származtatott dokumentumazonosítókkal a reprodukálható kimenethez, explicit elérhetetlen objektum házirendekkel, korlátos, egyeztetett többforrásos oldalösszeállítással, egymástól függetlenül ciklikus overlay és underlay kompozícióval, geometriailag teljes oldalrotáció-laposítással, valamint oldal-bélyegkép olvasási, írási és érvénytelenítési támogatással

Version 2.482.0

Added

  • Tartalomtudatos inline-kép externalizáció érkezett, örökölt és megjelenésbiztos erőforrás-takarítás, tartalom-adatfolyam összevonás, kanonikus Form XObject és beágyazott betűtípus deduplikáció, házirendvezérelt JPEG és JPEG 2000 újratömörítés, egzakt egyezésű JBIG2 globális megosztás, színkezeléses, effektív DPI alapú leskálázás lágy maszk koordinációval, valamint adaptív, lokalitás-tudatos objektum-adatfolyam csomagolás

Version 2.481.0

Added

  • Újrahasznosítható oldal display listek és térbeli indexek érkeztek, korlátos csempés és sávos megjelenítés, determinisztikus párhuzamos oldalmegjelenítés, áttetszőség-laposítás, festék- és trapping diagnosztika, process és spot separation lemezek, végrehajtható halftone és transfer függvények, valamint intenttudatos source, proof és output ICC pipeline-ok black-point kompenzációval

Version 2.480.0

Added

  • Szabványtudatos szöveg- és dokumentumelrendezés érkezett Unicode sortöréssel és elválasztással, optimális bekezdésösszeállítással, kiegyensúlyozott oszlopokkal, lábjegyzet- és végjegyzetlapozással, táblázatméretezéssel és lapozással, float kizárással, strukturált beágyazott listákkal, keep csoportokkal és korlátos shaped-run gyorsítótárazással

Version 2.479.0

Added

  • Névteretudatos PDF/UA-2 struktúraépítés érkezett korlátos, egymenetes validációval a hierarchia, attribútumok, annotáció-tulajdonlás, társított fájlok, címsorok, listák, táblázatok, képletek és MathML számára

Version 2.478.0

Added

  • Szabványalapú offline trust validáció érkezett delta és indirect CRL-ekkel, szigorú OCSP házirenddel, X.509 név- és tanúsítványházirend-megszorításokkal, kiértékelésidejű algoritmusházirenddel, determinisztikus több aláírásos és beágyazott ellenjegyzés ellenőrzéssel, valamint strukturált JSON validációs jelentésekkel

Version 2.477.0

Added

  • AES-256 nyilvános kulcsú titkosítás érkezett explicit RSA-OAEP hash házirendekkel, ECDH és X25519 vagy X448 kulcsmegegyezéssel, CMS ellenjegyzésekkel, valamint inkrementális PAdES-LTA időbélyeg-megújítással, amely minden korábbi revíziót megőriz

Version 2.476.0

Added

  • Korlátos memóriájú AESV4 közvetlen fájl titkosítás és hitelesített dekódolás érkezett, plusz ISO/TS 32004:2024 standalone PDF MAC gyártás, ellenőrzés, diagnosztika, atomi kimenet és preflight validáció

Version 2.475.0

Added

  • ISO/TS 32003:2023 AESV4 jelszavas titkosítás és hitelesített betöltés érkezett AES-256-GCM-mel, egyedi 12 bájtos IV-kkel, 16 bájtos hitelesítési címkékkel, PDF 2.0 developer extensionökkel, beágyazott karakterlánc-lefedettséggel, objektum-adatfolyam támogatással és manipuláció-elutasítással

Version 2.474.1

Fixed

  • A CMS aláírás többé nem bukik meg fordításkor, amikor egy anonymous method aláíró callback rögzíti a sign options rekordot Delphi Win32 alatt
  • A rendszer-tanúsítványos aláírás többé nem bukik meg fordításkor, amikor a digest callback rögzíti a sign options rekordot Delphi Win32 alatt
  • Az E-Invoice demo mostantól lefordul, miután a validation-issue felsorolás további PDF/A-3 csatolmány és XMP ellenőrzésekkel bővült

Version 2.474.0

Added

  • JSON feladatkonfiguráció feldolgozó, amely merge, split, optimise, encrypt és validate műveleteket támogat strukturált, műveletenkénti eredményekkel
  • Opaque-handle C ABI kiemelt értékű dokumentumműveletekhez, beleértve a create, load, oldalszám, save és feladatvégrehajtást más nyelvekbe ágyazáshoz
  • Dokumentum-összehasonlítás oldalszám, oldalszöveg, objektumszám és megjelenített-kép módokkal, strukturált JSON különbségjelentést adva vissza

Version 2.473.0

Added

  • Az újrahasznosítható validációs házirendek mostantól lefedik a WTPDF újrahasznosítást, az akadálymentességet és a validált deklaráció bevitelt, közlik a deklarációs claim metaadatokat és a forrástudatos hibákat, rendezett kötegeket futtatnak korlátos worker és sor limitekkel, valamint független inspect, add-missing és synchronize módokat adnak az XMP metaadat javításhoz

Version 2.472.0

Added

  • A CMS ellenőrzés mostantól támogatja az Ed25519-et és az Ed448-at egy dinamikusan kiválasztott platformszolgáltatón keresztül, valamint az ML-DSA-44, ML-DSA-65 és ML-DSA-87 algoritmusokat explicit PDF 2.0 developer extension mögött, miközben egy közös, korlátos szolgáltatói szerződés lehetővé teszi a callback, távoli és PKCS#11 RSA aláírást újrapróbálással, megszakítással, kulcsazonosítókkal és algoritmusfüggő paraméterekkel

Version 2.471.0

Added

  • A betöltöttoldal-megjelenítés mostantól közös eszközabsztrakciót céloz a saját bitmapok, a nyomtatóhoz hasonló külső eszközkontextusok és az enhanced metafájlok számára, miközben az opcionális CMYK overprint proofing értelmezi a /OP, /op és /OPM 1 jelzéseket, hogy a kombinált process festékeket előnézetbe hozza a meglévő transparency-group knockout megjelenítés mellett

Version 2.470.0

Added

  • A változó OpenType betűtípusok mostantól közzéteszik a tengely- és named-instance metaadatokat validált, tengelyenkénti kiválasztással és static-instance szolgáltató integrációval, miközben a COLR és CPAL rétegek, az SVG glyph dokumentumok és a CBDT bitmap striék natív vagy hívó által szolgáltatott raszterezési útvonalakon vizsgálhatók és jeleníthetők meg

Version 2.469.0

Added

  • A TrueType és OpenType betűtípus subsetting mostantól újrahasznosíthatja a validált, tartalomcímezett eredményeket egy perzisztens lemezes gyorsítótárból atomi írásokkal, sérülés utáni helyreállítással, hozzáférés alapú bájtkeret-kiírással, kompakt CID leképezés megőrzésével, valamint megfigyelhető találat, tévesztés, írás, elutasítás és kiírás statisztikákkal

Version 2.468.0

Added

  • Az újrahasznosítható elrendezési elemek mostantól mellékhatásmentes mérést adnak, saját tulajdonú, elhelyezett és túlcsordulási töredékeket a bekezdés, sor, konténer és egyéni lapozáshoz, valamint deklaratív háttér-, fejléc-, lábléc- és előtérrétegeket, amelyek stabil oldal-összeállítási sorrendben alkalmazódnak

Version 2.467.0

Added

  • A linearizált random-access források mostantól korlátos elsőoldali és fő-xref elérhetőséget jelentenek, a betöltött adatfolyamok determinisztikus, négystratégiás, magas arányú Flate újratömörítést használhatnak, a független képadatfolyamok pedig párhuzamosan optimalizálhatók hívó által vezérelt workerekkel és forrássorrendű commitokkal

Version 2.466.0

Added

  • A betöltött dokumentumok mostantól közzéteszik a clean, dirty, released és must-write objektumállapotokat, a mentés utáni biztonságos objektum-adatfolyam gyorsítótár-felszabadítást, az xref free-list és generáció validációt korlátos árnyékdefiníciós részletekkel, a determinisztikus szótárkimenetet, valamint a tartalommegőrző, QDF stílusú diagnosztikai mentést

Version 2.465.0

Added

  • Az ASCII85 és ASCIIHex szűrők mostantól korlátos adatfolyam-dekódolókat tesznek elérhetővé szigorú zárójelölőkkel, páratlan nibble diagnosztikával és megőrzött záró bemenettel; a betöltött dokumentumok zero-copy, csak olvasható forrásszeleteket nyithatnak, és preflight valamint adatfolyam-optimalizálás révén szűrőnkénti pipeline statisztikákat jelenthetnek

Version 2.464.0

Added

  • A betöltött űrlapok biztonságosan kiértékelhetnek korlátos számítási és validációs szkripteket aktív JavaScript engine nélkül; a RichMedia annotációk közzéteszik a named-asset metaadatokat, a bájt-kinyerést és a célzott tisztítást; az XFA laposítás támogatja az indexed, wildcard, class és leszármazott SOM kötéseket, valamint korlátos numerikus FormCalc függvényeket; az XFDF annotáció oda-vissza forgalom pedig minden támogatott annotációs altípust lefed egyetlen szimmetrikus leképezéssel

Version 2.463.0

Added

  • Az RSA-PSS CMS aláírás mostantól támogatja a konfigurálható saltot és a belső, külső vagy Windows CNG aláírókat; a PDF/X kimenet validálja a produkciós feltételeket, az ICC komponenseket és az overprint vezérléseket; a betöltött, címkézett oldalak geometriai olvasási sorrend diagnosztikát adnak; a PDF Portfolio-k pedig összeállíthatják és vizsgálhatják a collection sémákat és a fájlonkénti metaadatokat

Version 2.462.0

Added

  • A betöltött AcroFormok mostantól kiértékelik a /CO számítási sorrendet, újragenerálják a multiline, quadded, automatikusan méretezett és comb megjelenéseket, feloldják a normal, rollover és down annotáció-megjelenési állapotokat, és a kiválasztott mezőket kizárólag a tulajdonló oldalukra laposítják; az aláírás-tudatos laposítás elutasítja a DocMDP vagy FieldMDP házirendek megsértését

Version 2.461.0

Added

  • A betöltöttoldal-megjelenítés mostantól alkalmazza az isolated és knockout transparency groupokat, az alpha és luminosity lágy maszkokat háttérszínekkel és transfer függvényekkel, a teljes Type 3 CharProc-okat aktuális erőforrás-hatókörükben, a Form mátrixokat teljes grafikai állapot-visszaállítással, valamint a kivágott képek látható régió dekódolását, benne a natív JPEG 2000 régióbővítést; a DecodeLoadedImageRegion egzakt, téglalap alakú raster dekódolást ad a hívók kezébe

Version 2.460.0

Added

  • A betöltöttoldal-megjelenítés mostantól külön gyorsítótárazza az optional-content és az ICC színintent állapotokat, ignore, korlátos jelentés és szigorú fallback házirendeket kínál a kihagyott operátorokra vagy objektumokra, és egységes telemetriát közöl az eltelt idő, csúcsmemória, dekódolt bájt, gyorsítótár-találat, gyorsítótár-tévesztés, objektumszám, siker és megszakítás mutatóiról a betöltés, megjelenítés, progresszív slicek és adatfolyam-optimalizálás esetén

Version 2.459.0

Added

  • A BeginLoadedPageProgressiveRender folytatható oldalmegjelenítést ad hozzá eltelt idő- és tartalomoperátor-keretekkel, részleges bitmap hozzáféréssel, progress callbackekkel, valamint explicit szüneteltetett, befejezett és megszakított állapotokkal; a hívó tulajdonában lévő THPDFCancellationToken példányok mostantól kooperatívan megszakítják a dokumentum betöltését, a szinkron és progresszív megjelenítést, az adatfolyam-optimalizálást, a preflight validációt, a PFX aláírást és a Windows tanúsítványtárolós aláírást

Version 2.458.0

Added

  • Az ImmediateFlushLayout a befejezett oldal-adatfolyamokat fájlalapú tárolóba helyezi át a korlátozott jelentéskészítés érdekében; a bekezdés-elrendezés most támogatja a keep-with-next, az árva- és az özvegysor-korlátozásokat, az első-erős bidi irányt explicit felülírásokkal, a korlátozott koordináta-diagnosztikát, az öröklött oldal-méreteket, a szemantikus /P segédfüggvényeket, valamint a típusos lapozási artefaktumokat fejlécekhez, láblécekhez, vízjelekhez és oldalszámokhoz

Version 2.457.0

Added

  • A SetFontFallbackChain és a TextOutWithFallback rendezett, szkript-tudatos betűtípus-kiválasztást ad hozzá Unicode-skalár lefedettségi ellenőrzésekkel és perzisztens, fel nem oldott betűjel-diagnosztikával; a függőleges szöveg most teljes Identity-V futásokat bocsát ki /DW2 és /W2 metrikákkal, amelyeket az OpenType vhea, vmtx és VORG táblákból származtat, amikor elérhetők

Version 2.456.0

Added

  • Az HPDFEncodePredictor szigorú TIFF valamint fix vagy adaptív PNG-prediktor kódolást ad hozzá csomagolt, 8 bites és 16 bites raszter-sorokhoz; az ExtractLoadedImageToStream elkerüli a teljes méretű bájttömböket a natív vagy általánosan dekódolt képadatok esetén; az OptimizeLoadedStreams szelektíven újratömöríti a támogatott szűrőcsaládokat memóriából-lemezre történő kiömlési puffereken keresztül, és csak azokat az adatfolyamokat cseréli ki, amelyek elérik a pozitív megtakarítási küszöböt

Version 2.455.0

Added

  • A DecodeLoadedStreamToStream most a betöltött PDF-szűrőket egy korlátozott csővezetékbe állítja össze, amelynek utolsó fázisa közvetlenül egy hívó-adatfolyamba ír; a DocumentDecodeBudgetBytes egy 1 GiB alapértelmezett felső határt ad hozzá a független láncokon át, miközben a szűrőszám-, beágyazási mélység-, ciklikus hivatkozás- és rekurzív adatfolyam-védelmek strukturált csővezeték-diagnosztikát tesznek közzé

Version 2.454.0

Added

  • A nagy betöltött adatfolyamok most a forrásfájl-tartományokon maradnak a módosításig, és a túlméretezett változásokat a LoadedStreamMemoryThreshold-en keresztül saját ideiglenes fájlokba öntik ki; a tömörített objektum-adatfolyam-tagok indexeltek és első használatkor objektumszám szerint anyagiasítódnak; a LoadFromRandomAccessSource HTTP-tartomány és egyéni tároló integrációt ad hozzá, adatfolyam- és objektum-gyorsítótár-diagnosztikával

Version 2.453.0

Changed

  • A növekményes mentések most minden revíziónál megőrzik az állandó trailer-azonosítót, csak a módosítási azonosítót forgatják, nem bocsátanak ki hozzáfűzött revíziót, ha a betöltött objektumgráf változatlan, és a hibrid-hivatkozás egyesítési döntéseit a GetLoadedXRefMergeInfo-n keresztül teszik közzé explicit xref-adatfolyam-, tábla-átfedés- és legújabb revízió-előbbi számlálókkal

Version 2.452.0

Added

  • Hozzáadva natív PDF 2.0 kimenet plusz PDF/A-4, PDF/A-4e, PDF/A-4f és PDF/UA-2 szerkesztés, revízió-tudatos XMP-azonosítással, PDF 2.0 szerkezeti szerepekkel, névtér-regisztrációval a RegisterStructureNamespace és AddStructureElementNS segítségével, szigorú PDF/UA-2 szerkezet-ellenőrzéssel, és profil-semleges társított fájlokkal az AddPDFAssociatedFile-on keresztül

Version 2.451.0

Added

  • A DetectFacturXInvoice most közzéteszi a dekódolt elsődleges melléklet MIME-típusát és a kötött XMP-névtér URI-ját, míg a ValidateFacturXInvoice ellenőrzi a Catalog /AF és az EmbeddedFiles névfa által megosztott pontos FileSpec-et, a /F és /UF neveket, az XML MIME-típust, az XMP DocumentType-ot és a profil-specifikus Factur-X vagy ZUGFeRD névteret négy dedikált probléma-jelölőn keresztül

Version 2.450.0

Added

  • A Preflight JSON-, HTML- és veraPDF-stílusú megállapítások most stabil névteres ruleId értékeket hordoznak, valamint gép-olvasható helyeket logikai hatókörrel, útvonallal, PDF-kulccsal és pontos objektumszámmal, oldalindexszel vagy bájt-eltolással, amikor elérhetők; a JSON-jelentések a dokumentált ISO spec leképezéseket is kibocsátják, és érvényesek maradnak, ha a tömbök több megállapítást tartalmaznak

Version 2.449.0

Added

  • A SanitiseLoadedDocument most csak-JavaScript-, aktív tartalom- vagy szigorú nem megbízható dokumentum-házirendeket alkalmaz egy betöltött PDF-re, jelenti az eltávolított műveleteket és hasznos adatokat, zárt módon hibázik az ismeretlen művelettípusok esetén, a közel-lineáris, ciklus-biztos bejáráson keresztül távolítja el az elérhetetlen objektumokat, tömöríti az élő objektumszámokat, és atomi módon cseréli a forrást, ha a mentés helyben történik

Version 2.448.0

Added

  • A betöltött oldal-megjelenítő most végrehajtja a színezett és színezetlen csempe-mintákat valamint tengelyes és sugár-zöld árnyalat-mintákat kitöltésekhez és körvonalakhoz, beleértve a minta-mátrixokat, színöröklést, útvonal-vágást, gyorsítótárazott tartalom-tokenizálást, beágyazott grafikus-állapot helyreállítást, valamint korlátozott rekurzió- és csempe-számokat az ellenséges erőforrásokhoz

Version 2.447.0

Added

  • Hozzáadva egy konfigurálható lánconkénti 256 MiB DecodeBudgetBytes felső határ, amely a beágyazott Flate, LZW, ASCIIHex, ASCII85, RunLength és képprediktor-fázisok kimenetét összegezve, még a memóriába jutás előtt, a GetLastDecodeBudgetInfo diagnosztikával és a nulla mint explicit korlátlan mód

Version 2.446.0

Added

  • Hozzáadva opcionális LinearizeOutput gyors webes megtekintéshez, amely a linearizációs paraméter-szótárt az első 1024 bájton belül bocsátja ki, első-oldal és megosztott-objektum tipp-táblákkal, függőség-sorrendbe állított oldal-szekciókkal és két kompatibilitási kereszthivatkozás-táblával, miközben megőrzi a közvetlen fájl- és adatfolyam-kimenetet és a megbízható újratöltés-észlelést

Version 2.445.0

Added

  • A betöltött PDF-ek most korlátozott kereszthivatkozás-helyreállítást használnak sérült startxref deklarációk vagy használhatatlan xref-adatok után, először egy érvényes táblát vagy adatfolyamot keresnek, majd érvényesített közvetlen-objektum eltolásokat építenek újra legújabb-definíció előbbséggel, beágyazott-objektum hamis-pozitív szűréssel, konfigurálható vizsgálati és objektum-költségvetésekkel, korlátozott xref-horgony-kísérletekkel, strukturált diagnosztikával és teljes-újraírásos mentéssel

Version 2.444.0

Added

  • Az AnalyzeLoadedSignatureRevisions most minden növekményes revíziót osztályoz egy kiválasztott aláírás után, mint hosszú távú érvényesítés, űrlap-kitöltés és aláírás, megjegyzések vagy egyéb változások, jelenti a módosított és felszabadított objektumokat és mezőneveket, és egymástól függetlenül értékeli a DocMDP és FieldMDP megfelelőséget a hagyományos, adatfolyam-, hibrid és tömörített-objektum xref-előzményeken át

Version 2.443.0

Added

  • A VerifyLoadedSignatureWithTrust és a HPDFValidateCMSCertificatePath most az aláíró tanúsítvány-útvonalakat hívó által megadott bizalmi horgonyokig építik, és ellenőrzik a tanúsítvány-aláírásokat, érvényességi időszakokat, Basic Constraints-t, útvonal-hossz-korlátozásokat és Key Usage-t
  • Az offline visszavonás-ellenőrzés most ellenőrzi az OCSP és CRL aláírásokat, a válaszadó hatóságot, a tanúsítvány-azonosságot, az állapot-frissességet és a visszavonási időket, miközben az aláírásonkénti VRI-bizonyítékot preferálja a dokumentum-szintű DSS, a hívó bizonyítéka és a CMS CRL-ek előtt
  • A THPDFSignatureInfo.CertificateValidation a bizalmat, az útvonal-hosszt, a bizalmi horgonyt, az értékelési időt, a visszavonási állapotot és forrást, a visszavonási időt és az ellenőrzési problémákat a kriptográfiai svValid-től függetlenül jelenti

Version 2.442.0

Added

  • A betöltött-aláírás ellenőrzése most kriptográfiai módon érvényesíti az RFC 3161 dokumentum-időbélyegeket a PDF /ByteRange ellen, és az aláírás-időbélyeg tokeneket a szülő CMS-aláírás értéke ellen, miközben a THPDFSignatureInfo.Timestamp közzéteszi az időbélyeg fajtáját, állapotát, házirendjét, üzenet-lenyomatát, sorozatszámát, generálási idejét, pontosságát, rendezését, nonce-át, TSA-azonosságát és token-aláíró tanúsítvány-részleteit

Version 2.441.0

Added

  • A betöltött-aláírás ellenőrzése most támogatja a CMS RSA-PSS aláírásokat SHA-1, SHA-256, SHA-384 vagy SHA-512 használatával, és érvényesíti az explicit hash-, MGF1 hash-, sóhossz- és trailer-mező-paramétereket
  • A THPDFSignatureInfo most jelenti a SignedRevisionLength és UnsignedTrailingBytes értékeket, és az svInvalidByteRange azonosítja a strukturálisan nem biztonságos PDF-aláírás-tartományokat

Changed

  • Az aláírás-ellenőrzés most visszaállítja a hívó adatfolyam-pozícióját, biztonság-érzékeny bájtszekvenciákat korai kilépések nélkül hasonlít össze, és a teljes RSA-PSS algoritmus-paramétereket jelenti

Fixed

  • A CMS-ellenőrzés most elutasítja az átfedő, határon kívüli, csonkolt vagy kétértelmű bájttartományokat, és a teljes RSA PKCS#1 DigestInfo algoritmus-azonosítót érvényesíti ahelyett, hogy bármilyen digest-méretű oktett-sztringet elfogadna

Version 2.440.0

Fixed

  • A Unicode betűtípus-regisztráció most a teljes betűjel-előrehaladási puffert lefoglalja a betűtípus-metrikák beolvasása előtt, elkerülve a hozzáférés-megsértéseket az OpenType formálási és betűtípus-részletesítési munkafolyamatokban
  • A GetWideTextWidth most em-egységekben értelmezi a gyorsítótárazott Unicode előrehaladásokat, és platformos mérésre áll vissza, ha egy betűjel-metrika nem érhető el, helyreállítva a helyesen skálázott szélességeket a sortöréshez és az elrendezéshez
  • A BeginIncrementalUpdate most a betöltött objektumokat tisztaként jelöli meg a hívó módosításainak követése előtt, így a változatlan objektumok nem kerülnek újraírásra, és az árva titkosítási szótárak helyesen felszabadításra kerülnek a hozzáfűzött kereszthivatkozás-szekcióban

Version 2.439.0

Added

  • Az HPDFDecodePredictor és az HPDFTryDecodePredictor korlátozott dekódolást biztosít a TIFF 1, 2, 4, 8 és 16 bites predikcióhoz és mind az öt PNG-szűrőhöz, szigorú sor-ellenőrzéssel és végrehajtható diagnosztikával
  • A TPDFLZWDecompressor közvetlen adatfolyam-kimenetet, újrahasználható nem-kivételdobó dekódolási metódusokat, konfigurálható kimeneti korlátokat és adatfolyam-végjel-követelményeket, valamint dekódolásonkénti kódszélesség-, szótár-, visszaállítási, bővítési és kimeneti statisztikákat ad hozzá

Changed

  • Az LZW dekódolás most egybefüggő kifejezés-arénát használ, mindkét PDF EarlyChange módot és mindkét bitfeltöltési sorrendet támogatja, szigorúan kezeli a törés-visszaállításokat és a KwKwK bővítést, és mértani sorozatban növeli a karakterlánc-kimenetet
  • A betöltött Flate és LZW képkivonás most tiszteletben tartja a DecodeParms prediktor-geometriát és az EarlyChange értéket, túlcsordulás-biztos raszterméretezést használ, és ugyanazt a prediktor-implementációt osztja meg, mint az xref-adatfolyam dekódolása

Fixed

  • A Flate dekódolás prediktorparaméterekkel most a dekompressziós adatfolyamból olvas, ahelyett, hogy a tömörített bemeneti bájtokat a prediktor-fázisba másolná
  • A hibásan formázott LZW kódok, csonka sorok, érvénytelen PNG-sorcímkék, lehetetlen prediktor-geometriák és túlzott bővülés most determinisztikusan meghiúsulnak ahelyett, hogy részleges vagy még mindig tömörített képadatokat adnának vissza

Version 2.438.0

Fixed

  • A THPDFViewer most lefordul Delphi XE2-től XE8-ig, ahol a WM_DPICHANGED hiányzik a Winapi.Messages-ből; a monitoronkénti DPI-üzenetállandó most helyileg van definiálva a Delphi 10 Seattle-nél régebbi eszközláncokhoz, visszaállítva a RAD Studio XE2..XE8 TRIAL könyvtár DCU-buildjeit, amelyek E2003 Undeclared identifier hibával megszakadtak

Version 2.437.0

Changed

  • A GetWideTextWidth most a betűtípus hmtx táblájából egyszer feltöltött kódpontonkénti előrehaladási-szélesség gyorsítótárából méri a Unicode szöveget a minden hívásnál végzett CreateCompatibleDC + GetTextExtentPoint32W oda-vissza út helyett -- 10-100-szoros gyorsulás a szótördeléshez, az igazításhoz és a táblázatcella-méréshez hosszú Unicode dokumentumokon, átlátható visszaeséssel a hagyományos GDI útvonalhoz, ha nincs Unicode betűtípus regisztrálva

Version 2.436.0

Fixed

  • A beágyazott betűtípus /FontDescriptor /CapHeight értéke most a betűkép valós otmsCapEmHeight metrikáját használja egy hardcoded állandó helyett, és olyan betűképeknél az emelkedés ~70%-ára esik vissza, amelyek nullát jelentek

Version 2.435.0

Fixed

  • A beágyazott Unicode betűtípusok megtartják az OpenType formálás által előállított betűjeleket (arab megjelenítési formák, ligatúrák, kontextusfüggő alternatívák) részletesítéskor -- a MarkUnicodeGlyphUsed / EnableShapingFeatureForSubset által rögzített FUnicodeExtraUsedGlyphs halmazt rögzítették, de a részletesítő soha nem használta, így ezek a betűjelek a kimenetben .notdef értékre estek vissza

Version 2.434.0

Added

  • A THPDFWeightedCache nem-előléptető vizsgálatot, logikai keresést, explicit eltávolítást és tulajdonjog-átadást, azonnali költségvetés-csonkolást, találati arány- és életciklus-statisztikát, valamint folyamatos SHA-256 tartalomkulcsokat ad hozzá

Changed

  • A nagy rendezett ToUnicode és CID CMap-ek most logaritmikus karakter- és tartomány-keresést használnak, pontosan megőrzik az egybájtosól négybájtosig terjedő kódtérket, erőforrás-gyökér szerint elkülönítik a megosztott feldolgozott térképeket, és mértani sorozatban növelik a feldolgozó tárolóját
  • A tartós renderelt oldalas gyorsítótár most atomi módon írja a PNG- és indexadatokat, követi az oldalszintű frissességet, azonnal alkalmazza a csökkentett korlátokat, és helyreállítja az elavult indexeket, az elhagyott ideiglenes fájlokat, a hiányzó mappákat és az index nélküli dokumentummappákat

Fixed

  • A CMap-elemzés most helyesen kezeli a páratlan hexadecimális félbájtokat, és elutasítja a hibásan formázott hexadecimális adatokat, az érvénytelen vagy túlcsorduló tartományokat, a negatív CID-célokat és a korlátlan explicit leképezéseket, miközben determinisztikusan helyettesíti az érvénytelen UTF-16 helyettesítő szekvenciákat
  • A súlyozott gyorsítótár cseréje többé nem szabadít fel egy objektumot, ha ugyanazt a példányt a meglévő kulcsa alatt szúrják be újra, és a sérült lemez-gyorsítótár PNG-bejegyzések eltávolításra kerülnek egy sikertelen dekódolás után ahelyett, hogy minden későbbi keresésnél meghiúsulnának

Version 2.433.0

Added

  • A betöltött aláírás-ellenőrzés most támogatja az ECDSA P-256, P-384 és P-521 CMS-aláírásokat SHA-1, SHA-256, SHA-384 vagy SHA-512 használatával, beleértve a kibocsátó-és-sorszám és SubjectKeyIdentifier aláíró-kiválasztást, a szigorú DER-aláírás-ellenőrzést és a kiterjesztett algoritmus- és görbe-diagnosztikát
  • Az ICC színkezelés most ellenőrzi az ICC v2/v4 profilokat, kikövetkezteti és ellenőrzi a komponensszámokat, deduplikálja a regisztrált profilokat, ICCBased vektor- és nyers képmintáit sRGB-re konvertálja renderelési szándék-támogatással, és a PDF Alternate színteret szabályozott visszaesésként megtartja

Version 2.432.0

Added

  • A THPDFTableCell most támogatja a képcellákat (az ImageIndex + ImageAspect a regisztrált képet az oszlopszélességre skálázza H/V igazítással) és a HTML-cellákat (az IsHTML a cellaszöveget a TextOutHTML-en keresztül rendereli a beágyazott félkövér/szín/hivatkozás/al-/felülrészkódoláshoz), megfelelve annak a cellatartalom-különféleségnek, amelyet egy rács-exportnak várhatóan hordoznia kell

Version 2.431.0

Added

  • Az új THPDFTable elrendezési és renderelési motor (HPDFTable egység) táblázatokat rendez a deklarált oszlopszélességekből és sorokból, cellánkénti szöveggel, igazítással, szín- és betűtípus-felülbírálattal, ColSpan / RowSpan összevonással, automatikus szótördeléssel mért sormagasságokkal, fejléc- és zebracsík-hátterekkel, valamint automatikus oldaltörés-folytatással, amely minden oldalon megismétli a fejlécsávot -- mindezt a meglévő THPDFPage rajzprimitíveket hajtja, így a előállítók többé nem rajzolnak kézzel cellákat Rectangle és TextOut segítségével

Version 2.430.0

Changed

  • A tartalomfolyam-feldolgozás és a betöltött oldalas szerkesztés most hatékonyabban skálázódik a nagy szöveg- és útvonal-munkaterheléseken, megőrzi a kiegészítő sík Unicode és PDF útvonal-szemantikáját, érvényteleníti az oldalas gyorsítótárakat a mutációk után, és befejezi a részleges puffereket elfogadó adatfolyamok írásait

Version 2.428.0

Added

  • A THPDFPage.TextOutHTML szósortörés-túlterhelést kap, amely felvesz egy MaxWidth-et, és a hosszú sorokat szóhatárokon töri, plusz beágyazott hivatkozás (<a href>) és alsó/felső index (<sub>/<sup>) címkéket; a hivatkozások kékkel és aláhúzva rajzolódnak, és regisztrálnak egy kattintható URI-jegyzetet

Version 2.427.0

Changed

  • Az azonos betűtípust és méretet megosztó egymást követő szövegfolyamatok többé nem bocsátják ki újra a Tf operátort minden hívásnál, csökkentve a tartalomfolyamokat a betűtípus-gazdag dokumentumokban (táblázatok, bekezdések), miközben még mindig kibocsátják egy grafikus állapot visszaállítása (Q) után, ahol a PDF megkívánja
  • A THPDFPage ellipszis-közelítése most a standard köbös-Bézier-kappa állandót 0.5522847498 használja, egyezve a egység minden más ellipszis- és körimplementációjával és eltávolítva azt a kis sugárfüggő eltérést, amelyet a korábbi 11/20 közelítés okozott

Version 2.426.0

Added

  • A megjelenítő most előmelegíti a megjelenített oldalak gyorsítótárát az éppen megjelenített oldal melletti oldalakhoz, egy háttérszálat használva ugyanazon DPI-n, hogy a következő lapozás a gyorsítótárba találjon szinkron újra-megjelenítés helyett; az új PrefetchRadius tulajdonság szabályozza, hogy mindkét oldalon hány oldal előmelegedjen (0 kikapcsolja)

Version 2.425.0

Added

  • A betöltött oldalak megjelenítője most dekódolja és rajzolja a beágyazott képeket (BI/ID/EI) ahelyett, hogy kihagyná őket, kibontva a rövidített beágyazott kép kulcs/érték párokat és a nyers bájtokat a tokenizálás időpontjában, és elhelyezve az eredményt ugyanazon az egységnégyzet-CTM-leképezésen, amelyet a kép-XObjectekhez használnak

Version 2.424.2

Changed

  • A megjelenített oldalak lemezgyorsítótára most egyetlen könyvtár-átvizsgálásban gyűjti össze az összes oldalfájlt, és egyetlen menetben kizárja a túlcsorduló farokot, felváltva a korábbi kizárás-onként-újravizsgál ciklust, amely négyzetes időben futott a dokumentumonkénti oldalszám fölött
  • A kép-deduplikáció most megjegyzi minden tárolt képfolyam SHA-256-át, és a bájtok bejárása előtt hasonlítja össze a hash-eket, így ugyanannak a nagy képnek a sok oldalhoz adása többé nem olvassa újra az összes korábban tárolt folyamatot minden beszúrásnál

Version 2.424.1

Changed

  • A dekódolt képek és részhalmaz-betűtípusok súlyozott gyorsítótára most egy hash-indexen keresztül oldja fel a kereséseket, és index-alapú duplán láncolt listán tartja fenn a legutóbb használt sorrendet, minden Get, Put és frissesség-előléptetést egy O(n) tömbeltolásból O(1) munkává alakítva, így a nagy többképes dokumentumok megjelenítése többé nem romlik, ahogy a gyorsítótár megtelik

Version 2.424.0

Changed

  • A CompressLoadedDocument most tiszteletben tartja a CompressionLevel-t, a forrásfolyamokat korlátozott darabokban dolgozza fel, megtartja az eredeti hasznos terhet, amikor a tömörítés nem kicsinyíti, biztonságosan felszabadítja a kicserélt folyamatokat, és piszkosnak jelöli az átalakított folyamatobjektumokat, hogy a SaveLoadedDocument az eredményt mentse ahelyett, hogy a változatlan-fájl-másolási útvonalat venné.DecompressLoadedDocument ugyanazon a tulajdonság-biztonságos streaming-útvonalon használja, eltávolítja az identitás-/DecodeParms-eket, és a TIFF vagy PNG prediktorfolyamokat tömörítve hagyja, amíg a prediktorfázis biztonságosan dekódolható nem lesz

Version 2.423.0

Added

  • A THPDFPage.AddCertificationSignatureField és a ConfigureCertificationSignature most a három jogosultsági szint mindegyikével és a megfelelő Catalog /Perms /DocMDP kapcsolattal hozza létre az egyetlen DocMDP tanúsítási aláírást, miközben az AttachSignatureFieldLock közvetett SigFieldLock-házirendeket és megfelelő FieldMDP-hivatkozásokat bocsát ki az All, Include vagy Exclude mezőhatókörökre.THotPDF.GetLoadedSignaturePermissions ugyanannak a jogosultsági gráfnak a korlátozott strukturális vizsgálatát végzi, beleértve a szükséges közvetlenséget, a gyökérkapcsolatot, a házirend-egyezést és a diagnosztikát, anélkül, hogy a házirend-szerkezetet a kriptográfiai érvényességgel vagy a későbbi revízióknak való megfeleléssel összezavarná

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

Hozzáadva

  • HPDFParsePDFDate Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást+HH’mm, -HH’mm, or ZEz a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást TDateTime; HPDFFormatPDFDate Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást D:YYYYMMDDHHmmSS+00’00
  • GetLoadedExtGStateInfo reads LW / LC / LJ / ca / CA Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást GetLoadedShadingCount / GetLoadedShadingName and GetLoadedPatternCount / GetLoadedPatternName enumerate the /Shading and /Pattern resource sub-dictionaries
  • ReplaceLoadedPage Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást SwitchLoadedPages exchanges two pages, ReverseLoadedPages Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást ExtractLoadedPagesToPDF Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást GetLoadedPageInheritedBox Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást
  • GetLoadedFileSpecInfo Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást GetLoadedEmbeddedFileMIME returns the /Subtype, GetLoadedEmbeddedFileChecksum returns the /Checksum digest, and THPDFNameTreeType + GetLoadedNameTreeRootCount Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást
  • HPDFEnablePerMonitorDPI dynamically enables per-monitor DPI awareness; THPDFBackgroundRenderer Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást GetLoadedPageContentStreamCount reports whether /Contents Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást GetLoadedXMPValue Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást GetLoadedDocumentReport Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást

Version 2.414.0

Hozzáadva

  • THPDFActionBuilder.URIWithIsMap Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást /IsMap true Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást URI Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást /URI string
  • AddLoadedCaretAnnotationEx Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást/Sy PEz a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást
  • GetLoadedAnnotationDA Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást /DA Ez a kiadás a felsorolt szimbólumokon keresztül adja hozzá a leírt API-működést és támogatást

Version 2.413.2

Javítva

  • Ez a kiadás összehangolja a leírt API-működést és támogatást a felsorolt szimbólumokkal

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

  • A betöltött annotációk mostantól frissíthetik címüket, egyedi nevüket, módosítási dátumukat, normalizált téglalapjukat, valamint standard folytonos, szaggatott, döntött, besüllyesztett vagy aláhúzott szegélystílusukat

Fixed

  • A betöltött annotációk szerkesztései mostantól piszkosként (dirty) jelölik meg az annotációs objektumot a növekményes mentésekhez, míg a vizuális szerkesztések csak az érintett oldal gyorsítótárazott renderelését érvénytelenítik, és megtartják a többi meleg oldalt

Version 2.407.0

Added

  • A THPDFViewerModel a PDF módosítása nélkül tárolja, levágja, felsorolja, eltávolítja és törli a tartós oldalrégió-kiemeléseket
  • A THPDFViewer hozzáad egy kiemelési interakciós módot rögzített kijelölőkeret-húzással, forgatásérzékeny PDF-koordináta-helyreállítással, konfigurálható színnel és egy OnMarqueeSelect visszahívással

Fixed

  • A néző koordináta-transzformációi mostantól megtartják a tényleges renderelési DPI-t 12 alatt és 2400 felett, igazítva a kijelöléseket az 5%-os és 6400%-os zoomhatároknál

Version 2.406.0

Added

  • A THPDFViewerModel forgatásérzékeny oldalkbélyegképeket hoz létre közvetlenül a hívó által megadott pixelhatárokhoz választott DPI-n, elkerülve a teljes méretű köztes oldal-bitképeket
  • A nézőmodell oldal-előbetöltése aszinkron módon melegíti be a környezetet, miközben az ütemezett oldalakat a renderelt oldal-gyorsítótár kapacitására korlátozza

Version 2.405.0

Added

  • A THPDFPageLayout mostantól támogatja a PDF 1.5 plTwoPageLeft és plTwoPageRight borítólapos kétoldalas elrendezéseit automatikus verzióegyeztetéssel és szigorú verzió-visszalépéssel

Fixed

  • A BeginDoc mostantól megőrzi a hívó által kiválasztott oldalelrendezést ahelyett, hogy mindig lecserélné azt a plOneColumn értékre

Version 2.404.0

Added

  • A THPDFViewerModel forgatásérzékeny pillanatképeket hoz létre a határolt PDF-oldalrégiókról teljes oldalas bitkép lefoglalása nélkül

Version 2.403.0

Added

  • A THPDFViewerModel kétirányúan konvertálja a pontokat a PDF oldaltér és a forgatásérzékeny Viewer koordináták között a hívó által kiválasztott DPI-n

Version 2.402.0

Changed

  • A néző zoom parancsai mostantól stabil standard szinteket használnak 5%-tól 6400%-ig, beleértve a visszafordítható navigációt az tetszőleges egyedi értékek körül

Version 2.401.0

Added

  • A THPDFViewer hozzáadja a Ctrl+görgő zoomot, a függőleges görgetést és a Shift+görgő vízszintes görgetést anélkül, hogy újrarenderelné a csak görgetést tartalmazó bemenetet

Version 2.400.0

Added

  • A THPDFViewer billentyűzetes oldalnavigációt, görgetést, zoom billentyűparancsokat, valamint Valós méret, Szélességhez igazítás vagy Oldalhoz igazítás módválasztást ad hozzá

Version 2.399.0

Added

  • A THPDFViewer rajzolja vagy nyomtatja a forgatásérzékeny aktuális nézetet determinisztikus, képarányt megőrző igazítással és középre helyezéssel

Version 2.398.0

Added

  • A THPDFViewerModel a hívó tulajdonában lévő EMF vektoros pillanatképeket hoz létre bármely betöltött oldalról vagy az aktuális nézetről, beleértve a nem destruktív 90 fokos nézetforgatást

Version 2.397.0

Added

  • A THPDFViewerModel forgatásérzékeny oldal-pillanatképeket ment BMP, JPEG vagy PNG formátumban fájlokba és a hívó tulajdonában lévő adatfolyamokba, konfigurálható JPEG minőséggel

Version 2.396.0

Added

  • A THPDFViewer.ResetView visszaállítja a Valós méretet, törli a nézetforgatást és a keresési kiemeléseket az aktuális oldal megőrzése mellett, megegyező visszaállítási és forgatási műveletekkel, valamint kötegelt egyrenderes frissítésekkel

Version 2.395.0

Added

  • A THPDFViewer és a THPDFViewerModel óramutató járásával megegyező, ellentétes és visszaállítható nézetforgatást ad hozzá, amely a hívó tulajdonában lévő oldal-pillanatképekre is vonatkozik a PDF-oldal módosítása nélkül

Version 2.394.0

Added

  • A THPDFViewerModel képes a hívó tulajdonában lévő oldal-pillanatképeket létrehozni és az aktuális oldalt BMP-ként menteni Viewer vezérlő létrehozása nélkül

Version 2.393.0

Added

  • A THPDFLoadedFormField mostantól közzéteszi a mezőjelzőket, a MaxLen-t, az oldalindexet, a widget határait, valamint a gyakori Required, NoExport, Multiline és Password állapotokat
  • A GetLoadedFormFieldMaxLength közvetlen indexelt hozzáférést biztosít a betöltött szövegmezők hosszkorlátaihoz

Version 2.392.0

Added

  • A SetDocumentAttachmentMetadata átnevezi a dokumentumszintű beágyazott mellékleteket, és frissíti azok leírását a szerializáció előtt

Version 2.391.0

Added

  • Az ExtractLoadedPagesTextToStream a kiválasztott betöltött oldal szövegét UTF-8 kódolású adatfolyamként küldi ki egyedi elválasztókkal és opcionális BOM kimenettel
  • A THPDFViewerModel űrlapmező-találati tesztelést és determinisztikus billentyűzetes navigációt ad hozzá az oldal widgetjei között
  • A THPDFSignatureInfo.CertificateTimeValidity jelenti a tanúsítványhoz kötött és az aláírási idő érvényességi osztályozásait

Fixed

  • A widget /P visszahivatkozás nélküli betöltött űrlapmezők mostantól leképezhetők az oldal annotációs tömbjein keresztül

Version 2.390.0

Added

  • A THPDFWatermarkTemplate.MakeCurve és a THPDFPage.AddCurveWatermark köbös Bezier-görbéket ad hozzá a betöltött kompozitokhoz és az új dokumentumok létrehozásához

Fixed

  • A betöltött dokumentum-metaadatok beállítói mostantól piszkosként (dirty) jelölik meg az Info szótárat, így a növekményes mentések megőrzik a cím- és szerzőváltoztatásokat

Version 2.389.0

Added

  • Az InsertLoadedBlankPage egy hívó által meghatározott méretű üres oldalt szúr be egy betöltött dokumentum pontos pozíciójára
  • Az ExtractLoadedPagesText összesíti a szöveget egy 1-alapú oldaltartományból a hívó által meghatározott elválasztóval
  • A GetLoadedFormFieldNameValuePairs és a SetLoadedFormFieldNameValuePairs kötegelt name=value űrlapcserét biztosít a TStrings segítségével
  • A CMapResourcePath támogatja a kifejezett standard CMap telepítési útvonalakat szolgáltatásokhoz, beépülő modulokhoz és egyedi alkalmazáselrendezésekhez

Changed

  • A VCL néző mostantól kirajzolja a keresési találati téglalapokat, és frissít, if az aktív találat megváltozik az aktuális oldalon, míg a kapcsolódó vázlatvezérlők követik a néző dokumentumváltozásait
  • Az oldalrenderelés mostantól feloldja az örökölt méretkockákat (media boxes), forgatást és erőforrásokat, valamint helyesen képezi le a nem nulla oldal-origókat minden derékszögű forgatásnál

Fixed

  • Az űrlapnév-konfliktusok elutasításra kerülnek az oldal beszúrása vagy hozzáfűzése előtt, ha az összevonási átnevezés le van tiltva, változatlanul hagyva a céloldalak számát
  • A betöltött oldalak törlése mostantól leválasztja az AcroForm widget mezőit, és eltávolítja az üres mezőfa-ágakat ahelyett, hogy hivatkozásokat hagyna a törölt oldalakra
  • A kurzorstílusú keresési segédek és a nézőmodell-kihagyások többé nem törlik a kezelt szövegtalálati rekordokat nyers műveletekkel
  • Az automatikus CMap-felfedezés mostantól átadja a tényleges gyűjteménygyökeret a szövegdekódernek

Version 2.388.0

Added

  • Az új DeletePages eltávolítja az 1-alapú oldaltartományokat a betöltött PDF-ekből, megszünteti a kijelölések átfedéseit, jelenti a haladást, és újraépíti az érvényes oldafát a mentéshez
  • Az oldalbeszúrás és a hozzáfűzéses összevonás mostantól elfogadja a THPDFMergeOptions beállításokat a rekurzív vázlatok másolásához, az importált AcroForm mezők regisztrálásához és az ütköző mezőnevek determinisztikus átnevezéséhez
  • Az új AddLoadedRadioButton egy valódi szülő rádiógomb-mezőt hoz létre gyermek widgetekkel, megosztott exportértékekkel és teljes be/ki megjelenési állapotokkal
  • Az új SearchLoadedNext állapotmentes oldal-lokális következő találati keresést biztosít, míg a GetLoadedOutlineEntries teljes rekurzív vázlat-pillanatképeket ad vissza szülő- és szintadatokkal
  • Az új Windows tanúsítványtár-aláírási túlterhelések SHA-1 ujjlenyomat alapján választanak ki egy aktuális felhasználói vagy helyi gép tanúsítványt, és CNG vagy régi CSP privát kulcsokon keresztül írnak alá
  • Az új THPDFLoadedDocumentFacade tipizált vázlat-, űrlap-, annotáció-, betűtípus- és képgyűjteményeket tesz közzé módosítási és kinyerési segédekkel
  • Az új THPDFViewer, THPDFSearchPanel, THPDFOutlineViewer, nézőmodell és nézőművelet osztályok újrafelhasználható VCL oldalmegjelenítést, navigációt, zoomot, keresést és könyvjelző-vezérlőket adnak hozzá
  • Az új fejlett nyomtatási, aláírás-ellenőrzési, oldalkép-bélyeg, betöltött kép-exportálási és tipizált betöltött dokumentum-vizsgálati demók lefedik a teljes munkafolyamatokat

Changed

  • A betöltött dokumentumok nyomtatása mostantól determinisztikus összehordott (collated) vagy nem összehordott fizikai oldalsorozatokat épít fel, támogatja az egyedi papírszélességet és -hosszúságot, valamint jelenti a nyomtató papírkódjait, neveit és méreteit
  • A rendszertanúsítványok felsorolása mostantól tartalmazza a SHA-1 ujjlenyomatokat, a privát kulcs elérhetőségét, az érvényességi dátumokat és a kulcshasználati metaadatokat

Fixed

  • A betöltött szövegkeresési eredmények növekedése többé nem másolja a kezelt karakterlánc-rekordokat nyers memóriamozgatásokkal, megakadályozva az érvénytelen mutatóhibákat Win64 rendszeren
  • A betöltött oldalak törlése többé nem szabadítja fel a megosztott oldalerőforrásokat, és nem hagy elavult oldafa-számlálókat, amelyek mentés és újratöltés után újra megjelennek

Version 2.387.0

Added

  • Az új PrefetchLoadedPages renderel egy oldaltartományt a renderelt oldal-gyorsítótárba egy háttérben futó munkaszálon, így az oldalakat lapozó néző azonnali meleg-gyorsítótár találatokat kap ahelyett, hogy várna minden egyes renderelésre
  • A CancelLoadedPagePrefetch leállítja a munkaszálat, és az IsLoadedPagePrefetchActive jelenti annak állapotát; másik dokumentum betöltése vagy a komponens megsemmisítése automatikusan megszakítja az aktív előbetöltést
  • A gyorsítótárazott renderelés és az előbetöltő munkaszál belsőleg szerializáltak, így a RenderLoadedPageToBitmapCached biztonságosan hívható az előbetöltés futása közben

Version 2.386.0

Added

  • Az új FlattenLoadedAnnotations véglegesen berajzolja az egyes annotációk normál megjelenését az oldaltartalomba a téglalapjánál, és eltávolítja az annotációt, így a jelölések és az űrlapok vizuális elemei megmaradnak az annotációkat elrejtő vagy nem szerkeszthető nézőkben
  • A menet követi a megjelenési állapot szótárakat az /AS kulcson keresztül, tiszteletben tartja a megjelenési határolódobozt és mátrixot a téglalap illesztésekor, és korlátozható egyetlen annotáció-altípusra vagy oldaltartományra

Version 2.385.0

Added

  • Az új RenderLoadedPageRegionToBitmap a lapnak csak egy kiválasztott felhasználói térbeli ablakát raszterezi a kért DPI-n, így a nagyon nagy oldalak csempénként renderelhetők korlátozott memóriában nagy felbontás mellett egyetlen túlméretezett bitkép helyett
  • A csempék pontosan igazodnak: a bitkép pontosan lefedi a kért régiót, így a szomszédos csempék varratok nélkül állnak össze a teljes oldallá

Version 2.384.0

Added

  • Az új GenerateLoadedPageThumbnails rendereli a betöltött dokumentum kiválasztott oldalait, és beágyazza azokat JPEG oldalkbélyegképként, amelyek a néző oldalpanelein megjelenő előnézetek; a leghosszabb élméret és a JPEG-minőség konfigurálható, a meglévő bélyegképek pedig a helyükön cserélődnek
  • A GetLoadedPageThumbnailSize visszaolvassa egy beágyazott bélyegkép pixelméreteit, a ClearLoadedPageThumbnails pedig eltávolítja a bélyegképeket a kijelöltekről

Version 2.383.0

Added

  • Az EnumLoadedPageElements mostantól a szövegek és képek mellett a vektoros útvonal-elemeket is jelenti: minden megrajzolt útvonal egy elemet ad a felhasználói térbeli határolódobozával, a rajzolási operátorral (körvonal, kitöltés vagy mindkettő), az érvényben lévő kitöltési és körvonalszínekkel, valamint a szegmensszámmal
  • Az útvonalbejáró követi a q/Q egymásba ágyazást és a cm transzformációkat, így a skálázott vagy eltolt blokkokon belül rajzolt alakzatok a valós oldalkoordinátáikat jelentik

Version 2.382.0

Added

  • A THPDFPrintOptions új Duplex (egyoldalas, hosszú él menti, rövid él menti), PaperBin és PrintQuality mezőket kap, amelyek a feladat megkezdése előtt betöltődnek a nyomtató eszközmódjába; mostantól egy kifejezett Orientation érték is alkalmazásra kerül
  • Az új HPDFGetInstalledPrinters listázza a rendszernyomtatókat, a HPDFGetPrinterCapabilities pedig jelenti a nyomtató kétoldalas és színes támogatását, a maximális példányszámot, a papírtálcákat (a PaperBin által elfogadott kódokkal) és a támogatott felbontásokat

Version 2.381.0

Added

  • Új CopyLoadedOutlinesFromDocument egy másik betöltött dokumentum teljes könyvjelzőfáját egyesíti az aktuálissal, megőrizve a címeket, az egymásba ágyazást, a testvérsorrendet és a cél nézet paramétereit, miközben minden céloldalt újraképez a hívó által megadott eltolással — ez az oldal-hozzáfűzéses összevonások kísérője, így az egyesített dokumentumok mindkét könyvjelzőkészletet megtartják

Fixed

  • A GetLoadedBookmarkPageIndex mostantól az első legfelső szintű bejegyzésen túl és a beágyazott szintek belsejében is megtalálja a könyvjelzőket; a korábbi keresés csak véletlenül egyezett meg a későbbi könyvjelzőkkel

Version 2.380.0

Added

  • Új ImposeLoadedPagesNUp tetszőleges oldaltartományt helyez el rácslapokra (bármilyen oszlop-sor elrendezésben, konfigurálható lapmérettel és margóval) olvasási sorrendben, minden oldalt a cellájába méretezve, opcionális képarány-megőrzéssel
  • Új ImposeLoadedPagesBooklet füzetlapokat hoz létre: a lapok száma négy többszörösére egészül ki, és füzetsorrendben párosulnak, így a kétoldalas nyomtatás és hajtogatás helyes sorrendű füzetet eredményez
  • Mindkét kilövési (imposition) hívás Form XObject-ként csomagolja a forrásoldalakat, és a kész lapokat a meglévő oldalak után fűzi, visszaadva a lapszámot

Fixed

  • A betöltött oldalak renderelése mostantól követi a közvetett hivatkozásokat az erőforrások /XObject alszótárában; az olyan oldalak, amelyek erőforrásai különálló objektumként érkeztek, csendben kihagyták a képeiket és űrlapjaikat

Version 2.379.0

Added

  • A SaveLoadedPagesAsImages két TIFF formátumot kap: az ifTIFF oldalonként egyetlen egyoldalas TIFF fájlt ír, az ifTIFFMulti pedig a teljes oldaltartományt egyetlen többoldalas TIFF-be tömöríti, egyesítve a TIFF kimenetet a meglévő BMP, JPEG, PNG, EMF és WMF lehetőségekkel
  • Mindkét TIFF-útvonal tiszteletben tartja a kért renderelési DPI-t a képméret-jelzőkben, és veszteségmentes Deflate tömörítést használ

Version 2.378.0

Added

  • A betöltött oldalak renderelése mostantól valós glif-körvonalakkal rajzolja a 1-es (körvonal) és 2-es (kitöltés, majd körvonal) szövegrenderelési módokat mind a beágyazott betűtípusok, mint a rendszerszintű tartalék betűtípusok esetében, az aktuális körvonalszínt és vonalvastagságot használva; a 4-tot 7-ig terjedő vágási változatok az alapmódjaikhoz hasonlóan festenek

Fixed

  • Tizenkét egyoperandusú tartalomoperátor (Tc, Tw, Tz, TL, Ts, Tr, w, J, j, M, ri, i) rossz tokenpozícióból olvasta be az operandusát, és mindig nullát alkalmazott; a betű- és szóköz, a vízszintes skálázás, a sorköz (leading), a szövegemelés (text rise), a renderelési mód, a vonalvastagság, a vonalvégek (caps), a vonalillesztések (joins) és a gérhatár (miter limit) mostantól érvénybe lép a betöltött oldalak renderelésekor

Version 2.377.0

Added

  • A betöltött oldalak renderelése mostantól tiszteletben tartja az opcionális tartalom (réteg) láthatóságát: a BDC /OC jelölésű szakaszokon belüli tartalmak és a /OC bejegyzést hordozó XObjectek rejtve maradnak, ha a rétegük ki van kapcsolva, követve a dokumentum alapértelmezett konfigurációját (/BaseState, /ON, /OFF)
  • Az opcionális tartalom tagsági szótárai kiértékelik a /P szabályzatukat (AnyOn, AllOn, AnyOff, AllOff) a tagcsoportok felett
  • Új réteg API-k a betöltött dokumentumokban: GetLoadedOptionalContentGroupCount, GetLoadedOptionalContentGroupName, GetLoadedOptionalContentGroupVisible és SetLoadedOptionalContentGroupVisible a rétegállapotok vizsgálatához és felülbírálásához a rendereléshez; a felülbírálások automatikusan érvénytelenítik a renderelt oldal-gyorsítótárat

Version 2.376.1

Fixed

  • A betöltött oldalak bitkép-renderelése mostantól kirajzolja a kép XObjecteket: a Do, gs és sh erőforrás-keresések korábban elvétették a perjellel kezdődő operandusneveket, és csendben kihagyták az objektumot
  • A cm operátor és Form XObject /Matrix értékei mostantól a helyes sorrendben kapcsolódnak össze, így az eltolás-plusz-skálázás elhelyezési sorozatok (a standard kép-pozicionálási kifejezés) a kívánt oldalpozícióra helyezik a tartalmat

Version 2.376.0

Added

  • Az új RegisterExponentialFunction, RegisterStitchingFunction és RegisterPostScriptFunction API-k önálló Type 2, Type 3 és Type 4 függvényobjektumokat hoznak létre, amelyek bárhol használhatók, ahol függvényhivatkozás elfogadott (árnyalások, félárnyék pont- és átviteli függvények, színárnyalat-transzformációk)
  • A RegisterPostScriptFunction regisztrációkor próba-kiértékeléssel ellenőrzi a kalkulátorprogramot, így a hibás programok azonnal elutasításra kerülnek ahelyett, hogy csendben hibákat okoznának a nézőkben
  • Az új RegisterSeparationFunc egy Separation színtért hoz létre a hívó által megadott színárnyalat-transzformációs függvényobjektummal

Fixed

  • Az egy- vagy háromkomponensű kimenettel rendelkező Type 2 (exponenciális) színárnyalat-transzformációk renderelése többé nem fest feketét; korábban csak a négykomponensű (CMYK) kimenetek dekódolódtak helyesen
  • A Type 3 (stitching) színárnyalat-transzformációk renderelése mostantól tetszőleges számú részfüggvényt támogat, alkalmazza a /Encode újraképezést, és elfogadja az egyetlen bejegyzést tartalmazó /Bounds tömböket

Version 2.375.0

Added

  • Az oldalrenderelés mostantól kiértékeli a Type 4 (PostScript kalkulátor) színárnyalat-transzformációs függvényeket, így a Separation és DeviceN színek, valamint a színátmenetes árnyalások a valós színeikkel renderelődnek a szürke helyőrző helyett
  • A kalkulátor kiértékelője lefedi a teljes ISO 32000-1 7.10.5 operátorkészletet: aritmetikai, összehasonlító, logikai és bitenkénti műveletek, veremkezelés és if/ifelse feltételes kifejezések

Fixed

  • A megnevezett színtér-kiválasztás (cs/CS operátorok) a betöltött oldalak renderelésekor mostantól helyesen okmányozza az erőforrásneveket; korábban a keresés elvétette, és a tartalom visszalépett az alapértelmezett színtérre
  • A betöltött oldalak renderelése mostantól követi a közvetett hivatkozásokat az olyan tömbértékű színterekre, mint az önálló objektumként tárolt /Separation és /DeviceN definíciók

Version 2.374.0

Fixed

  • Az XFDF annotáció-importálás/exportálás mostantól megőrzi a beszúrásjel (caret) annotációk alapértelmezett megjelenési adatait a <defaultappearance> gyermekelemen és a PDF annotáció DA bejegyzésén keresztül

Version 2.373.0

Fixed

  • Az XFDF annotáció-importálás/exportálás mostantól megőrzi a beszúrásjel (caret) annotációk keretgeometriáját a fringe attribútumon és a PDF annotáció RD bejegyzésén keresztül

Version 2.372.0

Fixed

  • Az XFDF annotáció-importálás/exportálás mostantól megőrzi a bélyegző (rubber stamp) annotációk forgatását a rotation attribútumon és a PDF annotáció Rotate bejegyzésén keresztül

Version 2.371.0

Fixed

  • Az XFDF annotáció-importálás/exportálás mostantól megőrzi a szöveges annotációk válaszkapcsolatait az inreplyto, replyType, valamint a PDF annotáció IRT and RT bejegyzésein keresztül

Version 2.370.0

Added

  • A letiltott vízszintes görgetésű XFA numerikus, dátum-idő és jelszómezők mostantól olyan AcroForm szöveges widgetekké laposodnak (flatten), amelyek a PDF görgetést tiltó flagjével rendelkeznek

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