HotPDF Julkaisutiedot

Versiohistoria käyttäjille näkyville HotPDF-toiminnoille, korjauksille, yhteensopivuuspäivityksille ja dokumentaatiomuutoksille

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

  • Korjattu cross-reference-aliosio, joka esittää enemmän merkintöjä kuin taulukko sisältää: silmukka kävi koko esitetyn määrän läpi, vaikka luettavaa ei enää ollut, joten neljänkymmenen tavun viallisen tiedoston hylkääminen vei kymmeniä sekunteja
  • Korjattu job runner, joka menetti kaikki jo valmiit tulokset, kun operaatio heitti poikkeuksen, ja HTML-tuonti, joka menetti kuvaobjektin, kun sen ympärille ei onnistuttu luomaan streamia

Version 2.748.5

Fixed

  • Korjattu PKCS#12-tiedostot, jotka eivät avautuneet, kun salasana ei ole puhdasta ASCII:ta: salasana on UTF-8-tavujono, mutta sitä laajennettiin tavu kerrallaan sen sijaan, että se olisi dekoodattu, joten johdettu avain oli väärä jokaiselle ASCII:n ulkopuoliselle merkille. Nykyistä PBES2-kaavaa käyttävät tiedostot eivät kärsineet ongelmasta, mistä johtui ero kahden tyypin välillä
  • Korjattu allekirjoituserien validaattorin ja kumoamistodisteiden välimuistin tapa heittää access violation oman virheen sijaan, kun ne luotiin virheellisellä valinnalla: destruktori ajoi ennen kuin vapautettavia jäseniä oli edes luotu
  • Korjattu todisteiden lataustehtävä, joka kaatui destruktorissaan, kun sen argumentit hylättiin, koska tarkistukset ajoivat ennen säikeen itsensä luomista
  • Korjattu cloud-signature-tarjoajan tapa koodata algoritmitunniste, jonka toinen kaari ylittää arvon 39; virheellinen tunniste heittää nyt tarjoajan oman virheen eikä muunnosvirhettä
  • Sertifikaatti- ja allekirjoitussäiliöt hylkäävät nyt sisäkkäisen elementin, jonka esitetty pituus ulottuu sitä sisältävän elementin yli, joten se, mitä validoidaan, ja se, mitä allekirjoitus kattaa, eivät voi enää poiketa toisistaan
  • Yksityisen avaimen arvot pyyhitään muistista RSA-allekirjoituksen jälkeen sen sijaan, että ne jäisivät heapille seuraavaa allokointia varten

Version 2.748.4

Fixed

  • Korjattu Type 1 -fonttien lataus, joka luki jokaisen ominaisuuden fonttiohjelman ensimmäiseltä riviltä: token-listaa täydennettiin tyhjentämättä sitä, joten versio-, perhe- ja painomerkkijonot, stem hintit ja charstring-avaimen pituus luettiin vanhentuneista tokeneista. Type 1 -fontit raportoivat nyt omat metatietonsa
  • Korjattu charstring-avaimen pituus, joka säilytettiin osoittimena jo vapautettuun merkkijonoon ja jota käytettiin ilman aluetarkistusta; nyt se tallennetaan arvona ja rajataan muodon sallimalle alueelle
  • Korjattu upottamattomien fonttien palaaminen aina järjestelmän oletusfonttiin: pyydetty fontin nimi kopioitiin leveämerkkiseen fonttitietueeseen tavu kerrallaan, joten mikään asennetuista fonttiperheistä ei koskaan täsmännyt
  • Korjattu upotettujen TrueType- ja OpenType-fonttien jäsennys lukemasta katkenneen fonttiohjelman lopun yli glyyfien ääriviivoja, yhdistelmäglyyfien argumentteja ja OpenType-säiliön CFF-taulukkoa dekoodatessa, eikä virheellinen merkistökartta pyydä enää negatiivista glyyfitaulukkoa
  • Korjattiin cross-reference-taulukoiden ja streamien esitettyjen objektinumeroiden ylivuoto: merkintä, joka esittää lukua kokonaisluvun rajan tuntumassa, kääntyi negatiiviseksi indeksiksi ja kirjoitettiin taulukon ulkopuolelle, ja esitetty objektilukumäärä tai /Size, paljon suurempi kuin tiedosto voi sisältää, mitoitti lataajan taulukot pelkän esityksen perusteella

Version 2.748.3

Fixed

  • Korjattu Data Matrixin toiminta, jossa se hylkäsi kelvollisen syötteen: symbolin koko arvioitiin jakamalla numeroiden määrä kahdella, mutta vain vierekkäiset numerot jakavat koodisanan, joten teksti kuten 1a2a3a valitsi symbolin, joka oli liian pieni omalle datalle, eikä koodaus onnistunut
  • Korjattiin XFDF:n nelitavuisten UTF-8-merkkien, kuten emojien, dekoodautuminen väärään surrogate-pariin, eikä tuntematon tavu enää niele kolmea seuraavaa merkkiä
  • Enhanced-metafile-tiedoston aluetietueet rajoittavat nyt suorakulmioidensa määrän tietueen kokoon sen sijaan, että luottaisivat alueotsikon määrään, joka saattoi johtaa lukemiseen pitkälle tietueen yli
  • PNG-kuvat, joiden esitetty leveys kertaa korkeus ylittää osoitettavissa olevan alueen, hylätään jo otsikossa sen sijaan, että varattaisiin negatiivisen pituinen pikselipuskuri
  • Kuvien laadukas uudelleennäytteistys raportoi nyt alueen ulkopuolisen pyynnön sen sijaan, että ylittäisi välipuskurinsa koon
  • WebP-meta-etuliitekuva, joka esittää enemmän entropiaryhmiä kuin sillä on pikseleitä, hylätään sen sijaan, että muutamasta sadasta syötetavusta varattaisiin satoja megatavuja etuliitetaulukoita
  • Korjattiin vuodot Aztec-koodauksen, WebP-bittikarttadekoodauksen ja object-stream-dekoodauksen worker-poolin virhepoluilla, joissa myöhemmän vaiheen epäonnistuessa keskeneräinen objekti jäi vapauttamatta

Version 2.748.2

Fixed

  • Korjattu QR Code -symbolien viimeisten koodisanabittien katoaminen: moduulisijoittelun kulku ohitti vasemman reunimmaisen sarakkeen, joten viimeisen virheenkorjauslohkon häntää ei koskaan kirjoitettu symboliin
  • Korjattiin QR-terminaattorin tapa täyttää koko datalohkon loppu nollabitseillä, minkä vuoksi ISO/IEC 18004:n vaatimille 0xEC / 0x11-täytekoodisanoille ei jäänyt tilaa; version 1 symboli kantoi sen sijaan kuutta nollakoodisansaa
  • Uusi testi lukee luodun symbolin takaisin sen moduleista, joten datalohko, täytekoodisanat, virheenkorjauslohko, maski ja sijoittelu tarkistetaan standardia vasten enkoodarin oman tulosteen sijaan

Version 2.748.1

Fixed

  • Korjattiin kolme jäsennintä, jotka jäivät jumiin virheelliseen syötteeseen ilmoittamisen sijaan: objektijäsennin >>-merkkiin taulukossa tai ]-merkkiin sanakirjassa, CMap-lukija harhaiseen sulkimeen ja XFDF-lukija rakenteeseen, jolta puuttuu tagin nimi (esimerkiksi dokumenttityyppimäärittely), tai harhaiseen tavuun attribuuttien välissä. Jokainen niistä lopetti kursorinsa etenemisen, joten yksi odottamaton tavu teki jäsennyksestä loputtoman silmukan
  • Korjattiin XFDF:n CDATA-osioiden lukeminen merkkauksena: niiden sisältö otetaan nyt elementin tekstinä ja osiomerkitsin mitataan oikein ensimmäisen merkin nielemisen sijaan
  • Korjattiin lähes 2 GB:n WebP-lohkopituuden ylivuoto kokotarkistuksessa, minkä vuoksi payload-kopio luki tiedostopuskurin lopun yli; lohkopituudet tarkistetaan nyt 64-bittisellä aritmetiikalla
  • Korjattiin 0xFFFFFFFF pituinen PNG-lohko, joka vapautti lohkopuskurin vielä silloin, kun lohko ilmoitti esitettyä pituuttaan, jolloin myöhemmät lukemat osoittivat jo vapautettuun muistiin; ylipitkät lohkot hylätään
  • Korjattiin CCITT-faksin dekoodauksen rivipuskurin kokolaskennan ylivuoto erittäin suurilla esitetyillä sivugeometrioilla, mikä saattoi kirjoittaa puskurin yli; rivivarasto on nyt rajattu ja dekoodaus pysähtyy siististi rajaan
  • Korjattiin CCITT-enkooderin tapa lukea yksi tavu skannausrivin lopun yli, kun leveys on jaollinen kahdeksalla
  • Korjattiin enhanced-metafilen kommenttitietueiden lukeminen 32 bittiin katkaistulla osoittimella 64-bittisissä käännöksissä, mikä luki epäolennaista osoitetta jokaisesta GDI-kommentin sisältävästä EMF:stä
  • Korjattiin alle 256 palettimerkinnän 8-bittisten kuvien tapa julkaista alustamatonta muistia väritaulukkonsa häntänä; taulukko ilmoittaa nyt oikean merkintämääränsä
  • Korjattiin syvästi sisäkkäisten määrittelemättömän pituisten BER-rakenteiden stackin loppuun kuluttaminen allekirjoitus- tai sertifikaattisäiliötä jäsennettäessä; yli 128 tason sisäkkäisyys hylätään

Version 2.748.0

Fixed

  • Korjattiin jokaisen kirjaston piirtämän 2D-viivakoodin virheenkorjaus: QR Code, Data Matrix, PDF417 ja Aztec rakensivat generoivan polynominsa vakiotermistä ylöspäin, mutta jakivat sillä niin kuin ensimmäinen termi olisi tullut ensin, joten jokainen symboli kantoi tarkistussanoja, joita mikään standardin mukainen lukija ei hyväksy. Tarkistussanat vastaavat nyt ISO/IEC 18004:n, ISO/IEC 16022:n ja ISO/IEC 15438:n laskuesimerkkejä
  • Korjattiin Aztec-symbolien payloadin katoaminen: enkooderi jakaa koodisanataulukon paikallaan ja kutsuja tulostaa saman taulukon, joten viestisanat ylikirjoittuivat jaossa, eikä symbolissa ollut enää dataa tai kelvollista mode-viestiä
  • Korjattiin Data Matrixin generoivan polynomin juurien aloittaminen yhden potenssin liian matalalta, mistä syntyi eri polynomi kuin se, jonka ISO/IEC 16022 liite E määrää
  • Korjattiin Data Matrixin hakukuvio: yhtenäinen L on nyt vasen sarake ja alarivi, ja vuorotteleva kelloura ylärivi ja oikea sarake, kumpikin alkaen tummasta kulmasta, jonka ne jakavat L:n kanssa. Parit oli vaihdettu keskenään, joten lukijat eivät osanneet määrittää symbolin suuntaa

Version 2.747.4

Fixed

  • Korjattu, että ladattujen asiakirjojen muokkaus kirjoitti PDF-luvut järjestelmän desimaalierottimella: sivujen yhdistäminen, suorakaiteiden mustaus, teksti- ja kuvaleimat, yhdistelmävesileimojen muodot ja ellipsien ulkoasut kirjoittavat nyt aina pisteen, joten asiakirjat, joita on muokattu pilkkua desimaalierottimena käyttävissä asetuksissa (esimerkiksi saksankielinen tai ranskalainen Windows), eivät enää sisällä content streamia, jotka katselinohjelmat hylkäävät
  • Korjattu Type 1 -fonttien lataus, joka riippui järjestelmän kieliasetuksesta: FontMatrix-, BlueValues-, stem hint- ja charstring-desimaaliluvut luetaan PostScript-lukuina pisteellä, joten PFB-fontit säilyttävät mittatietonsa ja ääriviivansa pilkkujärjestelmissä hiljaisen hajoamisen sijaan
  • Korjattu oletusulkoasun (/DA) fonttikoon ja värin jäsennys, HTML:n width- ja size-attribuutit, FormCalc-tulokset ja job JSON -luvut seuraamaan prosessin alueasetuksia; ne käyttävät nyt invarianttia muotoa kaikkiin suuntiin
  • Korjattiin sisäänrakennetun viivakoodipiirron tapa kirjoittaa palkkisuorakulmionsa alueasetuksista riippuvalla muodolla, mikä tuotti virheellisen content streamin pilkkujärjestelmässä
  • Free Pascal -käännökset jäsentävät ja muotoilevat nyt content stream -operandit, tekstinpoiston mittatiedot ja JavaScript-luvut invariantilla muodolla Delphi-käännösten mukaisesti alueasetuksista riippuvan muunnoksen sijaan
  • Numerokirjoitin ei enää ylikirjoita isäntäsovelluksen globaalien muotoiluasetusten desimaalierottinta jokaisella kutsulla, mikä muutti sitä, miten ohjelman muu osa muotoili omat lukunsa, ja oli turvatonta, kun usea säie tuotti asiakirjoja yhtä aikaa

Version 2.747.3

Fixed

  • Korjattu, että ladattujen asiakirjojen muokkaus kirjoitti PDF-luvut järjestelmän desimaalierottimella: sivujen yhdistäminen, suorakaiteiden mustaus, teksti- ja kuvaleimat, yhdistelmävesileimojen muodot ja ellipsien ulkoasut kirjoittavat nyt aina pisteen, joten asiakirjat, joita on muokattu pilkkua desimaalierottimena käyttävissä asetuksissa (esimerkiksi saksankielinen tai ranskalainen Windows), eivät enää sisällä content streamia, jotka katselinohjelmat hylkäävät
  • Korjattu Type 1 -fonttien lataus, joka riippui järjestelmän kieliasetuksesta: FontMatrix-, BlueValues-, stem hint- ja charstring-desimaaliluvut luetaan PostScript-lukuina pisteellä, joten PFB-fontit säilyttävät mittatietonsa ja ääriviivansa pilkkujärjestelmissä hiljaisen hajoamisen sijaan
  • Korjattu oletusulkoasun (/DA) fonttikoon ja värin jäsennys, HTML:n font size -attribuutit, FormCalc-tulokset ja job JSON -luvut seuraamaan prosessin alueasetuksia; ne käyttävät nyt invarianttia muotoa kaikkiin suuntiin
  • Free Pascal -käännökset jäsentävät ja muotoilevat nyt content stream -operandit, tekstinpoiston mittatiedot ja JavaScript-luvut invariantilla muodolla Delphi-käännösten mukaisesti alueasetuksista riippuvan muunnoksen sijaan

Version 2.747.2

Added

  • Lisätty Free Pascal Win32 -tuki: Lazarus-paketti kääntyy nyt sekä i386-win32 että x86_64-win64 -kohteille omien käännöspäätepisteidensä kautta, savutestit hyväksyvät arkkitehtuuriargumentin, ja 32-bittisen kääntäjän sekä C-symbolilinkityksen ongelmat on korjattu; PDF-luonti, lataus, Flate-pakkaus, AES-salaus ja CBZ-asiakirjojen käsittely on katettu kummallakin kohdearkkitehtuurilla

Version 2.747.1

Fixed

  • Korjattu sisäänrakennetun viivakoodin dekooderin rotated-mask-uudelleenyritys, joka jätti vanhentuneita tavuja kierrätetyn maskin käsittelemättömiin soluihin — se keksi haamumustetta ja teki neljänneskäännetyistä Code 39 -symboleista lukukelvottomia; kierrätetty puskuri nollataan nyt nimenomaisesti, joten käännettyjen Code 39 -valokuvien ja -skannausten dekoodaus onnistuu rotaatio-uudelleenyrityksen kautta

Version 2.747.0

Added

  • Lisätty WebP-kuvien tuonti: AddImageFromFile hyväksyy nyt .webp-tiedostot sisäänrakennetun häviöttömän (VP8L) dekooderin kautta, joka toteuttaa RFC 9649:n — kanoniset etuliitekoodit, spatiaaliset meta-etuliitekoodit, LZ77-takaisinviittaukset naapuruusetaisyykskartan kanssa, värivälimuistin ja kaikki neljä käänteismuunnosta (predictor, color, subtract-green, color indexing with pixel bundling); häviölliset VP8-kehykset hylätään selkeällä viestillä

Version 2.746.0

Added

  • Sisäänrakennettu viivakoodin dekooderi lukee nyt QR-symbolit missä tahansa kahdeksasta asennosta, jossa kuvattu tai skannattu sivu voi saapua: finder-kuviot tunnistavat puuttuvan kulman ja näytteistetty moduulimatriisi kierrätetään tai peilataan odotettuun asetteluun ennen dekoodausta, joten neljänneskäännetyt ja peilatut otokset luetaan ilman esikäsittelyä

Version 2.745.0

Added

  • Lisätty eIDAS-kvalifioitujen varmenteiden arviointi ladatuille allekirjoituksille: GetLoadedSignatureQCStatements raportoi allekirjoittajan varmenteen ETSI EN 319 412-5 QCStatements-lausekkeet — QcCompliance-, QcSSCD- ja QcType-arvot, QcLimitValuen valuutan/summan/eksponentin sekä PDS-sijainnit — plus TS 119 495 PSD2:n maksajan ja saajan roolit, ja käynnistää kvalifioidun allekirjoituksen heuristiikan, kun QcCompliance ja QcSSCD on molemmat esitetty (QTSP-luottamuspäätös jää kutsujalle)

Version 2.744.0

Added

  • Lisätty N-up-impositio ladatuille dokumenteille: ComposeLoadedPagesNUp uudelleenvirtaa jokaisen sivun ruudukkomuotoisille lähdepaperin kokoisille arkeille (2-up, 4-up, 6-up, aina 16x16 asti) painovalmiiksi tulosteeksi — imien jokaisen sivun /Rotate-kierron sijoittelumatriisiin, jakamalla sivuresurssit koostetun lomakkeen kanssa ja piirtäen valinnaisesti hiuksenhienot solukehykset säädettävällä raitavälillä

Version 2.743.0

Added

  • FlattenLoadedAnnotations baketaa nyt annotaatiot, joilla ei ole appearance-streamia, sen sijaan että ohittaisi ne hiljaisesti: widgetit saavat kenttäarvosta ensin luodun kenttäappearance-esityksen (/NeedAppearances-tapaus, joka on yleinen selaimella tulostetuissa lomakkeissa), joten syötetty arvo säilyy sivusisällössä
  • /AP-ttömät markup-annotaatiot saavat synteettisen appearance-esityksen omista ominaisuuksistaan piirrettynä — FreeText- ja Stamp-tekstit /DA-tyylittelyllä ja /Q-tasauksella, Square- ja Circle-muodot /C / /IC-väreillä ja /BS-leveydellä, Line- ja Ink-viivaukset sekä Highlight / Underline / StrikeOut / Squiggly -neliömarkupit, jotka kunnioittavat /QuadPointsia ja /CA-opasiteettia
  • Piilotetut annotaatiot (/Fin hidden-lippu) jätetään annotaatioiksi, kun niillä ei ole appearancea, koska näkymättömän muistiinpanon baketaus tekisi siitä näkyvän

Version 2.742.0

Fixed

  • Korjattu Free Pascal -pakettikäännösten epäonnistuminen versiosta 2.738.0 alkaen: LTV-todisteiden ja seed-value-jäsenten määrittelyt oli sijoitettu vain Delphi-ehtolohkon sisään, kun taas niiden toteutukset olivat ehdottomat, joten Free Pascal -paketti ei enää kääntynyt; toteutukset kantavat nyt samaa ehtoa ja paketti kääntyy taas

Version 2.742.0

Added

  • HTML-tuonti ratkaisee taulut nyt täydellä miehitysruudukolla, joten rowspan- ja colspan-solut vaativat sarakkeensa oikein ja myöhemmät rivit ohittavat varatut paikat sen sijaan että siirtyisivät vasemmalle
  • Taulun rivikorkeudet tulevat solutekstin rivityksestä solun omalla fontilla merkkimääräarvion sijaan, joten sekaiset kapeat ja leveät sisällöt eivät enää tuota ylivuotavia tai ylimitoitettuja soluja
  • Sarakkeiden leveydet noudattavat <col>-leveysvihjeitä ja solukohtaisia leveysattribuutteja, ja <thead>illa merkityt otsikkorivit (tai alussa olevat pelkkiä <th>:tä sisältävät rivit) toistuvat jokaisen jatkosivun yläpuolella, kun taulu ylittää sivunvaihdon
  • Rowspan-ryhmä pidetään kokonaisena sivunvaihtojen yli: yhdistävän solun yhdistämät rivit siirtyvät seuraavalle sivulle yhdessä, joten yhdistävää solua ei koskaan leikata

Version 2.741.0

Fixed

  • Korjattu Free Pascal -käännösten lopettaminen virheen ilmoittamisen sijaan, kun dokumentti tarvitsi jotakin kodekkia, jota kyseiset käännökset eivät linkitä: TIFFin avaaminen, JPEG 2000 - tai JBIG2-kuvan dekoodaus, progressiivisen tai pienennetyn JPEGin lukeminen, ICC-värimuunnoksen soveltaminen tai Zopfli-uudelleenpakkauksen pyytäminen lopetti prosessin suoraan
  • Jokainen näistä operaatioista epäonnistuu nyt sillä tavalla kuin kutsuja jo odottaa, joten dokumentti, joka käyttää jotakin niistä, latautuu kyseinen ominaisuus ohittaen kaatamatta sovellusta

Version 2.741.0

Added

  • Lisätty rakennejärjestyksellinen tekstin poiminta: ExtractLoadedPageStructureText kulkee dokumentin rakennepuun läpi tekijän järjestyksessä (ISO 32000-1 14.8.4) ja yhdistää sivun marked-content-ajot MCID:n mukaan, joten tagitetut dokumentit kuten viranomaislomakkeet ja saavutettavat julkaisut poimivat auktoritatiivisen lukujärjestyksensä geometrisen arvauksen sijaan; glyyfit, joita puu ei koskaan vaadi, putoavat geometriseen häntään ja lasketaan tagittamattomien raporttiin

Version 2.740.0

Fixed

  • Korjattu väriglyyfien läpinäkyvyyden katoaminen Free Pascal -käännöksissä: upotetut väribittikartat luettiin polkua pitkin, joka hylkää alfakanavan, joten jokainen emoji- tai värikirjasintyyppinen glyyfi piirrettiin läpinäkymättömänä suorakulmiona. Bittikartat säilyttävät nyt pikselikohtaisen alfansa

Version 2.740.0

Fixed

  • P-384 ECDH -avainsopimus otettiin käyttöön: CIOS Montgomery -kertolaskun lopullinen ehdollinen vähennyslasku vertasi P-limbiin plus lainaa, mikä kiersi nollaan P-384 / P-521 -alkulukujen ykkösiin täytettyjen ylempien limbien kohdalla ja lainasi hiljaisesti väärin; vertailu havaitsee nyt lainan ilman ylivuotoa aiheuttavaa yhteenlaskua, ja P-384:n jaettu salaisuus täsmää OpenSSL:n referenssivektoreihin tavu tavulta

Version 2.739.0

Added

  • Free Pascal -käännökset salaa ja purkavat nyt dokumentteja: AES-päätepisteitä palvelee kirjaston oma FIPS-197-toteutus unsupported-operation-virheen ilmoittamisen sijaan, joten AES-128- ja AES-256-suojattuja tiedostoja voi luoda ja avata niissä
  • AES-GCM-salaus ja -dekryptaus, mukaan lukien suuria hyötykuormia varten käytetty streaming-konteksti, ovat käytettävissä Free Pascal -käännöksissä
  • Free Pascal -smoketest tarkistaa nyt salaimen FIPS-197-tunnetulla vastauksella, harjoittelee PKCS#7- ja GCM-round tripit sekä luo ja lataa uudelleen AES-256-suojatun dokumentin salasanan hylkäyksellä

Version 2.739.0

Added

  • Lisätty CSS2.1-kappaleetypografia HTML5-tuontimoottoriin: text-align (legacy align -attribuutilla ja center-tägin kuvauksella), letter-spacing ja word-spacing PDF:n Tc / word-space-operaattoreilla, text-indent ensimmäisen rivin sisennyksiin sekä text-decoration underline / line-through -säännöt, joten olemassa olevat web- ja sähköposti-HTML-tuonnit säilyttävät keskitetyt otsikot, sisennyksensä ja alleviivauksensa
  • Sisäänrakennettu QR-dekooderi laajeni version 1 ohi: symbolin versio johdetaan nyt finder-geometriasta ruudukon jaollisuuden kautta (versiot 2-40 puhtaalla moduuliruudukolla dekoodautuvat), byte-mode-pituuskatto noudattaa ISO/IEC 18004:n taulukon 7 kapasiteettia versiota kohden ja funktiomoduulikartta kattaa alignment-kuviot ja versiotietolohkot korkeammille symboleille

Version 2.738.0

Added

  • Free Pascal -käännökset pakkaavat ja purkavat nyt dokumentteja natiivisti: deflate-kodekin tarjoaa sisäänrakennettu tausta Free Pascal mukana toimitetun Pascal-zlib-toteutuksen päällä, joten FlateDecode-sisältö ei enää ilmoita unsupported-operation-virhettä
  • Pakattuja dokumentteja voi luoda ja ladata uudelleen Free Pascalissa oletuspakkausasetuksella, ja ristiviitevirrat, objektivirrat, upotetut tiedostot ja pakattu sivusisältö dekoodautuvat kaikki siellä
  • Tausta kattaa zlib- ja raakadeflate-kääreet, gzip-kääreen ja automaattisen headerin tunnistuksen, joten SVG-tuonnit ja moniikkunakokoinen dekompressiofallback toimivat kuten Delphissä
  • Free Pascal -smoketest varmistaa nyt kodekin kääre- ja tarkistussumma-omatestilla sekä pakatun dokumentin round tripillä

Version 2.738.0

Added

  • Lisätty AIA caIssuers -ketjun täydennys: HPDFFetchAIAIntermediates kulkee CMS-varmennesetin access-method 1.3.6.1.5.5.7.48.2 -päätepisteiden läpi kutsujan transportin kautta (sekä paljaat DER- että PEM-rungot dekoodautuvat), ja FetchMissingIntermediates-validointiasetus syöttää haetut välivarmenteet polunrakennukseen, joten pilviallekirjoittajan allekirjoitukset, joilla on yksinäinen loppuentsiteettivarmenne, validoivat path buildingin epäonnistumisen sijaan
  • Lisätty yhden kutsun LTV-aktivointi: PopulatePAdESLTVEvidence kulkee jokaisen ladatun allekirjoituksen läpi, hakee sen välivarmenteet plus OCSP/CRL-todisteet verkosta ja kirjoittaa materiaalin dokumentin DSS:ään, päivittäen tuoreen B-B-allekirjoitusdokumentin B-LT:ksi ilman käsin koottuja todistetaulukoita
  • Lisätty seed-value-valvonta allekirjoituksille: CheckLoadedSignatureSeedValue lukee allekirjoituskentän /SV-sanakirjan ja tarkistaa ehdokkaan SubFilterin, DigestMethodin, Reasonin ja DocMDP-profiilin sen rajoituksia vastaan ISO 32000-1 12.7.5.5:n force-bit-semantiikalla, joten lomakkeen tekijän rajoituksia kunnioitetaan ennen allekirjoituksen asettamista

Version 2.737.0

Added

  • Lisätty tiukka tallennuksen varmennus VerifySavedOutput-ominaisuuden kautta: kirjoittamisen jälkeen tuore lukijainstanssi, jolla on ristiviitepalautus pois päältä, lataa tiedoston uudelleen, joten rikkoutunut serialisointi nostaa poikkeuksen kutsupaikassa sen sijaan että ilmenisi seuraavalla kuluttajalla
  • ReproducibleOutput laajeni salattuihin dokumentteihin: AES-CBC-virrat käyttävät staattista 14*(1+i)-IV-käytäntöä, avaimen materiaali ja suolat johdetaan deterministisesti ja kanoninen dokumentti-ID normalisoi muuttuvat Info-aikaleimat, tuottaen tavuidenttisiä salattuja tallennuksia regressioputkille

Version 2.736.0

Added

  • Lisätty korkealaatuinen uudelleennäytteistys ja monokromidithering uuden HPDFResample-yksikön kautta: separoivat Catmull-Rom-bicubic- ja Lanczos3-kernelit korvaavat GDI-stretch-semantiikan kuvien alinäytteistyksessä ImageDownsampleKernel-ominaisuuden kautta, ja RenderOutputDither soveltaa Floyd-Steinberg-virhediffuusiota sivukoostamisen jälkeen, joten tulostusesikatselun tuloste säilyttää valokuvamaisen yksityiskohdan puhtaassa mustavalkoisessa

Version 2.735.2

Fixed

  • Korjattu Flate-dekompressiovirrat, jotka välittivät puskurimuuttujansa osoitteen itse puskurin sijaan täytettäessä niitä lähdevirrasta — tämä vioitti muistia jokaisella luvulla ja voi kaataa prosessin; pakattujen dokumenttien lataaminen, inflate-virtaluokat sekä pakkaus- ja dekompressiovirta-apurit ovat kaikki vaikuttuneita

Version 2.735.1

Fixed

  • Korjattu datalähteettömät kasvavat XFA-kentät kutistumasta yhdeksi riviksi litistettäessä: niiden korkeus mitataan nyt tekstistä, jonka mallipohja itse ilmoittaa — se on mitä tällainen kenttä näyttää. Tyhjään dataan sidottu kenttä mittautuu yhä tyhjäksi

Version 2.735.0

Added

  • Free Pascal -käännökset kattavat nyt koko kirjaston: jokainen yksikkö kääntyy FPC 3.2.2:lla ja Lazaruksella, kun aiemmin vain ydinluonti- ja latauspolku kääntyi
  • XPS-, EPUB- ja CBZ-kontteja voi tuoda Free Pascalissa sisäänrakennetun vain luku -ZIP-lukijan kautta, joka käsittelee ZIP64-koot, store- ja deflate-merkinnät, CRC-varmennuksen ja perinteisesti salatut merkinnät samalla salasanacallbackilla kuin Delphi-polku
  • XFA-lomakkeiden litistys, FormCalc-laskentamoottori, widget-runtime, dokumenttikatselinkomponentit, Type 1 -fonttikäsittelijät, HTML-tuonti, allekirjoitusten varmennus ja job runner kaikki kääntyvät Free Pascal -käännöksissä; ladatun dokumentin XFA-pakettien litistäminen tarvitsee lisäksi deflate-kodekin, jota kyseiset käännökset eivät linkitä

