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
1a2a3avalitsi 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- jasize-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:nfont 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-win32että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:
AddImageFromFilehyvä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- jacolspan-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, jotenclMaximumtuottaa 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
SubsetLoadedFontsalijoukkoistaa 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
DownsampleLoadedImagesskaalaa 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.LoadProgressiveFromByteArraykautta sekä monikerroksinen enkoodaus ominaisuudenTJpeg2000Bitmap.QualityLayerskautta — 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
ReplaceLoadedPageTextkorvaa nytTJ-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
HPDFSelectFlatePredictorkautta — 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.UseHuffmanEncodingkautta — 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,ApplyArabicGSUBContextualRefinementja 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.DrawAztecja erillisenTHPDFAztec-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.ExtractLoadedPageTextja 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,SaveLoadedPagesToTiffBandedjaSaveLoadedPagesToTiffStreamBandedkautta — pakattu kuvadata kirjoitetaan rivi kerrallaan kaistaenkoodereiden kautta, joten erittäin suuret sivut eivät vaadi kokonaista framebufferia;THPDFBandImageExportInforaportoi 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.SaveLoadedDocumentjaSaveLoadedDocumentToStreamvalidoivat nytGTS_PDFA1-OutputIntentin (peritynä lähdekatalogista tai vastarekisteröitynä) ja emittoivatpdfaid:part/pdfaid:conformance-XMP-tunnistuksen, kunPDFAComplianceon 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.RenderLoadedPageTilesParalleljaTHotPDF.RenderLoadedPageBandsParallelkautta — 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.SignHashBatchkautta — yksi hashiin lukittu SAD ja yksisignatures/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.RenewPAdESLTATimestamplaajeni 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.PreflightLoadedPAdESkautta — 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,HPDFParsePFXByLocalKeyIDja ominaisuudenTHPDFCMSSignOptions.PFXLocalKeyIDkautta — mukaan lukien tiukat yksiarvoisetlocalKeyId- jafriendlyName-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äisetPath-,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 prosentidekoodatutLinkTarget-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äisilleStaticResource-PathGeometry-arvoille, suorille property-elementeille, jäsennellyille viiva-, Bézier-, kvadraatti- ja kaarikuvioille, geometriamuunnoksille, tyhjille leikkauksille ja sisäkkäiselleEvenOdd- taiNonZero-leikkaukselle PDF:nW*- taiW-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- jaGlyphs-visualeille — säilyttäen HTTP-, HTTPS- ja sähköpostilinkit PDF URI -annotaatioina ja ratkaisten pakettisuhteelliset sivut sekä prosentidekoodatutLinkTarget-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 resurssipohjaisilleCanvas-,Path- jaGlyphs-visualeille — hierarkkinen ja etäinenResourceDictionary-haku, absoluuttinenViewbox, absoluuttinen tai suhteellinenViewport,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ä, parittomanBidiLevelin käänteistä etenemistä, kiinteitä attribuutti- tai property-element-täytöitä, peittävyyttä, natiivia PDFTJ-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 PNGImageBrush-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änRegisterLuminositySoftMaskState-rakentajan kautta alfa-kuva-resurssisidonnalla
Version 2.689.0
Added
- Lisätty OpenXPS
ImageBrushinTile-,FlipX-,FlipY- jaFlipXY-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ä rajatullaRegisterImageTilingPattern-API:lla uudelleenkäytettäville kuvapohjaisille kuvioille
Version 2.688.0
Added
- Lisätty tuki OpenXPS
ImageBrush.Transformille äärellisillä kuusiparametrisilla attribuuttimatriiseilla jaMatrixTransform-property-elementeillä, jotka yhdistetään natiivinPath-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ästandardiRelativeTransformja ratkaisemattomat matriisiresurssit jäävät nimenomaiseksi diagnostiikaksi
Version 2.687.0
Added
- Lisätty matriisiohjattu kuva-XObjectien sijoittelu metodin
THPDFPage.ShowImageMatrixkautta ja laajennettu XPS fixed-page -tuontia paketin JPEG-, PNG-, TIFF- ja JPEG XR -ImageBrush-täytöillä, absoluuttisella tai rajoja suhteellisellaViewbox- jaViewport-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- jabrainpoolP512r1-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
HPDFInterpretContentTokensDeviceja valinnaisen täydenIHPDFContentOperatorDevice-laajennuksen kautta — yksi keskeytystarkistuspiste per operaattori, kääntöaikainen operaattori-indeksivälimuisti operandiskannauksettaonta display-list-toistoon, julkisetOperatorCount-metriikat, säilytetty semanttisten laitteiden yhteensopivuus, korjatut"-,v- jay-operaattoreiden semantiikka sekä laillinenEI-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
PlanProgressiveLinearizedPageRangeskautta — 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
ConfigureCryptFilterDefaultsjaSetStreamCryptFilterkautta — mukaan lukien salasanan ja julkisen avaimen varatut suodattimet,/Identity, kirjoittajalta oikea salasanasuojauksen/EFFja 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 metodienHPDFCMSBuildMultiSignedDatajaHPDFCMSMergeSignedDatakautta — 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 ominaisuudenTHPDFCMSSignOptions.SignerIdentifierkautta — mukaan lukien kompakti IMPLICIT SID -enkoodaus, automaattinenSignerInfo- jaSignedData-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 6211CMSAlgorithmProtectionyhdenmukaisuuden — 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 vakionKDFSaltin 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.SignPDFWithPFXAndAttachedPDFMACja allekirjoitukseen kiinnitetty validointi suoralla aktiivisen trailerinAuthCodella, epäsuorallaSigObjRefillä, 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.RegisterNChannelColorSpacekorjattiin tuottamaan ISO 32000-2:n viisielementtinenDeviceN-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
MacDatarajoitetuilla 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:
renderrasteroi jokaisen valitun sivun muotoon<prefix>-page<N>.pngladattujen sivujen bitmap-putken kautta (--pages-alue,--dpi10..2400, oletus 150),tablesvie tyypitetyt taulut CSV:ksi tai JSONiksi metodinExportLoadedTypedTableskautta (--json,-otiedosto tai konsoli) jacomparetulostaa kahden dokumentin JSON-vertailuraportin metodinHPDFDocCompareDocumentskautta (--mode0..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 nytcmsFLAGS_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- jaMVAR-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
GetLastJPEGReducedDecodeInfokautta; 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- jad-grafiikkatilaoperatorit säilyttävät nyt viivanleveyden, nimetyt cap- ja join-tyylit, miter-rajat, dash-taulukot ja dash-vaiheen;q/Qpalauttaa nämä attribuutit sisäkkäisen sisällön ja Form XObjectien yli; even-oddf*-,B*- jab*-piirtooperatorit emittoivatfill-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.paslinkittää 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.batautomatisoi patch-and-compile-pipelinen. Tunnettu rajoitus:JS_NewRuntimeonnistuu, muttaJS_NewContextosuu 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.DrawDataMatrixrenderö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.DrawPDF417renderöi koodisanamatriisin - Lisätty QuickJS-JavaScript-moottorisidonta (
Lib/HPDFQuickJS.passekä esibuildatut Win32/Win64quickjs.dll-tiedostot polunthirdparty/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:
decryptlataa salatun PDF:n annetulla salasanalla, purkaa sen metodillaDecryptLoadedDocumentja tallentaa salaamattoman kopion (-otulostepolku, oletus<input>-decrypted.pdf) jaoptimizepakkaa jokaisen virran uudelleen FlateDecodeilla metodillaCompressLoadedDocument(-otulostepolku, oletus<input>-optimized.pdf, hylkää salatun syötteen)
Version 2.605.0
Added
- Lisätty QR Code -2D-viivakoodigenerointi: uusi
Lib/HPDFQRCode.pastoteuttaa 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). MetodiTHPDFPage.DrawQRCoderenderöi enkoodatun matriisin täytettyjen moduulineliöiden ruudukkona mille tahansa kirjoitussivulle (ModuleSizepisteinä, 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: globaaliFRevisionoli vanhentunut, kunaes256alennettiinaes128:ksi oletusarvoisella PDF 1.6 -versiolla, jolloinCreateKeysohjautui 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 johtaaFRevisionin uudelleen alennetustaFCryptKeyTypeista 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 metodillaHPDFRenderHTMLDocument
Version 2.602.0
Added
- Lisätty lohkotason HTML-tuonti:
THPDFHTMLImporter(jaHPDFRenderHTMLDocument-kätevä kääre) renderöi rajoitetun HTML-osajoukon kirjoitettavalle dokumentille —h1–h6-otsikot tasokohtaisilla koilla,p-kappaleet (paljas leipäteksti muuttuu implisiittisiksi kappaleiksi),ul/ol-luettelot sisennetyilläli-alkioilla (luettelomerkki tai1.-numerointi),hr-viivat, automaattiset sivunvaihdot alamarginaalissa ja selaintyylinen palautuminen sulkemattomillep/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 olevalleTextOutHTML-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:
mergeliittää lisäsyötteiden jokaisen sivun ensimmäiseen dokumenttiin ja tallentaa yhdistetyn tiedoston (-otulostepolku, vähintään kaksi syötettä, tuloste/syöte-törmäys suojattu),splitkirjoittaa dokumentin jokaisen valitun sivun omaan yksisivuiseen tiedostoon (<prefix>-page<N>.pdf,--pagesyhdestä alkava alue, oletusetuliite syötepolusta) jaexport-svgkirjoittaa jokaisen valitun sivun SVG-viennin (<prefix>-page<N>.svg, oletussivu 1)
Version 2.600.0
Added
- Lisätty SVG-sivuvienti:
BuildLoadedPageSVGpalauttaa itsenäisen SVG 1.1 -dokumentin mille tahansa ladatulle sivulle jaSaveLoadedPageAsSVGkirjoittaa 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ä) javerify(tila per allekirjoituskenttä, allekirjoittaja, syy, hash, allekirjoitusaika, koko dokumentin kattavuus ja sertifikaattitila, nollasta poikkeava exit code, kun mikä tahansa allekirjoitus epäonnistuu);Build-HotPDFCLI.battuottaa 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), jonkaAddMovieAnnotationloi kovakoodatuilla oletuksillaan - Lisätty
SetRichMediaPresentation: täyttää RichMedia-annotaation/RichMediaSettings-aktivaatio-, deaktivaatio- ja esityssanakirjat (ehtinimet kutenPOpage-open, toolbar / navigation UI / context click / transparency -liput); tyhjä ehtinimi jättää vastaavan sanakirjan pois - Lisätty
ResolveIndirectObjectluokassaTHotPDF: ratkaisee epäsuorat viittaukset, joita kirjoituspuoli tallentaa kirjoitettuihin sanakirjoihin, jotta kutsujat voivat navigoida vastarakennetuissa objektipuissa;AddRichMediaAnnotationrekisteröi nyt myös annotaationsaLastAnnotationiin
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,
HPDFExtractCertificateRevocationURLsnäyttää ne per sertifikaatti, jaHPDFCollectCMSRevocationRequestsmuuttaa 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 ensisijainenPubSecKeyMaterialei täsmää - Lisätty testivirtarakentajat
HPDFJBIG2Codec_EncodeHalftoneRegionTestStreamjaHPDFJBIG2Codec_EncodeStandaloneRefinementTestStream, jotka kattavat uudet segmenttityypit päästä päähän
Fixed
- Korjattu julkisen avaimen AES-128-dokumenttien lataus: legacy-objektikierros jätti
FileKey-,StringKeyType- jaStreamKeyType-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-Vja 15 muuta):HPDFLoadStandardCMapFilevastaa 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äenSetStructureElementClass/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,/Firstalueen 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, jaGetLoadedQuarantinedObjStmCount/GetLoadedQuarantinedObjStmInfonä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 senTHPDFXRefMapPageriin — 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:
THPDFObjectLifecycleStatesaaolsRawin (indeksoidut mutta materialisoimattomat pakatut jäsenet),olsParsedin (lähdetavuista materialisoidut, muokkaamattomat) jaolsFlushedin (tulostusdokumenttiin serialisoidut); ladatut objektit kantavat nytolsParsedia geneerisen siistin tilan sijaan - Lisätty
MarkRaw,MarkParsedjaMarkFlushedluokassaTHPDFObject;GetLoadedObjectLifecycleStatepalauttaaolsRawin pakatuille jäsenille, joiden runkoa ei ole vielä materialisoitu - Lisätty
RawCount,ParsedCountjaFlushedCountluokkaanTHPDFObjectLifecycleStatistics; jokainen kokonaistallennuspolku (plain, packed, linearized) siirtää emitoidut objektitolsFlushediin, kun taasIsDirtytarkoittaa yhäolsDirtya taiolsMustWriteia
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 uuttaTHPDFObjectStreamCacheInfo-kenttää,SliceViewCountjaSliceViewBytes, 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 asettaaPubSecKeyMaterialin (metodistaHPDFParsePFX); 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äPubSecRecipientQueryContextkutsujan 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 nimenomaisellaSkipEncryption-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,codabarja muita) viivakoodimoottorille - Lisätty XFA-transformaatiografiikka:
rotate,<tran><scale>ja<tran><translate>käärivät jokaisen grafiikkalajin (viiva, kaari, suorakulmio, kuva, teksti, viivakoodi) keskirotaatioq ... cm ... Q-transformaatioon
Version 2.584.0
Added
- Laajennettiin FormCalcia merkkijonofunktioilla:
Concat,Len,Left,Right,Substr,Replace,Lower,Upper,TrimjaSpace, mukaan lukien lainausmerkkiset merkkijonoliteraalit ja teksti-/numeeriset sekalausekkeet - Lisätty FormCalcin päivämuunnos:
Date2Num/Num2Datevievät ISO-päivämäärät round tripinä 1900-epookin sarjapäivälaskennan läpi, plusDate() - Lisätty FormCalcin rahoituskirjasto:
Pmt,FV,PV,RatejaNPerkassavirran etumerkkikäytännöllä, yhdistettävissä numeeristen funktioiden kutenRoundin kanssa
Version 2.583.0
Added
- Viimeisteltiin XFA SOM -resoluutio väliin tulevilla paljailla
*-jokerisegmenteillä, jotka laskeutuvat jokaiseen lapsihaaraan, sekä aidoilla luokkatokeneilla:#subform/#dataGroupvalitsevat konttiluokan solmut,#fieldvalitsee 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
SetFormFieldValuetaiSetLoadedFormFieldValueByNamevalitsee nyt vastaavan/AS-tilan jokaisessa widgetissä, ja litistys täsmäyttää ennen appearancejen generointia, joten vanhentunutOff-tila ei voi koskaan voittaa tuotua arvoa - Lisätty painikkeiden appearancejen uudelleengeneroinnin vakaus:
EnsureLoadedFieldAppearanceStreamsä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:
EnsureLoadedFieldAppearanceStreamratkaisee/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 jokaisenEvaluateLoadedFieldJavaScript-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:
THPDFJavaScriptEvaluationResultraportoi nytElapsedMillisecondsin jaValueBytesin operaatiolaskurin ohella
Version 2.578.0
Added
- Lisätty lomakekenttien laskennan riippuvuusgraafi metodin
THotPDF.BuildLoadedFormCalculationGraphkautta: 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
SetFormFieldValuejaSetLoadedFormFieldValueByNamekertyvä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 lukeeAFSimple_Calculate-argumenteista jagetField-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.ValidateLoadedSignatureBatchkautta: 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.SkipSignatureTimestampVerificationkautta - 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 uudenvesCache-todistelähteen alla - Lisätty
THPDFSignatureValidationBatchitsenäisiin eräajoihinFailFastilla, 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ä:
THPDFViewerlaukaiseeOnPageChangein rakentamisen ja uudelleensidonnan aikana, joten ensimmäinen galleriagenerointi ajetaan nytOnShowista (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
SaveIncrementalUpdateAuthenticatedkryptografisen 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 polunDemo\Delphialle: 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 upotetunTHPDFViewerin 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 tiedostoonHotPDF-Showcase-Encrypted.pdf - Lisätty kirjanmerkkinavigointi jokaiselle Showcase-galleriasivulle metodien
BeginDoc(True)jaOutlineRoot.AddChildkautta, joten generoitu dokumentti avautuu täytetyn outline-paneelin kanssa
Version 2.572.0
Added
- Laajennettiin allekirjoitustransformaatioiden tarkastusta ja inkrementaalimuutosten luokittelua kaikilla vakiomenetelmillä:
GetLoadedSignaturePermissionsraportoi nytDocMDPin,URin,FieldMDPin,Identityn, tuntemattomat menetelmät, Catalogin/UR- versus/UR3-kytkennän, jokaisen vakiokäyttöoikeusbitin sekä rajatun transitiivisenIdentity /Data-objektialueen; revisioanalyysi erottaa lomakkeiden täytöt, allekirjoitukset sekä annotaatioiden ja upotettujen tiedostojen create/delete/modify-operaatiot ja näyttää itsenäisetURCompliant-,IdentityCompliant- ja aggregoivanTransformCompliant-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):
HPDFBlendComponenttoteuttaa 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 metodinGetInfokautta - Lisätty sivutason
SaveState/RestoreStateluokassaTHPDFPageemittoienq/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äkisiSourceFreeObjectCount=0in ja kadonneet generaatiot - Korjattu
THPDFSignatureEvidenceTaskin antama virheilmoitus "Cannot call Start on a running or suspended thread" rakentamisen yhteydessä: tehtävä käynnistyy nytAfterConstructionissa, objektin täyden rakentamisen jälkeen, kilpailematta RTL:n säietilan tarkistuksen kanssa konstruktorin sisältä
Version 2.569.0
Added
THPDFCertificateValidationOptions.TrustPurposevalitsee 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 luokassaTHPDFCertificateValidationInfo
Version 2.568.0
Added
THPDFSignatureEvidenceTaskhankkii 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
THPDFWindowsKeyStorageSignatureProviderallekirjoittaa älykortti-, TPM- ja valmistaja-CNG-avainvarastoproviderien kautta viemättä yksityisiä avaimia, tukee pysyväisavainten hakua tai lainattuja ja omistettujaNCRYPT_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
HPDFNormalizeContentStreamGraphicsStatejaHPDFCompareContentStreamsSemanticvertailevat dekoodattuja content-virtoja rajattujen kanonisten tapahtumien kautta eliminoien lukujen ja merkkijonojen kirjoitusasuerot, redundantiset grafiikka- ja tekstitila-asettajat, tyhjätq/Q-alueet ja ekvivalentit yhdistetyt matriisit säilyttäen efektiivisen tilan, operatorioperandit ja SHA-256-inlinekuvien identiteetit
Version 2.565.0
Changed
SaveIncrementalUpdaterakentaa 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 metodinGetLastIncrementalXRefRebuildInfokautta
Version 2.564.0
Added
THPDFPage.TextOutOutlinemuotoilee 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
FlattenLoadedPageComplexGraphicstunnistaa 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
FlattenLoadedPageTransparencyratkaisee 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
ScrubLoadedRedactionRemnantspoistaa 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
ApplyLoadedRedactionsasettaa 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äisetTJ-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
AnalyzeLoadedPageSemanticTextjaExtractLoadedPageSemanticTextrakentavat 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ä jaglyf-rajoista, asettaavrt2etusijallevertiin 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, ratkaisevatsbix-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
BeginLoadedPageProgressiveRegionRenderrenderö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 telemetrianGetLastType3GlyphCacheStats-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
RegisterTilingPatternjaTHPDFTilingPatternBuilderpaljastavat 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- jaGetLastJPEG2000ParallelDecodeStats-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, kunnioittavatEndOfLine-,EndOfBlock- jaDamagedRowsBeforeError-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ä
AdaptiveAdmissionvoi palauttaa puhtaan recency-pääsyn kerroksittain, kun taas frekvenssipääsyt, hylkäykset ja vanhenemiskierrokset paljastuvat välimuistitilastojen kautta
Version 2.529.0
Added
THPDFCacheAdmissionPolicyjaSetCacheAdmissionPolicytarjoavat itsenäiset alkiomäärä-, kokonaistavu- ja alkiokohtaiset rajat raaoille pakatuille alueille, dekoodatuille kuville, käännetyille display listeille ja renderöidyille rasterisivuilleGetCacheAdmissionStatisticsraportoi 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
GetDocumentStringInternStatisticsraportoi 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
GetLastParserArenaStatisticsraportoi pidetyn varaston, huippukäytön, allokointien uudelleenkäytön, tokenneliikenteen ja väliaikaisobjektien poisjätön
Version 2.526.0
Changed
HPDFTransferStreamkirjoittaa 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,MaxReadAheadBlocksjaSequentialReadToleranceBytespaljastavat politiikkahallinnan, kun taas range-cache-tilastot raportoivat pääsyn luokittelun sekä nykyisen tai huippu-read-ahead-ikkunan
Version 2.524.0
Added
THPDFCoalescingRandomAccessSourceyhdistää viereiset jäsenninlukemat säädettäviksi välimuistialueiksi, valvoo rajattua least-recently-used-tavubudjettia ja paljastaa lähde-, välimuisti- ja prefetch-tilastotLoadFromRandomAccessSourcesoveltaa nyt alueyhdistämistä ja asynkronista seuraavan alueen prefetchiä automaattisesti, kun taas etualan seekit peruuttavat epäolennaisen työn jaReadAtCancellableantaa 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- jaStmF-oletukset yhdessä suorien tai taulukkomuotoisten stream-tasonCrypt-ohitusten kanssa - Stream-salauksen parametrit voivat valita
Identity-,V2- taiAESV2-menetelmän, ja kulutetut suodatinmerkinnät poistetaan ennen jäljelle jäävän stream-dekoodausputken ajamista
Version 2.521.0
Added
- Ladatut
DCTDecode-,JPXDecode- jaJBIG2Decode-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
THPDFDeterministicReplayLogtallentaa 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
BuildLoadedObjectDependencyGraphpaljastaa 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
1000tarkoittaa1x
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.dlltoimittaa vakaatcdecl-viennit, opaatut validoidut kahvat, kiinteät tilakoodit, nimenomaiset tavupituudet, peruutuksen, edistymisen, diagnostiikan, Win32- ja Win64-käännösautomaation, import-kirjastot ja asettelutarkistetunhotpdf_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
ComplianceFindingsToJSONtuottaa 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) saiCompress(Input, Parms)-ylityksen, joka soveltaa eteenpäin suunnatun PNG/TIFF-prediktorin ennen pakkausta, tehden siitä symmetrisen dekooderinDecompress(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 kaavallaCTM * 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/ReplaceLoadedDocumentTextkä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:
DecryptPKCS12EncryptedBytesohjautuu nytpbeWithSHA1And40BitRC2-CBC- (OID 1.2.840.113549.1.12.1.6) japbeWithSHA1And128BitRC2-CBC-menetelmiin (1.2.840.113549.1.12.1.5), kloonaten 3DES CryptoAPI-polunKP_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):
ApplyLoadedRedactionskä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ösAddLoadedRedactAnnotationluomaan/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) uudenIHPDFFontResolver.Advance-metodin kautta aiemman litteän0.5 * fontSize-approksimaation sijaan.HPDFBuildFontDecoderlukee/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
SetLoadedAcroFormCalculationOrderrakentamaan 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
SetStructureElementClasskirjoittamaan rakenne-elementin/C-luokkanimitaulukko (PDF 1.7 14.9.2.2) viittaamaan jaettuihin attribuuttiluokkiin - Lisätty
AddLoadedPagePieceInfokirjoittamaan 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-pienkirjainmuunnoksensaTCharacter.ToLower-kutsulla (Unicode Simple_Lowercase_Mapping), joten aksentoituneet latinalaiset (À-ý), kreikkalaiset (Α-Ω) ja kyrilliset (А-Я) versaalit täsmäävät pienkirjaisen muotonsa kanssaSearchLoadedPageText/SearchLoadedDocumentText-kutsuissa. Pre-XE2-käännökset pitävät ASCII-fallbackin - Lisätty inline image -callback content device -abstraktioon:
IHPDFContentDevice.ProcessInlineImagelaukeaa jokaiselleBI/ID/EI-lohkolle, kun laite ilmoittaacdcNeedImages-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:AddPDFAOutputIntenttä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. UusiEnsureLoadedPDFAOutputIntents-vaihe ripustaa nytFOutputIntents-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:
EnsureLoadedFieldAppearanceStreamtuottaa nyt nimenomaisen0 Tr(fill) hetiBT: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 vuotanut1 Tr(stroke) periityiDo: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 kirjoitti1 0 0 RG/rg+1 Tr+2 wsuoraan sivun content streamiinGStateRestore: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 olevanTPDFLZWDecompressor: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 olevaaEvaluateLoadedOCVisibility-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-kirjoittajaAddLoadedDocumentRequirement(ISO 32000-1 7.7.4), joka liittää vaatimusanakirjoja, joissa on/Ssekä kutsujan toimittamat avain/arvo-parit, katalogin/Requirements-taulukkoon - Lisätty Type 16 -halftonen (kynnysmaskin) tunnistus sivurenderöijässä: maskin
/Widthajaa 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- jaExtendedTagNumber-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, paikallinenAddStructureDestinationLink, 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äkutsuAddGoToRStructureDestinationLink, jonka/SD:n ensimmäinen alkio on kohdeelementin tavujonoinen/IDulkoisessa 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; trailerinInfo:n poisjätillä; pakollisella PDF/A-4fEmbeddedFiles-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 jaSBHUFF-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;
DecodeLoadedImageRegionpaljastaa 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
BeginLoadedPageProgressiveRenderlisää jatkettavan sivurenderöinnin kuluneen ajan ja content-operaattoribudjeteilla, osittaisella bittikarttapääsyllä, edistymiscallbackeilla ja nimenomaisilla keskeytetty-, valmis- ja peruttu-tiloilla; kutsujan omistamatTHPDFCancellationToken-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
ImmediateFlushLayoutsiirtää 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
SetFontFallbackChainjaTextOutWithFallbacklisäävät järjestetyn skriptitietoisen fonttivalinnan Unicode-skaalarikattavuustarkistuksilla ja pysyvällä ratkaisemattomien glyyfien diagnostiikalla; pystyteksti tuottaa nyt täydellisetIdentity-V-ajot, joissa on/DW2- ja/W2-metriikat, jotka johdetaan OpenType-tauluistavhea,vmtxjaVORG, kun ne ovat saatavilla
Version 2.456.0
Added
HPDFEncodePredictorlisää tiukan TIFF- sekä kiinteän tai mukautuvan PNG-ennustajakoodauksen pakatuille, 8-bittisille ja 16-bittisille rasterriveille;ExtractLoadedImageToStreamvälttää täysikokoisia tavutaulukoita alkuperäisille tai yleisesti dekoodatuille kuva-aineistoille;OptimizeLoadedStreamspakkaa valittuja suodatinperheitä uudelleen muisti-levy-ylivuotopuskureiden kautta ja korvaa vain virrat, jotka ylittävät positiivisen säästökynnyksen
Version 2.455.0
Added
DecodeLoadedStreamToStreammuodostaa nyt ladatut PDF-suodattimet rajatuksi putkeksi, jonka viimeinen vaihe kirjoittaa suoraan kutsujan virtaan;DocumentDecodeBudgetByteslisää 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
LoadedStreamMemoryThresholdkautta; pakatut objektivirtojen jäsenet indeksoidaan ja materialisoidaan olion numeron mukaan ensimmäisellä käytöllä;LoadFromRandomAccessSourcelisää 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
GetLoadedXRefMergeInfokautta 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
RegisterStructureNamespacejaAddStructureElementNSkautta, tiukka PDF/UA-2-rakenteen validointi ja profiilineutraali liitettyjen tiedostojen tuki menetelmänAddPDFAssociatedFilekautta
Version 2.451.0
Added
DetectFacturXInvoicepaljastaa nyt dekoidun ensisijaisen liitteen MIME-tyypin ja sidotun XMP-nimiavaruuden URIn, kun taasValidateFacturXInvoiceristiintarkistaa tarkan FileSpecin, jonka Catalogin/AFja EmbeddedFiles-nimipuu jakavat,/F- ja/UF-nimet, XML-MIME-tyypin, XMP-DocumentTypeja 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
SanitiseLoadedDocumentsoveltaa 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, diagnostiikallaGetLastDecodeBudgetInfoja nolla nimenomaisena rajoittamattomana tilana
Version 2.446.0
Added
- Lisätty valinnainen
LinearizeOutputnopeaa 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
AnalyzeLoadedSignatureRevisionsluokittelee 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
VerifyLoadedSignatureWithTrustjaHPDFValidateCMSCertificatePathrakentavat 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.CertificateValidationilmoittaa luottamuksen, polun pituuden, luottamusankkurin, arviointiajan, mitätöintitilan ja lähteen, mitätöintiajan ja validointiongelmat itsenäisesti kryptografisestasvValid-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 taasTHPDFSignatureInfo.Timestamppaljastaa 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
THPDFSignatureInfoilmoittaa nytSignedRevisionLength- jaUnsignedTrailingBytes-arvot, jasvInvalidByteRangetunnistaa 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
GetWideTextWidthtulkitsee nyt välimuistissa olevat Unicode-etenevyydet em-yksiköissä ja palautuu alustamittaamiseen, kun glyyvimetriikka ei ole saatavilla, mikä palauttaa oikein skaalatut leveydet rivitykseen ja asetteluunBeginIncrementalUpdatemerkitsee 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
HPDFDecodePredictorjaHPDFTryDecodePredictortarjoavat rajatun dekoodauksen TIFF 1-, 2-, 4-, 8- ja 16-bittiselle ennustukselle ja kaikille viidelle PNG-rivisuodattimelle tiukalla rivintarkistuksella ja toimintavirheilmoituksillaTPDFLZWDecompressorlisää 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 jaKwKwK-laajennuksen tiukasti ja kasvattaa merkkijonotulostuksen geometrisesti - Ladattu Flate- ja LZW-kuvan purkaminen noudattaa nyt
DecodeParms-ennustusgeometriaa jaEarlyChange-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
THPDFViewerkääntyy nyt Delphi XE2:sta XE8:aan, joistaWM_DPICHANGEDpuuttuuWinapi.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 virheeseenE2003 Undeclared identifier
Version 2.437.0
Changed
GetWideTextWidthmittaa 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 /CapHeightkäyttää nyt kasvon todellistaotmsCapEmHeight-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 tallentamaaFUnicodeExtraUsedGlyphs-joukkoa kirjoitettiin, mutta alijoukkoistaja ei koskaan käyttänyt sitä, joten nämä glyyfit putosivat tulosteessa.notdef-glyyfiksi
Version 2.434.0
Added
THPDFWeightedCachelisää 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
THPDFTableCelltukee nyt kuvasoluja (ImageIndex+ImageAspectskaalaa rekisteröidyn kuvan sarakkeen leveyteen H/V-tasauksella) ja HTML-soluja (IsHTMLrenderöi solutekstinTextOutHTML-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 oleviaTHPDFPage-piirustusprimitiivejä, joten tuottajien ei enää tarvitse piirtää soluja käsinRectangle- jaTextOut-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.TextOutHTMLsaa sanarivityskuorman, joka ottaaMaxWidth-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-vakiota0.5522847498, mikä vastaa kaikkia muita yksikön ellipsi- ja ympyrätoteutuksia ja poistaa pienen sädekohtaisen poikkeaman, jonka aiempi11/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
CompressLoadedDocumentnoudattaa nytCompressionLevel-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äSaveLoadedDocumenttallentaa tuloksen muuttumattoman-tilin-kopiointipolin sijaan.DecompressLoadedDocumentkä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.AddCertificationSignatureFieldjaConfigureCertificationSignatureluovat nyt ainoan DocMDP-sertifikaattiallekirjoituksen kaikilla kolmella käyttöoikeustasolla ja vastaavalla Catalog-/Perms /DocMDP-kytkennällä, kun taasAttachSignatureFieldLocklähettää epäsuorat SigFieldLock-käytännöt ja vastaavat FieldMDP-viittaukset All-, Include- tai Exclude-kenttäalueille.THotPDF.GetLoadedSignaturePermissionssuorittaa 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 newHPDFReplaceWatermarkPlaceholdersoverload is given aTHPDFPlaceholderDocInforecord. The legacy 4-parameter signature stays for callers that only need the page / file / date-time subset
Version 2.421.0
Added
THPDFActionBuilder.GoToEmbeddedNamedDestinationandGoToEmbeddedPagecreate PDF 1.6GoToEactions with standards-valid parent, EmbeddedFiles name-tree, attachment-annotation, and nested/Ttarget paths, while preserving named or explicit destinations, optional root file specifications,NewWindow, action chaining, and PDF/A/PDF/X restrictions- Loaded action inspection now recognises all 18 ISO 32000-1 action subtypes and returns ordered, non-executing
THPDFLoadedActionInfosnapshots from catalog/OpenActionand/AA, page/AA, annotation/Aand/AA, AcroForm field/AA, and outline/Asources. Dictionary and array/Nextforms preserve execution order, while malformed entries, shared nodes, cycles, excessive depth, and excessive node counts stop safely with diagnostics - Annotation action and JavaScript trigger enums now include page-open
/PO, page-close/PC, page-visible/PV, and page-invisible/PIevents with the required PDF 1.5 version negotiation
Version 2.420.0
Added
- Content-stream device stage 3 closes the abstraction loop:
IHPDFContentDevicegainsDrawXObject/DrawShading/ApplyExtGStatefor theDo/sh/gsoperators, and the shared interpreter now dispatches them.Dois gated oncdcNeedImagesso text/enum devices skip the heavy image decoding;shandgsdispatch unconditionally. The renderer'sExecuteViaDevicepath can now paint the full operator set (paths + colours + text + images + shading + ExtGState), observably equivalent to the legacyHandleOperatorpath. TheApplyExtGStatenested procedure was promoted to a class method (DoApplyExtGState) so the device path shares it without duplication; method-resolution clauses route the three new interface entries toDev*helpers without colliding with the pre-existing private helpers - Document-content observer pattern:
THotPDF.OnLoadedDocumentModifiedevent fires fromInvalidateRenderedPageCache(PageIndex = -1, whole document) andInvalidateRenderedPageCachePage(a specific page) so attached viewers refresh automatically.THPDFViewersubscribes inSetDocumentand unbinds on detach /opRemove, callingRefreshDocumentwhen the current page (or the whole document) is affected. Multi-view sync (several viewers on the sameTHotPDF) now works without each caller invokingRefreshDocumentby hand
Version 2.419.0
Added
- Content-stream device abstraction stage 1:
IHPDFContentDevicegains the text callback surface (BeginText/EndText/UpdateFont/UpdateCharSpace/UpdateWordSpace/UpdateHorizScale/UpdateLeading/UpdateRenderMode/UpdateRise/TextMove/TextSetMatrix/TextNewLine/ShowText/ShowTextArray) mirroring the PDF text state machine; the sharedHPDFInterpretContentStreamDevicedispatcher now forwards BT/ET/Tf/Tc/Tw/Tz/TL/Tr/Ts/Td/TD/Tm/T*/Tj/TJ/'/" to the device when it declarescdcNeedText THPDFTextExtractDeviceis a concrete device that maintains the text matrices and emits oneTHPDFGlyphRecordper char code (decoded via an injectedIHPDFFontResolver) — observably equivalent toHPDFInterpretTokensoutput but produced through the device interface so the same interpreter loop drives text extraction, path enumeration and renderingHPDFExtractGlyphsViaDeviceconvenience function wraps the text-extract device + shared interpreter in one call; the existingHPDFInterpretContentStream/HPDFInterpretTokensstay untouched for current callers- Content-stream device abstraction stage 2:
THPDFPageRenderernow implementsIHPDFContentDeviceso the shared dispatcher can drive it through the same abstract interface.ExecuteViaDeviceis the opt-in device-driven render entry; the productionExecutepath keeps its built-inExecuteStream/HandleOperatordispatch, so existing behaviour is unchanged. The renderer carries every piece of state the callbacks need (graphics-state stack, font cache, GDI handles, four paint bridges) and each device method is a thin delegation, so the device-driven route is observably equivalent to the legacy route
Version 2.418.0
Added
DecompressLoadedDocumentis the inverse ofCompressLoadedDocument: it walks every indirect stream carrying a/Filter /FlateDecode(name or single-element array form), inflates the payload back to raw bytes, strips the/Filterentry and fixes up/Length; streams with other filters (CCITT / DCT / JBIG2 / JPX / Crypt / RunLength) and multi-filter chains are left untouched, and corrupt Flate payloads are skipped rather than discardedEnumLoadedPageElementsnow returns the full path geometry perekPathelement, not just the bounding box: two new fieldsPathPoints: array of THPDFPathPointandPathIsCurve: array of Booleanare index-parallel and carry each segment’s user-space control points with a flag distinguishing cubic bezier segments from linear ones (m / l / re edges). Callers that only read the bbox are unaffected; CAD drawing extraction, table-line detection and vector-replay consumers can now rebuild the exact curves the page drew- New
HPDFContentDeviceunit introduces the content-stream device abstraction (stage 0): anIHPDFContentDeviceinterface with aTInterfacedObjectbase implementation (mirroring the provenIHPDFFontResolverpattern), a sharedHPDFInterpretContentStreamDevicedispatcher that today covers the path / colour / state operator subset, and a concreteTHPDFPathEnumDevicethat collects one record per painted path with full point geometry. This breaks the three-way duplication betweenHPDFContentStream,HPDFPageRenderer.HandleOperatorandHPDFCollectPathElements; stage 1 will add text/image callbacks and stage 2 will migrate the renderer onto the device
Changed
HPDFPageRendererheader comment updated: the “TrueType/CFF glyph-outline rendering out of scope” note was stale — embedded glyph outlines have been active since v2.342.0 (DrawTextRuncallsTHPDFEmbeddedTTF.DrawGlyph/THPDFEmbeddedCFF.DrawGlyphwith real quadratic/cubic bezier paths; GDITextOutWis only the fallback for unmapped characters). CID fonts via Identity-H + CIDToGIDMap are covered too
Version 2.417.0
Added
- Five named loaded-document annotation helpers close the discovery gap where the existing
ASubtype-parameterised helpers (AddLoadedHighlightAnnotation,AddLoadedSquareAnnotation,AddLoadedPolygonAnnotation) already produced these subtypes but callers had to know the secret:AddLoadedCircleAnnotation,AddLoadedUnderlineAnnotation,AddLoadedStrikeOutAnnotation,AddLoadedSquigglyAnnotationandAddLoadedPolylineAnnotation-- once landed, the XFDF interchange layer (which already recognises these subtype strings) picks them up for free AddLoadedFileAttachmentAnnotationembeds an arbitrary file payload (PDF, image, office doc) as a FileAttachment annotation with the full three-object graph the spec requires: annotation dict / Filespec dict / EmbeddedFile stream with/SubtypeMIME,/Params /Sizeand creation/modification dates; the newTHPDFFileAttachmentIconenum (faiPushPin/faiGraph/faiPaperclip/faiTag) selects the standard pin icon viewers renderTHPDFFieldValidationOptionsrecord +HPDFDefaultValidationOptionsexpose the full AdobeAF*parameter surface (Decimals / SeparatorStyle / NegativeStyle / CurrencySymbol / CurrencyBefore / RangeMin / RangeMax) that the Acrobat JS helpers accept; the existingApplyLoadedFieldValidation(FieldIndex, Kind, DateFormat, Mask)signature is retained as a backward-compatible overload that forwards into the new record overloadApplyFieldValidationandApplyFieldCalculationbring the same Format+Keystroke+Validate / Calculate template to producer-mode fields (looked up by name) so newly-created forms get the same AF* scripts as loaded ones, without writing JavaScript by handCopyLoadedAnnotationsFromDocumentdeep-copies annotations from another loaded document directly PDF→PDF (no XFDF intermediary): reusesCopyObjectto rebuild indirect references, streams and/APappearances, rewrites/Pto the destination page, optionally remaps/IRTreply chains via/NM, optionally clears/Tauthor, and accepts aTHPDFAnnotCopyFilterEventcallback for selective copy -- covers Widget/PrinterMark/TrapNet/Watermark/3D/Screen that the XFDF layer does not reach
Fixed
ApplyLoadedFieldValidationwrote the Format JavaScript under trigger key/X(annotation-exit), which Acrobat never fires for form fields -- the script was effectively dead. Corrected to/Fso the format actually runs on field commitApplyLoadedFieldValidationemittedAFSpecial_FormatExfor the ArbitraryMask kind, a function that does not exist in the AdobeAF*set; onlyAFSpecial_KeystrokeEx(mask)is real, so the Format pass is dropped and enforcement happens at keystroke time as the spec intendsApplyLoadedFieldValidationunconditionally appendedAFRange_Validate(true,true,0,9999999)for numeric kinds, imposing a hidden 0..9999999 range the caller never asked for; range validation now only fires when the caller explicitly setsRangeMinorRangeMaxin the options recordApplyLoadedFieldValidationwrapped the ArbitraryMask in a JavaScript regex literal and emitted a hand-rolled validate script, but the mask is a literal format pattern ("AAA-9999"), not a regex; the validate pass is now removed and the keystroke mask carries the enforcement aloneApplyLoadedFieldCalculationnow prepends a Format+Keystroke number-formatting pair before theAFSimple_Calculatescript so the aggregated result renders as a plain number, matching common PDF viewer behaviour (without it the Calculate value displays raw)
Version 2.416.0
Added
THPDFViewernow scrolls on hover-wheel without needing a click first: a thread-localWH_MOUSEhook (newHPDFMouseWheelHookunit, auto-installed from itsinitializationsection) routesWM_MOUSEWHEELto whicheverTHPDFViewerinstance sits under the cursor, matching the behaviour of every native Windows PDF readerTHPDFVieweris now Per-Monitor DPI v2 aware: newHPDFPerMonitorDPIunit resolvesuser32!SetProcessDpiAwarenessContext(Win10 1703+,DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2) at runtime and falls back throughshcore!SetProcessDpiAwareness(Win8.1+) anduser32!SetProcessDPIAware(Vista+); the legacyHPDFEnablePerMonitorDPIis retained as an alias that forwards to the new layered helperTHPDFViewer.RenderAtPhysicalDPIpublished property (defaultTrue) makes the rendering DPI baseline track the monitor’s physical DPI viaHPDFGetWindowDPI, so 100% zoom on a 144 DPI panel renders at native resolution; a newWMDpiChangedhandler re-renders on cross-monitor moves; setFalseto preserve the historical 96-DPI logical baseline- Optional persistent disk tier for the rendered-page cache: setting
THotPDF.RenderCacheFolderto a writable folder path persists every page rendered byRenderLoadedPageToBitmapCachedas a PNG under<folder>\<SHA256-prefix-16>\<page>@<dpi>.png, so re-opening the same document later is instant;RenderCacheMaxDocuments(default 20) andRenderCacheMaxBytes(default 500 MB) bound the footprint with a true LRU eviction; the lookup order becomes in-memory → disk → rasterise, with disk hits back-filling the in-memory tier THotPDFconstructor now activates the highest available per-monitor DPI tier at first instantiation in runtime mode (skipped incsDesigning), so hosts that never callHPDFEnablePerMonitorDPIexplicitly still get crisp rendering on high-DPI displays
Version 2.415.0
Added
HPDFParsePDFDatenow honours the timezone suffix (+HH’mm,-HH’mm, orZ) and returns a UTCTDateTime;HPDFFormatPDFDateis the inverse formatter producingD:YYYYMMDDHHmmSS+00’00GetLoadedExtGStateInforeadsLW/LC/LJ/ca/CAoff a named ExtGState entry on a loaded page;GetLoadedShadingCount/GetLoadedShadingNameandGetLoadedPatternCount/GetLoadedPatternNameenumerate the/Shadingand/Patternresource sub-dictionariesReplaceLoadedPageswaps a page’s contents from a source document,SwitchLoadedPagesexchanges two pages,ReverseLoadedPagesflips page order in a range,ExtractLoadedPagesToPDFsaves a page range as a standalone PDF, andGetLoadedPageInheritedBoxresolves inherited page boxes through the page-tree parent chainGetLoadedFileSpecInforeads embedded-file metadata (name / description / MIME / size),GetLoadedEmbeddedFileMIMEreturns the/Subtype,GetLoadedEmbeddedFileChecksumreturns the/Checksumdigest, andTHPDFNameTreeType+GetLoadedNameTreeRootCountprovide a typed enumeration of all nine name-tree categoriesHPDFEnablePerMonitorDPIdynamically enables per-monitor DPI awareness;THPDFBackgroundRendererrenders pages on a background thread with a request queue and cancellation;GetLoadedPageContentStreamCountreports whether/Contentsis a single stream or an array;GetLoadedXMPValueextracts a namespace-qualified XMP property; andGetLoadedDocumentReportaggregates all diagnostic info into a JSON string
Version 2.414.0
Added
THPDFActionBuilder.URIWithIsMapcreates a URI action with/IsMap truefor server-side image-map tracking, where the previousURIbuilder only set the bare/URIstringAddLoadedCaretAnnotationExadds an optional paragraph symbol (/Sy P) to caret annotations, the visual marker editors use for insert-trackingGetLoadedAnnotationDAparses a FreeText annotation’s/DAstring into font name, font size and RGB colour components, so a caller can inspect or clone the appearance without re-parsing the raw operator string
Version 2.413.2
Fixed
- The C++Builder package now links without requiring crypt32.lib: HPDFWinCertSigner loads the CryptoAPI entry points (CertOpenStore, CertEnumCertificatesInStore, CryptAcquireCertificatePrivateKey, and the Crypt hash helpers) dynamically via LoadLibrary/GetProcAddress, matching the pattern already used by HPDFDoc.EnumerateSystemCertificates
Version 2.413.1
Fixed
- Type1 and CFF font handling now preserves parser ownership across repeated stream checks and multi-font FontSets, returns stable glyph names and bounding boxes, keeps fractional font sizes and DPI scaling, and avoids composite-glyph and private-dictionary memory errors
- The C++Builder AddDelPages, HugeFileBenchmark, and Security demos now compile for Win64, while page-operation and preflight examples release partially constructed objects safely
Version 2.413.0
Changed
- The Delphi E-Invoice demo now validates required invoice fields, amount and VAT ranges, currency syntax, and embedded XML profile compatibility before writing output
- The attach workflow now rejects identical source and output paths, reports the detected XML guideline, and combines container, PDF/A, XML profile, signature, visual consistency, Schematron, and external-report checks into one verdict
Fixed
- E-Invoice generation and manual validation no longer report a successful result when an enabled validation layer finds issues
- Loaded electronic-invoice summaries now read the invoice number, seller, and buyer from their correct XML aggregates, preventing false visible-text consistency findings
Version 2.412.0
Changed
- All Delphi demos now resolve no-argument relative assets and outputs from their executable directory while preserving the caller working directory for command-line paths
- Delphi command-line demos now provide stricter argument validation, failure exit codes, deterministic comparison inputs, and generated-document verification across page copying, text extraction, preflight, optimisation, inspection, and in-memory workflows
Fixed
- Delphi demos no longer risk page-list overflow above 100 selected pages, create an extra blank page in the add-page workflow, close unrelated PDF viewer windows, or report failed preflight checks as successful
- The E-Invoice attach workflow now rebuilds its current page correctly when a single-page source is converted, signed, and stripped of the temporary initial blank page
Version 2.411.0
Added
- E-Invoice demo: new "Attach to existing PDF" mode converts an existing PDF to PDF/A-3, embeds a Factur-X/ZUGFeRD invoice XML as a document-level attachment, and optionally signs the result with a PFX certificate
Version 2.410.0
Added
- Loaded AcroForm fields can now update flags, maximum length, text justification, per-widget rectangles, rotation, border colour, and visible or printable state, with widget enumeration for radio groups and other multi-widget fields
Fixed
- Loaded field tooltip, border-width, and background-colour edits now mark the correct field or widget dictionaries dirty, apply visual properties to every widget, and invalidate only the affected page render cache
Version 2.409.0
Added
ActivateLoadedLinksturns bare HTTP, HTTPS, FTP,www.,mailto:, and email text into positioned borderless URI annotations across a selected page range
Changed
- Loaded link creation now persists reliably in incremental updates, while automatic activation snapshots existing links once per page, skips matching URI and rectangle pairs, and invalidates each changed page cache only once
Version 2.408.0
Added
- Loaded annotations can now update their title, unique name, modification date, normalised rectangle, and standard solid, dashed, bevelled, inset, or underlined border style
Fixed
- Loaded annotation edits now mark the annotation object dirty for incremental saves, while visual edits invalidate only the affected page's cached renders and retain other warm pages
Version 2.407.0
Added
THPDFViewerModelstores, clips, enumerates, removes, and clears persistent page-region highlights without modifying the PDFTHPDFVieweradds a highlight interaction mode with captured marquee dragging, rotation-aware PDF coordinate recovery, configurable colour, and anOnMarqueeSelectcallback
Fixed
- Viewer coordinate transforms now retain the actual render DPI below 12 and above 2400, keeping selections aligned at the 5% and 6400% zoom limits
Version 2.406.0
Added
THPDFViewerModelcreates rotation-aware page thumbnails directly at a DPI selected for caller-supplied pixel bounds, avoiding full-size intermediate page bitmaps- Viewer-model page prefetch warms a centred neighbourhood asynchronously while limiting the scheduled pages to the rendered-page cache capacity
Version 2.405.0
Added
THPDFPageLayoutnow supports PDF 1.5plTwoPageLeftandplTwoPageRightcover-spread layouts with automatic version negotiation and strict-version fallback
Fixed
BeginDocnow preserves the caller-selected page layout instead of always replacing it withplOneColumn
Version 2.404.0
Added
THPDFViewerModelcreates rotation-aware snapshots of bounded PDF page regions without allocating a full-page bitmap
Version 2.403.0
Added
THPDFViewerModelconverts points bidirectionally between PDF page space and rotation-aware Viewer coordinates at a caller-selected DPI
Version 2.402.0
Changed
- Viewer zoom commands now use stable standard levels from 5% through 6400%, including reversible navigation around arbitrary custom values
Version 2.401.0
Added
THPDFVieweradds Ctrl+wheel zoom, vertical wheel scrolling, and Shift+wheel horizontal scrolling without rerendering for scroll-only input
Version 2.400.0
Added
THPDFVieweradds keyboard page navigation, scrolling, zoom shortcuts, and Actual Size, Fit Width, or Fit Page mode selection
Version 2.399.0
Added
THPDFViewerdraws or prints the rotation-aware current view with deterministic aspect-preserving fit and centred placement
Version 2.398.0
Added
THPDFViewerModelcreates caller-owned vector EMF snapshots of any loaded page or the current view, including non-destructive 90-degree view rotation
Version 2.397.0
Added
THPDFViewerModelsaves rotation-aware page snapshots as BMP, JPEG, or PNG to files and caller-owned streams with configurable JPEG quality
Version 2.396.0
Added
THPDFViewer.ResetViewrestores Actual Size, clears view rotation and search highlights while preserving the current page, with matching reset and rotation actions and batched single-render updates
Version 2.395.0
Added
THPDFViewerandTHPDFViewerModeladd clockwise, counter-clockwise, and resettable view rotation that also applies to caller-owned page snapshots without changing the PDF page
Version 2.394.0
Added
THPDFViewerModelcan create caller-owned page snapshots and save the current page as BMP without constructing a Viewer control
Version 2.393.0
Added
THPDFLoadedFormFieldnow exposes field flags, MaxLen, page index, widget bounds, and common Required, NoExport, Multiline, and Password statesGetLoadedFormFieldMaxLengthprovides direct indexed access to loaded text-field length limits
Version 2.392.0
Added
SetDocumentAttachmentMetadatarenames document-level embedded attachments and updates their descriptions before serialization
Version 2.391.0
Added
ExtractLoadedPagesTextToStreamstreams selected loaded-page text as UTF-8 with custom separators and optional BOM outputTHPDFViewerModeladds form-field hit testing and deterministic keyboard navigation across page widgetsTHPDFSignatureInfo.CertificateTimeValidityreports certificate-bound and signed-time validity classifications
Fixed
- Loaded form fields without widget
/Pback-references can now be mapped through page annotation arrays
Version 2.390.0
Added
THPDFWatermarkTemplate.MakeCurveandTHPDFPage.AddCurveWatermarkadd cubic Bezier curves to loaded composites and new-document authoring
Fixed
- Loaded document metadata setters now mark the Info dictionary dirty so incremental saves persist title and author changes
Version 2.389.0
Added
InsertLoadedBlankPageinserts a blank page with caller-defined dimensions at an exact loaded-document positionExtractLoadedPagesTextaggregates text from a one-based page range with a caller-defined separatorGetLoadedFormFieldNameValuePairsandSetLoadedFormFieldNameValuePairsprovide batchname=valueform exchange throughTStringsCMapResourcePathsupports explicit standard CMap deployment paths for services, plug-ins, and custom application layouts
Changed
- The VCL viewer now draws search-hit rectangles and refreshes when the active hit changes on the current page, while linked outline controls follow viewer document changes
- Page rendering now resolves inherited media boxes, rotation, and resources and correctly maps non-zero page origins at every right-angle rotation
Fixed
- Form-name conflicts are rejected before page insertion or append begins when merge renaming is disabled, leaving the destination page count unchanged
- Deleting loaded pages now detaches their AcroForm widget fields and removes empty field-tree branches instead of leaving references to deleted pages
- Cursor-style search helpers and viewer-model misses no longer clear managed text-match records with raw memory operations
- Automatic CMap discovery now passes the actual collection root to the text decoder
Version 2.388.0
Added
- New
DeletePagesremoves one-based page ranges from loaded PDFs, de-duplicates overlapping selections, reports progress, and rebuilds a valid page tree for saving - Page insertion and append merging now accept
THPDFMergeOptionsto copy recursive outlines, register imported AcroForm fields, and deterministically rename conflicting field names - New
AddLoadedRadioButtoncreates a true parent radio field with child widgets, shared export values, and complete on/off appearance states - New
SearchLoadedNextprovides stateless page-local next-match search, whileGetLoadedOutlineEntriesreturns complete recursive outline snapshots with parent and level data - New Windows certificate-store signing overloads select a current-user or local-machine certificate by SHA-1 thumbprint and sign through either CNG or legacy CSP private keys
- New
THPDFLoadedDocumentFacadeexposes typed outline, form, annotation, font, and image collections with mutation and extraction helpers - New
THPDFViewer,THPDFSearchPanel,THPDFOutlineViewer, viewer model, and viewer action classes add reusable VCL page display, navigation, zoom, search, and bookmark controls - New advanced printing, signature validation, page-thumbnail, loaded-image export, and typed loaded-document inspection demos cover the end-to-end workflows
Changed
- Loaded-document printing now builds deterministic collated or uncollated physical page sequences, supports custom paper width and length, and reports printer paper codes, names, and sizes
- System certificate enumeration now includes SHA-1 thumbprints, private-key availability, validity dates, and key-usage metadata
Fixed
- Loaded text-search result growth no longer copies managed string records with raw memory moves, preventing invalid-pointer failures on Win64
- Deleting loaded pages no longer frees shared page resources or leaves stale page-tree counts that reappear after save and reload
Version 2.387.0
Added
- New
PrefetchLoadedPagesrenders a page range into the rendered-page cache on a background worker thread, so a viewer turning pages gets instant warm-cache hits instead of waiting for each render CancelLoadedPagePrefetchstops the worker andIsLoadedPagePrefetchActivereports its state; loading another document or destroying the component cancels an active prefetch automatically- Cached rendering and the prefetch worker are serialised internally, so
RenderLoadedPageToBitmapCachedstays safe to call while a prefetch is running
Version 2.386.0
Added
- New
FlattenLoadedAnnotationsdraws each annotation's normal appearance permanently into the page content at its rectangle and removes the annotation, so markup and form visuals survive in viewers that hide or cannot edit annotations - The pass follows appearance-state dictionaries through
/AS, honours the appearance bounding box and matrix when fitting the rectangle, and can be limited to one annotation subtype or a page range
Version 2.385.0
Added
- New
RenderLoadedPageRegionToBitmaprasterises only a chosen user-space window of a page at the requested DPI, so very large pages can be rendered tile by tile in bounded memory at high resolutions instead of as one oversized bitmap - Tiles align exactly: the bitmap covers precisely the requested region, so adjacent tiles reassemble into the full page without seams
Version 2.384.0
Added
- New
GenerateLoadedPageThumbnailsrenders the selected pages of a loaded document and embeds them as JPEG page thumbnails, the previews shown in viewer page panels; the longest edge size and JPEG quality are configurable, and existing thumbnails are replaced in place GetLoadedPageThumbnailSizereads back an embedded thumbnail's pixel dimensions, andClearLoadedPageThumbnailsremoves thumbnails from the selected pages
Version 2.383.0
Added
EnumLoadedPageElementsnow reports vector path elements alongside text runs and images: each painted path yields an element with its user-space bounding box, the painting operator (stroke, fill, or both), the fill and stroke colours in force, and the segment count- The path walker follows
q/Qnesting andcmtransformations, so shapes drawn inside scaled or translated blocks report their true page coordinates
Version 2.382.0
Added
THPDFPrintOptionsgainsDuplex(simplex, long-edge, short-edge),PaperBin, andPrintQualityfields that are pushed into the printer device mode before the job starts; an explicitOrientationvalue is now applied as well- New
HPDFGetInstalledPrinterslists the system printers, andHPDFGetPrinterCapabilitiesreports a printer's duplex and colour support, maximum copy count, paper bins (with the codes accepted byPaperBin), and supported resolutions
Version 2.381.0
Added
- New
CopyLoadedOutlinesFromDocumentmerges the complete bookmark tree of another loaded document into the current one, preserving titles, nesting, sibling order, and destination view parameters while remapping every destination page by a caller-supplied offset — the companion to page-append merges so combined documents keep both bookmark sets
Fixed
GetLoadedBookmarkPageIndexnow finds bookmarks beyond the first top-level entry and inside nested levels; the previous lookup only matched later bookmarks by coincidence
Version 2.380.0
Added
- New
ImposeLoadedPagesNUplays any page range onto grid sheets (any columns-by-rows arrangement, configurable sheet size and gutter) in reading order, scaling each page into its cell with optional aspect-ratio preservation - New
ImposeLoadedPagesBookletproduces saddle-stitch booklet sheets: pages are padded to a multiple of four and paired in booklet order so double-sided printing and folding yields a correctly ordered booklet - Both imposition calls wrap the source pages as Form XObjects and append the finished sheets after the existing pages, returning the sheet count
Fixed
- Loaded-page rendering now follows an indirect reference on the resources
/XObjectsub-dictionary; pages whose resources arrived as separate objects skipped their images and forms silently
Version 2.379.0
Added
SaveLoadedPagesAsImagesgains two TIFF formats:ifTIFFwrites one single-page TIFF file per page, andifTIFFMultiaggregates the whole page range into one multi-page TIFF, unifying TIFF output with the existing BMP, JPEG, PNG, EMF, and WMF choices- Both TIFF paths honour the requested rendering DPI in the image resolution tags and use lossless Deflate compression
Version 2.378.0
Added
- Loaded-page rendering now draws text rendering modes 1 (stroke) and 2 (fill then stroke) with real glyph outlines for both embedded fonts and system-font fallbacks, using the current stroke colour and line width; the clipping variants 4 to 7 paint like their base modes
Fixed
- Twelve single-operand content operators (
Tc,Tw,Tz,TL,Ts,Tr,w,J,j,M,ri,i) read their operand from the wrong token position and always applied zero; character and word spacing, horizontal scaling, leading, text rise, render mode, line width, caps, joins, and miter limit now take effect when rendering loaded pages
Version 2.377.0
Added
- Loaded-page rendering now honours optional-content (layer) visibility: content inside
BDC /OCmarked sections and XObjects carrying an/OCentry is hidden when its layer is off, following the document's default configuration (/BaseState,/ON,/OFF) - Optional-content membership dictionaries evaluate their
/Ppolicy (AnyOn,AllOn,AnyOff,AllOff) over the member groups - New layer APIs on loaded documents:
GetLoadedOptionalContentGroupCount,GetLoadedOptionalContentGroupName,GetLoadedOptionalContentGroupVisible, andSetLoadedOptionalContentGroupVisibleto inspect and override layer states for rendering; overrides invalidate the rendered-page cache automatically
Version 2.376.1
Fixed
- Loaded-page bitmap rendering now paints image XObjects: the
Do,gs, andshresource lookups previously missed their slash-prefixed operand names and skipped the object silently - The
cmoperator and Form XObject/Matrixvalues now concatenate in the correct order, so translate-plus-scale placement sequences (the standard image positioning idiom) land content at its intended page position
Version 2.376.0
Added
- New
RegisterExponentialFunction,RegisterStitchingFunction, andRegisterPostScriptFunctionAPIs create standalone Type 2, Type 3, and Type 4 function objects for use wherever a function reference is accepted (shadings, halftone spot and transfer functions, tint transforms) RegisterPostScriptFunctionvalidates the calculator program at registration time by trial evaluation, so malformed programs are rejected immediately instead of degrading silently in viewers- New
RegisterSeparationFunccreates a Separation colour space with a caller-supplied tint-transform function object
Fixed
- Rendering Type 2 (exponential) tint transforms with one- or three-component outputs no longer paints black; previously only four-component (CMYK) outputs decoded correctly
- Rendering Type 3 (stitching) tint transforms now supports any number of sub-functions, applies the
/Encoderemapping, and accepts single-entry/Boundsarrays
Version 2.375.0
Added
- Page rendering now evaluates Type 4 (PostScript calculator) tint-transform functions, so Separation and DeviceN colours and gradient shadings driven by calculator programs render their real colours instead of a grey placeholder
- The calculator evaluator covers the complete ISO 32000-1 7.10.5 operator set: arithmetic, comparison, boolean and bitwise, stack manipulation, and
if/ifelseconditionals
Fixed
- Named colour-space selection (
cs/CSoperators) in loaded-page rendering now resolves resource names correctly; previously the lookup missed and the content fell back to the default colour space - Loaded-page rendering now follows indirect references to array-valued colour spaces such as
/Separationand/DeviceNdefinitions stored as standalone objects
Version 2.374.0
Fixed
- XFDF annotation import/export now preserves caret annotation default appearance data through the
<defaultappearance>child and the PDF annotationDAentry
Version 2.373.0
Fixed
- XFDF annotation import/export now preserves caret annotation fringe geometry through the
fringeattribute and the PDF annotationRDentry
Version 2.372.0
Fixed
- XFDF annotation import/export now preserves rubber stamp annotation rotation through the
rotationattribute and the PDF annotationRotateentry
Version 2.371.0
Fixed
- XFDF annotation import/export now preserves text annotation reply relationships through
inreplyto,replyType, and the PDF annotationIRTandRTentries
Version 2.370.0
Added
- XFA numeric, date-time, and password fields with disabled horizontal scrolling now flatten to AcroForm text widgets with the PDF do-not-scroll flag
Version 2.369.0
Added
- XFA text fields with disabled scroll policies now flatten to AcroForm text widgets with the PDF do-not-scroll flag
Version 2.368.0
Added
- XFA text fields with
multiLine="1"now flatten to AcroForm text widgets with the PDF multiline flag
Version 2.367.0
Added
- XFA subform access restrictions now inherit into child widgets so generated AcroForm fields stay read-only when an ancestor is
readOnly,protected, ornonInteractive
Version 2.366.0
Added
- XFA choice-list flattening now maps
commitOn="select"to the AcroForm commit-on-selection-change flag for generated choice fields
Version 2.365.0
Added
- XFA choice-list flattening now maps
open="always"lists to single-select AcroForm list boxes instead of drop-down combo boxes
Version 2.364.0
Added
- XFA choice-list flattening now maps
textEntry="1"combo lists to editable AcroForm combo boxes while preserving typed values outside the option list
Version 2.363.0
Added
- XFA choice-list flattening now prefers
<items save="1">values when a field carries separate display and saved-value option lists
Version 2.362.0
Fixed
- XFDF annotation import/export now preserves FreeText
justificationandtailattributes through the PDF annotationQandITentries - JBIG2 document defaults now match the documented scan-friendly settings for lossy level, isolated black-pixel cleanup and black-dot size
Version 2.361.0
Fixed
- XFDF annotation import/export now preserves standard line leader and caption attributes, including
leaderLength,leaderExtended,caption,leader-offset,caption-style, caption offset values and the import-sideleaderExtendspelling used by compatible XFDF files
Version 2.360.0
Added
- XFA flattening now suppresses output for fields and static draws concealed by
presence="hidden",presence="invisible", orpresence="inactive", including descendants of concealed containers
Version 2.359.0
Added
- XFA flattening now maps field-level
access="readOnly",access="protected", andaccess="nonInteractive"restrictions to the generated AcroForm read-only flag
Version 2.358.0
Added
- XFA flattening now preserves
<choiceList open="multiSelect">semantics by setting the PDF multi-select flag on the generated AcroForm list box
Version 2.357.0
Added
- XFA flattening now maps
<ui><passwordEdit>fields to AcroForm text fields with the PDF password flag, preserving bound values while allowing readers to treat the field as password-style input
Version 2.356.0
Added
- XFA flattening now honours explicit
<bind match="none">field bindings, so fields marked as unbound remain blank instead of taking same-name values from the XFA form or datasets packets
Version 2.355.0
Added
- XFA flattening now honours simple explicit
<bind match="dataRef" ref="...">field bindings such as$record.customer.legalName, soApplyXFAAsAcroFormandFlattenLoadedXFApreserve values stored under a different data node name before automatic same-name matching
Version 2.354.0
Fixed
- XFDF annotation import/export now preserves link annotation
BorderStyleAltchildren through the PDF annotationBorderarray, including corner radii, width and dash pattern values
Version 2.353.0
Fixed
- XFDF annotation import/export now preserves standard
interior-colorattributes for line, square, circle, polygon, polyline and redaction annotations through the PDF annotationICcolor array
Version 2.352.0
Fixed
- XFDF annotation import/export now preserves standard annotation border style and cloudy border effect attributes, including
width,dashes,styleandintensity
Version 2.351.0
Fixed
- XFDF annotation import/export now preserves annotation rich text through
<contents-richtext>and imports popup child geometry and open state into annotationPopupdictionaries
Version 2.350.0
Fixed
- XFDF annotation import/export now preserves additional standard annotation attributes: text open and review state values, line endpoint styles, link and redaction
coords, FreeText default style, default appearance and rotation, and square or circle fringe geometry
Version 2.349.0
Fixed
- XFDF annotation import/export now follows ISO 19444-1 structures for lines, polygons, polylines and ink annotations: line exports include full
start/endcoordinate pairs, polygon and polyline data uses<vertices>child elements, ink data uses<inklist><gesture>, semicolon-separated coordinate pairs import correctly, and unsupported annotation subtypes no longer inflate the exported count
Version 2.348.0
Added
LoadedPageCountproperty,DuplicateLoadedPage,AddLoadedBlankPage,SetLoadedPageRotationValueandGetLoadedPageBoxRectround out the loaded-document page-operation API — duplicate pages, insert blank separators, set rotation and read any of the five page boxes in one callGetLoadedEncryptionMethodreturns the cipher name (RC4-40/RC4-128/AES-128/AES-256),GetLoadedFileStructureInfoaggregates linearization / object-stream / xref-type in one call,LoadedSourceFileSizeis a property, andSetLoadedPDFVersionupdates the versionStampLoadedPageImageandStampLoadedPageImageFromFileembed a JPEG Image XObject (logo / signature image / QR code) onto a loaded page at a given rectangle,InsertLoadedTextdraws a single-line text run, andGetLoadedPageContentLengthreturns the decoded byte countTHPDFPrintOptionsgainsIgnoreHardMargin(offset printer hard margins so content is not clipped) andAutoRotate(landscape pages print landscape automatically)SaveLoadedPagesAsImagesgainsBMPPixelFormat/BMPMonochrome(mono / 8-bit export) andJPEGScale(1 / 2 / 4 / 8 sub-sampled JPEG decode for fast thumbnails)CompressLoadedDocumentzlib-compresses every uncompressed stream in the loaded object graph and writes/Filter /FlateDecode, shrinking output size
Fixed
StampLoadedPageTextandStampLoadedPageImagenow transparently decompress FlateDecode content streams before appending operators — previously stamping onto a compressed/Contentssilently corrupted the zlib payload and the appended text/image disappeared
Version 2.347.0
Added
AddLoadedOutlinecreates a new bookmark on a loaded PDF at any nesting level (ParentIndex = -1for top-level), with a/Dest [page /XYZ x y zoom]target — the single highest-requested loaded-document feature, closing the gap that HotPDF could read/modify/delete bookmarks but never create themSetLoadedOutlineDestinationandSetLoadedOutlineURIrewrite an existing bookmark’s target page or switch it to a URI actionResolveLoadedNamedDestinationturns a named destination string into a zero-based page index, andAddLoadedNamedDestinationregisters a new anchor on the loaded document’s/Names /DeststreeGetLoadedBookmarkPageIndexis a convenience lookup: pass a bookmark title, get back the page it points to
Version 2.346.0
Fixed
- Image scaling quality now honours
/Interpolate: HALFTONE stretch mode is used by default (smooth downscale) and COLORONCOLOR when the image explicitly sets/Interpolate false, so small raster images keep their hard edges where the author intended instead of always blurring
Version 2.345.0
Fixed
- TJ array kerning adjustments are no longer discarded: the numeric elements between string runs advance the text matrix by
-value × FontSize / 1000, so tightly-spaced titles and logo lettering from Word / Illustrator place glyphs at the intended offsets - Tw (word spacing) now also fires on the CID ideographic space (U+3000, code
$3000), so justified Japanese / Chinese text gets its word spacing instead of only ASCII code 32 - Font weight / italic detection now consults
/FontDescriptor /Flags(bit 18 ForceBold) and/ItalicAnglein addition to the/BaseFontname, so subset-prefixed fonts whose name carries no-Boldsuffix still render at the right weight
Version 2.344.0
Added
GetLoadedTrappedreads the/Trappedkey from the Info dict (True/False/Unknown), where it was previously write-only — PDF/X preflight workflows can now round-trip the trap stateGetLoadedDocumentMetadataXMLreturns the raw XMP metadata stream bytes so PDF/A documents whose Info dict is absent can still exposedc:title/dc:creator/xmp:CreateDateGetLoadedCollectionInforeads the/CollectionName of a PDF Portfolio (EmbeddedFiles name tree still carries the file list)GetLoadedOutlineChilddescends one level into the bookmark tree, returning the/Firstchild of a top-level outline entry, so nested chapter / sub-chapter bookmarks are no longer invisibleRotateLoadedPagesrotates every page in a range by a given angle (accumulating onto existing/Rotate), the batch counterpart to per-page rotationSetLoadedPageBoxForRangesets a page box (Media/Crop/Bleed/Trim/Art) for every page in a range in one callGetLoadedViewerPreferencesnow also readsHideWindowUIandCenterWindow, matching the six keys the writer emits (previously only four came back)
Version 2.343.0
Fixed
- The
W n/W* nclip idiom now applies the clip: thenoperator builds the pending path and callsSelectClipPathinstead of discarding both the path and the pending clip, so rect / container clips written asre ... W nno longer leak their contents past the boundary SetMiterLimitis now pushed to GDI before building the stroke pen, so sharp joins honour the PDF miter limit (default 4) instead of GDI’s default 10 — eliminating the long spikes on acute-angle joins- Type 3 glyphs declared with
d0(colour-permitting) now explicitly clear the colour-suppress flag, so a precedingd1glyph no longer bleeds its colour suppression into ad0glyph
Added
ri(rendering intent) andi(flatness) operators are now consumed and stored on the graphics state (RenderingIntent/Flatnessfields), where they were previously silently skipped
Version 2.342.0
Added
- Text rendering mode operator
Tris now consumed; mode 3 (invisible) skips painting the text run entirely, so the OCR / form-background hidden text layer no longer paints as overlapping garbage glyphs — the most commonTrcase in real-world PDFs. Modes 1 / 2 (stroke) currently fall back to fill pending per-glyph outline support - Marked-content operators
BMC/BDC/EMCand theDP/MPproperty variants now maintain a depth counter on the renderer, the prerequisite for a later round’s OCG / OCMD visibility evaluation;BX/EXcompatibility operators maintain their own counter so the renderer knows it is inside a compatibility block
Version 2.341.0
Fixed
- Bezier shorthand operators
vandyare now handled by the page renderer, where they were previously silently skipped — rounded rectangles, circles and the curves produced by Illustrator / PowerPoint / InDesign render correctly instead of being truncated or dropped DrawTextRunnow honoursTz(horizontal text scaling),Tw(word spacing, applied to the space glyph) andTs(text rise) so justified Word exports place glyphs at the right width, headings that are horizontally stretched/squeezed keep their length, and super/subscript text lifts off the baseline — previously those three text-state values were stored but never consumed
Version 2.340.0
Added
SearchLoadedPageTextWholeWordfilters the substring matches produced bySearchLoadedPageTextdown to those that sit on word boundaries (the glyph before the match start and after the match end must not be a word character), providing whole-word matching without padding the search string with a trailing spaceGetLoadedSearchHitRectcollapses a match’s glyph range into a single bounding rectangle (user-space Left/Top/Right/Bottom, padded by a fraction of the font size), so a viewer can draw one highlight box per hit instead of walking the glyph array
Version 2.339.0
Added
ExtractLoadedPageTextColumnsreconstructs multi-column text: glyphs are clustered into baselines by a Y tolerance, each row is sorted by X, and a row splits into separate columns (tab-separated) wherever the gap between consecutive glyphs exceeds a configurable multiple of the median glyph advance — the column-aware counterpart toExtractLoadedPageTextLayoutthat previously declared column detection out of scopeTHPDFPageElementnow carries aBaselineRole(brNormal/brSuperscript/brSubscript) populated byEnumLoadedPageElements: a run whose font size is markedly smaller than the page median and whose Y origin sits above or below the dominant baseline is flagged
Version 2.338.0
Fixed
- Image XObjects are now placed by transforming the unit square through the current CTM, instead of being stretched across the whole page bitmap — the previous
StretchDraw(Rect(0,0,W,H))misplaced every image on the page; images now land in the rectangle the content stream actually specifies
Added
/ImageMaskstencil images are detected on the render side and painted with the current fill colour (PDF 8.9.6.1), where the renderer previously drew them as a plain greyscale bitmap
Version 2.337.0
Added
- Render-side stroke style: the page renderer now honours the
J(LineCap: butt/round/square),j(LineJoin: miter/round/bevel),M(MiterLimit) andd(LineDash array + phase) operators by building a geometric pen viaExtCreatePeninstead of the previous fixedCreatePen(PS_SOLID, ...), so rounded joins, dashed borders and square end caps render correctly - Render-side
gs(ExtGState) operator: the named ExtGState dictionary in/Resources/ExtGStateis now consumed forLW/LC/LJ/ML/ca/CAand applied to the graphics state, where the renderer previously dropped the operator entirely - Graphics state extended with
LineCap/LineJoin/MiterLimit/LineDash/DashPhase/FillOpacity/StrokeOpacityfields, all with PDF-default initial values
Fixed
- Clip (
W/W*) now sets the GDI polygon fill mode (ALTERNATEvsWINDING) beforeSelectClipPath, so even-odd and nonzero-winding clip intersections are no longer identical
Version 2.336.0
Security
- The render-side
/Indexedcolour-space parser now clampsHiValto the spec-mandated[0..255]range, closing a buffer-overread vector where a malformed HiVal letnComps × indexHighoverflow a 32-bit byte count and read past the lookup table
Added
AttachLoadedAnnotationMeasurewrites a/Measuredictionary (PDF 1.7 §12.5.6.13) onto a Line or Polygon annotation, carrying the/NumberFormatarray (unit label, decimal/fraction/round style, precision), the/Scaleratio and the/CYXisotropy factor — so a viewer can compute the real-world distance or area the shape spans
Version 2.335.0
Added
- Render-side
sh(shading) operator: axial (Type 2) and radial (Type 3) shadings are now painted instead of silently dropped, so PDFs whose backgrounds rely on Word/Excel-style gradients render their colour blend. The shading is discretised into bands along its axis and each band is filled with the colour the shading’s function evaluates to at that point
Version 2.334.0
Added
- Render-side function-object evaluator
HPDFEvalTintTransformnow resolves Type 2 Exponential (C0 + xN·(C1-C0)with Domain/Range clamping), Type 0 Sampled (8/16/32-bit, Encode mapping, nearest-sample) and Type 3 Stitching (Bounds-selected sub-function recursion) — soSeparation/DeviceNtint transforms and shading functions evaluate to real alternate-space colours instead of the v2.333.0 grey fallback. Type 4 PostScript calculators degrade gracefully - The page renderer now wires the colour-space unit’s indirect-ref resolver and decoded-stream reader to its document access at construction time, so tint-transform stream objects can be decoded through the same path as image XObjects
Version 2.333.0
Added
- Render-side CIE-based colour spaces:
CalGray,CalRGB(gamma + 3×3 matrix) andLab(Lab→XYZ→sRGB with the 6/29 breakpoint cube) now resolve to real colours instead of degrading to black; the Bradford-adapted sRGB matrix is cached per white point so per-pixel work stays a single 3×3 multiply - Render-side
ICCBasedcolour space resolves through its/Alternate(or an N-based DeviceRGB/Gray/CMYK guess when Alternate is absent), so pages carrying an ICC profile display correctly without an lcms dependency - Render-side
SeparationandDeviceNspot-colour spaces: the alternate space, tint-transform function reference and component count are parsed; the tint transform is wired through a pluggable evaluator so spot-colour pages are distinguishable from “colour not set” (full tint evaluation lands with the function engine) - Generic colour operators
cs/CS/sc/SC/scn/SCNnow handled by the page renderer, the prerequisite for every non-Device colour space to take effect on a loaded page - Unified colour resolution through
HPDFResolveColorwith the extendedTHPDFColorSpaceFamilyandTHPDFCIEParamsrecords, replacing the per-space ad-hoc logic
Version 2.332.0
Added
RenderSignatureFieldAppearancepaints a preset signature-field appearance template — border, light fill and up to four labelled text lines (“Digitally signed by <Name>”, “Reason: ”, “Location: ”, “Date: ”) — selected via aTHPDFSignatureDisplayOptionsset as a convenience wrapper aroundAttachSignatureFieldAppearanceEnumerateSystemCertificateswalks a Windows certificate store (typicalMY/ROOT/CA) via dynamically loadedCrypt32.dlland returns subject / issuer display names plus the raw DER for each certificate, the building block for a “pick a certificate / USB Key” signer UI
Security
- Signature hash algorithm is SHA-256 by default with PAdES Seed Value
DigestMethodsalready accepting SHA-256 / SHA-384 / SHA-512, so no SHA-1 signing path exists
Version 2.331.0
Added
RenderLoadedPageToDCdraws one page straight into a caller-supplied device context (printer canvas, off-screen surface, customTCanvas), removing the bitmap round-trip for print and high-DPI workflowsRenderLoadedPageToClipboardplaces a page on the clipboard either as a 24-bit bitmap or as an enhanced metafile (vector text), so paste-into-Word / paste-into-image-editor just worksPrintLoadedDocumentwith aTHPDFPrintOptionsrecord drives the VCLTPrinterthrough a page range, DPI, copies, collation, FitPage scaling and per-page render — the document library now ships its own print path instead of leaving every caller to wire one up
Version 2.330.0
Added
GetLoadedPageLabelreads back the/PageLabels /Numsrange that covers a given page index, returning the style code, prefix and start number — the read counterpart toSetLoadedPageLabel, so labels a caller did not create itself can now be inspected and round-trippedStitchLoadedPageSideBySideExperforms the side-by-side 2-up stitch with a configurable horizontal gutter and source-page scale factor, where the legacyStitchLoadedPageSideBySidewas fixed to half width with no gap
Version 2.329.0
Added
AddLoadedRubberStampAnnotationwith aTHPDFRubberStampIconenum covering all 14 standard stamp names (Approved, AsIs, Confidential, Departmental, Draft, Experimental, Expired, Final, ForComment, ForPublicRelease, NotApproved, NotForPublicRelease, Sold, TopSecret) so viewers render the familiar bitmaps without a custom appearance streamSetLoadedAnnotationCloudyBorderturns a Square / Circle / Polygon annotation into a cloudy (cloud-burst) border by writing/BE /S /C /Iplus the/ICinterior colour arraySetLoadedLineAnnotationCapssets the/LEline-end (arrowhead) styles for Line / Polyline annotations from the newTHPDFLineEndStyleenum (None / OpenArrow / ClosedArrow / Butt / ROpenArrow / RClosedArrow / Slash / Diamond)
Version 2.328.0
Added
EnsureLoadedFieldAppearanceStreamgenerates a/AP /NForm XObject for an existing AcroForm field from its/DA+/V+/Rect, so viewers that ignore/NeedAppearancesstill render the field value without a round-trip through AcrobatApplyLoadedFieldValidationattaches a Format / Keystroke / Validate script trio to a field using the AcrobatAF*helpers, covering Number, Percentage, Date, Time, Currency, ZipCode, SSN, Phone and ArbitraryMask input kinds — the caller no longer has to hand-writeAFNumber_Format/AFDate_FormatEx/AFRange_ValidateJavaScriptApplyLoadedFieldCalculationattaches anAFSimple_Calculatescript so a field aggregates the values of a named source field set via Sum / Average / Product / Minimum / Maximum
Version 2.327.0
Added
- Visual search-and-replace
SearchAndRedactReplaceLoaded: for every hit of the needle it masks the match rectangle with a chosen colour (or skips the mask withHPDF_NO_MASK) and stamps the replacement text on top, complementing the byte-levelReplaceLoadedPageTextwhen the original font lacks a reverse char-code table or the replacement needs a different font - Region text extraction
GetLoadedPageTextInRegionconcatenates every glyph whose origin falls inside a user-space rectangle, with newlines between baselines — the building block for “copy text from this box” UI flows - Cursor-style
SearchLoadedFirstreturns the first match as a singleTHPDFTextMatch, so callers can walk hits without managing a whole match array
Version 2.326.0
Added
- Document-wide
MeasurementUnitproperty (muPoints/muPixels/muInches/muMM/muCentimeters/muTwips) so every high-level authoring coordinate is converted to PDF points throughToPDFUnit/FromPDFUnit - Placeholder substitution in watermark text:
<%PageNo%>,<%TotPage%>,<%FileName%>,<%ShortDate%>,<%LongDate%>,<%ShortTime%>,<%LongTime%>are resolved per page when stamping, so “Page X of Y” and dated stamps are one call AddTextWatermarkExpage method that combines placeholder substitution, unit-aware coordinates and a unifiedTHPDFWatermarkBaserecord (angle, opacity, position presets)- Shape-watermark page helpers
AddRectangleWatermark,AddEllipseWatermark,AddLineWatermarkandAddPolygonWatermark, each wrapping the path primitives in aq/Qgraphics-state pair with registered fill/stroke alpha - Unified
THPDFWatermarkTemplaterecord withMakeText/MakeRectangle/MakeEllipse/MakeLine/MakePolygonfactories plus aTHPDFWatermarkTemplateArraycomposite type - Loaded-document watermarking:
StampLoadedPageTextandStampLoadedPagesTextappend a transparent, rotated text run to existing pages, honouring theMeasurementUnitand the same placeholder set;StampLoadedPagesCompositeapplies a whole template array (text + shapes) to a page range - Z-order control on loaded-document stamps:
Underlay = Trueprepends the watermark stream before the existing/Contentsvia the array form, so the watermark renders behind the page content EnumLoadedPageElementsreturns text runs (glyphs aggregated by baseline + font) and image XObject placements asTHPDFPageElementrecords with bounding boxesSaveLoadedPagesAsImagesmulti-format export: BMP / JPEG / PNG raster plus EMF / WMF vector, one file per page, with configurable DPI, file-name prefix and JPEG qualityGetLoadedPageMetafilevector render of one page to aTMetafilevia the newTHPDFPageRenderer.ExecuteToDCpath, keeping text and vector paths scalable for print, clipboard and merge workflows
Version 2.325.3
Fixed
- Aggregating batch preflight reports no longer overflows the total-bytes count when a single input file is over 2 GB
Version 2.325.2
Fixed
- Saving a document over 2 GB with object streams enabled (
UseObjectStreams) no longer writes a corrupted cross-reference stream; the object offsets and cross-reference stream position, previously narrowed to a 32-bit integer, are now carried as 64-bit values through the whole write
Version 2.325.1
Fixed
- Four recovery-only scans used when a damaged PDF cannot be parsed normally — object-stream decompression, object-stream discovery, and two reference-repair passes — no longer read a file over 2 GB into a truncated buffer; each now skips that fallback on such a file instead of scanning corrupted data
Version 2.325.0
Added
- EMF/WMF import now renders
EMR_GRADIENTFILLrectangle gradients (GRADIENT_FILL_RECT_H/GRADIENT_FILL_RECT_V) as PDF Type 2 axial shading patterns, mapping eachTRIVERTEXcolour pair to anRegisterAxialGradientcall and filling the rectangle with the resulting pattern; previously this record was a documented no-op, now Word/Excel/PowerPoint gradient rectangles in EMFs render with the correct left-to-right or top-to-bottom colour blend
Version 2.324.0
Added
- EMF/WMF import now parses
EMR_GDICOMMENTcomments, distinguishing Adobe PDF passthrough markers (0x416F4650= "AoFP", MS-EMF §2.3.3) from other comment types. When the Adobe marker is present the comment payload is scanned for thepdfmarkkeyword and surfaced via debug logging so users can identify which EMF producers emit PostScript pdfmark fragments; other comment types remain no-ops. Both HotPDF and llPDFLib previously carried only an empty stub for this record
Version 2.323.0
Added
- EMF/WMF import now explicitly recognises
EMR_GRADIENTFILLas a documented no-op (PDF Type 2/3 shading patterns could express gradient fills but viewer rendering is inconsistent and GDI's per-pixel Gouraud interpolation does not map cleanly); previously this record was silently dropped without a case-table entry
Version 2.322.0
Changed
- PFX-based signing now routes inputs of 64 MB or larger through a streaming chunked signer (
HPDFCMSSignPDFStreamChunked) that scans for the/ByteRange+/Contentsplaceholders in 256 KB rolling reads, digests the two byte-range windows viaHPDFCMSSHA256StreamRanges, then copies the input stream to the output stream while patching the placeholder bytes in flight, so peak memory stays bounded by the 256 KB buffer instead of the entire file size; smaller inputs keep the fast in-memoryPos()+Move()path unchanged
Version 2.321.0
Added
- Optional-content group usage dictionaries:
SetOptionalContentGroupUsageattaches a/Usageentry to a registered OCG (PDF 1.7 §8.11.4.4 Table 100) so viewers auto-show/hide layers by context. CategoriesView/Print/Exportwrite<Category>State=ON/OFF;Zoomwrites a real-pairMin;Language/Creatorwrite string values - Outline subtree copy:
THPDFDocOutlineObject.CopySubtreedeep-clones the entire child subtree of a node under a new parent, propagating Title / Color / Bold / Italic / Opened while minting fresh object numbers and new destinations - Outline topology helpers
IsDescendant(cycle-safe predicate used byMoveTo) andMoveTo(re-parent a node, detaching from its old sibling chain and re-attaching as the last child of the new parent, with full/Prev//Next//First//Last//Countmaintenance on every affected ancestor)
Version 2.320.0
Added
- Nested optional-content /Order tree:
BeginOptionalContentOrderGroup/AddLayerToOptionalContentOrder/EndOptionalContentOrderGroupbuild a labelled, arbitrarily nested presentation tree (PDF 1.7 §8.11.4.3/Order) so the layers panel can show hierarchical groupings like "Background [Lines Fills Images]" instead of the historical flat list. When none of the new helpers are called the previous flat /Order mirroring/OCGsis preserved byte-for-byte
Version 2.319.1
Fixed
- Loading a PDF whose embedded JBIG2 image uses the standard Huffman coding option (rather than the more common MQ arithmetic coding) no longer fails outright: the loader now retries with the alternate decoding engine before giving up, so such images load successfully regardless of which decoding engine is preferred
Version 2.319.0
Changed
- EMF/WMF import now applies a centralised InPath gate at the
ExecuteRecordentry: while a path bracket is open (BeginPathseen,EndPath/AbortPathnot yet reached) only path-construction records (line/curve/polygon/move/close/end/abort plus the coordinate-system and DC-state records) reach their handlers; text and bitmap records that previously leaked into the open path are now dropped centrally, mirroring llPDFLib's entry-point guard and eliminating a class of malformed-PDF bugs from stray records inside a path bracket
Version 2.318.0
Added
- Optional-content radio-button groups: new
RegisterOptionalContentRadioGroupdeclares mutually exclusive layer sets whose members turn each other off (PDF 1.7 §8.11.4.3/RBGroups); typical use is single-choice layer panels like "Draft / Review / Final"
Version 2.317.0
Added
THPDFDocOutlineObject.InsertBefore/InsertAftersplice a new sibling into the existing outline doubly-linked list at an arbitrary position, complementing the existingAddChild(append) andAddChildFirst(prepend) helpers so outline trees can be built in any order without detaching and re-attaching nodes- EMF/WMF import now explicitly recognises the ICM/palette family (
EMR_SETBRUSHORGEX,EMR_SELECTPALETTE,EMR_SETCOLORADJUSTMENT,EMR_SETICMMODE,EMR_CREATECOLORSPACE,EMR_SETCOLORSPACE,EMR_DELETECOLORSPACE,EMR_GDICOMMENT) and the no-PDF-mapping family (EMR_FRAMERGN,EMR_INVERTRGN,EMR_PAINTRGN,EMR_FLATTENPATH,EMR_WIDENPATH,EMR_SETMETARGN,EMR_OFFSETCLIPRGN,EMR_PLGBLT,EMR_POLYTEXTOUTA,EMR_POLYTEXTOUTW), forwarding to the GDI reference DC where applicable without emitting to the PDF content stream; previously these records were silently dropped, now they are documented and kept consistent with the GDI side
Version 2.316.0
Added
- New
JBIG2Benchmarkdemo generates four PDFs from the same three-page synthetic scan, one perTHPDFJBIG2Optionsconfiguration (per-image lossless, per-imageLossyLevel=5, cross-page accumulated globals, rectangle symbol extraction), printing each output size so the trade-offs between the v2.310.0 scan-friendly defaults, the v2.314.0 cross-page accumulator, and the extraction modes can be compared directly
Version 2.315.0
Changed
- The cross-page accumulated JBIG2 dictionary now auto-batches: once the running glyph-width total crosses 131071 pixels the current dictionary is frozen, emitted as one
/JBIG2Globalsstream, and the accumulator is reset, so the next batch starts a fresh globals stream. Mirrors llPDFLib'sTotalWidth-based spilling and keeps individual globals streams at a size readers handle efficiently on very large scan runs
Version 2.314.0
Added
- Cross-page accumulated JBIG2 symbol dictionary: opt in with
THPDFJBIG2Options.AccumulateGlobalsAcrossPages := True(alongside the existingUseSymbolDictionary+UseGlobalSegments+ native fallback switches) and consecutive 1-biticJBIG2images share one growing in-memory symbol dictionary and one/JBIG2Globalsindirect stream, instead of each image emitting its own dictionary. NewTHPDFJBIG2SymbolDictionaryholds the persistent glyph set with the same lossy / lossless matching the per-image encoder uses; newsmoke_jbig2_accum_decodeverifies two pages of different glyph layouts share a single globals object reference and decode back to the source pixels bit-for-bit
Version 2.313.0
Added
- JBIG2 global-segment streams produced by the native symbol-dictionary encoder are now content-addressed at the document level via
THPDFJBIG2GlobalsPool, so images that yield byte-identical globals share one/JBIG2Globalsindirect stream instead of each emitting their own; newsmoke_jbig2_globals_multismoke covers three pages of identical glyphs collapsing onto a single shared globals stream
Version 2.312.0
Added
- EMF/WMF import now covers
EMR_SCALEVIEWPORTEXTEX,EMR_SCALEWINDOWEXTEX,EMR_EXCLUDECLIPRECT,EMR_CREATEDIBPATTERNBRUSHPT,EMR_SETMITERLIMIT,EMR_SETTEXTJUSTIFICATION, andEMR_SETROP2, closing the seven-record gap with llPDFLib so EMF streams emitted by older GDI toolchains no longer silently drop those records;SETMITERLIMITandSETROP2take effect immediately, while the others store state for a later render-side hookup without perturbing current coordinate or clip output
Version 2.311.0
Added
HPDFCMSSHA256StreamRangesnow digests the two PDF/ByteRangewindows straight from aTStreamin 256 KB chunks, so multi-GB signed PDFs can be hashed without first copying the whole file into anAnsiString; closes the gap with llPDFLib's stream-basedCalcHash, which the existing in-memoryHPDFCMSSHA256ByteRangescould not match for very large inputs
Version 2.310.0
Changed
THPDFJBIG2Optionsnow defaults to scan-friendly settings (LossyLevel = 5,RemoveIsolatedBlackPixels = True,BlackDotSize = 3) so 1-bit scanned images compress much smaller out of the box; setLossyLevel = 0orLossless = Trueto restore strict lossless matching
Performance
- xref table growth is now geometric (small documents +N, larger documents +25%) instead of reallocating the dynamic array on every indirect object, removing the O(n²) cost that dominated loading and building large PDFs with many objects
Version 2.309.4
Added
- Added
THPDFDocOutlineObject.AddChildFirstso generated outline nodes can prepend a child item before existing siblings while preserving the saved outline order
Version 2.309.3
Added
- Added
pmUseOCtoTHPDFPageModeso generated documents can request the optional-content layers panel with catalog/PageMode /UseOC
Version 2.309.2
Added
- Added title-string overloads for
THPDFPage.AddTextAnnotationso generated text annotations can write the PDF/Ttitle or author entry while preserving the existing icon, color, and open-state arguments
Version 2.309.1
Fixed
- Clearing
THotPDF.OutputStreamby assigningnilnow restores normalFileNameoutput instead of leaving the document in stream-output mode
Version 2.309.0
Fixed
- EMF/WMF import now honors
EMR_EXTSELECTCLIPRGNregion modes for copy, intersect, and exclude clipping while keepingEMR_SETWORLDTRANSFORM,EMR_MODIFYWORLDTRANSFORM, andEMR_SETPIXELVcovered by non-GUI regression tests
Version 2.308.0
Added
- FastReport add-on design-time registration now ships as
frxHotPDFDesign, placingTfrxHotPDFExporton the FastReport VCL palette while keeping the existing runtime unit andRegisterentry point available for compatibility
Version 2.307.0
Added
SignPDFWithPFXnow parses legacy PKCS#12 PBE-SHA1-3DES encrypted PFX files in addition to PBES2 AES-256-CBC profiles
Version 2.306.0
Changed
- Repeated calls that add the same encoded image now reuse the existing PDF image XObject while preserving distinct output for different JPEG quality settings and mask relationships
Version 2.305.0
Added
TfrxHotPDFExport.PageRangenow lets FastReport exports opt in to one-based page filtering such as1,3-5while reusing HotPDF's shared page-range parser
Version 2.304.0
Fixed
- XFA-to-AcroForm table flattening now lets all-growable single auto columns inherit the table content width, so fields without their own
wstill receive a measurable width and preserve row spacing
Version 2.303.0
Fixed
- XFA-to-AcroForm table flattening now lets growable text cells inherit fixed
columnWidthsvalues when they omit their ownw, so row heights are measured and following rows stay separated
Version 2.302.0
Fixed
- XFA-to-AcroForm flattening now measures growable text fields inside nested
layout="tb"and wrappedlayout="lr-tb"flows, and table rows now keep growable text-cell height when positioning following fields
Version 2.301.0
Fixed
- XFA-to-AcroForm flattening now keeps text fields in
layout="tb"andlayout="lr-tb"flow containers when they omit an explicithheight, measuring their wrapped content height instead of skipping them as unsupported growable layout
Version 2.300.0
Fixed
THotPDF.ExtractObjectFromStreamnow returns the parsed dictionary for materialized object-stream members and no longer fabricates raw-data diagnostic keys when callers inspect loaded PDF 1.5+ object streams
Version 2.299.0
Added
THotPDF.DecompressAllObjectStreamsis now public and forces loaded PDFs that used object streams to save with compact objects materialized as normal indirect objects instead of copying the source object-stream layout
Version 2.298.0
Fixed
- AcroForm field creation now rejects duplicate root field names for both new documents and loaded-document editing while preserving the valid shared-parent workflow for radio button groups
Version 2.297.0
Added
TDBGridHotPDFExportOptionsand theTDBGridHotPDFExportcomponent now exposePDFAComplianceandPDFXComplianceso DBGrid table exports can opt in to the same HotPDF standards-conformance gates used by direct document generation
Version 2.296.0
Added
TQRHotPDFExportFilterandTdxHotPDFExportOptionsnow exposePDFAComplianceandPDFXComplianceso QuickReport and DevExpress exports can opt in to the same HotPDF standards-conformance gates used by direct document generation
Version 2.295.0
Added
TfrxHotPDFExportandTppHotPDFDevicenow exposePDFAComplianceandPDFXComplianceso report exports can opt in to the same HotPDF standards-conformance gates used by direct document generation
Version 2.294.0
Added
- Form XObject and tiling pattern canvas builders now let callers compose reusable resources through typed drawing helpers before registering them for page reuse
THPDFExtGStateOptionsnow lets one ExtGState combine transparency, blend mode, line width, line cap, line join, and miter limit settings
Version 2.293.0
Added
- Native JBIG2 encoding now supports symbol-dictionary compression with optional shared global dictionaries, rectangle and image-only extraction modes, lossy pixel-difference guards, and PDF/A fallback to CCITT where JBIG2 is not permitted
- EMF/WMF rendering now handles
TransparentBltandMaskBltbitmap records through PDF image mask and transparency paths - FastReport and ReportBuilder native export modes now cover more object-level output, including styled memo/rich text, barcode, picture, vector shape, line, clipping, frame, dash, and URL annotation paths
- The HugeFileBenchmark demos now report working-set and peak-working-set metrics, support an opt-in memory limit, and keep generated work files separate from report output
- The Delphi
PDFOptimizedemo now documents producer-side compression choices for content streams, object streams, JPEG quality, CCITT, and JBIG2 output
Fixed
- Demo coverage checks now include English-baseline demo READMEs, map consolidated C++Builder samples to their actual files, and keep GUI demos disabled by default in routine test runs
Version 2.292.32
Added
- EMF/WMF hatch brushes now map to PDF tiling patterns so imported CAD drawings and reports can preserve hatch texture instead of flattening those fills to solid color
Fixed
- Loaded-document dictionary edits now mark objects dirty so
SaveLoadedDocumentrewrites changed PDFs instead of copying the original source after outline and object-tree edits - Loaded outline removal now relinks sibling bookmarks, and non-rotated underline and strikeout text decorations now emit filled rectangle operators
Version 2.292.31
Added
THPDFEmfOptions.ShowNullBrushnow lets EMF/WMF rendering expose null-brush fills for diagnostic and CAD-style import workflows while preserving unfilled null brushes by default
Version 2.292.30
Added
THPDFEmfOptions.CanvasOvernow lets page Canvas replay place existing PDF content above the parsed Canvas metafile while the default keeps the current Canvas-on-top order
Version 2.292.29
Added
THPDFEmfOptions.Redrawnow lets EMF/WMF callers keep the default temporary redraw path or opt out and parse the original metafile directly
Version 2.292.28
Added
THPDFEmfOptions.UseFramenow lets EMF/WMF rendering clip imported output to the EMF header frame for metafiles that rely on declared frame bounds
Version 2.292.27
Added
THPDFEmfOptions.ShowNullPennow lets EMF/WMF rendering expose null-pen outlines for diagnostic and CAD-style import workflows while preserving invisible null pens by default
Version 2.292.26
Added
THotPDF.SetFormFieldTooltipnow lets applications assign AcroForm/TUfield hints by field name for widgets created through the existingAdd...field methods
Version 2.292.25
Fixed
TfrxHotPDFExportnative-object mode now preservesTfrxPictureViewclipping and frame rendering when picture views are written directly as HotPDF image XObjects
Version 2.292.24
Added
TfrxHotPDFExportnative-object mode now maps supported horizontal one-dimensional FastReport barcode views directly to HotPDF barcode operators, while keeping human-readable text, checksum generation, supplemental text, rotation, colored bars, and unsupported symbologies on the existing fallback path
Version 2.292.23
Added
TppHotPDFDevicenative draw-command mode now maps supported one-dimensional ReportBuilder barcode draw commands directly to HotPDF barcode operators, while preserving the enhanced-metafile fallback for commands that need human-readable text, add-on codes, check-digit calculation, colored bars, rotation, or unsupported postal symbologies
Version 2.292.22
Fixed
- Automatic PDF viewer launch can now be suppressed in non-interactive runs with
HOTPDF_SUPPRESS_AUTO_LAUNCH=1, and the bundled test and smoke runners enable that guard by default so non-GUI regression runs do not open viewer windows
Version 2.292.21
Added
THPDFPage.ShowMetafileExnow has a per-callTHPDFEmfOptionsoverload, letting callers override EMF/WMF rendering settings for one metafile draw while preserving document-level defaults