Fixed

  • Korjattu PNG-avustajayksikön 64-bittinen tavujen vaihto, joka palautti vääriä arvoja Win64:llä ja oli jättänyt yksikön kokonaan pois käännöksestä

Version 2.735.0

Added

  • Lisätty piirtoajan puuttuvien glyyfien tunnistus: TrackUnresolvedGlyphs-ominaisuus kirjaa jokaisen koodipisteen, joka renderöityisi .notdef-tofu-laatikkona aktiivisen Unicode-kasvon kautta, laukaisee OnUnresolvedGlyph-tapahtuman joka havainnosta ja jättää rekisteröimättömät puhtaaseen GDI:hin pohjautuvat dokumentit rauhaan
  • Lisätty legacy kern -taulun tuki: RegisterUnicodeTTF kaappaa Apple/GDI-aikakauden kern-taulun ja kerningin emitointi palautuu sen format-0-binaariseen parihakuun, kun fontilla ei ole GPOS kern -hakuja, palauttaen klassisen parivälityksen fonteissa kuten vakio-Arialissa
  • Lisätty ajokohtainen fonttifallback kappaleasettelun sisällä: WideTextOutBox jakaa nyt jokaisen rivitetyn rivin koodipisteistä, joita nykyinen fontti ei voi kuvata, ja piirtää jokaisen ajon ratkaistulla fallback-fontillaan, joten sekaiset latin, emoji- ja CJK-kappaleet renderöityvät ilman tofuja, kun fallback-ketjut on rekisteröity

Version 2.734.0

Added

  • Lisätty RFC 3161 -aikaleimapyynnön putkisto: HPDFRFC3161BuildRequest emittoi DER TimeStampReq:n tuoreella positiivisella INTEGER-noncella, valinnaisella policy-OIDilla ja certReqillä, ja HPDFRFC3161ParseResponse dekoodaa PKIStatusInfo-headerin ja poimii tokenin, joten TSA-transport-callbackit ovat kolme riviä DER-opiskelun sijaan
  • Lisätty ISO/TS 32002 -kehittäjälaajennuksen ilmoitus (THotPDF.EnsureISO32002Extensions), joka kattaa EdDSA-allekirjoitusalgoritmit ja ylimääräiset ECDSA-käyrät PDF 2.0 -dokumenteissa — idempotentti ja versioporteilla varustettu kuten 32001:n SHA-3-ilmoitus

Version 2.733.0

Added

  • Lisätty kannettava X25519- ja X448-Montgomery-tikapuuavainsopimus plus P-256 / P-521 NIST-käyrän ECDH CIOS Montgomery -kertolaskulla, mikä mahdollistaa avainsopimuspohjaisten (KARI) julkisen avaimen vastaanottajien luomisen ja purkamisen kokonaan prosessin sisällä; RFC 7748 ja OpenSSL:llä generoidut referenssivektorit lukitsevat tikapuukäyttäytymisen regressiotestisarjaan
  • Lisätty HPDFUnwrapKeyAgreementRecipientEnvelope yhdessä AddPubSecAgreementKeyMaterial- ja AddPubKeyAgreementRecipientWithSecret-päätepisteiden kanssa, joten ECDH / X25519 / X448 -vastaanottajilla salatut dokumentit voidaan avata vastaanottajan yksityisellä skaalaarilla ja salata ilman ulkoisia ECDH-työkaluja

Version 2.732.0

Changed

  • Tallennukset reitittävät nyt serialisoijan tulosteen 1 MiB puskuroidun kirjoitusvirran kautta, yhdistäen olioiden headerien, sanakirja-avainten ja xref-rivien tokenikohtaiset Write-kutsut niputuiksi työnnöiksi tiedostopohjaisiin kohteisiin
  • Ristiviitevirran hyötykuormat soveltavat PNG Up -ennustusta (/DecodeParms /Predictor 12) ennen FlateDecodeä ja tiivistävät free-list-reiät /Index-aliotsikoiden kautta, pienentäen xref-kontteja jokaisella PDF 1.5+ -dokumentilla ja harvoilla oliolalueilla
  • CompressionLevel-ominaisuus valitsee nyt myös ristiviitevirran ja object-stream-konttien Flate-panostuksen, joten clMaximum tuottaa pienempiä rakentevirtoja tallennuksen aikana

Fixed

  • Ristiviitevirran /W-kenttien leveydet mukautuvat nyt todelliseen siirtymäalueeseen kiinteän [1 4 2] -asettelun sijaan, jonka Cardinal-muunnos katkaisi hiljaisesti yli 4 GiB:n siirtymät vaurioituneeksi tulosteeksi

Version 2.731.0

Changed

  • Sisäänrakennettu template matching -OCR rakennettiin uudelleen yhtenäiskomponenttipohjaisella glyyfien poiminnalla, harmaasävykattavuuden pisteytyksellä välimuistitettuja monifonttipohjamalleja vastaan, Otsu-binarisaatiolla paikallisikkunafallbackilla, bimodaalilla välisananjakamisella, sanoittain perusviivoilla, täpläkohinan hylkäyksellä sekä laajennetulla 62 merkin aakkostolla, joka tunnistaa isoja ja pieniä kirjaimia sekoittavan ASCII-tekstin rivitason korkeusklusteroinnilla ja kirjainkokokontekstin preferenssillä

Version 2.730.0

Added

  • Lisätty Win64-tuki Free Pascal 3.2.2:lle ja Lazarus 4.6:lle — mukaan lukien runtime-paketti, toistettava käännösskripti, yhteensopivuuskerros ja ei-GUI create-and-reload-smoketest; natiivit staattiset kodekki-integraatiot ovat edelleen vain Delphille ja ilmoittavat nimenomaisen unsupported-operation-virheen Free Pascal -käännöksissä

Version 2.729.0

Added

  • Lisätty isäntäneutraali dynaaminen XFA-widget-runtime Unicode-muokkauksella, fokus- ja osumatestauksella, instanssitietoisella sidonnalla, atomisella validoinnilla ja laskennalla, rajatulla reflow-käyttäytymisellä sekä vain luku -muotoisella ladattujen dokumenttien tehtaalla, joka säilyttää lähteen XFA:n

Version 2.728.0

Fixed

  • XFA:n sisäinen mittaus ja tekstin jatkaminen korjattiin säilyttämään nimenomaiset tyhjät ja lasketut arvot, käyttämään kenttä- tai toistetun rivin sidontakontekstia, säilyttämään breakAfter-toiminnot, välttämään synteettisten nimien törmäykset ja valvomaan välimuistitettua globaalia mittausbudjettia

Version 2.727.0

Changed

  • XFA-asettelu soveltaa nyt sisäisiä minimi- ja maksimimittoja, mittaa kasvavat kentät niiden sidotusta tekstistä ja jakaa atomisesti kelvollisen textEdit-sisällön content-alueiden ja sivujen yli vain luku -jatkokentillä sekä rajatuilla teksti-, fragmentti- ja mittausbudjeteilla

Version 2.726.0

Added

  • Lisätty täydelliset NChannel process- ja spot-attribuutit, mixing-hintit, rajatut PDF 2.0 CxF/X-4-spektriinkivirrat sekä dokumenttitason yhdenmukaisuustarkistukset spot-sävyjen määrittelyille ja ulkoisille output-intentin väriainetauluille

Version 2.725.0

Added

  • Lisätty säieturvallinen deterministinen SIMD-scanline-renderöintitausta, joka esitarkistaa tuetut suorakulmaiset display-listat, kirjoittaa lopullisen bittikarttapinnan vektorilohkoina ilman välivaiheen bittikartiakopiota ja palauttaa tarkat pyyntökohtaiset hylkäyssyt olemassa olevan software-fallback- ja telemetriaputken kautta

Version 2.724.0

Changed

  • Rajattu natiivi FormCalc-evaluaattori laajeni yleisillä SOM-node-set-aggregaateilla, sekoitetuilla skaalari- ja node-set-argumenteilla, sisäkkäisillä numeerisilla ja merkkijonokutsuilla sekä deterministisillä valinta-, merkkijono-, trigonometrisilla, logaritmisilla ja konversiotoiminnoilla olemassa olevien operaatio-, taulukko-, syvyys-, aika- ja tulostebudjettien puitteissa

Version 2.723.0

Changed

  • SubsetLoadedFonts alijoukkoistaa nyt turvallisesti upotetut Type 1 PFB- sekä jaetut binääri- ja heksa-PFA-ohjelmat, säilyttää rekursiiviset TrueType-composite-riippuvuudet ja sulkee COLR v0/v1-outline-riippuvuudet pitäen väri-, bittikartta-, variointi- ja shaping-taulut ennallaan

Version 2.722.0

Added

  • Lisätty rajatut salasanacallbackit klassisille ZIP-salatuille XPS-, EPUB- ja CBZ-merkinnöille — mukaan lukien merkintäkohtaiset uudelleenyritysrajat, perutustarkistukset, vain muistiin pohjautuva tunnisteen käsittely sekä fail-closed-hylkäys pois käytöstä olevalle, virheelliselle tai tukemattomalle salaukselle

Version 2.721.0

Changed

  • DownsampleLoadedImages skaalaa nyt tuetut 8-bittiset Separation- ja DeviceN-kuvanäytteet suoraan komponenttiavaruudessa ja säilyttää alkuperäisen väriavaruusgraafin, tint-muunnoksen, väriaineet, /Decode-alueet ja overprint-semantiikan tallennuksen ja uudelleenlatauksen yli

Version 2.720.0

Added

  • Lisätty rajatut sisäänrakennetut tunnistusylikuormitukset korkeakontrastiselle versaalitilaiselle ASCII-OCR:lle, vaakasuoralle Code 39:lle ja siisteille akseleiden suuntaisille QR version 1 byte-mode -symboleille — salliakseen haettavat tekstikerrokset ja ladattujen sivujen viivakoodin dekoodauksen ilman kutsujan toimittamaa moottoria, kun taas monimerkityksellinen tai tukematon syöte epäonnistuu suljetusti

Version 2.719.0

Added

  • Lisätty rajattu JPEG 2000 -tarkennus resoluution ja laatukerroksen mukaan metodin THPDFJpeg2000Decoder.LoadProgressiveFromByteArray kautta sekä monikerroksinen enkoodaus ominaisuuden TJpeg2000Bitmap.QualityLayers kautta — identtisillä lopullisilla pikseleillä LRCP-, RLCP-, RPCL-, PCRL- ja CPRL-progressionjärjestyksillä

Version 2.718.0

Changed

  • Upotettiin täydelliset UniJIS-, UniGB-, UniCNS- ja UniKS UCS2- ja UTF16-vaaka- ja pystyCMapit, mukaan lukien lisäskalaarit ja standardit pystyoletukset, joten CJK-tekstin poiminta ja geometria eivät enää riipu ulkoisista Unicode-mappaustiedostoista tai puolen em:n arvauksista

Version 2.717.0

Added

  • Lisätty nimenomaiset linearisoidut jaettujen objektien riippuvuusalueet ja alueen saapumisen redraw-aikatauluttaja, joten sivut voivat piirtyä ennen kuin kaikki valinnaiset riippuvuudet saapuvat ja piirtyä uudelleen täsmälleen silloin, kun uusi saatavilla oleva data muuttaa tulosta

Version 2.716.0

Added

  • Lisätty rajattu oliograafin korjaus toimintakelpoisille xref-, trailer-, katalogi-, sivupuu- ja nimipuu-preflight-havainnoille validoidulla transaktiocommitilla ja täydellisellä rollbackilla turvattomalla tai monimerkityksellisellä syötteellä

Version 2.715.0

Added

  • Lisätty PDF 2.0 -salatut payload-kääreet, joiden näkyvä dokumenttisältö pysyy luettavana ennen autentikointia, kun taas upotettujen tiedostojen nimet, kuvaukset ja tavut pysyvät suojattuina nimenomaiseen salasanan avaamiseen asti

Version 2.714.0

Changed

  • Ladattujen sivujen SVG-vienti emittoi nyt aksiaaliset ja radiaaliset gradientit, Type 4:stä Type 7:ään ulottuvien mesh-shadingien rajatut PNG-esitykset sekä dekoodatut inline-kuvat ilman vastaavien skip-laskureiden kasvatusta

Version 2.713.0

Changed

  • OpenType SVG -väriglyyfit käyttävät nyt rajattua Form XObject -putkea kaarille, vektorigradienteille, opasiteetille, geometrisille maskeille ja paikalliselle #id-uudelleenkäytölle jatkaen skriptien, ulkoisten resurssien, kuvien ja tukemattoman aktiivisen sisällön hylkäystä

Version 2.712.0

Changed

  • ReplaceLoadedPageText korvaa nyt TJ-merkkijonokohteiden ja -taulukoiden yli ulottuvat osumat glyyfilähdewälien kautta säilyttäen kerningnumerot, täsmäämättömät etu- ja jälkiliitteet, epäolennaiset operandit sekä alkuperäisen content-stream-rakenteen

Version 2.711.0

Added

  • Lisätty CFF FontSetin SyntheticBase-resoluutio perityillä Top- ja Private-DICT-arvoilla, CharStringseillä, charsetillä, Encodingilla ja Local Subrsilla sekä deterministisillä ohitussemaantiikoilla ja rajatulla hylkäyksellä virheelliselle, sykliselle tai liian syvälle perinnälle

Version 2.710.0

Added

  • Lisätty deterministinen rajattu Flate-ennustimen valinta metodin HPDFSelectFlatePredictor kautta — hajautetuilla rivinäytteillä, arvioidulla tavukustannuksella, säädettävällä CPU-painotuksella sekä nimenomaisilla tavu-, rivi- ja työmäärärajoilla

Version 2.709.0

Added

  • Lisätty valinnainen natiivi JBIG2 Huffman -symbolisanakirja- ja tekstialuetuloste ominaisuuden THPDFJBIG2Options.UseHuffmanEncoding kautta — mukaan lukien standardit DH-, DW-, BMSIZE-, FS-, DS- ja DT-taulut, raakat kolektiiviset bittikartat, symboli-ID-taulut, deterministinen natiivi reititys ja pikselintarkat dekooderin round tripit säilyttäen arithmetic- ja MMR-oletukset

Version 2.708.0

Changed

  • Arabian ja yhdistettyjen presentation-formien käänteiset cmap-kuvaukset välimuistitetaan rekisteröityjen fonttien sukupolvittain, korvaten toistuvat U+FB00..U+FDFF- ja U+FE70..U+FEFF-skannaukset metodeissa ApplyArabicGSUBRefinement, ApplyArabicGSUBContextualRefinement ja geneerisellä kontekstuaalisella GSUB-polulla säilyttäen koodipisteen etusijan ja muokatun tulosteen

Version 2.707.0

Added

  • Lisätty Aztec-2D-viivakoodikooderi (ISO/IEC 24778) metodin THPDFPage.DrawAztec ja erillisen THPDFAztec-yksikön kautta: dynaamisella ohjelmoinnilla toimiva korkean tason enkoodaus moodilukoilla, siirroilla ja binary-shift-ajoilla, bit stuffingilla, Reed-Solomon-virheenkorjauksella GF(16):sta GF(4096):een, automaattisella kompaktin 15x15..27x27 tai täyden 19x19..143x143 symbolin valinnalla sekä pakotetun kerroksen ohjauksella kiinteille symbolikoille
  • Lisätty pystysivutekstin kokoaminen: THotPDF.ExtractLoadedPageText ja range/stream-aggregaatio-API:t ryhmittelevät nyt WMode 1 -glyyfit sarakkeiksi glyyfin alkuperän X:n mukaan, järjestävät sarakkeet oikealta vasemmalle ja kulkevat jokaisen sarakkeen ylhäältä alas sen sijaan, että pilkkisivät pystysuuntaisen CJK-tekstin glyyfikohtaisiksi riveiksi

Fixed

  • Korjattu rinnakkainen kaistaevienti, joka epäonnistui PNG-kaistan leveyseraan sivuilla, joiden pikselimitat ovat desimaalisia (A4 96 DPI:n tarkkuudella): rasterikoko pyöristetään nyt Ceilillä yhtenäisesti kaistojen kirjoittajien kanssa, joten toimitetut palat vastaavat aina enkooderin leveyttä

Version 2.706.0

Added

  • Lisätty striimattu ladattujen sivujen PNG-vienti ja kaistoitettu monisivuinen TIFF-vienti metodien THotPDF.SaveLoadedPageToPng, SaveLoadedPageToPngStream, SaveLoadedPagesToTiffBanded ja SaveLoadedPagesToTiffStreamBanded kautta — pakattu kuvadata kirjoitetaan rivi kerrallaan kaistaenkoodereiden kautta, joten erittäin suuret sivut eivät vaadi kokonaista framebufferia; THPDFBandImageExportInfo raportoi sivun, kaistan, rivin, työntekijän, muistin, tulosteen, ajan ja perutuksen telemetrian

Version 2.705.0

Added

  • Lisätty PDF/A-viimeistely ladattuihin tallennuspolkuihin: THotPDF.SaveLoadedDocument ja SaveLoadedDocumentToStream validoivat nyt GTS_PDFA1-OutputIntentin (peritynä lähdekatalogista tai vastarekisteröitynä) ja emittoivat pdfaid:part / pdfaid:conformance-XMP-tunnistuksen, kun PDFACompliance on asetettu, säilyttäen olemassa olevan pdfaid-paketin tavuittain uudelleentallennuksessa
  • Lisätty pystykirjoituksen (WMode 1) käsittely latauspuolella: CIDFontin /W2- ja /DW2-solumetriikat ohjaavat nyt tekstin poimintaa ja sivun renderöintiä, kulkevat sarakkeita alas tekstiavaruuden y-akselia v1x/v1y-positionointivektorilla vaakasuoraan /W-advanssien sijaan

Version 2.704.0

Added

  • Lisätty rinnakkainen ladattujen sivujen tiili- ja kaistarenderöinti metodien THotPDF.RenderLoadedPageTilesParallel ja THotPDF.RenderLoadedPageBandsParallel kautta — riveittäin etenevillä kutsusäikeen callebackeilla, lainatuilla bittikartoilla, yhteistoiminnallisella perutuksella, kutsujan hallitsemalla kesken olevan työn muistilla, huippumuistipääsyn rajoituksella sekä rajatulla muuttumattomalla Type 3 -glyyfi- ja rasterointiseulavälimuistilla, joka on jaettu eristettyjen renderöintikontekstien kesken

Version 2.703.0

Added

  • Lisätty rajatut CSC-multisign-tiivisteeräjejä metodin THPDFCSCSignatureProvider.SignHashBatch kautta — yksi hashiin lukittu SAD ja yksi signatures/signHash-pyyntö järjestetylle saman algoritmin erälle, valvoen paikallisia ja tunnistekohtaisia multisign-rajoja, tiukkaa vastauskardinaliteettia, synkronista tai asynkronista tulosten järjestystä, SHA-256-sisältöosoitteisia idempotency-avaimia sekä suoritettujen erien uudelleentoistoa

Version 2.702.0

Added

  • THotPDF.RenewPAdESLTATimestamp laajeni kutsujan toimittamilla varmenne-, OCSP- ja CRL-todisteilla, jotka yhdistetään olemassa olevaan DSS:ään ennen uutta RFC 3161 -dokumenttiaikaleimaa, säilyttää jokaisen aiemman revision tavuittain ja deduplikoi validointivirrat täsmällisesti peräkkäisten uusintojen yli

Version 2.701.0

Added

  • Lisätty lauseosoitteinen PAdES baseline- ja laajennetun profiilin preflight metodin THotPDF.PreflightLoadedPAdES kautta — raportoi jokaisen sovellettavan vaatimuksen vakaalla sääntö-ID:llä, profiililla, normatiivisella tasolla, standardilauseella, PDF-polulla, olion numerolla, allekirjoitetulla tai nykyisellä revisiolla ja läpimenotilalla validoiden samalla CMS-kardinaliteetit, allekirjoittajan varmenteen ESS-viittaukset, allekirjoitussanakirjan rajoitukset, byte-range-kattavuuden, luotetun ajan, DSS-todisteet ja dokumenttiaikaleiman kattavuuden

Version 2.700.0

Added

  • Lisätty päätästä päähän kattava ECDSA-, Ed25519- ja Ed448-PFX / PKCS#12 -yksityisen avaimen lataus ja CMS-dokumenttien allekirjoitus — mukaan lukien nimetyn käyrän CNG ECDSA, valinnainen OpenSSL 3 PureEdDSA, RFC 8410 -avaimen dekoodaus, RFC 8419 -tiiviste- ja parametrisäännöt, SHAKE256 512-bittisellä tulosteella Ed448:lle, automaattinen avaimen algoritmin valinta ja tiukka varmenne-avainparitus

Version 2.699.0

Added

  • Lisätty deterministinen monitunnisteinen PFX / PKCS#12 -tunnisteen valinta metodien HPDFEnumeratePFXIdentities, HPDFParsePFXByLocalKeyID ja ominaisuuden THPDFCMSSignOptions.PFXLocalKeyID kautta — mukaan lukien tiukat yksiarvoiset localKeyId- ja friendlyName-bag-attribuutit, julkisen avaimen paritus, rekursiiviset safe-content-bagit, rajattu monimerkitys- ja syklidiagnostiikka sekä automaattinen vastaavien intermediate- ja root-varmenneketjujen upotus tarkalla DER-deduplikaatiolla

Version 2.698.0

Added

  • Prosessinsisäinen PFX / PKCS#12 PBES2-dekryptaus laajeni AES-128-CBC:llä ja AES-192-CBC:llä sekä PBKDF2:n HMAC-SHA-384- ja HMAC-SHA-512-PRF:eilla — mukaan lukien salauskohtainen valinnainen keyLength-validointi ja rajatut suola-, iteraatio-, IV- ja padding-tarkistukset säilyttäen AES-256-CBC- ja HMAC-SHA-1 / SHA-256-yhteensopivuuden

Version 2.697.0

Added

  • Lisätty spesifikaation mukainen XPS- ja OpenXPS-Canvasin FixedPage.NavigateUri-perintä, joten jälkeläiset Path-, Glyphs- ja sisäkkäiset Canvas-visualit saavat laajuutetun URIn, jos eivät sitä itse ohita — säilyttäen ulkoiset, sähköposti-, pakettisivu- ja prosentidekoodatut LinkTarget-toiminnot muunnosten, sisäkkäisten leikkausten, eristettyjen opasiteettiryhmien, uudelleenkäytettävien visualien suppressioiden, sisäkkäisten ohitusten jälkeisen palautuksen sekä olemassa olevien linkki-, URI-, perutus- ja vaarallisen skeeman rajojen läpi

Version 2.696.0

Added

  • Lisätty rajatut natiivit XPS- ja OpenXPS-Canvas-läpinäkyvyysryhmät, joten Opacity- ja kiinteät, gradientti- tai kuva-Canvas.OpacityMask-arvot kompositoivat päällekkäiset lapsivisualit kerran eristettyjen DeviceRGB-Form XObjectien kautta — taitetulla yhtenäisellä alfalla, jaetuilla muuttuvapeittoisilla softmaskeilla, sisäkkäisillä ryhmillä, muunnetuilla leikkauksilla, resurssien siirrolla, säilytetyillä linkeillä sekä fail-closed-virheelliselle, tukemattomalle, singulaariselle tai ylikokoiselle sisällölle

Version 2.695.0

Added

  • Lisätty rajattu natiivi XPS- ja OpenXPS-Canvas.Clip-konversio lyhennetylle geometrialle, paikallisille tai etäisille StaticResource-PathGeometry-arvoille, suorille property-elementeille, jäsennellyille viiva-, Bézier-, kvadraatti- ja kaarikuvioille, geometriamuunnoksille, tyhjille leikkauksille ja sisäkkäiselle EvenOdd- tai NonZero-leikkaukselle PDF:n W*- tai W-operaattorilla — leikatuilla navigointirajoilla, 100,000-arvon jäsennysrajoilla sekä fail-closed-virheellisille tai singulaarisille muunnoksille

Version 2.694.0

Added

  • Lisätty rajattu natiivi XPS- ja OpenXPS-navigointi muunnetuille Path- ja Glyphs-visualeille — säilyttäen HTTP-, HTTPS- ja sähköpostilinkit PDF URI -annotaatioina ja ratkaisten pakettisuhteelliset sivut sekä prosentidekoodatut LinkTarget-fragmentit eteen- tai taaksepäin suunnatuiksi PDF GoTo -toiminnoiksi vasta, kun kaikki sivut ovat olemassa — metristietoisilla klikkirajoilla, 65,536-linkin ja 8,192-merkin rajoilla, VisualBrush-kaappauksen suppressiolla, perutuoperation tuella ja fail-closed-turvattoman skeeman diagnostiikalla

Version 2.693.0

Added

  • Lisätty rajattu natiivi XPS- ja OpenXPS-VisualBrush-konversio inline- tai resurssipohjaisille Canvas-, Path- ja Glyphs-visualeille — hierarkkinen ja etäinen ResourceDictionary-haku, absoluuttinen Viewbox, absoluuttinen tai suhteellinen Viewport, None-, Tile- ja peilatut tilaustilat, muunnokset, opasiteetti, uudelleenkäytettävät Form XObjectit, jaetut tilauskuviot, tokenitietoinen resurssien siirto sekä fail-closed-sykli-, virheellisen syötteen, rekursion, sisällön, välimuistin ja sijoittelun budjetit

Version 2.692.0

Added

  • Lisätty natiivi XPS- ja OpenXPS-pakettifonttien upotus TrueType- ja OpenType-ohjelmille — TTC-jäsenfragmentit, GUID-salatut resurssit, suorat tai cmapista johdetut glyph ID:t, yksi-moneen-Unicode-klusterit, nimenomaiset advance- ja offset-arvot, leveyskorrektit RTL-alkuperät, jaetut fonttresurssit, upotus- ja no-subsetting-oikeudet, valinnainen glyyfien alijoukkoistus, rajatut ToUnicode-kuvaukset sekä amortisoituvan lineaarinen positioned-run-tuloste ilman GDI:n fonttikasvojen korvausta

Version 2.691.0

Added

  • Lisätty rajattu OpenXPS Glyphs-Indices-asettelu, joka noudattaa tiukkoja klusterin koodiyksikkö- ja glyyfimääriä, nimenomaisia sadasosa-em-advansseja, vaaka- ja pystysiirtymiä, parittoman BidiLevelin käänteistä etenemistä, kiinteitä attribuutti- tai property-element-täytöitä, peittävyyttä, natiivia PDF TJ-eritystä, positionoitua Unicode-klusterifallbackia, säilyttää tekstin poiminnan, tuottaa fail-closed-virheellisen syötteen diagnostiikkaa ja käyttää amortisoituvan lineaarisia puskureita, joiden yläraja on 65,536 kuvausta

Version 2.690.0

Added

  • Lisätty tuki OpenXPS Path.OpacityMask-maskille kiinteille, muuttuvapeittoisille monipysähdyksen lineaarisille ja elliptisille radiaaligradienteille sekä tavallisille, toistetuille tai peilatuille PNG ImageBrush-maskeille taitetun yhtenäisen alfakanavan, rajattujen natiivien DeviceGray-läpinäkyvyysryhmien, jaettujen shading-kuvioiden ja kuvasoftamaskivirtojen, fail-closed-tukemattoman sisällön käsittelyn sekä uudelleenkäytettävän RegisterLuminositySoftMaskState-rakentajan kautta alfa-kuva-resurssisidonnalla

Version 2.689.0

Added

  • Lisätty OpenXPS ImageBrushin Tile-, FlipX-, FlipY- ja FlipXY-tilat natiivien PDF-tilauskuvioiden kautta yhdellä, kahdella tai neljällä itsenäisesti leikatulla sijoittelulla, jaetuilla kuva- ja PNG-softmaskiresursseilla, yhdistetyillä fixed-page-, path- ja brush-matriiseilla sekä rajatulla RegisterImageTilingPattern-API:lla uudelleenkäytettäville kuvapohjaisille kuvioille

Version 2.688.0

Added

  • Lisätty tuki OpenXPS ImageBrush.Transformille äärellisillä kuusiparametrisilla attribuuttimatriiseilla ja MatrixTransform-property-elementeillä, jotka yhdistetään natiivin Path-leikkauksen jälkeen mutta ennen viewport-leikkausta ja kuvan sijoittelua, joten brush voi kiertää, skaalata, vääntää tai siirtää muuttamatta sitä ympäröivää vektorigeometriaa; epästandardi RelativeTransform ja ratkaisemattomat matriisiresurssit jäävät nimenomaiseksi diagnostiikaksi

Version 2.687.0

Added

  • Lisätty matriisiohjattu kuva-XObjectien sijoittelu metodin THPDFPage.ShowImageMatrix kautta ja laajennettu XPS fixed-page -tuontia paketin JPEG-, PNG-, TIFF- ja JPEG XR -ImageBrush-täytöillä, absoluuttisella tai rajoja suhteellisella Viewbox- ja Viewport-kuvauksella, natiivilla path- ja yksiviewport-leikkauksella, kuvan ja pathin peittävyydellä, PNG-softmaskin alfalla, DPI-tietoisella 96-DPI-skaalauksella, jaetulla dekoodattujen resurssien välimuistilla sekä fail-safe-diagnostiikalla tukemattomille tilauksille, muunnoksille, värikonversioille ja kuvaviivauksille

Version 2.686.0

Changed

  • Lisätty uudelleenkäytettävä rajattu monipysähdyksen radiaaligradientin rekisteröinti ja laajennettu natiivivektorista XPS-path-tuontia property-elementtien elliptisillä RadialGradientBrush-arvoilla, Pad-levityksellä, yhtenäisellä pysähdysalfalla, brushin peittävyydellä, suhteellisilla tai absoluuttisilla keskipiste-, alkuperä- ja sädekuvauksilla, natiivilla Type 3 PDF -shadingilla sekä koordinaattien palautuksella, joka jättää pathin geometrian ennalleen

Version 2.685.0

Changed

  • Järjestetty natiivivektorinen XPS-path-tuonti laajeni lainaisista tietoiseen ja rajattuun property-elementtien jäsennykseen, kiinteisiin ja monipysähdyksen lineaarisiin gradient-brusheihin, natiiveihin PDF-shading-kuvioihin, brushin ja pysähdyksen alfaan, oletuksena rajoja suhteellisiin tai nimenomaisiin absoluuttisiin gradienttikoordinaatteihin, alueen ulkopuoliseen pysähdysinterpolointiin sekä fail-safe-diagnostiikkaan tukemattomille muunnoksille, spread-moodeille, värisinterpoloinnille, muuttuvalle alfalle ja degeneroituneille akselille

Version 2.684.0

Changed

  • Lisätty järjestetty natiivivektorinen XPS-path-tuonti rajatulla lyhennetyllä geometrialla, täyttösäännöillä, kiinteillä RGB- ja ARGB-täytöillä ja viivauksilla, pathin peittävyydellä, viivan leveydellä, kuusiparametrisilla muunnoksilla sekä fail-safe-diagnostiikalla tukemattomille piirto-ominaisuuksille

Version 2.683.0

Changed

  • Todellisen maalatun sisällön PDF/X-6-validointi vahvennettiin määrittelyaikaisella shading-kuvion grafiikkatilalla, nonstroking-kuvioiden ExtGState-semantiikalla, fail-closed-softmaskin alatyypin ja taustan tarkistuksilla, tarkoilla Type 3 -glyyfimetriikoilla ja perityn värin säännöillä, tiukalla yhdistetyn maalausaluan luokittelulla, rajatulla JPX-värinpäätelyllä sekä appearance-tietoisella annotaatioiden kompositoinnilla

Version 2.682.0

Added

  • Lisätty tuottajan ja varmentajan tuki brainpoolP256r1-, brainpoolP384r1- ja brainpoolP512r1-ECDSA-allekirjoituksille — mukaan lukien käyräkohtainen SHA-2- ja SHA3-tiivistematriisi, fail-before-provider-allekirjoitusvalidointi, tiukat nimettyjen käyrien varmenneparametrit, parametrittomat ECDSA-algoritmitunnisteet, kanoniset DER-allekirjoitusarvot, Windows CNG -nimetyn käyrän tuonti sekä deterministinen diagnostiikka nimenomaisille, lopussa roikuville, tuntemattomille tai ristiriitaisille parametreille

Version 2.681.0

Changed

  • Ei-progressioninen bittikartta-, direct-DC-, Form- ja display-list-sisällön suoritus yhtenäistettiin metodin HPDFInterpretContentTokensDevice ja valinnaisen täyden IHPDFContentOperatorDevice-laajennuksen kautta — yksi keskeytystarkistuspiste per operaattori, kääntöaikainen operaattori-indeksivälimuisti operandiskannauksettaonta display-list-toistoon, julkiset OperatorCount-metriikat, säilytetty semanttisten laitteiden yhteensopivuus, korjatut "-, v- ja y-operaattoreiden semantiikka sekä laillinen EI-terminaatin käsittely ilman vääriä fallback-diagnostiikkoja

Version 2.680.0

Added

  • Lisätty rajattuja transaktionaalisia RepairPDFA4-ylikuormituksia tyypitetyillä asetuksilla, yksityiskohtaisilla korjausraporteilla, jaetulla havaintoalkuperällä, turvallisella PDF 2.0 -headerin, trailerin ID:n, metadatan, Catalogin ja esitystavan normalisoinnilla, nimiavuustietoisella PDF/A-tunnistekorjauksella, säädettävällä osittaisen tai täyden vaatimustenmukaisuuden commit-politiikalla, virhe-regressiotunnistuksella, tavutarkalla graafin ja XMP:n rollbackilla sekä tiukalla rajalla, joka säilyttää sivusisällön, fontit, värit, läpinäkyvyyden, kuvat, grafiikkaoperaattorit ja poimitun tekstin

Version 2.679.0

Added

  • Lisätty todellisen maalatun sisällön PDF/X-6-validointi valittavilla ISO 15930-9:2020- tai ratkaistun erratan 2025-säännöillä, todellisilla ICC-header- ja kanavatarkistuksilla, resurssitietoisella läpikäynnillä content-taulukoiden, Form XObjectien, tilaus- ja shadingkuvioiden, kuvien, Type 3 -glyyfien, softmaskien ja annotaatioiden appearancejen yli, overprint-tilan ja yhdistetyn maalauksen läpinäkyvyysdiagnostiikalla, vakaalla sääntöalkuperällä sekä rajatulla dekoodatun tavun, tokenin, olion, ongelman, rekursion ja grafiikkatilan työmäärällä

Version 2.678.0

Added

  • Rajattua PDF/A-4-validointia syvennettiin välimuistitetuilla ICC-header- ja komponenttitarkistuksilla, dokumentin ja sivun output-intent-yhdenmukaisuudella, todellisen maalatun laitevärin ja läpinäkyvyyden analyysillä content-taulukoiden, sisäkkäisten Form XObjectien, kuvien, kuvamaskien, shadingien ja annotaatioiden appearancejen yli, perityllä grafiikkatilalla, renderöintifonttien upotuksella, CIDFont- ja CMap-suhteilla, tiukoilla annotaatiolipuilla ja appearancetiloilla, UTF-8-XMP-paketin ja nimiavuuksien validoinnilla, loogisilla sivupuun sijainneilla, vakaalla lausetietoisella diagnostiikalla sekä säädettävillä dekoodatun tavun ja content-tokenin ylärajoilla

Version 2.677.0

Added

  • Rajattu PDF/UA-2-validointi kattaa nyt dokumentin, ihmisluettavat merkkijonot, optional-contentin, annotaatiot, AcroFormin, rakennekohteet, outline-reunukset, upotetut tiedostot ja sisäkkäiset sivunimiöt — mukaan lukien fyysinen ParentTree-omistajuus, skaalaariset rakennelapset, appearance-stream-rajoitukset, nimiavuus-URIhin perustuvat XMP-ominaisuudet, Unicode private use -tunnistuksen ja lausetietoisen diagnostiikan; jäsennelty HTML-, XHTML-, XML- ja JSON-vienti jakaa nyt tagged-first-saavutettavan lukumallin kielellä, otsikolla, navigoinnilla, sivunimiöillä, turvallisilla linkeillä, annotaatioilla, ei-herkillä lomakeohjaimilla, marked-content-korvauksilla, artefakteilla, kuvaalternatiiveilla, geometrisellä fallbackilla, itsenäisillä rajoilla, perutuoperation tuella ja atomisella julkaisulla

Version 2.676.0

Added

  • Lisätty rajattu minimaalinen byte-range-suunnittelu jokaiselle linearisoidun PDF:n sivulle metodin PlanProgressiveLinearizedPageRanges kautta — raaka- ja Flate-ensisijaisten tai ylivuotohintojen dekoodauksella, yhteentoimivilla tavutasatuilla yhdistetyillä ja liitteen F mukaisilla jatkuvan jaon hinta-asetteluilla, täsmällisillä bootstrap-, sivu-, jaetun ryhmän sekä LF- tai CRLF-etuliitteisten perinteisten tai stream-ristiviitteiden riippuvuuksilla, laillisella short-read-kertymällä, 256 MiB:n oletussuunnittelijamuistin katolla fail-closed-enkoodauksen erottelulla, päällekkäisyyksiä huomaavalla yhdistämisellä, tiukoilla rakennetarkistuksilla, tyypitetyillä rajoilla ja saatavuusdiagnostiikalla sekä yhtenäisellä [0, /E)-ensimmäisen sivun polulla

Version 2.675.0

Added

  • Lisätty itsenäiset standardien mukaiset crypt-filter-politiikat merkkijonoille, tavallisille virroille ja upotetuille tiedostoille metodien ConfigureCryptFilterDefaults ja SetStreamCryptFilter kautta — mukaan lukien salasanan ja julkisen avaimen varatut suodattimet, /Identity, kirjoittajalta oikea salasanasuojauksen /EFF ja johtava /Crypt-putki, fail-closed-julkisen avaimen streamkohtaiset vastaanottajarajat, kirjainkokotietoinen ulkoisten nimettyjen suodattimien lataus ja tarkastelu, /CFM /None, V2-avaimenpituusraportointi, sekapolitiikkainen Direct File -fallback, jaettu object-stream-kontti- ja jäsenmerkkijonopolitiikka sekä politiikan säilyttävät salatut inkrementaaliset päivitykset

Version 2.674.0

Added

  • Lisätty tunnistesäilyttävät Standard- ja julkisen avaimen salatut inkrementaaliset päivitykset salasanatietoisen BeginIncrementalUpdate-ylikuormituksen ja osoitetun vastaanottajavaimateriaalin kautta — turvallisesti säilytetyillä tiedostoavaimilla tai FEK:eilla, erillisillä string-, stream-, metadata- ja Identity-crypt-filter-politiikoilla, sukupolvetietoisella legacy-objektiavainten johdannalla, tarkoilla perityillä /Encrypt-viittauksilla, tavuidenttisillä lähderevisioilla, alkuperäisellä user-, owner- tai vastaanottajapääsyllä sekä fail-closed-hylkäyksellä salausmuutoksille tai tukemattomille heterogeenisille suodattimille

Version 2.673.0

Security

  • Lisätty rajattu JBIG2-segmenttiverkon validointi ennen koko sivun, alueen, natiivia tai ulkoista dekoodausta ja ennen globaalin sanakirjan jakamista — indeksoitujen kaksoiskappaleiden ja puuttuvien viittausten tarkistuksilla, iteratiivisella sykli- ja riippuvuussyvyystunnistuksella, upotettujen virtojen sivukytkennän valvonnalla, kiellettyjen segmenttien hylkäyksellä, pitkien viittausten ja aggregoivien kaarien budjeteilla, symbolisanakirjan allokointivahdeilla sekä tarkalla vikatelemetrialla

Version 2.672.0

Added

  • Lisätty PAdES E-EPES signature-policy-identifier -generointi ja tiukka validointi nimenomaisilla policy-OIDeillä, tunnetuilla tai ETSIn tuntemattomilla hasheilla, SPuri-, SPUserNotice- ja SPDocSpecification-määritteillä, rajatuilla Unicode- ja kokoelmajäsennyksillä, politiikkadokumentin hashauksella, ensisijaisen allekirjoittajan OID:n ja hashin lukituksella ennen kryptografista työtä, erillisillä mismatch-tiloilla sekä täydellisellä JSON-raportoinnilla

Version 2.671.0

Added

  • Lisätty deterministiset RFC 5652 -kontit, joissa voi olla jopa 256 itsenäistä ensisijaista SignerInfo-tietuetta metodien HPDFCMSBuildMultiSignedData ja HPDFCMSMergeSignedData kautta — mukaan lukien koko erän esivalidointi ennen allekirjoittajan sivuvaikutuksia, allekirjoittajakohtaiset attribuutit, algoritmit, varmenteet ja providerit, tiukka definite-length-konttivalidointi, DER-järjestetyt ja deduplikoidut joukot, itsenäiset varmennustulokset, yksittäisen allekirjoittajan tavuyhteensopivuus sekä sivuvaikutukseton aggregate-placeholderin kokolaskenta

Version 2.670.0

Added

  • Lisätty valinnaiset RFC 5652 SubjectKeyIdentifier -allekirjoittajatunnisteet ominaisuuden THPDFCMSSignOptions.SignerIdentifier kautta — mukaan lukien kompakti IMPLICIT SID -enkoodaus, automaattinen SignerInfo- ja SignedData-versioiden valinta, tiukka X.509-laajennusten poiminta, provider- ja placeholder-kokotuki sekä fail-closed SID-, varmenne- ja versiotäsmäytys varmennuksen aikana

Version 2.669.0

Security

  • Lisätty fail-fast CMS-tiivistesalgoritmin yhdenmukaisuusdiagnostiikka, joka tarkistaa kenttien SignedData.digestAlgorithms, SignerInfo, allekirjoitusmekanismin parametrien ja RFC 6211 CMSAlgorithmProtection yhdenmukaisuuden — erillisellä varmennustilalla, validointivirhekoodilla, aikaleiman propagaatiolla, yksityiskohtaisilla ongelmasyillä ja JSON-tulosteella

Version 2.668.0

Added

  • Lisätty SHA3-256-, SHA3-384- ja SHA3-512-generointi ja -varmennus detached CMS:ään, RSA PKCS#1 v1.5:een, RSA-PSS- ja ECDSA-provider-sopimuksiin, RFC 3161 content- ja allekirjoitusaikaleimoihin, PAdES-LTA-uusintaan, Seed Value -sanakirjoihin sekä ISO 32001 PDF 2.0 -kehittäjälaajennusilmoituksiin — rajatulla yhden kierroksen byte-range-hashauksella, joka on yhteinen vastaavien PDF MAC -politiikkojen kanssa

Version 2.667.0

Added

  • Lisätty THotPDF.ValidatePDFMACChain, joka validoi inkrementaaliset revisiot vanhimmasta uusimpaan, indeksoi kumulatiivisesti klassisesti tai xref-streaminä, paikantaa tarkat revisio- ja xref-virhekohdat, havaitsee historiallisten MACien vaihdot, valvoo vakion KDFSaltin käyttöä, hylkää tiivistevahvuuden alennukset, tarkistaa autentikoidut /P- ja /Perms-kentät, raportoi preflightilla ja jäsentää revisiot rajatusti ilman väliaikaisia PDF-kopioita

Version 2.666.0

Added

  • Lisätty THotPDF.SignPDFWithPFXAndAttachedPDFMAC ja allekirjoitukseen kiinnitetty validointi suoralla aktiivisen trailerin AuthCodella, epäsuoralla SigObjRefillä, täydellisellä allekirjoitettujen revisioiden kattavuudella, raw signature-value -tavujen tiivistesidonnalla, SHA-2- tai SHA-3-PDF MAC -politiikoilla, yhden kierroksen allekirjoituksella ja MAC-aluehashauksella, preflight-raportoinnilla sekä atomisella tulosteen korvauksella

Version 2.665.0

Fixed

  • THotPDF.RegisterNChannelColorSpace korjattiin tuottamaan ISO 32000-2:n viisielementtinen DeviceN-muoto /Subtype /NChannel-alatyypillä ja process-komponentin metadatalla, minimi-PDF-versioksi nostettiin 1.6, ja luminositeettisoftamaskit ratkaisevat NChannel-maalausten värit alternate-väriavaruuden kautta säilyttäen lukuyhteensopivuuden vanhojen /NChannel-perheen tunnisteiden kanssa

Version 2.664.0

Added

  • PDF-blend-moodien renderöinti sai kokonaislukupohjaiset hot-path-toteutukset Hue-, Saturation-, Color- ja Luminosity-moodeille, ja täyden peittävyyden nopean polun virhe korjattiin, joten jokainen aktiivinen separable- tai non-separable-blend-moodi kompositoituu taustaansa oikein

Version 2.663.0

Security

  • PKCS#12-kontit autentikoidaan ennen salattujen safe-sisältöjen paljastamista varmentoimalla valinnainen ulompi MacData rajoitetuilla PKCS#12 KDF -iteroinneilla, SHA-1- tai SHA-256-HMACilla, vakioaikaisella tiivisteen vertailulla sekä fail-closed-väärän salasanan ja peukaloinnin käsittelyllä

Version 2.662.0

Added

  • Lisätty kolme HotPDFCLI-komentoa: render rasteroi jokaisen valitun sivun muotoon <prefix>-page<N>.png ladattujen sivujen bitmap-putken kautta (--pages-alue, --dpi 10..2400, oletus 150), tables vie tyypitetyt taulut CSV:ksi tai JSONiksi metodin ExportLoadedTypedTables kautta (--json, -o tiedosto tai konsoli) ja compare tulostaa kahden dokumentin JSON-vertailuraportin metodin HPDFDocCompareDocuments kautta (--mode 0..5 kattaen sivumäärän, sivutekstin, oliomäärän, renderöidyn kuvan sekä full- ja structural-tilat)

Fixed

  • Korjattu Win64 ICC-muunnosputki, joka tuotti pelkkää nollaa 8-bittisistä erämuunnoista (TransformBytes): Win64-lcms2-objektien sisällä oleva optimoitu 1D-LUT-nopea polku palauttaa nollia, kun taas geneerinen uudelleennäytteistysputki toimii oikein, joten 8-bittinen muunnos käännetään nyt cmsFLAGS_NOOPTIMIZE-lipulla vain Win64:ssä; 16-bittinen yksiväripolku ja kaikki Win32-muunnokset säilyttävät optimoidun nopean polun (erä-sRGB-primäärit kulkevat nyt round tripin molemmilla alustoilla)

Version 2.661.0

Added

  • Lisätty aito budjetoitu Zopfli-korkean pakkaussuhteen Flate-pakkaus olemassa olevan neljästrategisen zlib-pohjiman jälkeen — tiukalla no-growth-valinnalla, syöte-, iteraatio-, lohko-, tuloste- ja kuluneen ajan rajoilla, yksityiskohtaisella virta- ja rinnakkaiskuvatelemetrialla sekä deterministisillä kiinteän korpuksen säästöporteilla

Version 2.660.0

Added

  • Lisätty deterministiset koneluettavat XML-preflight-raportit ja ABI-versioidut trusted-pluginit ominaisuuksien poimintaan ja omiin validointisääntöihin — vakaalla järjestyksellä, policy-bundle-integraatiolla, perutuoperation propagaatiolla, fail-closed-kykytarkistuksilla sekä äärellisillä plugin-, finding-, feature-, string-, tuloste- ja aikabudjeteilla

Version 2.659.0

Added

  • Rajattu XFA FormCalc laajeni ehdolliseen logiikkaan, toistuviin numeerisiin kokoomalaskuihin ja validoituihin dynaamisten instanssien callbackeihin, ja rinnalle lisättiin oletuksena pois päältä olevat hiekkalaatikkoon suljetut QuickJS-lomakeskriptit täydellä ohjausvirralla, natiiveilla tyypitetyillä taulukoilla, eristetyllä datankäytöllä, äärellisillä instruktio-, aika-, muisti-, pino-, arvo- ja instanssioperaatiobudjeteilla sekä ajotelemetrialla

Version 2.658.0

Added

  • Lisätty rajatut muokattavat XFA-pakettien DOMit kokonaisille XDP-virroille ja järjestetyille pakettitaulukoille — local-name-polkukyselyillä, pakettien ja solmujen muokkauksella, tarkalla koskemattomien tavujen säilyttämisellä, pakettikohtaisella valinnaisella uudelleenkirjoituksella, deterministisellä nimiavuus- ja attribuuttitulosteella, turvallisella CDATA-jakamisella, entiteettien eskapoinnilla sekä äärellisillä syöte-, tuloste-, paketti-, solmu-, syvyys-, attribuutti-, teksti- ja kyselybudjeteilla

Version 2.657.0

Added

  • Lisätty CSC API v2 -etäallekirjoitus olemassa olevan CMS-provider-putken kautta — sovelluksen omalla transportilla, OAuth-tokenin uusinnalla, rajatulla credential-ketjujen löytämisellä, nimenomaisella authorization- ja SAD-käsittelyllä, synkronisella tai asynkronisella tiivisteen allekirjoituksella, RSA-PSS-parametreilla, pollauksella, RFC 3161 -aikaleimoilla, perutuoperation tuella, vakailla idempotency-avaimilla sekä äärellisellä suoritettujen operaatioiden välimuistilla

Version 2.656.0

Added

  • Lisätty valinnaiset sisällöllä pisteytetyt XPS-, EPUB- ja CBZ-dokumenttikäsittelijät — vaihdettavalla säieturvallisella rekisteröinnillä, yhdellä validoidulla arkistoskannauksella, fixed-page-, spine- ja luonnollisella kuujärjestyksellä, muuttumattomalla PDF-muunnosvälimuistilla, jaetuilla arkisto-, resurssi-, reflow-, sivu-, pikseli-, DPI-, tuloste- ja perutusbudjeteilla sekä rollback-turvallisella PDF-julkaisulla

Version 2.655.0

Added

  • Lisätty rajattu tyypitettyjen taulujen poiminta ja atominen CSV- tai JSON-vienti kanonisilla sarakkeilla, saman sivun fragmenttien ja peräkkäisten sivujen yhdistämisellä, yhdistettyjen solujen spanneilla, toistuvilla otsikkoriveillä, sivugeometrialla, confidence-arvolla, alkuperätiedoilla sekä lokaalin ohjaamilla integer-, number-, boolean-, date-, date-time-, currency- ja prosenttipäätelmillä

Version 2.654.0

Added

  • Lisätty ladattujen sivujen atominen jäsennelty vienti HTML:ään, XHTML:ään, XML:ään ja JSONiin yhden lukujärjestysmallin kautta: lohkot, tyylitetyt spanit, havaitut taulut, koordinaatit, lähdejärjestys, valinnaiset rajatut PNG-kuvat, Unicode-turvallinen eskapointi, perutus sekä äärelliset resurssibudjetit

Version 2.653.0

Added

  • Lisätty ladattujen sivujen atominen värien uudelleenkirjoitus DeviceGray-, DeviceRGB- tai DeviceCMYK-muotoon — haettava vektorigrafiikka säilyy, kuvat ja monimutkaiset resurssit konvertoidaan häviöttömästi värinhallinnallisena rasterina, tuloste on rotaatioturvallinen, renderöintiuskollisuudelle ja resursseille asetetaan nimenomaiset budjetit, ja spot-levyt voidaan politiikan mukaan joko säilyttää, prosessikonvertoida tai hylätä

Version 2.652.0

Added

  • Lisätty katselmointia edeltävä ladattujen sivujen mustoitustunnistus tarkistussummatietoisilla PII-kaavoilla, vaihdettavilla entiteetti- ja kasvontunnistimilla, luottamuspisteillä painotetuilla sivutilan löydöillä, rajatulla työtelemetrialla, pakollisella katselmoijan identiteetillä, atomisella hyväksyttyjen annotaatioiden välivarastoinnilla sekä erillisellä nimenomaisella burn-in-rajalla

Version 2.651.0

Added

  • Lisätty rajattu ladattujen sivujen ja alueiden viivakoodidekoodaus vaihdettavilla moottoreilla, progressiivisella matalan resoluution renderöinnillä, neljänneskäännetyillä fallback-skannauksilla, validoituilla teksti- ja raakahyötykuormilla, PDF-avaruuden rajoilla ja suunnalla, luottamussuodatuksella, päällekkäisyyksien deduplikoinnilla, perutuksella sekä resurssitelemetrialla

Version 2.650.0

Added

  • Lisätty rajatut peruttavat haettavat OCR-tekstikerrokset vaihdettavilla tunnistusmoottoreilla, luottamus- ja geometriavalidoinnilla, rotaation mukaisesti suunnatuilla näkymättömillä Unicode-teksteillä, valinnaisen sisällön ryhmittelyllä, resurssitelemetrialla sekä atomisella monisivujulkaisulla

Version 2.649.0

Added

  • Lisätty täydelliset objektigraafin round trip -kierrokset versioidun JSON:n kautta striimaavilla snapshot- ja inkrementaaliviennilla, raakoilla tai dekoodatuilla upotetuilla sekä atomisilla sidecar-hyötykuormilla, rajatulla skeemayhteensopivalla tuonnilla, rakenteen ja virtapituuksien validoinnilla sekä transaktionaalisella julkaisulla

Version 2.648.0

Added

  • Lisätty rajattu korjaus käsin muokatuille QDF-diagnostiikkadokumenteille, joka säilyttää objektien ja virtojen tavut, korjaa suorat, epäsuorat, puuttuvat tai vanhentuneet virtapituudet, rakentaa klassiset ristiviittausoffsetit ja trailerit uudelleen, hylkää turvattoman rakenteen sekä varmistaa tulosteen normaalilla lataajalla

Version 2.647.0

Added

  • Lisätty säieturvallinen omien stream-suodattimien rekisteri rajatuilla push- ja pull-sopimuksilla, jaetuilla dekoodausbudjeteilla, yhteistoiminnallisella perutuksella, nimenomaisilla seek-vaatimuksilla, eristetyillä omilla virheillä sekä suoritustelemetrialla

Version 2.646.0

Added

  • Lisätty rajatut content-operator-vierailija- ja tapahtuma-API:t vain luku -operandinäkymillä, deterministisillä tilacallbackeilla, tarkastus-, mittaus-, korvaus-, poisto-, pysäytys- ja hylkäystoiminnoilla, yhteistoiminnallisella perutuksella, validoidulla tulosteella sekä atomisilla ladattujen sivujen päivityksillä

Version 2.645.0

Added

  • Lisätty vaihdettava ladattujen sivujen render-backend-sopimus käännetyn display-listan käytöllä, natiivilla GDI-toteutuksella, säieturvallisella rinnakkaisdispatchilla, deterministisellä fallback-politiikalla, välimuistin mitätöinnillä sekä suoritustelemetrialla

Version 2.644.0

Added

  • Lisätty rajattu asettelun päällekkäisyyksien tunnistus, elementtipolut, opt-in-lähdekartoituksella, natiivit vektorin ylivuoto- ja päällekkäisyyskorosteet, reaaliaikaiset diagnostiikkacallbackit sekä työtilastot

Version 2.643.0

Added

  • Lisätty natiivit rajatut vektorikaaviot viiva-, palkki-, alue-, piirakka- ja pistesarjoilla, automaattisilla tai manuaalisilla akseleilla, teemoilla, legendoilla, selitteillä, PDF/UA Figure -vaihtoehdoilla sekä renderöintitilastoilla

Version 2.642.0

Added

  • Lisätty rajattu GUI-säikeen RichEdit- ja RTF-sivutus vektorimaisella EMF-tulosteella, kuvilla, opt-in-tuetuilla OLE-esityksillä, perutuksella, virtapositioiden säilyttämisellä sekä nimenomaisilla syöte-, merkki-, sivu- ja tulostebudjeteilla

Version 2.641.0

Added

  • Lisätty rajattu SVG 2 -tuonti uudelleenkäytettävinä PDF Form XObject -objekteina natiivilla geometrialla ja kaarilla, CSS-kaskadilla, vektoriliukuväreillä, clip- ja mask-tuella, Base 14 -tekstillä, peittävyysresursseilla, sijoittelun huomioivilla linkkiannotaatioilla sekä tuontitilastoilla

Version 2.640.0

Added

  • Lisätty versioitu HTML5 paged-media-tuontiprofiili sallivalla DOM-jäsennyksellä, print-CSS-kaskadilla, sivutetulla lohko- ja tauluasettelulla, valinnaisilla AcroForm-säätimillä, rajatuilla callback-pohjaisilla resursseilla sekä operaatiokohtaisilla tilastoilla

Version 2.639.0

Changed

  • Suuret paikallisten tiedostojen muistikuvaukset mukauttavat nyt määritetyn kuvattujen tavujen ylärajan suurempien peräkkäisten ikkunoiden ja enintään 16 pienemmän MRU-satunnaiskäyttöikkunan välillä, säilyttävät nimenomaisen kiinteän geometrian valinnan sekä raportoivat aktiivisen geometrian, siirtymät, pääsymallien määrät ja huippukuvatut tavut

Version 2.638.0

Added

  • Lisätty rajattu sivujen välinen JBIG2-symbolikoulutus ulkoisilla ja natiiveilla backendeilla, yhdellä jaetulla globaalilla sanakirjalla, tarkalla identtisten sivujen uudelleenkäytöllä, suoralla PDF-kuvieräiden lisäyksellä, backend- ja kokotelemetrialla sekä mitatulla 78,8 prosentin pakkaussäästöllä 100 sivun regressiokorpuksella

Version 2.637.0

Changed

  • Rinnakkainen ladattujen sivujen renderöinti vähentää nyt pyydettyjä workereita prosessinlaajuisesta muistibudjetista, varaa jokaisen lunastetun sivun, säilyttää järjestetyn tulosteen varaukset callback-toimitusten ajan, herättää budjettia odottavat perutuksen tai virheen sattuessa sekä raportoi samanaikaisuus-, varaus-, pääsy-, viive- ja odotustelemetrian

Version 2.636.0

Changed

  • Ladattujen sivujen esilataus kääntää ja renderöi nyt välimuistin lukon ulkopuolella, peruu yhteistoiminnallisesti tokenisoinnin ja toiston kautta, antaa tietä etualan sivujen renderöinnille sekä näyttää edistymis-, virhe-, ennakko-keskeytys- ja perutusviivetelemetrian

Version 2.635.0

Added

  • Lisätty järjestetty striimaava rinnakkainen sivujen renderöinti kutsusäikeen callbackeilla, rajatulla valmiiden bittikarttojen jonolla, tuottajan takapaineella, yhteistoiminnallisella perutuksella, lainatuilla bittikarttojen elinvoimilla sekä jono-, tavu-, odotus-, valmistumis- ja toimitustelemetrialla

Version 2.634.0

Added

  • Lisätty kaksivaiheinen rinnakkainen ladattujen sivujen pipeline, joka kääntää display-listat renderöintivälimuistin lukon ulkopuolella, käynnistää toiston ennen kuin koko sivujoukko on käännetty, tasapainottaa rajattuja workereita dynaamisesti, säilyttää syötejärjestyksen, vähentää content-tokenien allokaatiota sekä näyttää vaihe-, välimuisti-, valmistumis- ja viivetelemetrian

Version 2.633.0

Added

  • Lisätty muuttumattomat viitelaskennalliset dekoodatut bittikarttakahvat kopioittomilla välimuistiosumilla, suoralla säieturvallisella renderöijän piirtämisellä, eristetyillä muutettavilla kopioilla tarpeen mukaan, eviktiosta riippumattomilla elinvoimilla sekä kumulatiivisella kahva- ja kopiotelemetrialla

Version 2.632.0

Changed

  • QuickJS-suoritus toimii nyt sekä staattisten objektien että ABI-neutraalin bridge-DLL:n kautta Win32:lla ja Win64:llä, Unicode-turvallisilla arvoilla, deterministisellä tilan raportoinnilla, määritettävillä muisti-, pino-, skripti-, aika- ja keskeytysrajoilla, turvallisella DLL:ien löytämisellä, palautumisella hylättyjen skriptien jälkeen sekä toistettavilla cross-platform-runtime-buildeilla

Version 2.631.0

Changed

  • Factur-X- ja ZUGFeRD-liiketoimintasääntöjen validointi suorittaa nyt täydellisen läpikäydyn XPath 2 Schematron -pintaalan ulkoisilla kooditietokannoilla, sekventiaalisilla sidonnoilla, kvanttoreilla, FLWOR-summalausekkeilla, vakailla fallback-sääntötunnisteilla, turvallisella rajatulla XML-jäsennyksellä, nimenomaisilla arviointivirhelöydöillä, ei yhtään hiljaista ohitusta sekä fail-closed-yhdistetyllä validoinnilla

Version 2.630.0

Added

  • Lisätty sisäänrakennettu TrueType-variable-fonttien instansointi kartoitetuilla akseleilla, jaetuilla ja yksityisillä gvar-tupleilla, IUP-interpoloinnilla, yksinkertaisilla ja yhdistetyillä ääriviivapäivityksillä, phantom-point-metriikoilla, HVAR-, VVAR- ja MVAR-taulujen upottamisella, kompaktilla staattisella glyyfien uudelleenrakentamisella, tarkistussummaltaan oikealla tulosteella sekä callbackittomalla Unicode-fonttirekisteröinnillä

Version 2.629.0

Added

  • Lisätty sivuvaikutukseton CMS-paikkamerkkien arviointi nimenomaisten, provider- tai RSA-sertifikaattiallekirjoituskokojen perusteella, tarkka staattinen kontin muotoilu, konservatiiviset dynaamiset hyötykuormavarat, esiallekirjoitukselliset uudelleenrakentamiset, kykyportitetut provider-uudelleenyritykset, tiukat ulkoisen allekirjoittajan yksittäiskutsutakuut, rajattu kokolaskenta sekä yksityiskohtainen yritysdiagnostiikka

Version 2.628.0

Added

  • Lisätty reachability-pohjainen ladattuihin PDF:ihin upotettujen fonttien subsettaus, mukaan lukien sivusisältö, sisäkkäiset Form XObjectit, annotaatioiden appearance-tilat, jaetut fonttiohjelmat, TrueType- ja CFF-muodot, koodattuun kokoon perustuva valinta, vakaat CID- ja ToUnicode-kuvaukset, yksityiskohtaiset tulokset sekä oletushylkäys, kun allekirjoituksia on läsnä

Version 2.627.0

Added

  • Lisätty automaattinen PDF/UA-rakenteen generointi deklaratiivisille asettelupuille, mukaan lukien otsikot, luettelot, taulut, kuviot, kieli- ja vaihtoehtotekstimetatiedot, sivutusartefaktit, jatkoturvalliset marked-content-viittaukset, lukujärjestyksen säilyttäminen, semanttinen validointi sekä rakennetilastot

Version 2.626.0

Added

  • Lisätty deklaratiivinen dokumentin DOM periytyvillä tyyleillä, uudelleenkäytettävillä komponenttitehtailla, tekstillä, väleillä, pinoilla, konteilla, osioilla, toistuvilla ylä- ja alatunnisteilla, painotetuilla tauluilla toistuvin otsikkoriveillä, rajatulla jatkojen syvyydellä, sivutustilastoilla, kopiointittomilla teksti- ja taulufragmenteilla, lineaarisella ylätason läpikäynnillä, välittömällä sivujen tyhjennyksellä sekä vastaavilla Delphi- ja C++Builder-pinnoilla

Version 2.625.0

Added

  • Lisätty toistettava Win32- ja Win64-tilastollinen suorituskykyportti, joka eristää latauksen, tallennuksen, renderöinnin ja tekstin poinnin, tallentaa lämmittelyt ja 30 raakanäytettä p50:llä, p95:llä, otosvarianssilla, RSS:llä, prosessin I/O:lla, ympäristöllä ja deterministisellä fixture-identiteetillä ja arvioi sitten vakaat JSON-kynnykset sekä palauttaa epäonnistuvan exit coden regressiossa

Version 2.624.0

Changed

  • Uudistettiin yksinkertaisten sanakirjojen ja taulukoiden jäsennys muuttumattomien lähdesegmenttien, suoran numeerisen konversion, yhden kierroksen sisäkkäisten konttien ja indeksoitujen sanakirjalisausten varaan julkisella materialisointitelemetrialla; 30 000 parin Win32-fixture vähensi viisikierroksisia allokaatiotavuja 64,7 prosentilla ja kulunutta aikaa 3 656 ms:sta 46 ms:iin

Version 2.623.0

Added

  • Lisätty määritettävät jäsenninrajat yksittäisten tokenien tavuille, kokonaistokeneille, taulukko- tai sanakirjamerkinnöille ja viallisille tokeneille sekä tiukka luottamattoman syötteen esiasetus, tyypitetyt rajapoikkeukset ja latauskohtainen telemetria; regressioporit hylkäävät 2 MiB tokenin ja miljoonan tokenin kontin alle 250 ms:ssa ja alle 37 MiB prosessihuipulla

Version 2.622.0

Added

  • Lisätty nimenomaiset ladattujen sivujen objektigraafin vapautus- ja telemetria-API:t, jotka hylkäävät puhtaat sivuomistetut juuret ja renderöintivälimuistit säilyttäen epäsuorat jaetut resurssit ja uudelleenlatauksen metatiedot; 100 000 sivun peräkkäinen käsittely pysyy vakaalla 69,3 MiB huipulla ja vapautetut tavalliset tai pakatut sivut materialisoituvat uudelleen alkuperäisellä objekti-identiteetillään

Version 2.621.0

Changed

  • Dekoodatut object-stream-kontit käyttävät nyt määritettävää tavurajoitettua LRU-välimuistia välittömällä kontikohtaisella eviktiolla, lähdepohjaisella uudelleenlatauksella eviktion jälkeen, nollasäilytystilalla sekä huippatavu-, eviktio- ja uudelleenlataustelemetrialla

Version 2.620.0

Changed

  • Suuret tavalliset sivupuut avautuvat nyt kompakteiksi paikkamerkeiksi, ratkaisevat satunnaiset sivut /Count-ohjatulla läpikäynnillä ja epäsuorien objektien hash-indeksillä, välimuistittavat ratkaistut sivut, näyttävät materialisointitelemetrian ja -säätimet sekä laajenevat automaattisesti ennen rakenteellisia mutaatio- tai tallennusoperaatioita

Version 2.619.0

Changed

  • Ladatut AcroForm-kentät, kvalifioidut nimet, widgetit, annotaatiot ja sivut jakavat nyt laiskan kaksisuuntaisen relaatiovälimuistin käänteisellä annotaatiohaulla, widgetikohtaisella sivuhaulla, aktiviteettitelemetrialla, nimenomaisella mitätöinnillä raakoja objektigraafin muokkauksia varten sekä mutaatioturvallisella automaattisella ylläpidolla

Version 2.618.0

Changed

  • Sivuobjektien haku käyttää nyt laiskasti uudelleenrakennettua mutaatiotietoista käänteistä indeksiä objektinumeroille ja ratkaistuille sivuosoittimille korvaten toistuvat sivutauluskannaukset sivujen kopioinnissa, outlineissa, nimetyissä kohteissa, toiminnoissa, lomakkeissa, esteettömyydessä ja sivupuun täsmäytyksessä sekä näyttää validiteetti- ja aktiviteettitelemetrian

Version 2.617.0

Changed

  • Renderöityjen dokumenttien vertailu tukee nyt kutsujan valitsemaa DPI:tä, RGB- tai luminanssiväritoleranssia, muuttuneiden pikselien suhde- ja SSIM-tyyppisiä samankaltaisuusporteja, deterministisiä yhtenäisiä muuttuneita alueita, valinnaisia PNG-erokorosteita sekä fail-closed-sivu- ja kokonaispikselibudjetteja nimenomaisella renderöintidiagnostiikalla

Version 2.616.0

Changed

  • Dokumenttien vertailu läpikäy nyt epäsuorat objektigraafit deterministisillä katalogipohjaisilla poluilla, hashaa arvot ja virrat nimenomaisten resurssirajojen sisällä, tasaa sivut ennen lisäysten, poistojen, siirtojen ja muutosten luokittelua, erottaa siirretyt objektit lisäyksistä ja poistoista sekä raportoi keskeneräiset vertailut sen sijaan että budjettirajoitteisia tuloksia pidettäisiin identtisinä

Version 2.615.0

Changed

  • Ladattujen kuvien dekoodaus käyttää nyt 16 välimuistin metadatashardia ja tarkkaa avainkohtaista singleflight-koordinaatiota, suorittaa itsenäiset raskaat dekoodaukset rinnakkain säilyttäen yhden omistajadekoodauksen kaksoispyynnöille, valvoo määritettyjä tavu- ja merkintäbudjetteja kaikkien shardien yli sekä näyttää välimuistitetut dekoodauspäätepisteet ja samanaikaisuustelemetrian; neljä itsenäistä 12 000 pikselin JPEG-pyyntöä skaalautuu 3,72-kertaisesti neljällä Win64-workerillä, kun taas kahdeksan saman avaimen pyyntöä dekoodataan kerran

Version 2.614.0

Changed

  • Matalaresoluutioinen harmaasävy- ja RGB-JPEG-renderöinti valitsee nyt rajatun 1/2-, 1/4- tai 1/8-kertaisen käänteisen DCT-skaalauksen, striimaa skaalatut scanlinet kiintopisteresamplerin kautta suoraan tarkkaan kohdebittikarttaan, säilyttää dekoodausbudjetit, perutuksen ja codec-worker-eristyksen sekä näyttää lähteen, skaalatun, kohteen, scanline- ja muistitelemetrian metodin GetLastJPEGReducedDecodeInfo kautta; 12 000 × 12 000:sta 300 × 300:ksi -regressiofixture ajaa 24,05 kertaa nopeammin kuin täysi dekoodaus varaamatta sen 432 MB:n lähderasteria

Version 2.613.0

Changed

  • Ladattujen sivujen /Contents-taulukot näyttävät nyt laiskan seekattavan yhdistetyn virran, säilyttävät suodattamattomat segmentit lähdepohjaisessa tallennuksessa, dekoodaavat enintään yhden suodatetun segmentin kerrallaan, käyttävät amortisoituneen lineaarista token- ja tavukertymää, säilyttävät alkuperäiset virrat muokattaessa liittämällä uuden segmentin sekä pitävät 1 GiB:n 10 000 segmentin sekvenssin alle 64 MiB:n lisätyömuistissa

Version 2.612.0

Changed

  • Inkrementaaliset päivitykset pitävät nyt lähdetiedoston kirjoituslukittuna ja tiedostopohjaisena kokonaisten lähdetavujen säilyttämisen sijaan, käyvät ja emittoivat vain muuttuneet, uudet ja poistetut objektit harvoissa xref-aliosioissa, striimaavat alkuperäisen etuliitteen uuteen kohteeseen sekä liittävät suoraan rollbackilla saman kohteen tallennuksiin; 4 GiB:n yhden objektin revisio pysyy 128 MiB:n lisätyömuistin sisällä

Version 2.611.0

Added

  • Lisätty rajattu dokumenttikohtainen ladattujen fonttien dekoodervälimuisti 32 MiB:n ja 128 merkinnän LRU-rajalla, singleflight-jäsennysuudelleenkäytöllä sivujen, ladatun tekstin poinnin, SVG-viennin ja tekstin korvauksen yli, itsenäisillä deep-copy-tuloksilla metodista GetLoadedFontDecoder, määritettävällä muistibudjetilla ja telemetria-API:illa sekä automaattisella graafi-, sivu-, uudelleenlataus-, JSON Patch- ja CMap-konfiguraatiomitätöinnillä; yhden jaetun epäsuoran fontin toistuva käyttö jäsentää nyt sen enkoodauksen, leveydet, ToUnicode-, CIDToGIDMap- ja jälkeläiskuvaukset vain kerran säilytyksen aikana

Version 2.610.0

Changed

  • Nopeutettiin sivujen tuontia ja objektien graftingia korvaamalla lineaarinen, täsmälleen uudelleenkooltettu vieraiden objektien hakutaulukko operaatiokohtaisella kakkosen potenssin kokoisella avoimeen osoitteistukseen perustuvalla kartalla, joka avainnoidaan lähdedokumentin, objektinumeron ja generaation mukaan; jaetut epäsuorat objektit ja sykliset graafit säilyttävät olemassa olevat identiteettisemantiikkansa erätuonneissa, kun taas suuret objektigraafit käyttävät nyt amortisoituneen vakiomuotoista rekisteröintiä ja odotetusti vakiomuotoista hakua

Version 2.609.0

Changed

  • Parannettiin SVG-sivunviennin uskollisuutta: suorat w-, J-, j-, M- ja d-grafiikkatilaoperatorit säilyttävät nyt viivanleveyden, nimetyt cap- ja join-tyylit, miter-rajat, dash-taulukot ja dash-vaiheen; q/Q palauttaa nämä attribuutit sisäkkäisen sisällön ja Form XObjectien yli; even-odd f*-, B*- ja b*-piirtooperatorit emittoivat fill-rule="evenodd"-arvon; nollaleveät PDF-hiusviivat pysyvät näkyvinä ei-skaalautuvien SVG-strokejen ansiosta

Version 2.608.0

Added

  • Lisätty QuickJS-staattisen linkityksen infrastruktuuri: Lib/HPDFQuickJSStatic.pas linkittää viisi QuickJS-OMF-objektia (bcc32c:llä korjatuista lähteistä rakennettuna) {'$L'}-direktiiveillä — ei DLL-riippuvuutta — ja esittelee täyden C-runtime-pintaalan (47 symbolia: msvcrt C99 -matematiikka, Borlandin 64-bittinen aritmetiikka, kokoneutraalit atomic-stubit, pthread-stubit); thirdparty/QuickJS/build-static.bat automatisoi patch-and-compile-pipelinen. Tunnettu rajoitus: JS_NewRuntime onnistuu, mutta JS_NewContext osuu access violationiin, koska _Atomic-poisto muuttaa rakenteen alustusjärjestystä; v2.607.0:n DLL-buildi pysyy toimivana arviointipolkuuna

Version 2.607.0

Added

  • Lisätty DataMatrix-2D-viivakoodigenerointi (Lib/HPDFDataMatrix.pas): ASCII-moodin enkoodaus numeroparipakkauksella, Reed-Solomon-ECC GF(256):n yli DataMatrixin primitiivipolynomilla $12D, neliökoot 10x10–144x144, vuorottelevan suunnan koodisanasijoittelu sekä L-muotoinen finder-kuvio; THPDFPage.DrawDataMatrix renderöi enkoodatun matriisin täytettyjen moduulineliöiden ruudukkona
  • Lisätty PDF417-pinotetun 2D-viivakoodin generointi (Lib/HPDFPDF417.pas): tekstimoodin enkoodaus base-30-merkkipareilla, Reed-Solomon-ECC GF(929):n yli primitiivillä 3, symbolinkuvaajan enkoodaus sekä rivi-/sarakeasettelu start/stop-kuvioilla; THPDFPage.DrawPDF417 renderöi koodisanamatriisin
  • Lisätty QuickJS-JavaScript-moottorisidonta (Lib/HPDFQuickJS.pas sekä esibuildatut Win32/Win64 quickjs.dll-tiedostot polun thirdparty/QuickJS/bin/ alla): dynaaminen DLL-lataus, runtime+context-elinkaari sekä arviointi-API-pintaala (Eval/EvalInt/EvalFloat); Eval-koodipolulla on tunnettu Win32-käynnistyskaatuma sovellukseen linkitettynä, ja se on dokumentoitu jatkotutkimusta varten
  • Lisätty THPDFWriter-arkkitehtuurinen erottelukohde (Lib/HPDFWriter.pas): xref-merkintärekisteri (free/used/compressed), klassinen xref-taulun serialisoija sekä trailer-sanakirjan rakentaja, jolle THotPDF:n tallennuspolku delegoi inkrementaalisesti

Version 2.606.0

Added

  • Lisätty kaksi HotPDFCLI-komentoa: decrypt lataa salatun PDF:n annetulla salasanalla, purkaa sen metodilla DecryptLoadedDocument ja tallentaa salaamattoman kopion (-o tulostepolku, oletus <input>-decrypted.pdf) ja optimize pakkaa jokaisen virran uudelleen FlateDecodeilla metodilla CompressLoadedDocument (-o tulostepolku, oletus <input>-optimized.pdf, hylkää salatun syötteen)

Version 2.605.0

Added

  • Lisätty QR Code -2D-viivakoodigenerointi: uusi Lib/HPDFQRCode.pas toteuttaa täyden QR-enkooderin (numeerinen, aakkosnumeerinen ja tavu-enkoodaustapa; Reed-Solomon-virheenkorjaus GF(256):n yli; versiot 1–40 kaikilla neljällä EC-tasolla L/M/Q/H; kaikki kahdeksan maskikuviota rangaistusarvioinnilla; oikea moduulisijoittelu mukaan lukien finder-, timing-, alignment-, muototieto- ja versiotietokuviot). Metodi THPDFPage.DrawQRCode renderöi enkoodatun matriisin täytettyjen moduulineliöiden ruudukkona mille tahansa kirjoitussivulle (ModuleSize pisteinä, määritettävä EC-taso ja väri)

Version 2.604.0

Added

  • Lisätty täysi MacExpertEncoding-dekoodaustaulu: 128 tavun ylempi puolikas kartoittaa nyt expert-glyyfit (versaalikapiteelit, vanhan tyylin numerot, ylä- ja alaindeksinumerot, murtoluvut, typografiset symbolit) lähimpään Unicode-koodipisteeseen tai Private Use Area -sijaiseen korvaten aiemman raakatavuidentiteetti-fallbackin, joka tuotti sotkuista tulostetta dokumenteille, jotka käyttivät expert-enkoodattuja Type 1 -fontteja

Version 2.603.0

Fixed

  • Korjattu pitkäaikainen satunnainen epäonnistuma testissä ConcurrentObjStmDecryptionMatchesSerial: globaali FRevision oli vanhentunut, kun aes256 alennettiin aes128:ksi oletusarvoisella PDF 1.6 -versiolla, jolloin CreateKeys ohjautui väärin V5-haaraan, joka ei koskaan täytä legacy-/O- ja /U-salasanahasheja — serialisoitu salausanakirja kantoi sitten tyhjiä tai vanhentuneita salasanamerkkijonoja, eikä tiedostoa voinut avata. Korjaus johtaa FRevisionin uudelleen alennetusta FCryptKeyTypeista sekä setterissä että kahdessa versioneuvottelukohdassa, ja legacy-sanakirjahaara nostaa nyt selkeän diagnostiikan, kun salasanamerkkijonot eivät ole tarkalleen 32 tavua

Added

  • Lisätty HotPDFCLI:n html-komento: renderöi rajoitetun HTML-tiedoston (h1–h6, p, ul, ol, hr, inline-merkintä) PDF:ksi metodilla HPDFRenderHTMLDocument

Version 2.602.0

Added

  • Lisätty lohkotason HTML-tuonti: THPDFHTMLImporter (ja HPDFRenderHTMLDocument-kätevä kääre) renderöi rajoitetun HTML-osajoukon kirjoitettavalle dokumentille — h1h6-otsikot tasokohtaisilla koilla, p-kappaleet (paljas leipäteksti muuttuu implisiittisiksi kappaleiksi), ul/ol-luettelot sisennetyillä li-alkioilla (luettelomerkki tai 1.-numerointi), hr-viivat, automaattiset sivunvaihdot alamarginaalissa ja selaintyylinen palautuminen sulkemattomille p/li-lohkoille; head/script/style-alueet ohitetaan ja konttitagit kulkevat läpi läpinäkyvästi. Inline-merkintä (b/i/u/font/a/sub/sup, entiteetit, sanoiden rivitys) delegoidaan olemassa olevalle TextOutHTML-renderöijälle, joten lohkot pysyvät kasassa sivun sisällä; taulut, kuvat, CSS ja sisäkkäiset luettelot ovat ulkopuolella

Version 2.601.0

Added

  • Lisätty kolme HotPDFCLI-komentoa: merge liittää lisäsyötteiden jokaisen sivun ensimmäiseen dokumenttiin ja tallentaa yhdistetyn tiedoston (-o tulostepolku, vähintään kaksi syötettä, tuloste/syöte-törmäys suojattu), split kirjoittaa dokumentin jokaisen valitun sivun omaan yksisivuiseen tiedostoon (<prefix>-page<N>.pdf, --pages yhdestä alkava alue, oletusetuliite syötepolusta) ja export-svg kirjoittaa jokaisen valitun sivun SVG-viennin (<prefix>-page<N>.svg, oletussivu 1)

Version 2.600.0

Added

  • Lisätty SVG-sivuvienti: BuildLoadedPageSVG palauttaa itsenäisen SVG 1.1 -dokumentin mille tahansa ladatulle sivulle ja SaveLoadedPageAsSVG kirjoittaa sen levylle; viennissä mukana polut (fill/stroke/fill-and-stroke-piirtooperatorit DeviceRGB-väreillä), tekstiosuudet (merkeittäin sijoitellut <text>-elementit samalla fonttien dekoodauksen fallback-ketjulla kuin tekstin poiminnassa, kunnioittaen Tf/Tc/Tw/Tz/Ts-arvoja ja tekstimatriisia ml. rotaatio ja skaalaus), kuva-XObjectit (dekoodattuina ja upotettuina base64-PNG-data-URI:ina CTM-yksikköneliön läpi) sekä Form XObjectit (rekursiivinen tulkinta form-matriisilla ja omilla /Resourceseilla), ja /Rotate 90/180/270 -sivut viedään käännetyn canvas-geometrian mukaisesti
  • Tunnetut jaetusta content-stream-laitedispatcherista perityt rajoitukset: ei W/W*-leikkausta, ei sh-varjostuksia, ei Type 3 -fontteja, inline-kuvat raportoivat vain metatiedot ja ExtGState-tuetut stroke-parametrit (LW/LC/LJ/ca/CA) kunnioitetaan, kun taas pelkkiä w/J/j/d-operaattoreita ei dispatchata

Version 2.599.0

Added

  • Lisätty HotPDFCLI-komentorivityökalu (tools/HotPDFCLI): konsolipääte kolmella komennolla — info (PDF-versio, sivumäärä ja ensimmäisen sivun koko, salausmenetelmä, linearisaatio- ja xref-rakenne, annotaatio-/fontti-/kuva-/lomake-/allekirjoituslaskurit, Info-metatiedot), extract-text (yhdestä alkavat --pages-alueet, --out-tiedostotuloste, --layout-tasaleveä ruudukkotila, joka vastaa visuaalista lukujärjestystä) ja verify (tila per allekirjoituskenttä, allekirjoittaja, syy, hash, allekirjoitusaika, koko dokumentin kattavuus ja sertifikaattitila, nollasta poikkeava exit code, kun mikä tahansa allekirjoitus epäonnistuu); Build-HotPDFCLI.bat tuottaa Win32- ja Win64-binäärit

Version 2.598.0

Added

  • Lisätty SetRenditionMediaPlayParameters: liittää tai päivittää media renditionin /P-mediasoittoparametrien sanakirjan must-honour-/MH- tai best-effort-/BE-kohteilla, jotka kantavat äänenvoimakkuusprosentin, ohjaimen näkyvyyden, autoplay-lipun, fit-tilan (meet/slice/fill/scroll/hidden), toistomäärän sekä sisäisen, äärettömän tai nimenomaisen aikavälin keston
  • Lisätty SetRenditionMediaScreenParameters: liittää tai päivittää media renditionin /SP-medianäytöparametrien sanakirjan (ikkunatyyppi floating/full-screen/hidden/screen-annotation-suorakulmio, DeviceRGB-taustaväri, taustan peittävyys, monitori-indeksi)
  • Lisätty SetSoundAnnotationParameters: kirjoittaa Sound-annotaation /Sound-virran näytteistysformaatin uudelleen (taajuus, kanavat, bitit per näyte, Raw/Signed/muLaw/ALaw-enkoodaus) kovakoodattujen 22050 Hz:n stereo 16-bittisten Signed-oletusten ohi ja asettaa /Name-ikonin kuten Speaker tai Mic

Version 2.597.0

Added

  • Lisätty SetMovieAnnotationParameters: ohittaa movie-annotaation /Movie-sanakirjan (kuvasuhdepari, rotaatio 0/90/180/270, kesto sekunteina, julisteen näkyvyys), jonka AddMovieAnnotation loi kovakoodatuilla oletuksillaan
  • Lisätty SetRichMediaPresentation: täyttää RichMedia-annotaation /RichMediaSettings-aktivaatio-, deaktivaatio- ja esityssanakirjat (ehtinimet kuten PO page-open, toolbar / navigation UI / context click / transparency -liput); tyhjä ehtinimi jättää vastaavan sanakirjan pois
  • Lisätty ResolveIndirectObject luokassa THotPDF: ratkaisee epäsuorat viittaukset, joita kirjoituspuoli tallentaa kirjoitettuihin sanakirjoihin, jotta kutsujat voivat navigoida vastarakennetuissa objektipuissa; AddRichMediaAnnotation rekisteröi nyt myös annotaationsa LastAnnotationiin

Version 2.596.0

Added

  • Lisätty live-mitätöintitodisteiden löytäminen: sertifikaattijäsennin lukee nyt AIA OCSP responder- ja CRLDistributionPoints-URI-laajennukset, HPDFExtractCertificateRevocationURLs näyttää ne per sertifikaatti, ja HPDFCollectCMSRevocationRequests muuttaa ne todistepynnöiksi (GET pkix-crl per jakelupiste, POST ocsp-request minimaalisella RFC 6960 SHA-256 CertID-runkilla, joka rakennetaan sertifikaatista ja sen myöntäjästä, itseallekirjoitetut sertifikaatit ratkeavat omine myöntäjikseen)
  • Lisätty HPDFValidateCMSCertificatePathOnline: kokoaa kyseiset pyynnöt, suorittaa ne kutsujan toimittaman transportin kautta olemassa olevan retry/worker-koneiston yli (kirjasto ei koskaan avaa socketeja) ja syöttää jokaisen haetun OCSP-vastauksen ja CRL:n offline-validoijalle; epäonnistuneet haut muuttuvat offline-todisteiden semantiikaksi

Version 2.595.0

Added

  • Lisätty JBIG2-halftone-alueiden dekoodaus (segmenttityypit 22/23): kuviiosanakirjat (tyyppi 16) MMR- tai aritmeettisilla kollektiivibittikartoilla, harmaasävyiset bittitasopinot sekä MMR-muodossa (tavuun tasattuja ketjutettuja tasoja) että aritmeettisessa muodossa (yksi jaettu MQ-dekooderi), ruudukkosijoittelu 8.8-kiintopistevektoreilla ja valinnaisella HSKIP-tyhjäkartalla
  • Lisätty JBIG2-itsenäiset generic-refinement-alueet (tyypit 42/43, GRTEMPLATE 0/1 TPGRONilla), jotka tarkentavat viitatun aluesegmentin arkistoitua bittikarttaa tai sivupuskuria
  • Lisätty AddPubSecKeyMaterial / ClearPubSecKeyMaterials: lisävastaanottajien yksityiset avaimet, joita kokeillaan jokaista /Recipients-kuorta vastaan, kun ensisijainen PubSecKeyMaterial ei täsmää
  • Lisätty testivirtarakentajat HPDFJBIG2Codec_EncodeHalftoneRegionTestStream ja HPDFJBIG2Codec_EncodeStandaloneRefinementTestStream, jotka kattavat uudet segmenttityypit päästä päähän

Fixed

  • Korjattu julkisen avaimen AES-128-dokumenttien lataus: legacy-objektikierros jätti FileKey-, StringKeyType- ja StreamKeyType-arvot alustamatta pubsec-jaon jälkeen, joten jokainen objekti purettiin salauksesta roskavaimella (Win64-lataus kaatui täysin; Win32-lataus tuotti hiljaisesti väärää selkotekstiä)
  • Korjattu salattujen merkkijonojen round trip: salateksti serialisoidaan nyt aina heksamerkkijonona, koska literaalimerkkijonot normalisoivat CR-, LF- ja CRLF-merkinnät yhdeksi LF:ksi ja escape-käsittely saattoi kääntää mielivaltaisia salatavuja

Version 2.594.0

Added

  • Lisätty sisäänrakennettu identiteettiapproksimaatio esimääritetyille CJK UCS2/UTF16 CMap -tauluille (UniJIS-UCS2-H, UniGB-UTF16-V ja 15 muuta): HPDFLoadStandardCMapFile vastaa sisäänrakennetusta taulusta, kun levyllä ei ole CMap-resursseja, joten Type0-tekstien poiminta ei enää dekoodaa 2-tavuisia koodeja tavu kerrallaan
  • Lisätty käyttäjän toimittamat JBIG2-Huffman-taulut (segmenttityyppi 53, liitteen B.2 mukainen kuvaajamuoto): natiividekooderi jäsentää taulusegmentit, ja symbolisanakirjan SDHUFFDH/SDHUFFDW/SDHUFFBMSIZE/SDHUFFAGGINST sekä tekstialueen SBHUFFFS/DS/DT/RDW/RDH/RDX/RDY/RDSIZE-valitsinarvo 3 ratkaisevat ne viitatuista segmenteistä
  • Lisätty SetStructureClassMapEntry, joka rekisteröi luokkanimen jaetun attribuuttisanakirjan StructTreeRootin /ClassMapeen, täydentäen SetStructureElementClass /C-API:n

Fixed

  • Korjattu julkisen avaimen monivastaanottajainen avainpalautus: /Recipients-kuoret tallennettiin laskemattomaan listaan, joka aliasoi yhden puskurin merkintöjen yli, joten dokumentit, joissa oli kaksi tai useampi vastaanottaja, johtivat väärän tiedostoavaimen jokaisella salauksella; kuoret ovat nyt omistettuja kopioita ja legacy-SHA-1-polku hashaa koskemattomia kuoritavuja kuten AES-256-polku

Version 2.593.0

Added

  • Lisätty Shading Type 1 (funktiopohjainen) renderöinti: aluesuorakulmion näkyvä osa jaetaan värivirheohjatulla nelipuulla ja jokainen lehtisolu maalataan kahtena liukuvärikolmiona, joiden kärkivärit näytteistetään 2-syötteen funktiosta korvaten aiemman "not sampled" -fallback-diagnostiikan
  • Lisätty salliva 2-syötteen funktion arviointi: funktio, joka esittää vain yhden syötteen, degeneroituu f(x)iksi (vakio toisessa aluekoordinaatissa) epäonnistumisen sijaan, joten näytteistetyt ja eksponentiaaliset funktiot Type 1 -varjostuksen takana piirtyvät yhä

Version 2.592.0

Added

  • Lisätty object-stream-karanteeni: rikkonainen /Type /ObjStm-kontti kirjataan syineen (THPDFObjStmQuarantineReason: ei virta, rikkonainen sanakirja, rikkonainen otsikko, rikkonainen virtakoko, salauksen purku epäonnistui, pakkauksen purku epäonnistui, /First alueen ulkopuolella, otsikko jäsennykelvoton tai konttipoikkeus), diagnostiikkarivillä sekä jäsenobjektien numeroilla, jotka se jätti ratkaisematta, kun taas itsenäiset kontit jatkavat latautumista
  • Lisätty jäsentasoinen karanteeni (osqrMemberUnparsable): jäsenrunko, joka ei jäsenny onnistuneesti dekoodatusta kontista, kirjataan kerran vaikuttamatta sisaruksiinsa, ja GetLoadedQuarantinedObjStmCount / GetLoadedQuarantinedObjStmInfo näyttävät jokaisen kirjauksen; karanteenikirjaukset selviävät yhden latauksen palautusuudelleenyrityksistä, deduplikoituvat per kontti ja tyhjenevät seuraavalla latauskerralla

Version 2.591.0

Added

  • Lisätty ristiviittauskartan sivutus: kun tiheä kartta ylittää THotPDF.XRefMapPagingThreshold-merkintää (oletus 250000, 0 poistaa käytöstä), latauksen viimeistelykierros pakkaa sen THPDFXRefMapPageriin — pakattujen 24-tavuisten slotien lajiteltu snapshot, johon vastataan binäärihaulla LRU-materialisoidun 64 merkinnän sivun läpi — ja vapauttaa tiheän taulukon
  • Lisätty GetLoadedXRefMapPaged, joka raportoi sivutetun tilan merkintämäärällä, snapshot-tavuilla sekä ikkunaosuma- ja osumattalaskureilla; inkrementaalitallennuksen vapaan joukon uudelleenrakennus ja laiskasti materialisoitujen virtajäsenten epäsuora /Length-ratkaisu vastaavat pagerin kautta, joten sivutetut dokumentit säilyttävät täyden toiminnallisuuden

Version 2.590.0

Added

  • Lisätty nimenomaiset objektien elinkaaritilat: THPDFObjectLifecycleState saa olsRawin (indeksoidut mutta materialisoimattomat pakatut jäsenet), olsParsedin (lähdetavuista materialisoidut, muokkaamattomat) ja olsFlushedin (tulostusdokumenttiin serialisoidut); ladatut objektit kantavat nyt olsParsedia geneerisen siistin tilan sijaan
  • Lisätty MarkRaw, MarkParsed ja MarkFlushed luokassa THPDFObject; GetLoadedObjectLifecycleState palauttaa olsRawin pakatuille jäsenille, joiden runkoa ei ole vielä materialisoitu
  • Lisätty RawCount, ParsedCount ja FlushedCount luokkaan THPDFObjectLifecycleStatistics; jokainen kokonaistallennuspolku (plain, packed, linearized) siirtää emitoidut objektit olsFlushediin, kun taas IsDirty tarkoittaa yhä olsDirtya tai olsMustWriteia

Version 2.589.0

Added

  • Lisätty nollakopioinen object-stream-jäsenten materialisointi: pakatut jäsenet jäsentyvät nyt vain luku -slice-näkymän kautta jaetun puretun konttipuskurin yli duploidun alimerkkijonon ja ylimääräisen virtakopion sijaan säilyttäen tarkan tavuasettelun mukaan lukien lopussa oleva rivinvaihto
  • Lisätty THPDFObjectStreamSliceStream, julkinen vain luku -näkymävirta, joka näyttää (lähde, offset, pituus)-slicet virtuaalisella lopussa olevalla LF:llä, sekä kaksi uutta THPDFObjectStreamCacheInfo-kenttää, SliceViewCount ja SliceViewBytes, jotka raportoivat kuinka monta jäsentä materialisoitui nollakopionäkymien kautta

Version 2.588.0

Added

  • Lisätty rinnakkainen object-stream-konttien salauksen purku uuden HPDFObjStmDecode-yksikön kautta: THotPDF.ObjStmDecryptWorkers (oletus 1) rajoittaa worker-säikeet, jotka esipurkavat salauksen jokaisesta erillisestä AES-256-salatusta /Type /ObjStm-kontista ennen sarjallista dekoodaus- ja indeksointikierrosta; kontikohtainen avainmateriaali kopioidaan ja siivotaan per pyyntö, tulokset säilyttävät jonojärjestyksen, ja legacy-RC4- ja AES-128-kontit pysyvät kutsusäikeessä

Version 2.587.0

Added

  • Lisätty julkisen avaimen salaamien dokumenttien uudelleenlataus: /Adobe.PPKLitella / /Adobe.PubSecilla salatut dokumentit latautuvat nyt, kun kutsuja asettaa PubSecKeyMaterialin (metodista HPDFParsePFX); esitarkistus purkaa /Recipients-kuoren RSA-OAEP-kääreen, palauttaa siemenen ja johtaa tiedostoavaimen uudelleen, joten konttien ja merkkijonojen salauksen purku toimii muuttumattomana
  • Lisätty PubSecRecipientQuery-callback, joka valitsee, minkä vastaanottajakuoren toimitettu avain purkaa, sekä PubSecRecipientQueryContext kutsujan tilalle
  • Lisätty HPDFUnwrapRSAOAEPRecipientEnvelope, joka palauttaa siemenen ja käyttöoikeusbitit CMS EnvelopedData -vastaanottajakuoresta

Fixed

  • Korjattu julkisen avaimen kirjoittajan viat, jotka uudelleenlatauksen round trip paljasti: vastaanottajakuoret vioittuivat binääri-Unicode-merkkijonokierron takia (nyt tallennetaan heksakoodattuina), tiedostoavaimen tiiviste hashasi kuoritavuja yhden tavun siirtymällä, ja /Recipients-merkkijonot salattiin tavallisten merkkijonojen tavoin — ne jättäytyvät nyt pois nimenomaisella SkipEncryption-lipulla

Version 2.586.0

Added

  • Lisätty XFA-ylivuotokohteen jatko: <overflow target="..."/> reitittää nyt ylivuotuneet virtaavat alkiot nimetyn kohdesubformin suorakulmioon pinoamalla jatkorivejä, kunnes kohde täyttyy, fallbackilla normaalille sisältöalueketjulle ja varoituksella, kun kohde puuttuu, on pienempi kuin yksi alkio tai täynnä

Version 2.585.0

Added

  • Lisätty XFA-viivakoodien renderöinti: <draw><value><barcode type="..."> emittoi nyt laiteriippumattomia palkkeja degeneroitumatta vain luku -tekstikentäksi, kartoittaen XFA-symbologianimet (code3Of9, code128, ean13, upcA, codabar ja muita) viivakoodimoottorille
  • Lisätty XFA-transformaatiografiikka: rotate, <tran><scale> ja <tran><translate> käärivät jokaisen grafiikkalajin (viiva, kaari, suorakulmio, kuva, teksti, viivakoodi) keskirotaatio q ... cm ... Q-transformaatioon

Version 2.584.0

Added

  • Laajennettiin FormCalcia merkkijonofunktioilla: Concat, Len, Left, Right, Substr, Replace, Lower, Upper, Trim ja Space, mukaan lukien lainausmerkkiset merkkijonoliteraalit ja teksti-/numeeriset sekalausekkeet
  • Lisätty FormCalcin päivämuunnos: Date2Num/Num2Date vievät ISO-päivämäärät round tripinä 1900-epookin sarjapäivälaskennan läpi, plus Date()
  • Lisätty FormCalcin rahoituskirjasto: Pmt, FV, PV, Rate ja NPer kassavirran etumerkkikäytännöllä, yhdistettävissä numeeristen funktioiden kuten Roundin kanssa

Version 2.583.0

Added

  • Viimeisteltiin XFA SOM -resoluutio väliin tulevilla paljailla *-jokerisegmenteillä, jotka laskeutuvat jokaiseen lapsihaaraan, sekä aidoilla luokkatokeneilla: #subform/#dataGroup valitsevat konttiluokan solmut, #field valitsee kenttämaiset solmut ja muut #name-tokenit vastaavat omia datanodeja
  • Luokkatokenit yhdistyvät nyt indeksoinnin kanssa (#subform[2] laskee jokaisen luokan solmun dokumenttijärjestyksessä) ja osallistuvat jälkeläisten ..-hakuihin

Version 2.582.0

Added

  • Lisätty radiopainikkeiden ja valintaruutujen appearance-tilojen täsmäytys: painikkeen arvon kirjoitus metodilla SetFormFieldValue tai SetLoadedFormFieldValueByName valitsee nyt vastaavan /AS-tilan jokaisessa widgetissä, ja litistys täsmäyttää ennen appearancejen generointia, joten vanhentunut Off-tila ei voi koskaan voittaa tuotua arvoa
  • Lisätty painikkeiden appearancejen uudelleengeneroinnin vakaus: EnsureLoadedFieldAppearanceStream säilyttää tilasanakirjan olemassa olevan on-tilan nimen ja johtaa radiolasten on-tilojen nimet niiden omasta /T-vientiarvosta

Version 2.581.0

Added

  • Lisätty käännetyt kenttäappearanceet: /MK /R-widgetit kantavat nyt rotaation /Matrixina generoidussa appearanceessa säilyttäen kääntämättömän lomakeavaruuden, joten comb-, monirivi- ja listbox-renderöinti pysyy muuttumattomana ja litistys kartoittaa transformoidun laatikon /Rectille
  • Lisätty rich-text-appearance-tuki: kentät, joilla ei ole pelkkää /V:tä mutta on /RV-runko, renderöivät merkkisisällön inline-XHTML-merkinnän puhdistettuna
  • Lisätty kokonaisten sanojen rivitys monirivisille tekstikentille: ylipitkät rivit katkeavat sanarajoista merkkikohtaisen leveysarvion avulla pitäen sanat ehjinä katkaisemisen sijaan

Version 2.580.0

Added

  • Lisätty CID-fonttikenttien appearanceet: EnsureLoadedFieldAppearanceStream ratkaisee /DA-fontin AcroFormin /DR-sanakirjan kautta ja kiinnittää dokumentin fonttiobjektin uudelleen appearance-resursseihin, joten Type0-fontit renderöivät CJK-arvot UTF-16BE-hekstekstinä Helvetica-korvauksen sijaan
  • Lisätty appearance-kattavuus jokaiselle AcroForm-kenttäluokalle: checkbox- ja radio-widgetit saavat nyt Offin plus on-tilan appearanceet (vektorinen valintamerkki ja täytetty ympyrä ilman ZapfDingbats-riippuvuutta), push-painikkeet renderöivät tekstit ja listboxit maalaavat yhden /Opt-rivin kukin valittu rivi korostettuna
  • Lisätty merkkikohtainen leveysarviointi, joka mittaa CJK- ja täysleveitä alueita täyden em:n tarkkuudella, parantaen quaddingia ja comb-sijoittelua monitavuisille arvoille

Version 2.579.0

Added

  • Lisätty tiukat lomakeskriptibudjetit THotPDF.FormScriptBudgets-ominaisuuden kautta: seinäkello-CPU-katto, kumulatiivinen muistibudjetti ja generoidun tulosteen katto rajoittavat nyt jokaisen EvaluateLoadedFieldJavaScript-ajon ja jokaisen uudelleenlaskentakierroksen
  • Lisätty THPDFScriptBudgets-record, joka kattaa skriptin pituuden, lauseiden määrän, rekursion syvyyden, operaatiot, CPU-ajan, arvokohtaisen ja kumulatiivisen muistin sekä tulostetavut; nolla missä tahansa kentässä nostaa kyseisen rajan
  • Lisätty arviointitelemetria: THPDFJavaScriptEvaluationResult raportoi nyt ElapsedMillisecondsin ja ValueBytesin operaatiolaskurin ohella

Version 2.578.0

Added

  • Lisätty lomakekenttien laskennan riippuvuusgraafi metodin THotPDF.BuildLoadedFormCalculationGraph kautta: jokainen /CO-rekisteröity Calculate-skripti analysoidaan staattisesti ja linkitetään topologiseen arviointijärjestykseen
  • Lisätty THotPDF.RecalculateLoadedFormFieldsIncremental, joka laskee uudelleen vain ne laskennat, jotka lukevat transitiivisesti muuttuneen kentän, joten ketjut kuten välisummasta summaksi propagoituvat yhdellä kierroksella koskematta aiheettomien laskentojen kohdalle
  • Lisätty likaisten kenttien seuranta: kirjoitukset metodeilla SetFormFieldValue ja SetLoadedFormFieldValueByName kertyvät likaisten joukkoon, jonka parametriton inkrementaali-overload, nimenomaisten muuttuneiden kenttien overload ja täysi uudelleenlaskentakierros kuluttavat
  • Lisätty HPDFFormCalcGraph-yksikkö, joka näyttää vaikuttavuussulkukyselyt, täyden kohdesekvenssin, syklimäärät ja ratkaisemattomat lähdenimet työkalujen esikatseluihin
  • Lisätty HPDFExtractSafeJavaScriptFieldReferences, joka poimii kenttien nimet, joita turvallisen osajoukon skripti lukee AFSimple_Calculate-argumenteista ja getField-käsistä ohittaen merkkijonoliteraalit

Changed

  • Riippuvuussyklit säilyttävät nyt /CO-dokumenttijärjestyksen, eikä muuttunut kenttä koskaan laske omaa skriptiään uudelleen, joten sykliset dokumentit käyttäytyvät kuin yksikierroksinen uudelleenlaskenta ja käyttäjän kirjoittamat arvot selviävät aina

Version 2.577.0

Added

  • Lisätty eräallekirjoitusten validointi uuden metodin THotPDF.ValidateLoadedSignatureBatch kautta: jokainen ladattu allekirjoitus varmennetaan tavutasolla ja validoidaan sertifikaateilla yhdellä kierroksella allekirjoituskohtaisilla jäsennellyillä tuloksilla
  • Lisätty HPDFSignatureBatch-yksikkö jaetulla sertifikaattipolun välimuistilla: saman allekirjoittajaketjun toistavat allekirjoitukset käyttävät aiempaa polkutuomiota uudelleen laskematta sitä
  • Lisätty jaettu aikaleimojen välimuistitus erän yli: identtiset RFC 3161 -dokumenttiaikaleimat ja upotetut allekirjoitusaikaleimatokenit ohittavat uudelleenvarmennuksen lipun THPDFCMSVerifyOptions.SkipSignatureTimestampVerification kautta
  • Lisätty mitätöintitodisteiden jakaminen allekirjoitusten yli: yhden validoinnin aikana nähdyt OCSP-vastaukset ja CRL:t tallennetaan THPDFRevocationEvidenceCachein ja injektoidaan myöhempiin allekirjoituksiin uuden vesCache-todistelähteen alla
  • Lisätty THPDFSignatureValidationBatch itsenäisiin eräajoihin FailFastilla, worker-rinnakkaisuudella, perutustokeneilla ja jaetulla ulkoisella mitätöintivälimuistilla
  • Lisätty HPDFSignatureBatchResultToJSON, joka renderöi koko erän lopputuloksen välimuistitilastoineen koneluettavana JSON:ina

Version 2.576.0

Fixed

  • Korjattu Showcase-demon kaatuminen access violationiin käynnistyksessä: THPDFViewer laukaisee OnPageChangein rakentamisen ja uudelleensidonnan aikana, joten ensimmäinen galleriagenerointi ajetaan nyt OnShowista (ikkunakahvojen olemassaolon jälkeen) ja jokainen tapahtumakäsittelijä varautuu yhä nilinä oleviin säätimiin
  • Korjattu Showcase-gallerian tapa upottaa kokonaisia TrueType-fontteja Unicode-näytteitään varten: fonttisubsettaus on nyt käytössä, kutistaen kymmensivuisen dokumentin noin 3,9 MB:sta noin 336 KB:han

Version 2.575.0

Added

  • Lisätty algoritmijoustava PDF MAC -tuotanto ja -validointi SHA-256:lle, SHA-384:lle, SHA-512:lle, SHA3-256:lle, SHA3-384:lle ja SHA3-512:lle, mukaan lukien striimaava aluehashaus ja CMS-algoritmisuojan yhdenmukaisuustarkistukset
  • Lisätty nimenomaiset THPDFPDFMACOptions-yhteensopivuus-, modern-, high-assurance- ja mukautetut profiilit generointialgoritmeilla, validoinnin allowlisteilla, valinnaisella AES-256-GCM-pakotuksella, politiikkadiagnostiikalla sekä lähdeyhteensopivilla oletusoverloadeilla

Security

  • PDF MAC -validointi löytää nyt koodatun tiivisteen ennen suurten tavualueiden hashamista ja hylkää kielletyt algoritmit tai salausmoodit ennen autentikointia, kun taas HMAC-SHA-256, HKDF-SHA-256 ja AES-256 key wrap pysyvät dokumenttimuodon kiinnittäminä

Version 2.574.0

Added

  • Lisätty SaveIncrementalUpdateAuthenticated kryptografisen eheyden ja luotettujen sertifikaattien moodeilla: metodi kirjoittaa saman hakemiston kandidaatin, autentikoi jokaisen politiikkaa kantavan allekirjoituksen, valvoo DocMDP-, FieldMDP-, UR- tai UR3-, Identity- ja tuntemattomien transformaatioiden päätökset myöhempien revisioiden yli ja korvaa kohteen atomisesti vasta, kun jokainen politiikka onnistuu

Security

  • Revisioanalyysi rakentaa nyt transformaatipolitiikat uudelleen tarkasta allekirjoitetusta snapshotista ja sitoo ne alkuperäiseen allekirjoitusobjektiin, tavualueeseen ja CMS-arvoon luottamatta myöhempiin uudelleenmäärittelyihin aktiivisessa objektigraafissa, kun taas hylätyt kandidaatit poistetaan muuttamatta olemassa olevaa kohdetta

Version 2.573.0

Added

  • Lisätty lippulaiva-Showcase-demo polun Demo\Delphi alle: se generoi kymmensivuisen ominaisuusgalleria-PDF:n käynnistyksessä (liukuvärikansi, typografia inline-rikkaalla tekstillä, vektoriliukuvärit / kuviot / läpinäkyvyys, THPDFTable-lasku, viivakoodisymbologiat, ajonaikaisesti maalatut kuvat, annotaatiot ja linkit, optional-content-kerrokset sekä PAdES-allekirjoitusappearance) ja renderöi sen upotetun THPDFViewerin sisällä synkronoidulla aihealuettelolla
  • Lisätty yhden klikkauksen Encrypt AES-256 -toiminto Showcase-demoon, joka rakentaa gallerian uudelleen AESV3 (R6) -salauksella, käyttäjäsalasanalla ja print-only-oikeuksilla tiedostoon HotPDF-Showcase-Encrypted.pdf
  • Lisätty kirjanmerkkinavigointi jokaiselle Showcase-galleriasivulle metodien BeginDoc(True) ja OutlineRoot.AddChild kautta, joten generoitu dokumentti avautuu täytetyn outline-paneelin kanssa

Version 2.572.0

Added

  • Laajennettiin allekirjoitustransformaatioiden tarkastusta ja inkrementaalimuutosten luokittelua kaikilla vakiomenetelmillä: GetLoadedSignaturePermissions raportoi nyt DocMDPin, URin, FieldMDPin, Identityn, tuntemattomat menetelmät, Catalogin /UR- versus /UR3-kytkennän, jokaisen vakiokäyttöoikeusbitin sekä rajatun transitiivisen Identity /Data-objektialueen; revisioanalyysi erottaa lomakkeiden täytöt, allekirjoitukset sekä annotaatioiden ja upotettujen tiedostojen create/delete/modify-operaatiot ja näyttää itsenäiset URCompliant-, IdentityCompliant- ja aggregoivan TransformCompliant-päätökset

Fixed

  • Sovellettiin vakiomuotoista oletusta DocMDP /P 2-oikeutta, kun valinnainen merkintä puuttuu, ja hylättiin vialliset, kaksoiskappaleiset, täsmäämättömät tai tuntemattomat transformaatorakenteet hiljaisen ohituksen sijaan

Version 2.571.0

Added

  • Lisätty MacExpertEncoding-tuki: PDF 1.7:n liitteen D.3 glyyfinimitaulu syöttää nyt HPDFBaseEncToUnicodeia, joten expert-set Type 1 -fontit dekoodautuvat oikeaksi Unicodeksi tekstin poiminnassa raakatavuidentiteetin sijaan; Adobe Glyph List sai kolmetoista aksentti-small-varianttia (Acutesmallista Tildesmalliin) välistysaksenttikoodipisteineen
  • Lisätty yksitoista erotettavaa blend-moodia (ISO 32000-1 11.3.5): HPDFBlendComponent toteuttaa Multiply-, Screen-, Overlay-, Darken-, Lighten-, ColorDodge-, ColorBurn-, HardLight-, SoftLight-, Difference- ja Exclusion-moodit; renderöijä jäsentää /BMin ExtGStatesta grafiikkatilan snapshotiin ja komposiittaa maalatut pikselit taustaa vastaan ennen alfa-painotusta
  • Otettiin käyttöön sisäkkäiset GSUB-kontekstuaaliset lookupit: SequenceLookupRecord voi kohdistua nyt kontekstuaalisiin (Type 5), ketjutettuihin kontekstuaalisiin (Type 6) ja käänteisesti ketjutettuihin (Type 8) lookupeihin dispatchautuen jaettujen formaattikohtaisten applierien kautta olemassa olevan rekursiosyvyysrajan puitteissa

Version 2.570.0

Added

  • Lisätty THPDFRevocationEvidenceCache, säieturvallinen LRU-välimuisti aikaleima-/OCSP-/CRL-todisteille avainnoituna myöntäjällä, sarjanumerolla ja responder-tunnisteilla (kirjainkokoriippumaton). Merkinnät kantavat voimassaoloikkunaa, haut valitsevat viimeisimmän alkavan välin, joka sisältää arviointiajan, osumat virkistävät tuoreuden, ja sekä merkintämäärä- että tavubudjetit laukaisevat FIFO-eviktion täydellisillä osuma-/osumatta-/eviktio-/korvauslaskureilla metodin GetInfo kautta
  • Lisätty sivutason SaveState / RestoreState luokassa THPDFPage emittoien q / Q-grafiikkatilaoperatorit, jotta kutsujat voi kehystää clip-, ExtGState- ja tekstioutlinaosiot koskematta sisältörakentajaan

Fixed

  • Korjattu perinteisen taulun vapaiden merkintöjen putoaminen yhdistetystä ristiviittauskartasta latauksessa: klassisen taulun tyyppi-0-merkinnät kirjataan nyt kuten niiden xref-virravastineet, joten toinen SaveIncrementalUpdate-kierros näkee säilytetyn vapaan ketjun sen sijaan että näkisi SourceFreeObjectCount=0in ja kadonneet generaatiot
  • Korjattu THPDFSignatureEvidenceTaskin antama virheilmoitus "Cannot call Start on a running or suspended thread" rakentamisen yhteydessä: tehtävä käynnistyy nyt AfterConstructionissa, objektin täyden rakentamisen jälkeen, kilpailematta RTL:n säietilan tarkistuksen kanssa konstruktorin sisältä

Version 2.569.0

Added

  • THPDFCertificateValidationOptions.TrustPurpose valitsee rajoittamattoman, document-signing-, code-signing-, email-protection-, timestamping-, OCSP-signing- tai mukautetun EKU-politiikan, kun taas polkuvalidointi säilyttää täyden sallittujen ja poissuljettujen nimipuiden valvonnan sekä sertifikaattipolitiikan kartoituksen ja eston ja raportoi valitun tarkoitus-OIDin luokassa THPDFCertificateValidationInfo

Version 2.568.0

Added

  • THPDFSignatureEvidenceTask hankkii aikaleima-, OCSP- ja CRL-todisteet rajattujen taustaworkerien kautta vakaalla tulosten järjestyksellä, eksponentiaalisella uudelleenyrityksellä ja katotuilla palvelinviiveillä, yhteistoiminnallisella perutuksella, vastauskokorajoilla, transport-poikkeusten eristyksellä, live-snapshoilla sekä erillisillä pysyvän, loppuun kuluneen, perutun ja ylikokoisen lopputuloksen luokilla

Version 2.567.0

Added

  • THPDFWindowsKeyStorageSignatureProvider allekirjoittaa älykortti-, TPM- ja valmistaja-CNG-avainvarastoproviderien kautta viemättä yksityisiä avaimia, tukee pysyväisavainten hakua tai lainattuja ja omistettuja NCRYPT_KEY_HANDLE-arvoja, valinnaista laitteistopakotusta, hiljaista pääsyä, RSA PKCS#1 v1.5:ää, RSA-PSS:ää, rajattua tulostetta ja provider-tilan luokittelua olemassa olevan PKCS#11-adapterin rinnalla

Version 2.566.0

Added

  • HPDFNormalizeContentStreamGraphicsState ja HPDFCompareContentStreamsSemantic vertailevat dekoodattuja content-virtoja rajattujen kanonisten tapahtumien kautta eliminoien lukujen ja merkkijonojen kirjoitusasuerot, redundantiset grafiikka- ja tekstitila-asettajat, tyhjät q/Q-alueet ja ekvivalentit yhdistetyt matriisit säilyttäen efektiivisen tilan, operatorioperandit ja SHA-256-inlinekuvien identiteetit

Version 2.565.0

Changed

  • SaveIncrementalUpdate rakentaa nyt täydellisen aktiivisen vapaiden objektien ketjun uudelleen tuhoavien muokkausten jälkeen, säilyttää aiemmin vapaat generaatiot, kasvattaa juuri vapautettuja generaatioita 65535-kylläisyydellä, säilyttää nollasta poikkeavat generaatiot uudelleenkirjoitetuille objekteille, emittoi merkinnät deterministisessä objektinumerojärjestyksessä ja näyttää tuloksen metodin GetLastIncrementalXRefRebuildInfo kautta

Version 2.564.0

Added

  • THPDFPage.TextOutOutline muotoilee kutsujan valitseman Unicode-tekstin nykyisen TrueType-facen kautta, konvertoi GDI:n move-, line-, kuutiolliset Bézier- ja polun sulkemistietueet natiiveiksi PDF-poluiksi fonttikoolla, vaakaskaalauksella, perusviivan sijainnilla ja rotaatiolla ja täyttää ne olemassa olevan clipping-, väri-, blend-moodi-, alfa- ja soft-mask-grafiikkatilan alla upottamatta tekstioperaattoreita

Version 2.563.0

Added

  • FlattenLoadedPageComplexGraphics tunnistaa mesh-varjostukset ja monimutkaiset Pattern-resurssit, arvioi kasvavia rasteriresoluutioita rajattua 16 alueen korkean resoluution referenssiä vastaan luminanssipainotetulla havaintovirhemetriikalla, säilyttää spot-värisivut ja emittoi valitun tuloksen saumattoman rajatun CalRGB-tiilikirjoittajan kautta

Version 2.562.0

Changed

  • FlattenLoadedPageTransparency ratkaisee nyt lähteen ICC-, CIE-, laite-, soft-mask-, blend-avaruus-, rendering-intent- ja mustapistekompensointivärit jaetun renderöijän kautta ja emittoi sitten saumattomia Flate-pakattuja D65 CalRGB -tiiliä kutsujan hallitseman kokonaisrasteri- ja tiilikohtaisen pikselibudjetin alla huippumuistitelemetrialla

Version 2.561.0

Added

  • ScrubLoadedRedactionRemnants poistaa Redact- ja tiedostoliiteannotaatiot, dokumentin tiedot, XMP- ja yksityiset metatiedot, liitetyt ja upotetut tiedostot sekä jokaisen epäsuoran fontin, kuvan, hyötykuorman tai muun objektin, joka jää saavuttamattomaksi mustoituksen jälkeen, ja tiivistää sitten objektinumerot ja pakottaa täyden uudelleenkirjoituksen, joka ei voi säilyttää inkrementaalisten revisioiden tavuja

Version 2.560.0

Changed

  • ApplyLoadedRedactions asettaa nyt even-odd-leikkausrajan koko sivusisällön ympärille, joten leikkaavat tekstit, polut, kuvat, kuviot, inline-kuvat ja Form XObjectit leikataan tarkasti, kun taas suorat tekstioperandit ja yksittäiset TJ-alkiot tyhjennetään glyyfinelikulmioiden avulla ja päällekkäiset mustoitus-suorakulmiot yhdistetään konservatiivisesti

Version 2.559.0

Changed

  • Sivujen tuonnit käyttävät nyt uudelleen ekvivalentteja epäsuoria kuvia, Form XObjecteja, Pattern-resursseja, upotettuja fonttiohjelmia, Font-sanakirjoja ja ExtGState-sanakirjoja sivujen ja lähdedokumenttien yli kanonisten riippuvuustietoisten SHA-256-sormenjälkien avulla kohdelaajuisilla osuma-, osumatta- ja merkintätilastoilla

Version 2.558.0

Added

  • AnalyzeLoadedPageSemanticText ja ExtractLoadedPageSemanticText rakentavat vakaan lukujärjestyksen glyyfinelikulmioista toistuvin sarakenauhoilla, tasattuilla tauluriveillä ja -soluilla, luettelotasoilla, otsikoilla, kuva- ja taulukuvateksteillä sekä täysleveillä pystyvyöhykkeillä käyttäen rajattua O(n log n) -ryhmittelyä virtajärjestyksen sijaan

Version 2.557.0

Added

  • Ladattujen sivujen poiminta säilyttää nyt moniskalaariset /ToUnicode-kohteet ja palauttaa merkkikohtaiset tietueet transformoiduilla nelikulmioilla, perusviivoilla, lähdeklustereilla ja nimenomaisella ligaattuurikomponenttien jäsenyydellä raportoiden samalla, tekevätkö fonttien leveydet ja pystymetriikat geometriasta tarkan

Version 2.556.0

Changed

  • Ladattujen sivujen tekstin poiminta rakentaa nyt puuttuvat tai puutteelliset /ToUnicode-kuvaukset uudelleen upotetuista sfnt cmap -formaateista 0, 4, 6 ja 12, AGL-pohjaisista /Encoding /Differences-glyyfinimistä, oikein dekoodatuista binäärisistä /CIDToGIDMap-virroista ja Adobe CID -kokoelmitauluista, samojen fallbackien ollessa käytettävissä käänteiselle tekstin korvaukselle

Version 2.555.0

Changed

  • Tuottajapuolen shaping-uudelleenkäyttö käyttää nyt hashattua hakua, vakaita fonttisältöidentiteettejä, tarkkaa 64-bittistä feature-maskia, pysty-, skripti-, kieli- ja suunta-avaimia sekä konttisidonnaisia sanaslicemerkintöjä, jotka voivat koota toistuvia samanpituisia transformaatioita muuttuvien tekstiosuuksien yli säilyttäen rajatun LRU-muistin ja yksityiskohtaisen slicetelemetrian

Version 2.554.0

Changed

  • Sekalaiset oikealta vasemmalle -tekstit ratkaisevat nyt parilliset sulkeet suljettavien ja edeltävien vahvojen skriptien perusteella, peilaavat sulkeita ja yleisiä suunnanoperaattoreita vain RTL-ajoissa, säilyttävät täydennystason surrogaattiparit ja yhdistävämerkkiryhmät LTR-aliajojen kääntämisen aikana ja pitävät raakat glyyfi-ID-ajot erillään Unicode-välimerkkien käsittelystä

Version 2.553.0

Changed

  • Pystykirjoitus johtaa TrueType-glyyfien origot nyt vmtx-ylä-side bearingeistä ja glyf-rajoista, asettaa vrt2 etusijalle vertiin nähden koko pituuden säilyttävän GSUB-ajon yli ja käyttää kuvattuja Unicode-pystyesitysglyyfejä välimerkeille säilyttäen poimitun lähdetekstin

Version 2.552.0

Added

  • Rekisteröidyt OpenType-värifontit valitsevat nyt lähimmän rajatun sbix- tai CBDT/CBLC-bittikarttastriken, ratkaisevat sbix-kaksoisglyyfitietueet turvallisesti, tunnistavat PNG-, JPEG- ja TIFF-assetit, dekoodavat PNG:n ja JPEG:n natiivisti ja sijoittavat jokaisen bittikartan striken ppem- ja perusviivaorigometriikan mukaan

Version 2.551.0

Changed

  • Rekisteröidyt OpenType SVG -väriglyyfit piirtävät nyt peruspolut, kuviot, perityt tasaiset täytöt ja viivaukset, affiiniset transformaatiot ja gzip-pakatut dokumentit suoraan PDF-vektoreina rajatulla jäsentämisellä sekä fail-closed-hylkäyksellä skripteille, entiteeteille, ulkoisille resursseille, aktiivisille linkeille, tukemattomalle läpinäkyvyydelle ja ylimitoitetulle syötteelle

Version 2.550.0

Changed

  • Rekisteröidyt OpenType-fontit jäsentävät nyt rajattuja COLR v1 -paint-DAG:eja ja piirtävät kerrostetut tasaiset, lineaariset, radiaaliset ja sweep-täytöt glyyfileikkausten, affiinisten paint-transformaatioiden, uudelleenkäytettävien väriglyyfien, source-over-järjestyksen ja PDF-blend-kompositioiden kautta, kun taas sykliset, ylimitoitetut ja alueen ulkopuoliset graafit epäonnistuvat suljetusti ennen sivutulostetta

Version 2.549.0

Added

  • BeginLoadedPageProgressiveRegionRender renderöi nyt rajatun käyttäjäavaruuden ikkunan jatkettavien operaattoriosien kautta, käyttää uudelleen välimuistissa olevia display listejä, karsii konservatiivisesti epäolennaiset paint-objektit säilyttäen grafiikan ja tekstin etenemisen, mitoittaa muistivaraukset ROI:n mukaan ja raportoi näkyvien ja karsittujen paint-objektien lukumäärät

Version 2.548.0

Changed

  • Overprint-proofing säilyttää nyt kohdeplatet, jotka puuttuvat DeviceGray-, Separation- ja DeviceN-painteista, soveltaa tarkkaa DeviceCMYK /OPM 1 -nollakomponenttisuojaa, korvaa nimenomaisesti nimetyt prosessiplatet ja yhdistää spot-mustet niiden tint-transformaatioiden ja vaihtoehtoisten väriavaruuksien kautta

Version 2.547.0

Changed

  • Ladattujen sivujen renderöinti käsittelee nyt eristetyt ja knockout-läpinäkyvyysryhmät rajatuissa 768 pikselin tileissä, säilyttää absoluuttiset laitekoordinaatit sisäkkäisten ryhmien ja tilekohtaisten soft maskien yli, dekoodaa ja tokenisoi jokaisen Formin kerran ja paljastaa ryhmien ja tilejen määrän, huipputilevaraston sekä arvioidun tileittömän varaston GetLastTransparencyGroupTileStats-funktion kautta

Version 2.546.0

Fixed

  • Luminosity-soft maskit ratkaisevat ja validoivat nyt läpinäkyvyysryhmänsä sekoitusväriavaruuden, johtavat kolorimetrisen CIE Y -arvon ICCBased- ja Lab-sisällölle, konvertoivat Separation- ja DeviceN-paintit täydellisten alternate space -transformaatioiden kautta, soveltavat tarkkaa komponenttilukutaustaa vektori-, varjostus-, mesh- ja kuvapoluilla ja käyttävät käännettyjä maskeja uudelleen vain vastaaville transformaatioille ja renderöintitarkoituksille

Version 2.545.0

Added

  • Ladattujen sivujen renderöinti suorittaa nyt Type 6-, Type 10- ja Type 16 -kynnyshalftonet tiiviillä periodisella geometrialla, tarkalla 8-bittisellä tai big-endian 16-bittisellä vertailulla, itsenäisillä Type 5 RGB -screenillä ja transfer-ohituksilla, rajatulla 64 MiB:n käännettyjen screenien välimuistilla sekä atomisella continuous-tone-fallbackilla vialliselle tai ylisuurelle datalle

Version 2.544.0

Added

  • Ladattujen sivujen renderöinti suorittaa nyt täydelliset /TR- ja /TR2-taulukot itsenäisillä identiteettikanavilla ja arvioi välimuistissa olevia Type 0 -otantafunktioita yhdestä neljään syöte- ja tuloultuvuudessa, kaikilla standardipakatuilla otannan syvyyksillä, nimenomaisilla encode- ja decode-kuvauksilla, lineaarisella interpoloinnilla, moniulotteisella kuutiointi-interpoloinnilla ja yksiulotteisilla luonnollisilla kuutiosplineillä 64 MiB:n funktiivälimuistibudjetin puitteissa

Version 2.543.0

Added

  • Ladattujen sivujen renderöinti välimuistittaa nyt dekoodatut ja tokenisoidut Type 3 CharProc -display listit fontin, glyyfin, lineaarisen matriisin ja värtilan mukaan 256 alkion ja 131 072 tokenin LRU:lla, säilyttää siirron ja täyden d0/d1-suoritussemantiikan ja paljastaa osuma-, huti-, karkotus-, koko- ja ylikoko-ohituksen telemetrian GetLastType3GlyphCacheStats-funktion kautta

Version 2.542.0

Added

  • Väritetyt ja värittömät tiling-kuviot renderöityvät nyt vanhemman oletuskoordinaatiston kuviomatriiseilla, kaikilla kolmella ISO-tiling-tyypillä, etumerkillisillä askelilla, eristetyillä solupoluilla, yhdenmukaisilla täytön ja viivauksen perustinteillä, sisäkkäisten resurssien transformaatioilla sekä rajatulla rekursiolla ja tile-suorituksella, kun taas RegisterTilingPattern ja THPDFTilingPatternBuilder paljastavat validoidun matriisin ja tiling-tyypin valinnan

Version 2.541.0

Added

  • Ladatut JPEG- ja JPEG 2000 -kuvat voivat nyt valita deterministisen uudelleenpakkauslaadun rajatuista koodauskokeista yhdistämällä otannallisen luminanssipainotetun havaintovirheen suhteelliseen koodattujen tavujen kustannukseen OptimizeLoadedImagesByVisualCost-funktion kautta, mukaan lukien nimenomaiset virhe- ja säästörajat, peruutustarkistukset, vakaa tasapelien ratkaisu ja yksityiskohtainen valintatelemetria

Version 2.540.0

Added

  • JPEG 2000 -aluedekoodaus voi nyt rekonstruoida itsenäisiä leikkaavia codestream-tilejä rinnakkain työntekijäkohtaisella codec-tilalla, deterministisellä rivipääkoosteella, peruutustarkistuksilla, automaattisilla CPU- ja käyttäjätyöntekijärajoilla, huippumuistibudjetin fallbackilla sekä dekoodaustelemetrialla, joka paljastuu JPEG2000ParallelTileDecoding-, JPEG2000TileWorkerLimit- ja GetLastJPEG2000ParallelDecodeStats-kautta

Version 2.539.0

Added

  • JPEG 2000 -dekoodaus tukee nyt validoitua suoraa codestream-tile-pääsyä, yhdistettyä lähdealueen ja kahden potenssin resolution-of-interest -rekonstruktiiota, dekoodatun tulosteen budjetteja, resoluutiopyyntöjä crash-eristettyjen codec-työntekijöiden kautta sekä automaattista ladattujen sivujen renderöijän valintaa näkyvien kohdepikselien perusteella DecodeLoadedImageRegionAtResolution-funktion kautta

Version 2.538.0

Added

  • Progressiivinen ladattujen sivujen renderöinti dekoodaa nyt kelvolliset DCTDecode-kuvat yhdellä JPEG-skannauksella rajattua jatkoa kohti, julkaisee skannaus- ja kuvalaskurit sekä perutettavat skannauscallbackit, soveltaa tuloste- ja skannauslukubudjetteja ja palautuu kokonaiskuvan polkuun yhteensopimattomassa paint-tilassa, dekoodauksen ollessa pois käytöstä, codec-eristyksessä tai viallisen syötteen kohdalla

Version 2.537.0

Added

  • Ladatut CCITTFaxDecode-kuvat dekoodaavat nyt T.4- ja T.6-pakkaamattomat laajennustilat, erottavat EOFB:n tukemattomista laajennuksista, kunnioittavat EndOfLine-, EndOfBlock- ja DamagedRowsBeforeError-asetuksia ja palauttavat vaurioituneet Group 3 -rivit rajatulla EOL-uudessynkronoinnilla ja spesifikaation määrittelemällä rivinkorvauksella

Version 2.536.0

Added

  • JBIG2-kuvatoimialuepyynnöt rakentavat nyt rajatun riippuvuussulkeuman ja dekoodaavat vain pyydettyä tileä leikkaavat sivualueet, kokoavat leikatut pikselit ilmoitettujen operaattorien kanssa, ohittavat itsenäiset ikkunan ulkopuoliset alueet, säilyttävät ketjutetut globaalit sanakirjat ja paljastavat dekoodaustilastot THPDFJBIG2Decoder.LoadRegionFromByteArray-funktion kautta

Version 2.535.0

Added

  • Natiivi Pascal-JBIG2-polku hyväksyy nyt rajatut pitkän muodon referred-segment-taulukot yksi-, kaksi- ja nelitavuisilla tunnisteilla, ratkaisee monitasoiset globaalien sanakirjojen ketjut, hylkää virheelliset riippuvuudet ja paljastaa HPDFJBIG2SplitSymbolDictionaryGlobals-funktion riippuvuudet säilyttävälle virtojen erottelulle

Version 2.534.0

Added

  • Natiivi Pascal-JBIG2-dekooderi säilyttää ja käyttää nyt uudelleen yleisiä ja refinement-aritmeettisia todennäköisyyskonteksteja riippuvien symbolisanakirjojen yli, mukaan lukien ketjutetut ja haarautuvat viittaukset, mallitietoisella kontekstin mitoituksella, deep-copy-eristykellä ja viallisen lähteen suojuksilla

Version 2.533.0

Added

  • Natiivi Pascal-JBIG2-dekooderi käsittelee nyt aritmeettisen ja standard-Huffman-refinementin sekä kokoontuneet symbolit symbolisanakirjoissa sekä refinoidut ilmentymät tekstialueilla, jaetuilla refinement-konteksteilla, rajatuilla aritmeettisilla alivirroilla, adaptiivisilla refinement-malleilla ja virheellisten viittausten suojuksilla

Version 2.532.0

Added

  • Muistintenkulutukseltaan raskaat asiakirjan lataus, sivujen renderöinti, stream-optimointi ja rinnakkainen kuvien optimointi jakavat nyt reilun prosessinlaajuisen huippumuistiaikatauluttajan säädettävällä tavubudjetilla, FIFO- ja ylikokopääsyllä, peruutustietoisilla odotuksilla, allokaatiottomalla kiistattomalla polulla, kumulatiivisilla painetilastoilla sekä operaatiokohtaisella varaus- ja odotustelemetrialla

Version 2.531.0

Changed

  • Väliaikainen spill-tallennus käyttää nyt itsenäisesti pakattuja 256 KiB:n lohkoja, säilyttää pakaamattomat lohkot laajentamatta, niputtaa kirjoitukset rajatun asynkronisen jonon kautta, tukee satunnaista ylikirjoitusta ja koon muutosta ja raportoi loogiset, fyysiset, lohko-, erä- ja takapainetilastot

Version 2.530.0

Changed

  • Raakat pakatut alueet, dekoodatut kuvat, käännetyt display listit ja renderöidyt rasterisivut yhdistävät nyt least-recently-used-järjestyksen rajattuun frekvenssisketchiin, estäen yksivaiheiset läpikäynnit syrjäyttämästä vakiintuneita kuumia merkintöjä
  • AdaptiveAdmission voi palauttaa puhtaan recency-pääsyn kerroksittain, kun taas frekvenssipääsyt, hylkäykset ja vanhenemiskierrokset paljastuvat välimuistitilastojen kautta

Version 2.529.0

Added

  • THPDFCacheAdmissionPolicy ja SetCacheAdmissionPolicy tarjoavat itsenäiset alkiomäärä-, kokonaistavu- ja alkiokohtaiset rajat raaoille pakatuille alueille, dekoodatuille kuville, käännetyille display listeille ja renderöidyille rasterisivuille
  • GetCacheAdmissionStatistics raportoi miehityksen, osumat, hutit, pääsyt, hylkäykset ja karkotukset jokaiselle kerrokselle, kun taas ylikokoiset display listit ja rasterisivut ohittavat retention kaatamatta nykyistä operaatiota

Version 2.528.0

Changed

  • Ladatut asiakirjat internovat nyt toistuvat PDF-nimet, content stream -operaattorit ja muuttumattomat enintään 64 tavun merkkijonot asiakirjakohtaiseen pooliin, vähentäen kaksoismerkkijonojen varastointia jäsennettyjen objektien ja content-operaatioiden yli
  • GetDocumentStringInternStatistics raportoi kategoriapyynnöt, osumat, hutit, ohitukset, pidetyn varaston ja uudelleenkäytetyt tavut, kun taas 65 536 alkion ja 4 MiB:n kovat rajat pitävät vihamieliset asiakirjat rajattuina

Version 2.527.0

Changed

  • PDF:n lataus käyttää nyt pidettyä lohkoareenaa lyhytikäisille jäsennintokeneille ja puskureille, vähentäen allokointiliikennettä säilyttäen pysyvät asiakirjaobjektit itsenäisesti omistettuina
  • Sanakirja-avaimet jäsennetään suoraan rakentamatta väliaikaisia nimiobjekteja, ja GetLastParserArenaStatistics raportoi pidetyn varaston, huippukäytön, allokointien uudelleenkäytön, tokenneliikenteen ja väliaikaisobjektien poisjätön

Version 2.526.0

Changed

  • HPDFTransferStream kirjoittaa nyt muisti-, mapped-file-, lazy-file-, adaptive-cache- ja range-cache-lähteet tallennustietoisten polkujen kautta varaamatta välitullia koko virran puskuria
  • Salaamaton PDF stream -serialisointi, suodattamaton dekoodattu tuloste, raaka ladattujen kuvien vienti, lazy stream -materiaalistointi ja väliaikaisvirran spill käyttävät suoraa siirtoa automaattisesti, ja mapped-file- ja range-cache-tavulaskurit ovat käytettävissä diagnostiikkaan

Version 2.525.0

Changed

  • Random access -jäsennimen prefetch kasvaa nyt adaptiivisesti 1, 2, 4 ja 8 lohkon läpi jatkuvien eteenpäin lukujen aikana, pysyy määritetyn välimuistikapasiteetin rajoittamana ja vaimenee välittömästi satunnaisten tai taaksepäin tehtyjen seekkien jälkeen
  • AdaptiveReadAheadEnabled, MaxReadAheadBlocks ja SequentialReadToleranceBytes paljastavat politiikkahallinnan, kun taas range-cache-tilastot raportoivat pääsyn luokittelun sekä nykyisen tai huippu-read-ahead-ikkunan

Version 2.524.0

Added

  • THPDFCoalescingRandomAccessSource yhdistää viereiset jäsenninlukemat säädettäviksi välimuistialueiksi, valvoo rajattua least-recently-used-tavubudjettia ja paljastaa lähde-, välimuisti- ja prefetch-tilastot
  • LoadFromRandomAccessSource soveltaa nyt alueyhdistämistä ja asynkronista seuraavan alueen prefetchiä automaattisesti, kun taas etualan seekit peruuttavat epäolennaisen työn ja ReadAtCancellable antaa etäkuljetusten keskeyttää kesken olevat pyynnöt yhteistoiminnallisesti

Version 2.523.0

Changed

  • Type 3 -radiaalivarjostukset renderöityvät nyt virherajatun adaptiivisen Gouraud-tessellaation kautta kiinteiden 48-sivuisten tasavärikiekkojen sijaan
  • Korkean DPI:n ja transformoidut ympyränrajat käyttävät 0,35 laitepikselin jännetoleranssia, epälineaariset värifunktiot jakautuvat adaptiivisesti ja laajentamattomat aloitusympyrän sisät jäävät maalaamatta

Version 2.522.0

Fixed

  • V=4-salasanalataus ratkaisee nyt itsenäiset StrF- ja StmF-oletukset yhdessä suorien tai taulukkomuotoisten stream-tason Crypt-ohitusten kanssa
  • Stream-salauksen parametrit voivat valita Identity-, V2- tai AESV2-menetelmän, ja kulutetut suodatinmerkinnät poistetaan ennen jäljelle jäävän stream-dekoodausputken ajamista

Version 2.521.0

Added

  • Ladatut DCTDecode-, JPXDecode- ja JBIG2Decode-kuvat voivat nyt dekoodata crash-eristetyissä Win32- tai Win64-työntekijäprosesseissa rajatun jaetun muistin kautta
  • CodecIsolationMode, työntekijäpolku, timeout- ja muistirajahallinnat tukevat yhteensopivaa automaattista käyttöönottoa tai fail-closed-käsittelyä epäluotettaville asiakirjoille rakenteellisella tila-, prosessi-, poistumiskoodi- ja ajastustelemetrialla

Version 2.520.0

Added

  • THPDFDeterministicReplayLog tallentaa rajattuja järjestettyjä päätöksiä peruutustarkistuspisteille, random access -alueiden saatavuudelle sekä boolean- tai kokonaislukucallback-tuloksille vakaalla JSON-viennillä ja tuonnilla
  • Tiukka toisto validoi tapahtuman identiteetin, argumentit ja järjestyksen toistaen progressiivisen latauksen, annotaattiosuodatuksen ja tile-callback-peruutuspäätökset riippumatta nykyisestä ulkoisesta tilasta

Version 2.519.0

Added

  • BuildLoadedObjectDependencyGraph paljastaa nyt rajatut epäsuorat objektisolmut ja viiteslotinkaaret tarkoilla objektiidentiteeteillä, poluilla, ratkaisutilalla, elinkaarentilalla ja Catalog-saavutettavuudella
  • Objektisolmut raportoivat siirrettäviä matalan muistin arvioita ja dominaattoripohjaisia pidettyjä tavuja, jotta jaetut resurssit voidaan osoittaa lähimmälle objektille, joka pidättää ne yksinomaan

Version 2.518.0

Added

  • Rajattu ristiviitepalautus paljastaa nyt rakenteellisen tapahtumavirran, joka kattaa ehdokkaiden hyväksynnän ja hylkäyn, valitut xref-osiot, uudelleen rakennetut siirtymät, rajojen ylitykset ja lopulliset lopputulokset
  • Jokainen palautustapahtuma sisältää inklusiivi-eksklusiivisen lähdetavualueen, epäsuoran objektin identiteetin kun soveltuu, nimenomaisen luotettavuustason ja rajatun englanninkielisen diagnostiikan, säädettävällä retentiolla ja pudotettujen tapahtumien kirjanpidolla

Version 2.517.0

Added

  • Yhtenäistetty operaatiotelemetria raportoi nyt säikeen nykyisen CPU-ajan, huippulisät elävät Delphi-allokaatiot, otannallisen prosessin working setin, prosessin I/O-tavudeltaat, välimuistihutit ja dekoodatun virran laajenemisen olemassa olevien kuluneen ajan ja komponenttimuistin mittareiden rinnalla
  • Dekoodauksen kirjanpito erottaa nyt koodatun syötteen, kokonaissuodattimen työn ja lopulliset tulostetavut, ja laajeneminen julkaistaan promilleina, jossa 1000 tarkoittaa 1x

Version 2.516.0

Added

  • Viallisten PDF-regressiotapauksia voi nyt validoida ja minimoida uudelleen jatkuvasti säädettävien yritys- ja tavurajojen puitteissa, ja pienin allekirjoitusekvivalentti syöte säilytetään prosessiturvallisella lukituksella ja atomisella korvauksella
  • Korpus-PDF:t käyttävät vakaita failure-signature-tapaus-ID:itä ja deterministisiä hotpdf.corpus.case.v1-sidecareja, jotka sisältävät sisällön SHA-256:n ja tavumäärän

Version 2.515.0

Added

  • Moottorienväliset regressiotunnistimet kattavat nyt jäsennys-, renderöinti-, teksti- ja tallennusalueet rajatuilla sisäänrakennetuilla HotPDF SHA-256 -sormenjäljillä, toistettujen ajojen vakautustarkistuksilla, eristetyillä poikkeustuloksilla, nimetyillä moottoreilla, syöterajoilla ja deterministisillä versioiduilla JSON-raporteilla

Version 2.514.0

Added

  • Versioitu litteä C ABI lataa nyt PDF:t 64-bittisten random access -callbackien kautta suoraan jäsenninpuskureihin ja tallentaa uudelleenyritettävien peräkkäisten kirjoituscallbackien kautta ilman Delphi-hallittuja tyyppejä rajan yli
  • HotPDFABI.dll toimittaa vakaat cdecl-viennit, opaatut validoidut kahvat, kiinteät tilakoodit, nimenomaiset tavupituudet, peruutuksen, edistymisen, diagnostiikan, Win32- ja Win64-käännösautomaation, import-kirjastot ja asettelutarkistetun hotpdf_abi.h-otsikkotiedoston

Version 2.513.0

Added

  • PDF/UA-2-, PDF/A-4- ja PDF/X-6-validoijat voivat nyt palauttaa yhden jaetun koneellisesti luettavan löydösmallin profiililla, vakavuudella, vakaalla sääntö-ID:llä, standardin lausekkeella, objektipolulla, objektinumerolla ja nollapohjaisella sivusijainnilla
  • Yksityiskohtaiset PDF/UA-2-korjauslöydökset erottavat sovelletut, ratkaisemattomat, takaisin rullatut ja epäonnistuneet toimet korjausmäärillä, kun taas ComplianceFindingsToJSON tuottaa determinististä versioitua JSON:ia CI- ja auditointiputkiin

Version 2.512.0

Added

  • PDF/UA-2-transaktionaalinen korjaus palauttaa nyt puuttuvan vaihtoehtotekstin olemassa olevasta semanttisesta tekstistä tai tagatusta sivusisällöstä, nostaa kelvollisen asiakirjakielen perittäväksi, sulkee otsikkotasojen puutteet ja tasaa Artifact-rakenneroilit merkittyjen sisältöjen tagien kanssa tuottaja- ja ladatuille asiakirjoille
  • Korjausvalinnat paljastavat nimenomaiset oletukset ja rajatut fallback-politiikat, kun taas korjausraportti erottaa onnistuneet vaihtoehtoteksti-, kieli-, otsikko- ja artefaktimuutokset ratkaisemattomista semantiikoista, jotka vaativat tekijän tarkistuksen

Version 2.511.0

Changed

  • Ladattujen kuvien uudelleenpakkaus ja effective-DPI-alasnaulaus konvertoivat nyt tuetut ICCBased-, CalGray- ja CalRGB-syötteet nimenomaiseen kalibroituun RGB:hen, kun taas tukemattomat kalibroidut, Separation- ja DeviceN-kuvat pysyvät muuttumattomina ja raportoivat säilytyspäätöksensä
  • Läpinäkyvyyden litistys tuottaa nyt kalibroitua RGB:tä, havaitsee rekursiivisesti spot-väriaineet sivu- ja sisäkkäisten resurssien yli ja säilyttää Separation- tai DeviceN-paintia sisältävät sivut vektorisisältönä rakenteellisella tiladiagnostiikalla
  • CalRGB-renderöinti kunnioittaa nyt PDF-matriisin elementtijärjestystä ja soveltaa oikeaa XYZ→sRGB-käänteistransformaatiota vektori- ja rasteriväreille

Version 2.510.0

Changed

  • ICC-värtransformaatiot käytetään nyt uudelleen säikeistysturvallisen 64 MiB:n rajatun LRU-välimuistin kautta, jonka avaimina ovat täydelliset lähde-, proof- ja tulosteprofiilien sisällöt, tehokas renderöintitarkoitus ja black-point compensation -asetus, välttäen toistuvan profiilin jäsennyksen ja transformaation rakentamisen vektori-, kuva-, sivu- ja rinnakkaisilla renderöintipoluilla

Version 2.509.0

Changed

  • Ladattujen sivujen ICC-renderöinti soveltaa nyt kaikkia neljää PDF-renderöintitarkoitusta ja aitoa black-point compensationia lähde-, proof-, tuloste- ja sRGB-transformaatioissa sekä vektoreille että kuvaotannoille, säilyttäen alustan värpalvelun yhteensopivuusfallbackina

Version 2.508.0

Changed

  • LZW-enkooderi (TPDFLZWCompressor) sai Compress(Input, Parms)-ylityksen, joka soveltaa eteenpäin suunnatun PNG/TIFF-prediktorin ennen pakkausta, tehden siitä symmetrisen dekooderin Decompress(Input, Parms)-polun kanssa, jolloin LZW+Predictor-virrat voidaan kirjoittaa molempiin suuntiin
  • Content stream -tulkki seuraa nyt grafiikan cm-operaattoria ja tallentaa aktiivisen CTM:n jokaiselle emitoidulle glyyfille (THPDFGlyphRecord.CTMA..CTMF), joten kutsujat voivat laskea todellisen käyttäjäavaruuden origon kaavalla CTM * Tm, kun transformaatiomatriisit edeltävät tekstiä. Glyyfien X/Y pysyvät tekstiavaruudessa (identiteetti-CTM on yleinen tapaus), joten olemassa oleva käytös ei muutu
  • ReplaceLoadedPageText / ReplaceLoadedDocumentText käsittelevät nyt osumat, jotka ulottuvat kahden tai useamman peräkkäisen yksinkertaisen merkkijonooperandin yli (esim. (Hel) Tj (lo) Tj): aloitusoperandi vastaanottaa täyden korvaustekstin (koodattuna sen fontin kautta säilyttäen mahdollisen osuvan etuliitteen), ja jokainen seuraava operandi osumavälillä tyhjennetään. Aiemmin tällaiset operandien ylittävät osumat ohitettiin hiljaa dokumentoituna rajoituksena; koko yksittäisoperandinen korvauskäytös pysyy muuttumattomana

Version 2.507.0

Added

  • Lisätty valinnainen stream-salaus: uusi THPDFStreamObject.SkipEncryption-lippu, jota kirjoittajan salausyhdyskäytävä kunnioittaa, pitää yksittäisen virran selkokielisenä silloinkin, kun asiakirjanlaajuisen salaus on aktiivinen (ISO 32000-1 7.6.4 valinnainen crypt filter /Identity). Tämä on perusta salattujen ja selkokielisten virtojen sekoitukselle yhdessä asiakirjassa

Version 2.506.0

Added

  • Lisätty legacy RC2 PFX -dekryptaus: DecryptPKCS12EncryptedBytes ohjautuu nyt pbeWithSHA1And40BitRC2-CBC- (OID 1.2.840.113549.1.12.1.6) ja pbeWithSHA1And128BitRC2-CBC-menetelmiin (1.2.840.113549.1.12.1.5), kloonaten 3DES CryptoAPI-polun KP_EFFECTIVE_KEYLEN-parametrilla asetettuna 40 / 128:een, jotta tuotu RC2-avaimateriaali luetaan oikealla tehollisella vahvuudella täyden pituuden sijaan
  • Lisätty polttava musteen poisto (burn-in redaction): ApplyLoadedRedactions käy läpi jokaisen /Subtype /Redact-annotaation, tyhjentää alla olevat tekstiä näyttävät merkkijonooperandit, joiden glyyfit osuvat annotaation /Rect-alueen sisään (tavuista tulee välilyöntejä, joten teksti on aidosti poissa poiminnasta eikä vain peitettynä), maalaa läpinäkymättömän suorakulmion jokaisen alueen päälle ja palauttaa tyhjennettyjen operandien määrän. Tukee sivualueargumenttia ('' = kaikki sivut). Lisää myös AddLoadedRedactAnnotation luomaan /Redact-annotaatiot ladatulle sivulle. TJ-taulukoiden kohtien tyhjennys sekä vektori- ja kuvarajaus ovat tämän kierroksen ulkopuolella (yksittäiset merkkijono-Tj / ' / "-operandit tyhjennetään; kosketetut TJ-merkkijonot ohitetaan täyttösuorakulmiofallbackilla)

Version 2.505.0

Changed

  • Tekstitulkki ratkaisee nyt jokaisen glyyfin vaakasiirtymän fontin oikeasta /Widths-taulukosta (PDF 1.7 9.6.3) uuden IHPDFFontResolver.Advance-metodin kautta aiemman litteän 0.5 * fontSize-approksimaation sijaan. HPDFBuildFontDecoder lukee /FirstChar-, /LastChar- ja /Widths-lukutaulukot yksinkertaisille (ei-CID) fonteille; kun leveyttä ei ole saatavilla, ratkaisija palauttaa 0 ja tulkki pitää puolen em:n fallbackin, joten käytös fonteille ilman leveyksiä ei muutu. Tämä parantaa glyyfien X-sijoittelun tarkkuutta tekstin poiminnassa, palstojen tunnistuksessa ja lukujärjestysanalyysissä

Version 2.504.0

Added

  • Lisätty SetLoadedAcroFormCalculationOrder rakentamaan AcroFormin /CO-laskentajärjestystaulukko uudelleen kutsujan toimittamassa kenttänimijärjestyksessä (ratkaiseutumattomat kentät ohitetaan), jolloin laskentaketju voidaan kirjoittaa nimenomaisesti pelkän liittämisen sijaan
  • Lisätty RegisterNChannelColorSpace, DeviceN-variantin väriavaruusapuri, joka tuottaa /NChannel-merkinnän (PDF/X-6 / PDF 2.0) väriavaruuksille, jotka voivat sisältää prosessimusteja väriaineidensa joukossa
  • Lisätty SetStructureElementClass kirjoittamaan rakenne-elementin /C-luokkanimitaulukko (PDF 1.7 14.9.2.2) viittaamaan jaettuihin attribuuttiluokkiin
  • Lisätty AddLoadedPagePieceInfo kirjoittamaan sivukappalesanakirja (PDF 1.7 14.5) polun /PieceInfo/<Application> alle /LastModified-päiväleimalla ja kutsujan toimittamilla avain/arvo-pareilla

Version 2.503.0

Added

  • Kirjainkokoariippumaton tekstihaku taittaa nyt Unicoden eikä vain ASCII:ta: jaettu glyyfitäsmäyttäjä (HPDFMatchGlyphs) korvaa A-Z-pienkirjainmuunnoksensa TCharacter.ToLower-kutsulla (Unicode Simple_Lowercase_Mapping), joten aksentoituneet latinalaiset (À-ý), kreikkalaiset (Α-Ω) ja kyrilliset (А-Я) versaalit täsmäävät pienkirjaisen muotonsa kanssa SearchLoadedPageText / SearchLoadedDocumentText-kutsuissa. Pre-XE2-käännökset pitävät ASCII-fallbackin
  • Lisätty inline image -callback content device -abstraktioon: IHPDFContentDevice.ProcessInlineImage laukeaa jokaiselle BI/ID/EI-lohkolle, kun laite ilmoittaa cdcNeedImages-kykynsä, tuoden mukanaan normalisoidun leveys/korkeus/väriavaruus/kuvamaskeitiivistelmän, jonka litteä tokenisoija oli jo tallentanut BI-tokenille. Tekstin poiminta-, polkuluettelointi- ja auditointilaitteet voivat nyt ottaa inline-kuvat huomioon hiljaisen ohittamisen sijaan; sivurenderöijä reitittää callbackin no-opiksi, koska se piirtää inline-kuvat omassa tuotantosilmuksessaan

Fixed

  • Korjattu SaveLoadedDocument:n hiljainen pudotus ladattuun asiakirjaan lisätylle PDF/A OutputIntentille: AddPDFAOutputIntent täytti muistissa olevan intent-luettelon, mutta ladattujen asiakirjojen tallennuspolku ei koskaan liittänyt sitä katalogiin, joten tuloste epäonnistui veraPDF:ssä puuttuvan /OutputIntents:n vuoksi. Uusi EnsureLoadedPDFAOutputIntents-vaihe ripustaa nyt FOutputIntents-listan ladatun katalogin /OutputIntents-taulukkoon ja merkitsee sen likaiseksi ennen tallennusta, pakottaen uudelleenserialisoinnin intentin ollessa paikallaan

Version 2.502.1

Fixed

  • Korjattu litistettyjen AcroForm-kenttärvojen renderöityminen paksuina viivattuina ääriviivoina normaalien täytettyjen tekstien sijaan: EnsureLoadedFieldAppearanceStream tuottaa nyt nimenomaisen 0 Tr (fill) heti BT:n jälkeen jokaisessa luodussa widgetin appearance streamissa, joten tekstin renderöintitila on deterministinen riippumatta ympäröivästä sivusisällön tilasta. Aiemmin grafiikkatilaan vuotanut 1 Tr (stroke) periityi Do:n kautta kulutettuun Form XObjectiin maalaten kenttäarvon 2 pisteen punaisella ääriviivalla, joka näytti lihavoitulta ja väärinvärjätyltä
  • Poistettu legacy-oletustilan nollauslohko THPDFPage.CloseCanvas:n hännältä, joka kirjoitti 1 0 0 RG/rg + 1 Tr + 2 w suoraan sivun content streamiin GStateRestore:n jälkeen (eli minkään q/Q-parin ulkopuolella) ilman polkuoperaattoria kuluttamassa niitä. Tämä jäännösgrafiikkatila vuoti kaikkeen sen jälkeen piirrettyyn tuottajalla tuotetuilla sivuilla ja oli yllä olevan paksun ääriviivan tekstioireen alkulähde; canvasin sulkeminen jättää nyt content streamin puhtaaksi, koska metafilen toiston ympärillä oleva q/Q eristää toistotilan jo valmiiksi

Version 2.502.0

Added

  • Lisätty LZW-enkooderi (TPDFLZWCompressor), joka on symmetrinen olemassa olevan TPDFLZWDecompressor:n kanssa, joten virrat voidaan kirjoittaa LZW:llä ja PDF-suodatinvalikoima on nyt täydellinen molempiin suuntiin; enkooderi peilaa dekooderin Clear / EOI -sijoittelun, muuttuvalevyisen koodin kasvun ja EarlyChange-käytännön ja kulkee dekooderin läpi myös sanakirjantäyteen 12-bittiseen saturaatioon asti
  • Lisätty täysi CSS / X11 -nimivärituki HTML-tekstin värjäilijään, laajentaen tunnistettu paletti legacy-16 VGA -väristä täyteen CSS Color Module Level 4 -settiin (aliceblue:sta yellowgreeniin, mukaan lukien gray/grey-, aqua/cyan- ja fuchsia/magenta-aliakset) binäärihaustaulun kautta
  • Lisätty Optional Content Membership Dictionaryn luonti AddLoadedOptionalContentMembership-funktiolla, joka rakentaa /Type /OCMD-objektin, jonka /OCGs-lista ja /P-politiikka (AnyOn / AllOn / AnyOff / AllOff) syöttävät olemassa olevaa EvaluateLoadedOCVisibility-evaluoijaa, joten monimutkaisia kerrosten näkyvyyslausekkeita voi nyt kirjoittaa, ei vain kuluttaa
  • Lisätty rikasteksti-FreeText-annotaation sisääntulopiste AddLoadedFreeTextAnnotationRichText, joka liittää /RC-rikassisältö-XML-fragmentin ja valinnaisen /DS-oletustyylin FreeText-annotaatioon (PDF 1.5 12.5.6.16) täydentäen kenttätason /RV-polkua
  • Lisätty katalogin /Requirements-kirjoittaja AddLoadedDocumentRequirement (ISO 32000-1 7.7.4), joka liittää vaatimusanakirjoja, joissa on /S sekä kutsujan toimittamat avain/arvo-parit, katalogin /Requirements-taulukkoon
  • Lisätty Type 16 -halftonen (kynnysmaskin) tunnistus sivurenderöijässä: maskin /Width ajaa ekvivalentin screenausfrekvenssin, jolloin sivu säilyttää halftone-rytmin hiljaisen operaattorin pudottamisen sijaan, ja diagnostiikka merkitsee approksimaation

Changed

  • Laajennettu ASN.1 BER/DER-dekooderia hyväksymään korkean taginumeron pitkä muoto (tag >= 31), BER:n määrittelemätön pituusmuoto rakennetuille solmuille (päättyy 00 00 End-of-Contents-merkintään, rekursioturvallisella skannauksella) ja pitkän muodon pituudet X.690:n 8-tavun kattoon asti, joten näitä muotoja käyttävät kolmansien osapuolten CMS-paketit jäsentyvät poikkeuksen sijaan; uudet IsIndefinite- ja ExtendedTagNumber-tietuekentät tallentavat, minkä muodon jäsennetty solmu käytti
  • Tarkennettu renderöijän fallback-diagnostiikkaa: Type 1 -funktiovärjäys raportoi nyt tarkan viestin yleisen "unsupported shading type" -viestin sijaan, ja tukemattomat halftone-tyypit nimeävät todellisen tyypin numeron diagnostiikassa

Version 2.501.0

Added

  • Lisätty PDF 2.0 -rakennekohteet ja sivusisältölinkit, jotka luodaan merkityn sisällön datasta, kuten vakioaikainen FindStructureElementForMCID-käänteishaku, joka ratkaisee (sivu, MCID)-parin takaisin omistavaan StructElemiin asiakirjan ParentTreen kautta, paikallinen AddStructureDestinationLink, joka tuottaa GoTo-toiminnon, joka kantaa sekä vaaditun sivukoordinaatti-/D-fallbackin että PDF 2.0 /SD-taulukon, joka nimeää kohde-StructElemin epäsuoralla viitteellä, sekä etäkutsu AddGoToRStructureDestinationLink, jonka /SD:n ensimmäinen alkio on kohdeelementin tavujonoinen /ID ulkoisessa tiedostossa, joten PDF 2.0 -katselimet hyppäävät rakennesisältöön kun legacy-katselimet palautuvat nimettyyn sivuun

Version 2.500.0

Added

  • Lisätty rajattu PDF/UA-2-validointi ja transaktionaalinen korjaus täydellisille PDF 2.0 -luetteloiden numeroinneille ja jatkoketjuille, säännöllisille taulukkoruudukoille ja riviryhmille, taulukon sisäisille otsikkokytköille ja sykleille, tarkoille Ruby- ja Warichu-lapsisekvensseille, elementtikohtaisille ääntämysvihjeille ja järjestetyille upotetuille PLS-ääntämysleksikoille, uusilla kirjoitusapureilla, vakaalla diagnostiikalla, semanttisilla korjauslaskureilla ja rollbackilla monitulkintaisille rakennvikoille

Version 2.499.0

Added

  • Lisätty PDF/X-6-, PDF/X-6p- ja PDF/X-6n-tuotanto ja rajattu validointi PDF 2.0 -asiakirjoille, mukaan lukien upotetut, ulkoiset, katalogitason ja sivutason output intentit; ulkoisten profiilien tarkistussummat, ICC-versiot, väriavaruussignatuurit ja N-väriainetaulukot; perityn sivulaatikon validointi; vaihtotoiminto-, annotaatioappearance-, fontti-, lomake-, grafiikkatila- ja resurssirajoitukset; vakaat lauseketietoiset diagnostiikat; ja fail-closed-tuotantovalidointi

Version 2.498.0

Added

  • Lisätty rajattu, muuttamaton PDF/UA-2-validointi ja transaktionaalinen nimiavaruus- ja rakenneattribuutikorjaus tuottaja- ja ladatuille asiakirjoille, mukaan lukien kanoninen nimiavaruusrekisteröinti, kaksois- ja virheellisten nimiavaruuksien siivous, roolikarttakonfliktien tunnistus, standardirakenteen nimiavaruuden korjaus, nimenomaiset mukautetut attribuuttinimiavaruudet, revisioiden normalisointi, rakenteelliset raportit, itsenäiset objekti- ja mutaationrajat sekä automaattinen rollback, kun validointi yhä epäonnistuu

Version 2.497.0

Added

  • Lisätty rajattu PDF/A-4-, PDF/A-4e- ja PDF/A-4f-tuotanto ja ladattujen asiakirjojen validointi profiilikohtaisilla annotaatio-, toiminto-, upotettu tiedosto-, metatieto-, output-intent-, fontti-, lomake- ja optional content -säännöillä; rakenteellisella diagnostiikalla vakaita koodeja, lausekkeita ja objekti- tai sivusijainteja; fail-closed EndDoc-validoinnilla; trailerin Info:n poisjätillä; pakollisella PDF/A-4f EmbeddedFiles-nimipuulla; ja täydellisillä liitegraafeilla

Version 2.496.0

Added

  • Laajennettu rajattua AcroForm JavaScript -evaluoijaa tyypitetyillä boolean-, numero-, merkkijono-, null-, undefined- ja taulukkoarvoilla; oikosulku-logiikka-, vertailu-, yhtäsuuruus-, unaari- ja ehtolausekkeilla; deterministisillä päivämääräfunktioilla; merkkijono- ja taulukkometodeilla; säilytetyllä numeerisen kentän yhteensopivuudella; sekä nimenomaisilla skripti-, lause-, syvyys-, operaatio-, argumentti-, kokoelma-, merkkijono- ja arvomuistirajoilla

Version 2.495.0

Added

  • Lisätty natiivi CFF2-muuttuvafonttien instansointi ja glyyfien subsetointi fvar- ja avar 1.0/2.0 -koordinaattien ratkaisulla, VariationStore-blendin evaluoinnilla, rekursiivisella aliohjelmien litistyksellä, säilytetyillä multi-FD-sanakirjoilla ja hint-datalla, HVAR/VVAR/MVAR-metriikkapaistoksella, rajatulla fail-closed-jäsennyksellä ja automaattisella RegisterUnicodeTTF-integraatiolla

Version 2.494.0

Added

  • Lisätty sisäkkäiset copy-on-write-objektigraafitransaktiot ensimmäisen kirjoituksen epäsuorilla juuritilannekuvilla, paikallaan tehtävällä rollbackilla, liitettyjen objektien ja objektinumeroiden palautuksella, rajatulla väliaikaistiedostospillillä suurille virroille, automaattisella konttimutaatioiden seurannalla, nimenomaisella raakakirjoituksen valmistelulla ja elävillä muistitilastoilla

Version 2.493.0

Added

  • Lisätty rajattu tokeneita säilyttävä content stream -AST kaikki-tavu-lekseemeilla, linkitetyillä operaatio- ja konttisolmuilla, päällekkäisittömällä muokkausoverlaylla, tavutarkoilla no-op-kierroilla, streamatusella serialisoinnilla ja häviöttömällä kohdennetulla tekstin korvauksella

Version 2.492.0

Added

  • Lisätty rajattu ikkunoitu muistiinkuvaus suurille paikallisille PDF-latauksille jaetulla lazy stream -pääsyllä, säädettävällä kynnyksellä ja LRU-ikkunageometrialla, automaattisella stream-fallbackilla, ikkunoiden yli lukemisella, atomisen korvauksen jakamisella ja muistiinkuvausdiagnostiikalla

Version 2.491.0

Security

  • Salasanat, johdetut tiedosto- ja objektiavaimet, välimuistitetut AES-ajot, PKCS#12-yksityisen avaimen selkoteksti, autentikoidun dekryptauksen työmuisti ja suoran tiedoston streamauksen selkotekstipuskurit ylikirjoitetaan nyt nimenomaisesti jokaisella onnistumis- ja poikkeuspolulla

Version 2.490.0

Changed

  • Muutettu viivästettyä Standard-turvallisuuden dekryptausta sieppaamaan rajattu raaka salausobjekti ja trailer-ID auktoritatiivisen xref-siirtymän kautta latauksen aikana, säilyttäen tarkat binääriavainmerkinnät ja poistaen myöhemmät koko lähteen lukemat kelvollisilla asiakirjoilla

Version 2.489.0

Changed

  • Muutettu salasanalatausta palauttamaan RC4- ja AES-tiedostoavaimet rajatuista traileri-, xref-, asiakirja-ID- ja auktoritatiivisista salaussanakirja-alueista, välttäen koko lähteen pyynnöt kelvollisille random access -asiakirjoille säilyttäen yhteensopivuusfallbackin

Version 2.488.0

Added

  • Lisätty ladattujen sivujen renderöinti Shading Type 4–7 -varjostuksille tavusuunnatulla mesh-dekoodauksella, jatko-reunojen uudelleenkäytöllä, funktiotietoisilla Gouraud-väreillä, rajatulla adaptiivisella Coons- ja tensoritulo-tessellaatiolla, eritetyillä kolmiotäytöillä, leikkauksella, taustoilla ja viallisen syötteen budjeteilla

Version 2.487.0

Changed

  • Muutettu PFX-, ulkoisen allekirjoittajan ja allekirjoituspalveluntarjoajan työnkulut kopioimaan rajatuilla 256 KB:n puskureilla, laskemaan stream-hash korjatuista tavualueista ja tekemään seek-patch kiinteän levyisille /ByteRange- ja /Contents-kentille, mukaan lukien saman virran allekirjoitus ilman täydellisen toisen PDF:n säilyttämistä

Version 2.486.0

Added

  • Lisätty natiivi standard-Huffman-JBIG2-dekoodaus SDHUFF-symbolisanakirjoille ja SBHUFF-tekstialueille, mukaan lukien kaikki 15 liitteen B taulukkoa, raakat tai MMR-kollektiiviset bittikartat, aluekohtaiset symboli-ID-taulukot ja rajatut viallisen syötteen suojukset

Version 2.485.0

Added

  • Lisätty RC4-128- ja AES-128-salattujen objektivirtojen kirjoitus ja uudelleenlataus salasanalla rajatulla esijäsennysavainten palautuksella, oikealla objektinumeroavainten johtamisella, laiskalla pakattujen jäsenten käsittelyllä ja ilman koko tiedoston uudelleenlukemista onnistuneen avainpalautuksen jälkeen

Version 2.484.0

Added

  • Lisätty transaktionaaliset lomakkeiden muokkausistunnot ja rajoitetut tapahtumatoiminnot, täydellinen kenttä-, annotaatio- ja tila-FDF-vaihto, deterministiset XFA-erikoiswidget-fallbackit ja edistynyt sivutus, streamattu upotettujen tiedostojen validointi, edistyneet Portfolio-näkymät, lajittelu, kansiot, navigointi ja skeeman muokkaus, viisiulotteiset JSON-operaatiobudjetit, callback-pohjainen integraatio-ABI ja virheet säilyttävä korpusminimointi differentiaalisilla regressiotunnistimilla

Version 2.483.0

Added

  • Lisätty vakaa täysi objektigraafin JSON-vienti ja validoitu paikkaus, ei-materiaalisoiva objektivirran tarkastelu, rajattu linearisointivalidointi, kanoniset sisällöstä johdetut asiakirjatunnisteet toistettavalle tulosteelle, nimenomaiset saavuttamattomien objektien politiikat, rajattu lajiteltu monilähteinen sivujen kokoaminen, itsenäisesti syklittävät overlay- ja underlay-koostamiset, geometrialtaan täydellinen sivukiertojen litistys sekä sivuthumbnailien luku-, kirjoitus- ja mitätöintituki

Version 2.482.0

Added

  • Lisätty sisältötietoinen inline-kuvien ulkoistaminen, peritty ja appearance-turvallinen resurssien siivous, content stream -yhdistäminen, kanoninen Form XObject- ja upotettujen fonttien deduplikaatio, politiikkaohjattu JPEG- ja JPEG 2000 -uudelleenpakkaus, tarkan osuman JBIG2-globaalien jakaminen, värihallittu effective-DPI-alasnaulaus soft mask -koordinaatiolla ja adaptiivinen lokaliteettitietoinen objektivirtojen pakkaus

Version 2.481.0

Added

  • Lisätty uudelleenkäytettävät sivudisplay listit ja spatiaaliset indeksit, rajattu tile- ja band-renderöinti, deterministinen rinnakkainen sivurenderöinti, läpinäkyvyyden litistys, muste- ja trapping-diagnostiikka, prosessi- ja spot-separation-platet, suoritettavat halftone- ja transfer-funktiot sekä tarkoitustietoiset lähde-, proof- ja tuloste-ICC-putket black-point compensationilla

Version 2.480.0

Added

  • Lisätty standarditietoinen teksti- ja asiakirja-asettelu Unicode-rivinkatolla ja tavutuksella, optimaalisella kappaleiden koostamisella, tasapainotetuilla palstoilla, alaviite- ja loppuviitesivutuksella, taulukoiden mitoituksella ja sivutuksella, kelluvien poissulkemisella, rakenteellisilla sisäkkäisillä luetteloilla, pidä-ryhmillä ja rajatulla shaped-run-välimuistilla

Version 2.479.0

Added

  • Lisätty nimiavaruuksia huomioiva PDF/UA-2 -rakennekirjoitus ja rajattu yhden läpikäynnin validointi hierarkialle, attribuuteille, annotaatioiden omistajuudelle, liitetyille tiedostoille, otsikoille, luetteloille, taulukoille, kaavoille ja MathML:lle

Version 2.478.0

Added

  • Lisätty standardeihin perustuva offline-luottamusvalidointi delta- ja epäsuorilla CRL:illä, tiukalla OCSP-politiikalla, X.509-nimi- ja varmennepolitiikkarajoituksilla, evaluointihetkisellä algoritmipolitiikalla, deterministisellä moniallekirjoittaja- ja sisäkkäisillä vastaanallekirjoitusten varmennuksella sekä rakenteellisilla JSON-validointiraporteilla

Version 2.477.0

Added

  • Lisätty AES-256 -julkisen avaimen salaus nimenomaisilla RSA-OAEP-hash-politiikoilla, ECDH- ja X25519- tai X448-avainsopimisella, CMS-vasta-allekirjoituksilla ja inkrementaalisella PAdES-LTA-aikaleiman uusinnalla, joka säilyttää jokaisen aiemman revision

Version 2.476.0

Added

  • Lisätty rajatun muistin AESV4-suoran tiedoston salaus ja autentikoitu dekryptaus sekä ISO/TS 32004:2024 -itsenäinen PDF MAC -tuotanto, varmennus, diagnostiikka, atominen tuloste ja preflight-validointi

Version 2.475.0

Added

  • Lisätty ISO/TS 32003:2023 AESV4 -salasanapohjainen salaus ja autentikoitu lataus AES-256-GCM:llä, ainutlaatuisilla 12-tavuisilla IV:illä, 16-tavuisilla autentikointitageilla, PDF 2.0 -kehittäjälisäillä, sisäkkäisten merkkijonojen kattavuudella, objektivirratuella ja peukaloinnin hylkäyksellä

Version 2.474.1

Fixed

  • CMS-allekirjoitus ei enää epäonnistu käännöksessä, kun anonyymin metodin allekirjoittajacallback sieppaa allekirjoitusoptioiden tietueen Delphi Win32:lla
  • Järjestelmävarmenne-allekirjoitus ei enää epäonnistu käännöksessä, kun digest-callback sieppaa allekirjoitusoptioiden tietueen Delphi Win32:lla
  • E-Invoice-demo kääntyy nyt sen jälkeen, kun validointiongelmien luettelointia laajennettiin lisä-PDF/A-3-liite- ja XMP-tarkistuksilla

Version 2.474.0

Added

  • JSON-työmääritysprosessori, joka tukee merge-, split-, optimise-, encrypt- ja validate-operaatioita rakenteellisilla operaatiokohtaisilla tuloksilla
  • Opaakilla kahvalla varustettu C ABI arvokkaisiin asiakirjaoperaatioihin, mukaan lukien luonti, lataus, sivumäärä, tallennus ja työn suoritus muilla kielillä upotettavaksi
  • Asiakirjojen vertailu sivumäärä-, sivuteksti-, objektiluku- ja renderöityjen kuvien tiloilla, joka palauttaa rakenteellisen JSON-ero raportin

Version 2.473.0

Added

  • Uudelleenkäytettävät validointipolitiikat kattavat nyt WTPDF-uudelleenkäytön, saavutettavuuden ja validoidun julistusten vastaanoton, paljastavat julistusvaatimusten metatiedot ja lähdetietoiset virheet, ajavat järjestettyjä eriä rajattujen työntekijä- ja jonorajojen läpi ja tarjoavat itsenäiset inspect-, add-missing- ja synchronize-tilat XMP-metatietojen korjaukseen

Version 2.472.0

Added

  • CMS-varmennus tukee nyt Ed25519:ää ja Ed448:a dynaamisesti valitun alustantarjoajan kautta sekä ML-DSA-44-, ML-DSA-65- ja ML-DSA-87-menetelmiä nimenomaisen PDF 2.0 -kehittäjälisän takana, kun taas yhteinen rajattu tarjoajasopimus mahdollistaa callback-, etä- ja PKCS#11-RSA-allekirjoituksen uudelleenyrityksellä, peruutuksella, avaintunnisteilla ja algoritmikohtaisilla parametreilla

Version 2.471.0

Added

  • Ladattujen sivujen renderöinti kohdistuu nyt yhteiseen laiteabstraktioon omistetuille bittikartoille, ulkoisille laitekonteksteille kuten tulostimille ja enhanced metafileille, kun taas valinnainen CMYK-overprint-proofing tulkitsee /OP-, /op- ja /OPM 1-asetukset esikatellakseen yhdistettyjä prosessimusteja olemassa olevan läpinäkyvyysryhmäknockout-renderöinnin rinnalla

Version 2.470.0

Added

  • Muuttuvat OpenType-fontit paljastavat nyt akseli- ja nimettyjen instanssien metatiedot validoidulla akselikohtaisella valinnalla ja staattisten instanssien tarjoajaintegraatiolla, kun taas COLR- ja CPAL-kerrokset, SVG-glyyfidokumentit ja CBDT-bittikarttastriket voidaan tarkastella ja renderöidä natiiveilla tai kutsujan toimittamilla rasterointipoluilla

Version 2.469.0

Added

  • TrueType- ja OpenType-fonttien subsetointi voi nyt käyttää uudelleen validoituja sisältöosoitteisia tuloksia pysyvältä levyvälimuistilta atomisilla kirjoituksilla, korruptiopalautuksella, pääsyyn perustuvalla tavubudjettikarkotuksella, tiiviin CID-kuvauksen säilyttämisellä ja havaittavilla osuma-, huti-, kirjoitus-, hylkäys- ja karkotustilastoilla

Version 2.468.0

Added

  • Uudelleenkäytettävät asetteluelementit paljastavat nyt sivuvaikutuksettoman mittauksen, omistetut sijoitetut ja ylivuotofragmentit kappale-, rivi-, kontti- ja mukautetulle sivutukselle sekä deklaratiiviset tausta-, ylä- ja alatunniste- ja etualakerrokset, jotka sovelletaan vakaassa sivukoostamisjärjestyksessä

Version 2.467.0

Added

  • Linearisoidut random access -lähteet raportoivat nyt rajatun ensimmäisen sivun ja pää-xref:n saatavuuden, ladatut virrat voivat käyttää determinististä neljästrategista korkeasuhteista Flate-uudelleenpakkausta ja itsenäiset kuviostreamit voidaan optimoida rinnakkain kutsujan hallitsemilla työntekijöillä ja lähdejärjestyksen committeilla

Version 2.466.0

Added

  • Ladatut asiakirjat paljastavat nyt puhtaat, likaiset, vapautetut ja pakko kirjoittaa -objektitilat, turvallisen tallennuksen jälkeisen objektivirtavälimuistin vapautuksen, xref-vapaalista- ja generointivalidoinnin rajatuilla varjostettujen määrittelyjen yksityiskohdilla, deterministisen sanakirjatulosteen ja sisällön säilyttävät QDF-tyyliset diagnostiikkatallennukset

Version 2.465.0

Added

  • ASCII85- ja ASCIIHex-suodattimet paljastavat nyt rajatut stream-dekooderit tiukoilla loppumerkeillä, parittomien nibblejen diagnostiikalla ja säilytetyllä perässä tulevalla syötteellä; ladatut asiakirjat voivat avata zero-copy vain luku -lähdetoisinnokset ja raportoida suodatinikohtaiset putkitilastot preflightin ja stream-optimoinnin kautta

Version 2.464.0

Added

  • Ladatut lomakkeet voivat turvallisesti evaluoida rajattuja laskenta- ja validointiskriptejä ilman aktiivista JavaScript-moottoria; RichMedia-annotaatiot paljastavat nimettyjen assetien metatiedot, tavupoiminnan ja kohdennetun puhdistuksen; XFA-litistys tukee indeksoidut, jokeri-, luokka- ja jälkeläis-SOM-sidonnat sekä rajatut numeeriset FormCalc-funktiot; ja XFDF-annotaatioiden meno-paluu -kiekot kattavat jokaisen tuetun annotaatioalatyypin yhden symmetrisen kuvauksen kautta

Version 2.463.0

Added

  • RSA-PSS CMS -allekirjoitus tukee nyt säädettävää suolaa sekä sisäisiä, ulkoisia tai Windows CNG -allekirjoittajia; PDF/X-tuloste validoi tuotantoehdot, ICC-komponentit ja overprint-hallinnat; ladatut tagatut sivut paljastavat geometrisen lukujärjestysdiagnostiikan; ja PDF-portfoliot voivat kirjoittaa ja tarkastella kokoelmaskeemoja sekä tiedostokohtaisia metatietoja

Version 2.462.0

Added

  • Ladatut AcroFormit evaluoivat nyt /CO-laskentajärjestyksen, uudistavat moniriviset, quadded-, automaattikokoiset ja comb-appearance-kentät, ratkaisevat normaalin, rollover- ja down-annotaatioiden appearance-tilat ja litistävät valitut kentät vain niiden omistaville sivuille; allekirjoitustietoinen litistys kieltäytyy DocMDP- tai FieldMDP-politiikan rikkomuksista

Version 2.461.0

Added

  • Ladattujen sivujen renderöinti soveltaa nyt eristettyjä ja knockout-läpinäkyvyysryhmiä, alfa- ja luminosity-soft maskeja taustaväreillä ja transfer-funktioilla, täydellisiä Type 3 CharProcseja niiden nykyisessä resurssikopessa, Form-matriiseja täydellisellä grafiikkatilan palautuksella ja näkyvän alueen dekoodausta leikatuille kuville mukaan lukien natiivi JPEG 2000 -aluelaajennus; DecodeLoadedImageRegion paljastaa tarkan suorakulmaisen rasteridekoodauksen kutsujille

Version 2.460.0

Added

  • Ladattujen sivujen renderöinti välimuistittaa nyt erilliset optional content- ja ICC-väritarkoitus-tilat, tarjoaa ignore-, rajattu-raportti- ja tiukat fallback-politiikat ohitettujen operaattorien tai objektien varalle ja julkaisee yhtenäistyneen kuluneen ajan, huippumuistin, dekoodattujen tavujen, välimuistiosumien, välimuistihutien, objektilukujen, onnistumisten ja peruutusten telemetrian lataukselle, renderöinnille, progressiivisille osille ja stream-optimoinnille

Version 2.459.0

Added

  • BeginLoadedPageProgressiveRender lisää jatkettavan sivurenderöinnin kuluneen ajan ja content-operaattoribudjeteilla, osittaisella bittikarttapääsyllä, edistymiscallbackeilla ja nimenomaisilla keskeytetty-, valmis- ja peruttu-tiloilla; kutsujan omistamat THPDFCancellationToken-instanssit peruuttavat nyt yhteistoiminnallisesti asiakirjan latauksen, synkronisen ja progressiivisen renderöinnin, stream-optimoinnin, preflight-validoinnin, PFX-allekirjoituksen ja Windows-varmennesäilön allekirjoituksen

Version 2.458.0

Added

  • ImmediateFlushLayout siirtää valmiit sivuvirrat tiedostopohjaiseen tallennukseen rajattua raportin tuottamista varten; kappaleasettelu tukee nyt pidä-seuraavan-kanssa-, orpo- ja leskerajoituksia, ensimmäisen vahvan merkin bidi-suuntaa nimenomaisine ohituksineen, rajattua koordinattidiagnostiikkaa, perittyjä sivumittoja, semanttisia /P-apuneuvoja ja tyypitettyjä sivutusartefakteja ylä- ja alatunnisteille, vesileimoille ja sivunumeroille

Version 2.457.0

Added

  • SetFontFallbackChain ja TextOutWithFallback lisäävät järjestetyn skriptitietoisen fonttivalinnan Unicode-skaalarikattavuustarkistuksilla ja pysyvällä ratkaisemattomien glyyfien diagnostiikalla; pystyteksti tuottaa nyt täydelliset Identity-V-ajot, joissa on /DW2- ja /W2-metriikat, jotka johdetaan OpenType-tauluista vhea, vmtx ja VORG, kun ne ovat saatavilla

Version 2.456.0

Added

  • HPDFEncodePredictor lisää tiukan TIFF- sekä kiinteän tai mukautuvan PNG-ennustajakoodauksen pakatuille, 8-bittisille ja 16-bittisille rasterriveille; ExtractLoadedImageToStream välttää täysikokoisia tavutaulukoita alkuperäisille tai yleisesti dekoodatuille kuva-aineistoille; OptimizeLoadedStreams pakkaa valittuja suodatinperheitä uudelleen muisti-levy-ylivuotopuskureiden kautta ja korvaa vain virrat, jotka ylittävät positiivisen säästökynnyksen

Version 2.455.0

Added

  • DecodeLoadedStreamToStream muodostaa nyt ladatut PDF-suodattimet rajatuksi putkeksi, jonka viimeinen vaihe kirjoittaa suoraan kutsujan virtaan; DocumentDecodeBudgetBytes lisää 1 GiB:n oletusylärajan itsenäisten ketjujen välille, kun taas suodatinmäärä-, sisäkkäisyys-, syklinen viittaus- ja rekursiivinen virtavalvonta paljastavat jäsennellyn putkidiagnostiikan

Version 2.454.0

Added

  • Suuret ladatut virrat pysyvät nyt lähdetiedostoalueilla muutokseen asti ja siirtävät ylikokoiset muutokset omistettuihin väliaikaistiedostoihin rajan LoadedStreamMemoryThreshold kautta; pakatut objektivirtojen jäsenet indeksoidaan ja materialisoidaan olion numeron mukaan ensimmäisellä käytöllä; LoadFromRandomAccessSource lisää HTTP-alue- ja mukautetun tallennusintegraation, jossa on virta- ja objektivälimuistidiagnostiikka

Version 2.453.0

Changed

  • Lisäystallennukset säilyttävät nyt pysyvän trailerin tunnisteen jokaisen version välillä, kiertävät vain muutostunnistetta, eivät tuota lisättyä versiota, kun ladattu objektiverkko on muuttumaton, ja paljastavat hybridi-viittauksen yhdistämispäätökset menetelmän GetLoadedXRefMergeInfo kautta nimenomaisilla xref-virran, taulukon päällekkäisyyden ja uusimman version esiintymislaskureilla

Version 2.452.0

Added

  • Lisätty alkuperäinen PDF 2.0 -tuloste sekä PDF/A-4-, PDF/A-4e-, PDF/A-4f- ja PDF/UA-2-tuotanto, jossa on versiotietoinen XMP-tunnistus, PDF 2.0 -rakenneteoroolit, nimiavuuden rekisteröinti menetelmien RegisterStructureNamespace ja AddStructureElementNS kautta, tiukka PDF/UA-2-rakenteen validointi ja profiilineutraali liitettyjen tiedostojen tuki menetelmän AddPDFAssociatedFile kautta

Version 2.451.0

Added

  • DetectFacturXInvoice paljastaa nyt dekoidun ensisijaisen liitteen MIME-tyypin ja sidotun XMP-nimiavaruuden URIn, kun taas ValidateFacturXInvoice ristiintarkistaa tarkan FileSpecin, jonka Catalogin /AF ja EmbeddedFiles-nimipuu jakavat, /F- ja /UF-nimet, XML-MIME-tyypin, XMP-DocumentType ja profiilikohtaisen Factur-X- tai ZUGFeRD-nimiavaruuden neljän omistetun ongelmalipun kautta

Version 2.450.0

Added

  • Preflightin JSON-, HTML- ja veraPDF-tyyppiset havainnot kantavat nyt vakaita nimiavaruudellisia ruleId-arvoja sekä koneluettavia sijainteja, joissa on looginen laajuus, polku, PDF-avain ja tarkka olioiden numero, sivuindeksi tai tavusiirtymä, kun saatavilla; JSON-raportit lähettävät myös dokumentoidut ISO-spec-kartoitukset ja pysyvät kelvollisina, kun taulukot sisältävät useita havaintoja

Version 2.449.0

Added

  • SanitiseLoadedDocument soveltaa nyt JavaScript-only-, aktiivisen sisällön tai tiukkaa epäluotetun asiakirjan käytäntöä ladattuun PDF:ään, ilmoittaa poistetut toiminnot ja hyötykuormat, epäonnistuu suljetusti tuntemattomille toimintatyypeille, poistaa tavoittamattomat objektit rajatun sykliturvallisen lähes lineaarisen läpikäynnin kautta, tiivistää aktiiviset olioiden numerot ja korvaa lähteen atomaarisesti paikalta tallennettaessa

Version 2.448.0

Added

  • Ladatun sivun hahmontin suorittaa nyt värilliset ja värittömät laatoivat kuviot sekä aksiaaliset ja radiaaliset varjostuskuvio täyttöihin ja viivoihin, mukaan lukien kuviomatriisit, sävyjen periytyminen, polun leikkaus, välimuistitettu sisältötokenisointi, sisäkkäinen grafiikkatilan palautus ja rajatut rekursio- ja laatimäärät vihamielisiä resursseja vastaan

Version 2.447.0

Added

  • Lisätty määritettävä 256 MiB:n ketjukohtainen DecodeBudgetBytes-yläraja, joka yhdistää sisäkkäisten Flate-, LZW-, ASCIIHex-, ASCII85-, RunLength- ja kuvan ennustajavaiheiden tulosteen ennen kuin ne saavuttavat muistin, diagnostiikalla GetLastDecodeBudgetInfo ja nolla nimenomaisena rajoittamattomana tilana

Version 2.446.0

Added

  • Lisätty valinnainen LinearizeOutput nopeaa verkkokatselua varten, joka tuottaa linearointiparametrisanakirjan ensimmäisissä 1024 tavussa, ensimmäisen sivun ja jaettujen objektien vihjetaulukot, riippuvuusjärjestyksessä olevat sivuosiot ja kaksi yhteensopivuusristiviitetaulukkoa säilyttäen suoran tiedosto- ja virtatulosteen ja luotettavan uudelleenlataustunnistuksen

Version 2.445.0

Added

  • Ladatut PDF-tiedostot käyttävät nyt rajattua ristiviitepalautusta vaurioituneiden startxref-ilmoitusten tai käyttökelvottomien xref-tietojen jälkeen, palauttaen ensin kelvollisen taulukon tai virran ja rakentaen sitten uudelleen validoidut epäsuorien objektien siirtymät uusimman määrittelyn esiintymällä, sisäkkäisten objektien väärien positiivisten suodatuksella, määritettävillä skannaus- ja objektibudjeteilla, rajatuilla xref-ankkuriyrityksillä, jäsennellyllä diagnostiikalla ja täydellisen uudelleenkirjoitustallennuksella

Version 2.444.0

Added

  • AnalyzeLoadedSignatureRevisions luokittelee nyt jokaisen valitun allekirjoituksen jälkeisen lisäysversion pitkäaikaiseksi validoinniksi, lomakkeen täytöksi ja allekirjoitukseksi, merkinnöiksi tai muiksi muutoksiksi, ilmoittaa muutetut ja vapautetut objektit ja kenttien nimet ja arvioi DocMDP- ja FieldMDP-vaatimustenmukaisuuden itsenäisesti perinteisten, virta-, hybridi- ja pakattujen objektien xref-historioiden välillä

Version 2.443.0

Added

  • VerifyLoadedSignatureWithTrust ja HPDFValidateCMSCertificatePath rakentavat nyt allekirjoittajan sertifikaattipolun kutsujan toimittamiin luottamusankkureihin ja todentavat sertifikaattiallekirjoitukset, voimassaoloajat, Basic Constraints -rajoitukset, polun pituusrajoitukset ja Key Usagen
  • Offline-mitätöintitodennus todentaa nyt OCSP- ja CRL-allekirjoitukset, vastaajavallan, sertifikaattihenkilöllisyyden, statuksen tuoreuden ja mitätöintiajat suosien allekirjoituskohtaista VRI-aineistoa ennen asiakirjatason DSS-aineistoa, kutsujan aineistoa ja CMS CRL:iä
  • THPDFSignatureInfo.CertificateValidation ilmoittaa luottamuksen, polun pituuden, luottamusankkurin, arviointiajan, mitätöintitilan ja lähteen, mitätöintiajan ja validointiongelmat itsenäisesti kryptografisesta svValid-arvosta

Version 2.442.0

Added

  • Ladatun allekirjoituksen todennus validoi nyt kryptografisesti RFC 3161 -asiakirjan aikaleimat PDF:n /ByteRange:a vasten ja allekirjoituksen aikaleimatokenit isäntä-CMS-allekirjoitusarvoa vasten, kun taas THPDFSignatureInfo.Timestamp paljastaa aikaleimalajin, tilan, käytännön, viestijäljen, sarjanumeron, luontiajan, tarkkuuden, järjestyksen, noncen, TSA-henkilöllisyyden ja tokenin allekirjoittajan sertifikaatin tiedot

Version 2.441.0

Added

  • Ladatun allekirjoituksen todennus tukee nyt CMS RSA-PSS-allekirjoituksia SHA-1-, SHA-256-, SHA-384- tai SHA-512-algoritmeilla ja vahvistaa nimenomaiset tiiviste-, MGF1-tiiviste-, suolapituus- ja trailerikenttäparametrit
  • THPDFSignatureInfo ilmoittaa nyt SignedRevisionLength- ja UnsignedTrailingBytes-arvot, ja svInvalidByteRange tunnistaa rakenteellisesti turvattomat PDF-allekirjoitusalueet

Changed

  • Allekirjoituksen todennus palauttaa nyt kutsujan virran sijainnin, vertaa turvallisuusherkkiä tavujaksoja ilman ennenaikaisia poistumisia ja ilmoittaa täydelliset RSA-PSS-algoritmiparametrit

Fixed

  • CMS-todennus hylkää nyt päällekkäiset, rajojen ulkopuoliset, typistetyt tai monitulkintaiset tavualueet ja vahvistaa täydellisen RSA PKCS#1 DigestInfo-algoritmitunnisteen sen sijaan, että se hyväksyisi minkä tahansa tiivistekokoisen oktettijonon

Version 2.440.0

Fixed

  • Unicode-fontin rekisteröinti varaa nyt koko glyyvin etenemispuskurin ennen fonttimetriikan lukemista, mikä estää käyttöoikeusrikkomukset OpenType-muotoilu- ja fonttialijoukkoistyönkuluissa
  • GetWideTextWidth tulkitsee nyt välimuistissa olevat Unicode-etenevyydet em-yksiköissä ja palautuu alustamittaamiseen, kun glyyvimetriikka ei ole saatavilla, mikä palauttaa oikein skaalatut leveydet rivitykseen ja asetteluun
  • BeginIncrementalUpdate merkitsee nyt ladatut oliot puhtaiksi ennen kutsujan muutosten seuraamista, joten muuttumattomia olioita ei kirjoiteta uudelleen ja orvot salaussanakirjat vapautetaan oikein liitetyssä ristiviiteosiossa

Version 2.439.0

Added

  • HPDFDecodePredictor ja HPDFTryDecodePredictor tarjoavat rajatun dekoodauksen TIFF 1-, 2-, 4-, 8- ja 16-bittiselle ennustukselle ja kaikille viidelle PNG-rivisuodattimelle tiukalla rivintarkistuksella ja toimintavirheilmoituksilla
  • TPDFLZWDecompressor lisää suoran virtatulostuksen, uudelleenkäytettävät ei-heitättävät dekoodausmetodit, määritettävät tulostusrajat ja virtapäättimivaatimukset sekä dekoodauskohtaiset koodinleveys-, sanakirja-, nollaus-, laajennus- ja tulostustilastot

Changed

  • LZW-dekoodaus käyttää nyt yhtenäistä fraasialuetta, tukee molempia PDF:n EarlyChange-tiloja ja molempia bittien täyttöjärjestyksiä, käsittelee nollauspalautukset ja KwKwK-laajennuksen tiukasti ja kasvattaa merkkijonotulostuksen geometrisesti
  • Ladattu Flate- ja LZW-kuvan purkaminen noudattaa nyt DecodeParms-ennustusgeometriaa ja EarlyChange-arvoa, käyttää ylivuototurvallista rasterikokoa ja jakaa saman ennustustoteutuksen ristiviitevirran dekoodauksen kanssa

Fixed

  • Flate-dekoodaus ennustusparametrien kanssa lukee nyt dekompressiovirrasta sen sijaan, että se kopioisi pakatut syötetavut ennustusvaiheeseen
  • Vioilliset LZW-koodit, typistetyt rivit, virheelliset PNG-rivitunnisteet, mahdottomat ennustusgeometriat ja liiallinen laajeneminen epäonnistuvat nyt deterministisesti sen sijaan, että ne palauttaisivat osittaista tai yhä pakattua kuvatietoa

Version 2.438.0

Fixed

  • THPDFViewer kääntyy nyt Delphi XE2:sta XE8:aan, joista WM_DPICHANGED puuttuu Winapi.Messages-yksiköstä; per-monitorin DPI-viestivakio määritellään nyt paikallisesti työketjuille, jotka ovat vanhempia kuin Delphi 10 Seattle, mikä palauttaa TRIAL-kirjaston DCU-käännökset RAD Studio XE2..XE8:lle, jotka keskeytyivät virheeseen E2003 Undeclared identifier

Version 2.437.0

Changed

  • GetWideTextWidth mittaa nyt Unicode-tekstin koodikohtaisesta etenemisleveyden välimuistista, joka täytetään kerran fontin hmtx-taulusta, CreateCompatibleDC + GetTextExtentPoint32W-edestakaisen matkan sijaan jokaisessa kutsussa -- 10-100-kertainen nopeutus sanarivitykseen, tasaukseen ja taulukon solun mittaamiseen pitkissä Unicode-asiakirjoissa, läpinäkyvällä palautumisella vanhaan GDI-polkuun, kun Unicode-fonttia ei ole rekisteröity

Version 2.436.0

Fixed

  • Upotetun fontin /FontDescriptor /CapHeight käyttää nyt kasvon todellista otmsCapEmHeight-metriikkaa kovakoodatun vakion sijaan ja palautuu nousuarvon nollaksi ilmoittaville kasvoille noin 70 %:iin noususta

Version 2.435.0

Fixed

  • Upotetut Unicode-fontit säilyttävät nyt glyyfit, jotka OpenType-muotoilu tuottaa (arabian esitysmuodot, ligatuurit, asiayhteydelliset vaihtoehdot) alijoukkoistettaessa -- MarkUnicodeGlyphUsed- / EnableShapingFeatureForSubset-metodien tallentamaa FUnicodeExtraUsedGlyphs-joukkoa kirjoitettiin, mutta alijoukkoistaja ei koskaan käyttänyt sitä, joten nämä glyyfit putosivat tulosteessa .notdef-glyyfiksi

Version 2.434.0

Added

  • THPDFWeightedCache lisää ei-korottavan tarkastuksen, totuusarvoisen haun, eksplisiittisen poiston ja omistajuuden siirron, välittömän budjetin rajaamisen, osumaprosentin ja elinkaaren tilastot sekä suoratoistona lasketut SHA-256-sisältöavaimet

Changed

  • Suuret järjestetyt ToUnicode- ja CID-CMapit käyttävät nyt logaritmista merkki- ja aluehakua, säilyttävät yksitavuisesta nelitavuiseen kooditilan tarkasti, eristävät jaetut jäsennetyt kartat resurssijuuren mukaan ja kasvattavat jäsennintallennustilaa geometrisesti
  • Pysyvä renderöidyn sivun välimuisti kirjoittaa nyt PNG- ja indeksitiedot atomisesti, seuraa sivutasoista viimeaikaisuutta, soveltaa pienennettyjä rajoja välittömästi ja palauttaa vanhentuneet indeksit, hylätyt väliaikaistiedostot, puuttuvat kansiot ja indeksoimattomat asiakirjakansiot

Fixed

  • CMap-jäsennys käsittelee nyt parittomat heksadesimaalinibbit oikein ja hylkää vioillista heksadesimaalitietoa, virheelliset tai ylivuotavat alueet, negatiiviset CID-kohteet ja sitomattomat eksplisiittiset kartoitukset ja korvaa virheelliset UTF-16-sija sekvenssit deterministisesti
  • Painotetun välimuistin korvaaminen ei enää vapauta oliota, kun sama ilmentymä lisätään uudelleen olemassa olevalla avaimellaan, ja vioilliset levyvälimuistin PNG-merkinnät poistetaan epäonnistuneen dekoodauksen jälkeen sen sijaan, että ne epäonnistuisivat jokaisessa myöhemmässä haussa

Version 2.433.0

Added

  • Ladatun allekirjoituksen tarkistus tukee nyt ECDSA P-256-, P-384- ja P-521-CMS-allekirjoituksia SHA-1-, SHA-256-, SHA-384- tai SHA-512-algoritmilla, mukaan lukien myöntäjä-ja-sarjanumero- ja SubjectKeyIdentifier-allekirjoittajan valinta, tiukka DER-allekirjoitustarkistus sekä laajennetut algoritmi- ja käyrädiagnostiikat
  • ICC-värienhallinta validoi nyt ICC v2/v4-profiilit, päättelee ja tarkistaa komponenttimäärät, deduplikoi rekisteröidyt profiilit, muuntaa ICCBased-vektorivärit ja raakatuvanäytteet sRGB:ksi renderöintitarkoitustuella ja säilyttää PDF Alternate-väriavaruuden hallittuna palautumisena

Version 2.432.0

Added

  • THPDFTableCell tukee nyt kuvasoluja (ImageIndex + ImageAspect skaalaa rekisteröidyn kuvan sarakkeen leveyteen H/V-tasauksella) ja HTML-soluja (IsHTML renderöi solutekstin TextOutHTML-metodin kautta upotettua lihavoitu-/väri-/linkki-/ala-/yläindeksimerkkausta varten), mikä vastaa solusisällön monimuotoisuutta, jota ruudukon viennin odotetaan kantavan

Version 2.431.0

Added

  • Uusi THPDFTable-asettelu- ja renderöintimoottori (HPDFTable-yksikkö) asettelee taulukot ilmoitetuista sarakkeiden leveyksistä ja riveistä, solukohtaisella tekstillä, tasauksella, väreillä ja fonttien ohituksilla, ColSpan- / RowSpan-yhdistämisellä, automaattisella sanarivityksellä mitatuilla rivikorkeuksilla, otsikko- ja seepraraitataustoilla sekä automaattisella sivunvaihdon jatkamisella, joka toistaa otsikkonauhan joka sivulla -- kaikki ohjaavat olemassa olevia THPDFPage-piirustusprimitiivejä, joten tuottajien ei enää tarvitse piirtää soluja käsin Rectangle- ja TextOut-metodeilla

Version 2.430.0

Changed

  • Sisältövirran käsittely ja ladatun sivun muokkaus skaalautuvat nyt tehokkaammin suurilla teksti- ja polkukuormilla, säilyttävät täydentävän tason Unicoden ja PDF-polkusemantiikan, mitävöivät sivun välimuistit mutaatioiden jälkeen ja saattavat virtakirjoitukset päätökseen, jotka hyväksyvät osittaisia puskureita

Version 2.428.0

Added

  • THPDFPage.TextOutHTML saa sanarivityskuorman, joka ottaa MaxWidth-arvon ja katkaisee pitkät rivit sanarajoilta, plus sisäiset hyperlinkki- (<a href>) ja ala-/yläindeksitagit (<sub>/<sup>); hyperlinkit piirretään sinisellä ja alleviivattuna ja ne rekisteröivät napsautettavan URI-merkinnän

Version 2.427.0

Changed

  • Peräkkäiset tekstijuoksut, jotka jakavat saman fontin ja koon, eivät enää lähetä Tf-operaattoria uudelleen jokaisessa kutsussa, mikä pienentää sisältövirtoja fonttipainotteisissa asiakirjoissa (taulukot, kappaleet) lähettäen ne silti uudelleen grafiikkatilan palautuksen (Q) jälkeen silloin kun PDF sitä vaatii
  • THPDFPage-ellipsilähestymistapa käyttää nyt standardia kuutio-Bézier-kappa-vakiota 0.5522847498, mikä vastaa kaikkia muita yksikön ellipsi- ja ympyrätoteutuksia ja poistaa pienen sädekohtaisen poikkeaman, jonka aiempi 11/20-lähestymistapa tuotti

Version 2.426.0

Added

  • Katselin esilämmittelee nyt renderöityjen sivujen välimuistin juuri näytetyn sivun viereisille sivuille käyttäen samaa DPI:ä taustasadetta, jotta seuraava sivunvaihto osuu välimuistiin synkronisen uudelleenrenderöinnin sijaan; uusi PrefetchRadius-ominaisuus hallitsee kuinka monta sivua kummallakin puolella esilämmitetään (0 poistaa sen käytöstä)

Version 2.425.0

Added

  • Ladattujen sivujen renderöijä nyt purkaa ja piirtää sisäiset kuvat (BI/ID/EI) sen sijaan että ohittaisi ne, laajentaen lyhennetyt sisäisen kuvan avain/arvo-parit ja raakatavut tokenisointihetkellä ja asettaen tuloksen saman yksikköneliö-CTM-kuvauksen kautta jota käytetään kuva-XObjecteille

Version 2.424.2

Changed

  • Renderöityjen sivujen levyn välimuisti kerää nyt kaikki sivutiedostot yhdessä hakemistotarkistuksessa ja poistaa ylivuotavan hännän yhdessä läpikäynnissä, korvaten aiemman tarkista-uudelleen-per-poisto-silmukan joka ajoi nelioajassa asiakirjakohtaisen sivumäärän suhteen
  • Kuvien kaksoiskappaleiden poisto memoisaa nyt kunkin tallennetun kuvavirran SHA-256-arvon ja vertaa tiivisteitä ennen tavujen läpikäyntiä, joten saman suuren kuvan lisääminen monille sivuille ei enää lue jokaista aiemmin tallennettua virtaa uudelleen jokaisessa lisäyksessä

Version 2.424.1

Changed

  • Purettujen kuvien ja osajoukkofonttien painotettu välimuisti ratkaisee nyt haut hajautusindeksin kautta ja ylläpitää viimeksi-käytetyt-järjestystä indeksiin perustuvan kaksinkertaisen linkitetyn listan kautta, muuttaen jokaisen Get-, Put- ja ajankohtaisuuden ylennyksen O(n)-taulukkosiirrosta O(1)-työksi, joten suurten monikuvaisiin asiakirjojen renderöinti ei enää heikkene välimuistin täyttyessä

Version 2.424.0

Changed

  • CompressLoadedDocument noudattaa nyt CompressionLevel-asetusta, käsittelee lähdevirrat rajatuissa palasissa, säilyttää alkuperäisen hyötykuorman kun pakkaus ei pienennä sitä, vapauttaa turvallisesti korvatut virrat ja merkitsee muunnetut virtaobjektit likaisiksi niin että SaveLoadedDocument tallentaa tuloksen muuttumattoman-tilin-kopiointipolin sijaan.DecompressLoadedDocument käyttää samaa omistusturvallista suoratoistopolkua, poistaa identiteetti-/DecodeParms-arvot ja jättää TIFF- tai PNG-ennustajavirrat pakatuiksi kunnes ennustajavaihe voidaan purkaa turvallisesti

Version 2.423.0

Added

  • THPDFPage.AddCertificationSignatureField ja ConfigureCertificationSignature luovat nyt ainoan DocMDP-sertifikaattiallekirjoituksen kaikilla kolmella käyttöoikeustasolla ja vastaavalla Catalog-/Perms /DocMDP-kytkennällä, kun taas AttachSignatureFieldLock lähettää epäsuorat SigFieldLock-käytännöt ja vastaavat FieldMDP-viittaukset All-, Include- tai Exclude-kenttäalueille.THotPDF.GetLoadedSignaturePermissions suorittaa rajatun rakenteellisen tarkastuksen samasta käyttöoikeusgraafista, mukaan lukien vaadittu suoruus, juurikytkentä, käytäntöjen yhdenmukaisuus ja diagnostiikka, sekoittamatta käytäntörakennetta kryptografiseen voimassaoluun tai myöhempien versioiden vaatimustenmukaisuuteen

Version 2.422.0

Added

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

Version 2.421.0

Added

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

Version 2.420.0

Added

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

Version 2.419.0

Added

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

Version 2.418.0

Added

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

Changed

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

Version 2.417.0

Added

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

Fixed

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

Version 2.416.0

Added

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

Version 2.415.0

Added

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

Version 2.414.0

Added

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

Version 2.413.2

Fixed

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

Version 2.413.1

Fixed

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

Version 2.413.0

Changed

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

Fixed

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

Version 2.412.0

Changed

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

Fixed

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

Version 2.411.0

Added

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

Version 2.410.0

Added

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

Fixed

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

Version 2.409.0

Added

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

Changed

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

Version 2.408.0

Added

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

Fixed

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

Version 2.407.0

Added

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

Fixed

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

Version 2.406.0

Added

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

Version 2.405.0

Added

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

Fixed

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

Version 2.404.0

Added

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

Version 2.403.0

Added

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

Version 2.402.0

Changed

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

Version 2.401.0

Added

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

Version 2.400.0

Added

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

Version 2.399.0

Added

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

Version 2.398.0

Added

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

Version 2.397.0

Added

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

Version 2.396.0

Added

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

Version 2.395.0

Added

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

Version 2.394.0

Added

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

Version 2.393.0

Added

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

Version 2.392.0

Added

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

Version 2.391.0

Added

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

Fixed

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

Version 2.390.0

Added

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

Fixed

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

Version 2.389.0

Added

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

Changed

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

Fixed

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

Version 2.388.0

Added

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

Changed

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

Fixed

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

Version 2.387.0

Added

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

Version 2.386.0

Added

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

Version 2.385.0

Added

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

Version 2.384.0

Added

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

Version 2.383.0

Added

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

Version 2.382.0

Added

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

Version 2.381.0

Added

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

Fixed

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

Version 2.380.0

Added

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

Fixed

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

Version 2.379.0

Added

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

Version 2.378.0

Added

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

Fixed

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

Version 2.377.0

Added

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

Version 2.376.1

Fixed

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

Version 2.376.0

Added

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

Fixed

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

Version 2.375.0

Added

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

Fixed

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

Version 2.374.0

Fixed

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

Version 2.373.0

Fixed

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

Version 2.372.0

Fixed

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

Version 2.371.0

Fixed

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

Version 2.370.0

Added

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

Version 2.369.0

Added

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

Version 2.368.0

Added

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

Version 2.367.0

Added

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

Version 2.366.0

Added

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

Version 2.365.0

Added

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

Version 2.364.0

Added

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

Version 2.363.0

Added

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

Version 2.362.0

Fixed

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

Version 2.361.0

Fixed

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

Version 2.360.0

Added

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

Version 2.359.0

Added

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

Version 2.358.0

Added

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

Version 2.357.0

Added

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

Version 2.356.0

Added

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

Version 2.355.0

Added

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

Version 2.354.0

Fixed

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

Version 2.353.0

Fixed

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

Version 2.352.0

Fixed

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

Version 2.351.0

Fixed

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

Version 2.350.0

Fixed

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

Version 2.349.0

Fixed

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

Version 2.348.0

Added

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

Fixed

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

Version 2.347.0

Added

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

Version 2.346.0

Fixed

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

Version 2.345.0

Fixed

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

Version 2.344.0

Added

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

Version 2.343.0

Fixed

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

Added

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

Version 2.342.0

Added

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

Version 2.341.0

Fixed

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

Version 2.340.0

Added

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

Version 2.339.0

Added

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

Version 2.338.0

Fixed

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

Added

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

Version 2.337.0

Added

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

Fixed

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

Version 2.336.0

Security

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

Added

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

Version 2.335.0

Added

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

Version 2.334.0

Added

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

Version 2.333.0

Added

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

Version 2.332.0

Added

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

Security

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

Version 2.331.0

Added

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

Version 2.330.0

Added

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

Version 2.329.0

Added

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

Version 2.328.0

Added

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

Version 2.327.0

Added

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

Version 2.326.0

Added

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

Version 2.325.3

Fixed

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

Version 2.325.2

Fixed

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

Version 2.325.1

Fixed

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

Version 2.325.0

Added

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

Version 2.324.0

Added

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

Version 2.323.0

Added

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

Version 2.322.0

Changed

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

Version 2.321.0

Added

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

Version 2.320.0

Added

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

Version 2.319.1

Fixed

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

Version 2.319.0

Changed

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

Version 2.318.0

Added

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

Version 2.317.0

Added

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

Version 2.316.0

Added

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

Version 2.315.0

Changed

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

Version 2.314.0

Added

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

Version 2.313.0

Added

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

Version 2.312.0

Added

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

Version 2.311.0

Added

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

Version 2.310.0

Changed

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

Performance

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

Version 2.309.4

Added

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

Version 2.309.3

Added

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

Version 2.309.2

Added

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

Version 2.309.1

Fixed

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

Version 2.309.0

Fixed

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

Version 2.308.0

Added

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

Version 2.307.0

Added

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

Version 2.306.0

Changed

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

Version 2.305.0

Added

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

Version 2.304.0

Fixed

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

Version 2.303.0

Fixed

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

Version 2.302.0

Fixed

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

Version 2.301.0

Fixed

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

Version 2.300.0

Fixed

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

Version 2.299.0

Added

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

Version 2.298.0

Fixed

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

Version 2.297.0

Added

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

Version 2.296.0

Added

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

Version 2.295.0

Added

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

Version 2.294.0

Added

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

Version 2.293.0

Added

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

Fixed

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

Version 2.292.32

Added

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

Fixed

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

Version 2.292.31

Added

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

Version 2.292.30

Added

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

Version 2.292.29

Added

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

Version 2.292.28

Added

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

Version 2.292.27

Added

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

Version 2.292.26

Added

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

Version 2.292.25

Fixed

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

Version 2.292.24

Added

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

Version 2.292.23

Added

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

Version 2.292.22

Fixed

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

Version 2.292.21

Added

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