Opombe ob izdaji za PDFium Delphi Component
Zgodovina različic za uporabniško vidne funkcije, popravke, izboljšave pregledovalnika, ustvarjanje dokumentov, izvoz PDF/A, izrisovanje in posodobitve dokumentacije
Zadnja izdaja
- Najnovejša različica: 3.117.0; Datum izdaje:
Version 3.117.0
Dodano (Added)
- Zaznavanje tabel bere robove in senčenje, narisane kot zapolnjene pravokotnike: zapolnjena škatla, nič debelejša od nove
MaxRulingThickness, postane črta, večja zapolnjena škatla pa prispeva svoje robove, tako da tabele, izvožene iz Worda, Google Docs in brskalnikov, zdaj najde kot tabele omejene s črtami s spojenimi vrsticami naslova namesto kot delčke presledkov.DetectFilledRulingsto vedenje izklopi - Koordinate črt se pred sestavljanjem mrež zaskočno poravnajo znotraj
RulingSnapTolerance, kar kose robov po celicah, dvojne robove in senčene celice, ločene z ozkim razmakom, združi v eno tabelo - Črte znotraj form XObjects sodelujejo pri zaznavanju prek kombiniranih matrik objektov, nadzira pa to
IncludeFormXObjects ExtractDocumentTablesv verigo poveže odlomke nadaljevanj, ki se končajo tam, kjer se konča vsebina strani, in se nadaljevajo tam, kjer se začne vsebina naslednje strani, ne samo odlomke, ki se dotikajo robov strani, eno vrstico, ki je preplavila čez, pa obdrži kot del svoje verige- TableExtractionLab razkriva
DetectFilledRulingsv panoju z možnostmi v različicah Delphi, Lazarus in C++Builder
Spremenjeno (Changed)
- Zaznavanje po presledkih prezre besede, ki že pripadajo tabeli omejeni s črtami, in zahteva, da je vsaka meja stolpca prehod brez besedila čez vrstice, ki jih ločuje, tako da poravnanih odstavkov in seznamov z oznakami ne poroča več kot tabele
- Kandidat za nadaljevanje, čigar prva vrstica je ena sama celica čez celo širino, se obravnava kot nova tabela z naslovom in ne kot nadaljevanje prejšnje
MinRowspri tabelah omejenih s črtami sprejme 1; zaznavanje po presledkih obdrži svoje najmanj dve vrstici, privzeto omejitev proračunaMaxRulingSegmentspa dvigne na 16384, ker prihaja precej več škatel robov po celicah kot narisanih črt mreže- Besedilo celic se sestavlja vrstico za vrstico iz prekrivajočih se škatel besed, tako da besede, katerih škatle glifov so različno visoke, obdržijo vrstni red od leve proti desni
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestilnika poročajo 3.117.0
Version 3.116.4
Dodano (Added)
- TableExtractionLab dobi paketno obdelavo map:
Batch folderpoženeExtractDocumentTablesnad vsakim PDF-jem v izbrani mapi, izpiše število tabel po dokumentih, dokumente brez besedilne plasti označi za OCR in poskrbi, da pokvarjene ali zaklenjene datoteke ne ustavijo celotnega zagona Export all CSVzapiše vsako zaznano tabelo kot<document>-<n>-page<p>-t<i>.csv— pri paketnem zagonu v podmapotables, pri posamezni datoteki pa poleg naloženega dokumenta- Izbirnik prednastavitev zaznavanja ponudi uglašene
TPdfTableExtractionOptions: Default, Compact columns (MinColumnGap4 inAlignmentTolerance5 za gosto stisnjene izvoze iz urejevalnikov besedil) ter Compact + wide rows (MaxRowGapFactor6 za razmik vrstic 1.5-2x) - Dokumentom, ki pri prednastavitvi Default ne dajo nobene tabele, se pri izvleki posameznega dokumenta in pri paketnem zagonu še enkrat poskusi s Compact columns, vrstice paketnega zagona pa sporočijo, katera prednastavitev je dala rezultat
Popravljeno (Fixed)
- Paketna izvleka vsak dokument odpre v svoji instanci
TPdfnamesto da znova nalaga eno deljeno komponento — s tem izginejo tihe odpovedi nalaganja, ki so se kazale kot napake neaktivne komponente na pol poti skozi mapo
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestilnika poročajo 3.116.4
Version 3.116.3
Spremenjeno (Changed)
- Vzorec TableExtractionLab v vseh treh orodjarskih naborih svoj generirani vzorčni dokument zdaj zapiše v
TableExtractionSample.pdfpoleg izvedljive datoteke demo programa, namesto da bi ga obdržal samo v pomnilniku; kadar mapa ni zapisljiva, se laboratorij vrne na prejšnje delo v pomnilniku in to sporoči v vrstici stanja TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika poročajo 3.116.3
Version 3.116.2
Popravljeno (Fixed)
- Knjižnica se na starejših izdajah Delphi ni dala več prevesti. Pomočnik za 64-bitni tik ter kodeka seznama zaupanja in produkcijskega XML sta klicala
GetTickCount64inCP_UTF8iz enot RTL, ki ju vnašajo šele novejši prevajalniki, zapisovalnik reflow HTML pa je vdelal literale niza CSS čez mejo 255 elementov, ki jo ti prevajalniki postavljajo posameznemu literalu, združevanje naborov podatkov XFA pa je prirejalo medTBytesin navadnim dinamičnim poljem, česar prevajalniki pred XE7 ne sprejmejo. Starejši prevajalniki zdajGetTickCount64vežejo iz kernel32 inCP_UTF8deklarirajo lokalno, kadar ga RTL nima, slogovna predloga gre ven kot zlepljeni kratki literali, paketni tovor pa se kopira element po element
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika poročajo 3.116.2
Version 3.116.1
Dodano (Added)
Demo\Delphi\TableExtractionLab,Demo\CBuilder\TableExtractionLabinDemo\Lazarus\TableExtractionLabzdružijo zaznavanje tabel v enoten potek dela. Laboratorij zgradi vzorčni dokument s črtami omejeno tabelo s spojenimi celicami glave, s tabelo, poravnano na presledke, brez črt, in z dolgo tabelo, ki se prebije čez mejo strani, nato poženeExtractTablesaliExtractDocumentTablester izpiše vrstice, stolpce, spoje, zastavice glave, način zaznavanja, zaupanje in skupine nadaljevanj- Laboratorij izbrano tabelo izvozi prek
TPdfTable.ToCsvinTPdfTable.ToJson, iz panoja z možnostmi nastavljaDetectRuledTables,DetectWhitespaceTables,DetectContinuationsinMinConfidence, celotno poročilo pa kopira v odložišče TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestilnika poročajo 3.116.1
Version 3.114.21
Popravljeno (Fixed)
- Preverjanje PDF/A je na vsakem dokumentu, ki je vseboval pripombo, javilo sklic na zunanjo datoteko. ISO 19005-1 §6.1.7 v slovarju objekta toka prepoveduje
/F,/FFilterin/FDecodeParms, a je preverjanje iskalo ta imena po vsej datoteki —/Fpa je hkrati ključ zastavic pripombe, ki ga §6.5.3 zahteva na vsaki pripombi. Preverjanje zdaj pogleda samo znotraj slovarjev objektov tokov
Version 3.114.20
Popravljeno (Fixed)
- Podpisi RSASSA-PSS so na vseh treh podpisnih zaledjih nosili deformirane parametre algoritma. RFC 4055 označi vsa štiri polja strukture RSASSA-PSS-params; dolžina soli je bila zapisana kot goli integer, ki ga razčlenjevalnik prebere kot začetek drugega polja, zaključno polje pa je bilo zapisano, čeprav je njegova vrednost enaka privzeti, ki jo DER zahteva izpustiti. Preverjevalnik ali ni zmogel razčleniti parametrov ali pa je skočil na privzeto sol dolžine 20 bajtov, medtem ko je podpis uporabil 32, zato so bili podpisi PSS zavrnjeni. Podpisa PKCS#1 v1.5 in ECDSA nista bila prizadeta
Version 3.114.19
Popravljeno (Fixed)
- Zahteva po časovnem žigu s poljubnim drugim povzetkom namesto SHA-256 je sestavila zahtevo, ki je prijavila ta algoritem, nosila pa je povzetek SHA-256 — avtoriteta časovnih žigov jo bodisi zavrne bodisi, še huje, žiguje tako, kot je prišla. Računa se samo SHA-256, zato se vsak drug identifikator od zdaj na mestu odkloni; prazen identifikator še naprej izbere privzeti SHA-256. Vzorec PDF Viewer za Lazarus in C++Builder je vezal še upravljalec za razpiranje zaznamkov, ki ga njegova datoteka obrazca sicer imenuje, koda pa ga ne definira — to pri nalaganju obrazca odpove; upravljalec je preseljen iz vzorca Delphi
Version 3.114.18
Popravljeno (Fixed)
- Vzorca XFA Lab in XFDF Lab za Delphi ter vzorec XFA Lab za Lazarus so ob zagonu odpovedali. Vsak si kontrole zgradi v upravljalcu create svojega obrazca, vira obrazca pa ni bilo niti prisotnega niti povezanega, zato je ustvarjanje glavnega obrazca sprožilo napako manjkajočega vira in upravljalec sploh ni zadel. Vsi trije zdaj nosijo datoteko obrazca in direktivo, ki jo vgradi v izvedbo
Version 3.114.17
Popravljeno (Fixed)
- Dva izvorna vira sta bila obravnavana napačno, ko je operacija odpovedala na pol poti. Spodleteli izris sličice je sprostil ciljni bitmap, preden je zaprl izvorni izris, in ko je izris risal naravnost v piksle tega bitmapa, je razgradnja nato brala pomnilnik, ki je bil že sproščen. Spodletela dodelitev bitmapa v
AddBitmapje pravkar ustvarjeni slikovni objekt pustila brez lastnika in brez poti, da bi ga sploh še dosegli
Version 3.114.16
Popravljeno (Fixed)
- Branje besedila FDF je nad
0x7Edajalo napačne znake. Tabela PDFDocEncoding v Prilogi D.2 standarda ISO 32000-1 se pri0x80začne z znakom bullet, preslikava pa jo je začela šele pri0x7F, zato se je celoten blok do0x9Fzamaknil za eno mesto: dagger se je prebral kot bullet, em dash kot tropičje in tako naprej vse do zcarona, ki je sploh padel s konca. Manjkal je tudi evro pri0xA0, ki se je vrnil kot nedeljivi presledek. Imena in vrednosti polj v uvoženem FDF se zdaj dekodirajo pravilno
Version 3.114.15
Popravljeno (Fixed)
- Preverjanje zaupanja na dokumentu, katerega trailerja ali kataloga ni mogoče prebrati, je pisalo čez konec polja. Prehod skladnosti v tem primeru obupa in ne zabeleži nobenega podpisa, zbiralec, ki steče za njim, pa dela naravnost nad bajtnim tokom in še najde slovarje podpisov, zato je bilo v polje, ki ni nosilo ničesar, zapisan en vnos za vsak najdeni slovar. Število je zdaj omejeno na tisto, kar je dal prehod skladnosti
Version 3.114.14
Popravljeno (Fixed)
- Izvajanje načrta popravila PDF/A je izvedlo korake, ki jih je načrtovalnik blokiral. Korak je blokiran, ko dokument nosi podpise, bi jih korak razveljavil in klicatelj tega ni dovolil; izvajalnik je preskušal samo varnostno raven koraka, ki tega pogoja ne izraža, zato bi podpisan dokument lahko izgubil podpise ob samodejnem popravilu, ki ga je načrt že zavrnil. Blokirani koraki so zdaj izpuščeni in štejejo se kot izpuščeni
Version 3.114.13
Popravljeno (Fixed)
- Dodajanje podpisnega časovnega žiga vrednosti CMS, katere množica certifikatov je večja od 127 bajtov — kar zadeva vsak pravi certifikat — je pokvarilo rezultat. Pomočnik, ki poišče začetek ugnezdene strukture, je hodil nazaj po oktetih dolžine in za prvega vzel zadnjega, zato se je izrez, ki ga je odrezal, začel daleč pred iskano strukturo. Dolžino glave se zdaj izpelje iz dolžine vsebine, kar DER pove nedvoumno. Samopreverjanja tega niso ujela, ker so bili njihovi preizkusni certifikati dovolj majhni za kratko obliko
Version 3.114.12
Popravljeno (Fixed)
- Podpisani atributi so bili izpuščeni v vrstnem redu, v katerem so bili zgrajeni, namesto da bi bili razvrščeni po svojih kodiranjih, kot to zahteva X.690 §11.6 za DER SET OF. Preverjevalnik, ki množico atributov pred izračunom povzetka znova zakodira — tako dela OpenSSL in tudi BouncyCastle — je zato dobil drugačen povzetek in zvočen podpis PAdES javil kot neveljaven. Podpisi, ki jih ustvari ta knjižnica, se v teh skladih zdaj overijo; preverjanje prek plasti Windows ni bilo prizadeto, ker dela povzetek nad bajti, kot so prišli
Version 3.114.11
Popravljeno (Fixed)
- Negativen DER INTEGER, širši od dveh vsebinskih bajtov, je bil kodiran z napačno vrednostjo. Zapisovalnik posnema aritmetični premik tako, da po logičnem premiku znova vstavi predznak, maska, ki jo je uporabil, pa je nastavila vse bite nad nizkim bajtom, namesto samo bajt, ki ga je premik izpraznil, zato je bila magnituda, ki je še stala v preostalih bajtih, prepisana. Vrednost -100000 se je na primer kodirala kot -34464. Nonce zahtev po časovnem žigu in vsi drugi podpisani integerji te velikosti se zdaj kodirajo pravilno
Version 3.114.10
Popravljeno (Fixed)
- Preverjanje PDF/A dela konstantne alfe pravila o prosojnosti iz ISO 19005-1 §6.4 ni nikoli javilo. Pomočnik iskalni ključ zgradi s predpono poševnice, klicatelj pa je podal svojo, zato je iskal
//CAin ni zadel ničesar. Obe alfini preverjanji sta sprejeli samo točni besedili1in1.0, zato je popolnoma neprosojno/CA 1.00prišlo kot kršitev; vrednost ena je zdaj prepoznana, v kakršni koli zapisu
Version 3.114.9
Popravljeno (Fixed)
- Dejanje URI na ravni strani je vračalo zmazano besedilo. Pot pride iz izvorne plasti kot bajti UTF-8 in je bila zapisana naravnost v širok niz, ki bajte združuje v 16-bitne kodne enote, preostanek medpomnilnika pa pusti, kar je tam že ležalo.
GetPageActionURIzdaj dekodira bajte na enak način, kot jih že dekodira pot dejanja na ravni dokumenta
Version 3.114.8
Varnost (Security)
- Na ciljih, ki niso Windows, so naključni bajti za vsakim šifrirnim ključem, vsako soljo in vsakim začetnim vektorjem prihajali iz izvajalnega PRNG, katerega seme je konstanta, če program ne pokliče
Randomize. Vsak proces je zato ustvarjal isti ključ za šifriranje datotek, isti soli/UEin/OE, iste bajte/Permsin iste nonce AES-GCM, zaradi česar je šifrirani izhod iz gradnje Free Pascal na Linuxu ali macOS trivialno obnoviti in se pod fiksnim ključem ponavlja nonce GCM. Bajti zdaj prihajajo iz/dev/urandom, nedosegljiv zalogovnik jedra pa sproži izjemo, namesto da bi se sklonil na rezervo — tako kot se že ob nedosegljivemCryptGenRandomna Windows
Version 3.114.7
Popravljeno (Fixed)
- Deformiran objektni tok je lahko spravil vstopni točki stiskanja in popravila do branja čez konec dekodiranega medpomnilnika. Odmiki članov, ki jih tok deklarira, se zdaj, takoj ko je razčlenjena glava, preverijo po obsegu in naraščajočem vrstnem redu, deklarirano število članov, večje od tega, kolikor jih glava more, pa je zavrnjeno, preden se rezervira kakršen koli pomnilnik; bajtni obseg vsakega člana se potrdi, preden se odreže njegov zaključni beli prostor, ne šele po tem
Version 3.114.6
Popravljeno (Fixed)
- Izdvajanje vgrajenih slik v zunanje objekte je dalo neuporaben slikovni XObject. Slovar je bil zapisan s potujočo poševnico pred prvim ključem, kar je odprlo prazno ime in vsak ključ pomaknilo na vrednost prejšnjega ključa, tabela okrajšav za vgrajene slike pa je preslikala Decode v
Gnamesto vD, zato je bilo polje/Dspuščeno, okrajšava vrednosti DeviceGray pa vzeta za ključ. Slike, dvignjene iz vsebinskega toka, zdaj nosijo dobro oblikovan slovar in ohranijo svoje polje Decode
Version 3.114.5
Popravljeno (Fixed)
- Oblikovalec HarfBuzz je v odsekih besedila od desne proti levi dodelil dolžine grozdov napačnim glifom, glifom, ki si delijo grozd — na primer oznakam in sestavinam ligatur — pa je dal dolžino ena.
ClusterLengthvsakega glifa zdaj sega od začetka njegovega grozda do naslednjega grozda v logičnem vrstnem redu, v kateri koli smeri, zato se preslikava znakov v glife za arabsko in hebrejsko besedilo ujema s tem, kar poroča zaledje Uniscribe
Version 3.114.4
Popravljeno (Fixed)
- Transport časovnih žigov prek libcurl je svoje številske možnosti podajal in kodo stanja HTTP bral kot 32-bitne vrednosti, libcurl pa sprejme in vrne C
long, ki je na Linuxu in macOS 64-bitni. Poizvedba stanja je lahko prepisala štiri bajte poleg svojega cilja na skladu, vrednosti možnosti pa so bile odvisne od tega, kaj je ravno imela zgornja polovica registra. Oba zdaj uporabljata širino platformskegalong, zato jeFPdfTsaFpcna ciljih LP64 zdrav
Version 3.114.3
Popravljeno (Fixed)
- Zaledje PKCS#11 je surove bajte oznake predmeta na žetonu kopiralo naravnost v niz, kar se na Delphi konča kot bajti UTF-8 na kodnih enotah UTF-16. Certifikat, izbran prek
TPdfPkcs11Options.CertificateLabel, se zato ni nikoli mogel ujeti,EnumerateCertificatespa je poročal o zmazani vrednostiLabelText. Oznake se zdaj dekodirajo kot UTF-8, ki ga določa standard, PIN, podan funkcijiC_Login, pa je kodiran kot UTF-8, namesto da bi bil zožen skozi kodno stran gostitelja, zato PIN izven ASCII doseže žeton nedotaknjen
Version 3.114.2
Popravljeno (Fixed)
- Podpisovalnik Keychain na macOS je pri presoji, ali ključ sprejema RSASSA-PSS,
SecKeyIsAlgorithmSupportedvprašal po napačni operaciji: poizvedba je imenovala dešifriranje namesto podpisovanja, zato je bil odgovor vedno ne in se je vsak podpis RSA tiho umaknil na PKCS#1 v1.5. Ključ, ki podpira PSS, zdaj podpiše s PSS, kot zahtevaTPadesSignerOptions.PaddingScheme, argument operacije pa se podaja v širini, ki jo deklarira ogrodje
Version 3.114.1
Popravljeno (Fixed)
- Ugnezdeni pari oklepajev v besedilu od desne proti levi so se razrešili v napačno smer. Pravilo BD16 iz UAX #9 obdeluje pare v vrstnem redu njihovih odpiralnih oklepajev, par, razrešen z N0, pa postane predhodni močni kontekst za par, ki se odpre za njim; pari so namesto tega bili obdelani v vrstnem redu, v katerem so jih zaprla zaključna oklepaja, zato je lahko notranji par sledil črki, ki jo objema, namesto kontekstu, ki ga je postavil zunanji par. Besedilo, na primer arabski ali hebrejski stavek z vmesnim oklepajem v oklepaju, se zdaj razporedi, kot pričakuje bralec
Version 3.114.0
Dodano (Added)
FPdfCryptoSslpreverja podpise PDF in žetone časovnih žigov prek OpenSSL, kar zapre zadnjo platformsko vrzel pri overjanju podpisov: Linux ni imel nobenega zaledja za preverjanje CMS.ConfigureSslCmsVerifierga namesti, libcrypto se ob zagonu razreši po imenu, tako da se nič ne povezuje nanj, veže pa se tako serija 1.1 kot serija 3.x- Podpis in veriga certifikatov se ocenita v ločenih prehodih, zato je zvočen podpis pod verigo, ki ne doseže sidra zaupanja, javljen kot veljaven podpis z neveljavnim zaupanjem in ne kot pokvarjen podpis
ConfigureSslTrustAnchorsdoda sidra zaupanja DER v sistemsko shrambo,ConfigureSslCrlspa ponudi sezname CRL, ki si jih preverjanje odpovedi lahko ogleda. Preverjena se odpoved šteje samo, kadar je CRL dejansko prisoten, ker OpenSSL sam ne prinese nobenega; če ni na voljo noben, rezultat pravi unsupported, namesto da bi spustil nepreverjeno verigoSslAvailable,SslMissingSymbols,SslLibraryPath,SslLibraryVersioninSslAbiLayoutporočajo, kaj se je vezalo in kaj ne,ConfigureSslLibraryPathpa usmeri zaledje na določeno knjižnico, ko je privzete nastavitve platforme je ne najdejo
Version 3.113.0
Dodano (Added)
TPdfKeychainCmsVerifierpreverja podpise PDF in žetone časovnih žigov na macOS prekCMSDecoderin SecTrust, zato overjanje podpisov ni več samo za Windows.ConfigureKeychainCmsVerifierga namesti, ista enota pa zdaj pokriva obe polovici podpore za macOS, tako kot jih za Windows pokrivaFPdfCryptoWin- Preverjanje odpovedi je upoštevano: na zahtevo se k osnovnemu X.509 pridruži politika odpovedi, izklop spletnega pridobivanja pa omeji oceno na predpomnjene odgovore. Kontrolne točke napredka sprožijo za stopnje podpisa, verige, spletnega pridobivanja in odpovedi natanko tako, kot jih poroča zaledje Windows
KeychainVerificationAvailableporoča o podpori preverjanja ločeno od podpisovanja, ker potrebujeta različne simbole ogrodja in je lahko eno prisotno brez drugega
Version 3.112.0
Dodano (Added)
FPdfCryptoMacpodpisuje PAdES z identiteto Keychain na macOS, nasprotjem shrambe certifikatov na Windows: certifikat in njegov zasebni ključ prideta iz Keychaina, podpis pa ustvariSecKeyCreateSignature, zato ključ nikoli ne zapusti sistemske shrambe ključev.ConfigureKeychainSignerProviderga namesti, poleg aplikacije pa ni treba razporediti nobenega modula, kot bi ga potrebovalo zaledje žetonov PKCS#11- Podpisovalnik sledi certifikatu: ključ EC podpisuje ECDSA, ključ RSA podpisuje RSASSA-PSS, kjer PSS ni na voljo — starejši macOS ali ključ, ki ga ne sprejme — pa se padding vrne na PKCS#1 v1.5 in izdani AlgorithmIdentifier to tudi pove, namesto da bi se izdajal za PSS
KeychainMissingSymbolsizpiše vsak simbol ogrodja, ki se ni razrešil, zato namestitev, ki poroča, da zaledje ni na voljo, lahko loči manjkajoče ogrodje od imena, ki ga je ta vezava zapisala narobe
Version 3.111.0
Dodano (Added)
ConfigurePadesCmsVerifiernamesti zaledje za preverjanje CMS, ki ga uporablja validator PAdES, zato preverjanje podpisov in časovnih žigov ni več vezano na Windows.IPdfCmsVerifierdeklarira dve operaciji, ki ju zaledje odigra — detached za podpis PDF, attached za žeton časovnega žiga —PadesCmsVerificationAvailablepa poroča, ali je prisotno kakšno zaledje
Spremenjeno (Changed)
- Rekordi rezultata preverjanja in možnosti so se preselili v
FPdfCryptokotTPdfCmsVerify*. ImenaTWinCmsVerify*ostanejo kot aliasi, zato obstoječa koda deluje naprej, priklopljeno zaledje pa govori iste tipe kot tisto na Windows - Obnašanje na Windows se ne spremeni: brez nameščenega preverjevalnika še naprej uporablja CryptoAPI, kontrolne točke napredka, možnosti odpovedi in izvorne kode napak so isti. Kjer ne odgovori nobeno zaledje, vsaka sodba poroča unsupported, namesto da bi ostala nepreverjena
Version 3.110.0
Dodano (Added)
FPdfPkcs11podpisuje PAdES s ključem, ki ostane znotraj žetona PKCS#11.ConfigurePkcs11SignerProviderga namesti kot podpisni backend, modul se ob zagonu naloži po poti, tako da se nič ne linka, in ista koda pokriva Windows, Linux in macOS. Naštevanje žetonov, ki ga deklarira vmesnikIPdfPkcs11SignerProvider, je implementirano skupaj z njim: sloti, žetoni in certifikati, ki jih vsak od njih nosi- Podpisovanje zunaj Windows za običajen primer ne potrebuje več ponudnika, ki bi ga moral zagotoviti gostitelj: dovolj sta modul žetona in
TPdfPkcs11Options. RSA PKCS#1 v1.5, RSASSA-PSS in ECDSA se vsi izdelajo skozi žeton FPdfSha1doda SHA-1 za en sam namen: ujemanje certifikata po prstnem odtisu, ki ga nosiTPadesSignerOptions. Windows je to rešil znotraj shrambe certifikatov; žeton pa vrne bajte certifikata in ujemanje prepušča klicatelju. Ni to podpisni digest — sklad PAdES še naprej povsod podpisuje s SHA-256
Spremenjeno (Changed)
- Pomožniki za certifikate DER, ki preberejo OID algoritma javnega ključa, izvlečejo izdajatelja in serijsko številko ter previjejo surov podpis ECDSA, so se preselili iz Windows backenda v
FPdfCms, kamor seže vsak podpisni backend
Version 3.109.0
Spremenjeno (Changed)
- Nalagalnik izvorne knjižnice ni več samo za Windows.
LibraryNameprivzeto vrnepdfium.dll,libpdfium.soalilibpdfium.dylibglede na tarčo, build z V8 se išče pod ustreznim imenom, nalaganje in vezava simbolov pa potekata skozi prenosljivi nalagalnik na Free Pascalu. Obnašanje na Windows se ni spremenilo, vključno z namestitveno razporeditvijo Win32 in Win64 ter diagnostiko neujemanja arhitektur - Namestitveni imeniki na drugih tarčah sledijo zapisu
<cpu>-<os>, ki ga prevedene enote že uporabljajo, tako daDLLs/x86_64-linux/libpdfium.sostoji polegLib/FPC/x86_64-linux. Fallback na sistemski imenik ostane samo za Windows; drugje poskrbi iskalna pot nalagalnika
Version 3.108.0
Dodano (Added)
TPdfHarfBuzzTextShaperoblikuje dvosmerno besedilo in besedilo v kompleksnih skriptah na tarčah Free Pascal, ki nimajo Uniscribe. Ravni vgnezdenja razreši sFPdfBidi, besedilo razdeli na dele po skriptah, vsak del oblikuje z libharfbuzz in jih postavi v vizualni vrstni red. Namestiš ga zConfigureTextShaper; libharfbuzz se razreši ob zagonu,HarfBuzzAvailablepa pošteno pove, ko ga ni- Shaper pisav ne našteva. Uniscribe prebere binarno vsebino pisave iz napravnega konteksta, za kar ne obstaja prenosljiv ekvivalent, zato gostitelj poda
TPdfFontDataResolver, ki preslika ime pisave v bajte datoteke pisave — ta odločitev tako ostane tam, kamor spada
Version 3.107.0
Dodano (Added)
FPdfBidiimplementira dvosmerni algoritem Unicoda (UAX #9) v čistem Pascalu:PdfResolveBidiLevelsvrne eno raven vgnezdenja za vsako kodo UTF-16,PdfBidiVisualOrderuporabi preureditev L2,PdfBidiClassOfpa izpostavi Bidi_Class kodne točke. Pokrite so pravila P2-P3, X1-X10, W1-W7, N0-N2, I1-I2 in L1-L2, vključno z iniciatorji isolate in oklepajskimi pari BD16- Enota je nevtralna do prevajalnika in platforme, prav to pa omogoča, da se dvosmerno besedilo razporedi tudi tam, kjer Uniscribe ni na voljo. Shaping motor razreši glife za del besedila, katerega smer je že znana, zato je prav ta del tisti, ki mora smer določiti najprej
Version 3.106.0
Dodano (Added)
ConfigureTextShapernamesti text shaping backend, skozi katerega potuje celotna knjižnica, poleg njega pa šeActiveTextShaper,ActiveTextShaperNameinClearTextShaper. TakoShapePdfTextkotTPdf.AddShapedTextzdaj uporabljata nameščeni shaper namesto da bi neposredno ustvarila Uniscribovega, zato lahko gostitelj poda svoj motor, test pa determinističnega
Spremenjeno (Changed)
FPdfTextShapingse prevede tudi na tarčah, ki niso Windows: Uniscribe backend je zdaj privzeta izbira na platformi in ne več edina implementacija, omejen pa je na build za Windows. Kjer ni na voljo noben backend, vstopne točke shapinga to sporočijo namesto da bi prevajanje spodletelo
Version 3.105.1
Varnost (Security)
- Odziv s časovnim žigom je zdaj na obeh transportih omejen na 4 MB. TSA, ki bi kar pošiljal naprej, je lahko prej sprejemni medpomnilnik povečeval brez meje in podpisni klic spremenil v neomejeno rast pomnilnika
Version 3.105.0
Dodano (Added)
- Časovno žigosanje po RFC 3161 deluje na tarčah Free Pascal, ki niso Windows: nov libcurl backend pošlje TimeStampReq in prebere TimeStampResp, tako da
PadesTsaAvailableporoča True in PAdES B-T, B-LT in B-LTA tam lahko pridobijo žetone s časovnim žigom. libcurl se razreši ob zagonu in ni odvisnost ob prevajanju; če ga ni, backend sporoči, da ni na voljo, točno tako kot WinHttp backend. Windows še naprej uporablja WinHttp in ni prizadet - Podpisovanje na teh tarčah še vedno potrebuje ključni material, ki ga knjižnica ne poseduje: zagotovite ga skozi
ConfigurePadesSignerProviderzIPadesSignerProvider(aliIPdfPkcs11SignerProviderza ključe, ki slonijo na žetonu), saj jeFPdfCryptoWinsamo za Windows
Version 3.104.1
Dodano (Added)
- Vzorčni projekt XFA inspection lab je zdaj na voljo tudi za Lazarus, tako da se iz builda z LCL lahko izvajajo sondiranje zmožnosti XFA, naštevanje paketov, izvoz paketov in rezervna pot
OnXfaRuntimeMissing
Version 3.104.0
Spremenjeno (Changed)
- Knjižnica se na Free Pascal 3.2 prevede brez odpravljivih diagnostičnih opozoril: notranje merjenje časa bere milisekundni tik iz
GetTickCount64namesto opuščenega 32-bitnega klica, opuščena dostopnika kontrolne besede SSE sta zamenjana zGetMXCSRinSetMXCSR, osnova odmika prstnega odtisa vsebine je izrecno tipizirana, tako da ne sproži več preverjanja razpona ob prevajanju, naslovi vrstic pa se pri preverjanju bitmapa za razporeditev od zgoraj navzdol primerjajo kot nepredznačeni kazalci
Version 3.103.1
Popravljeno (Fixed)
- Metapodatki dokumenta, ki gredo v XMP, na Free Pascalu obdržijo svoje znake, ki niso ASCII: naslovi, avtorji, teme, ključne besede in imena ustvarjalca, ki pridejo do
SaveAsPdfA,SaveAsPdfUa,SaveAsPdfE,SaveAsPdfX,SaveAsPdfRinSaveAsPdfVT, se zdaj pretvorijo skozi kodno stran niza namesto da bi se kopirali bajt za bajt, tako da paket metapodatkov ostane veljaven UTF-8, kot zahteva ISO 19005-1 6.7.2, tudi kadar gostiteljski program ne teče na kodni strani UTF-8 - Izvoz XFDF, povratne poti metapodatkov produkcije in razčlenjevanje XML seznamov zaupanja uporabljajo isto pretvorbo, ki pravilno upošteva kodno stran, tako da besedilo, ki potuje med
TBytesinstring, ni več odvisno od kodne strani gostitelja
Version 3.103.0
Dodano (Added)
TPdfEuropeanTrustedListrazčleni overjene evropske sezname zaupanja, znova naloži predpomnilnike s kontrolnimi vsotami skozi isti overjavitelj, sprejme vire posodobitev, ki jih poda klicatelj, razkrije trenutne korenine zaupanja in ovrednoti kvalificirane podpisne storitve na zahtevanem trenutku preverjanjaTPadesTrustValidationOptions.QualifiedTrustEvaluatorna vsakega preverjenega podpisnika uporabi politiko kvalificiranega zaupanja, ki deluje brez omrežja, in PAdES validatorju ne doda dostopa do omrežja
Version 3.102.0
Dodano (Added)
BeginIncrementalSaveinCommitIncrementalSavezdaj pripneta overjene revizije dokumentom, šifriranim z AES-256, in pri tem ohranita izvirno referenco/Encrypt, varnostne parametre, točne generacije objektov in predhodne bajte
Spremenjeno (Changed)
- Preobremenitev za commit datoteke zdaj vzdržno sprazne in strogo znova odpre stransko datoteko v istem imeniku, preveri njeno revizijsko mejo, atomsko zamenja cilj, ob vsaki napaki pa povrne sejo
Version 3.101.0
Spremenjeno (Changed)
SaveAsRedactedzdaj ohrani varne dele besedila, ki se delno sekajo, pravokotnih poti in slik, poravnanih z osmi, nato pa odstrani imena virov, na katera se strani, Form XObject, vzorci, videzi in vgnezdeni obsegi virov več ne sklicujejo
Version 3.100.0
Spremenjeno (Changed)
OptimizeImageszdaj glede na merilo, razred vsebine, izmerjeno podrobnost in kakovost, ki jo poda klicatelj, izbere ponovno vzorčenje box, bilinear, bicubic, Lanczos ali bilevel, s filtriranjem, ki upošteva alfo, in strogim proračunom delovnega pomnilnika
Version 3.99.0
Dodano (Added)
GraftPdfAcroFormuvozi hierarhična polja AcroForm, widgete, videze, vrstni red izračunavanja, privzete vire, dejanja in vrednosti prek izrecnih preslikav strani in pravil o trkihTPdfCrossDocumentGraftMapponovno uporabi uvožene indirektne objekte glede na identiteto vira, hkrati pa ohrani cikle, deljene reference, točne generacije vira in transakcijsko semantiko ob napakah
Version 3.98.0
Dodano (Added)
TPdfOutlineEditorustvarja, premika, briše, stilizira, razpira in preusmerja vnose orisa, preslika izrecne destinacije skozi rezultate načrta strani in pripne neodvisno preverjeno inkrementalno revizijo
Version 3.97.0
Dodano (Added)
TPdfTreeEditorbere, preverja, posodablja, uravnoteži, razdeli, združi, serializira in inkrementalno shrani poljubne strukture PDF NameTree in NumberTree ter pri tem ohranja ponovno uporabne indirektne reference in surove vrednosti vnosov
Version 3.96.0
Dodano (Added)
TPdfParserResourceBudgetzagotovi eno samo politiko na ravni procesa, varno za nite, za rekurzijo, žetone, objekte, dekodirane bajte, razmerje razširitve, dodelitve in roke v lastnih razčlenjevalnikih PDF, z nespremenljivimi posnetki posameznih operacij in nastavljivimi privzetimi vrednostmi
Version 3.95.0
Spremenjeno (Changed)
ValidatePdfXzdaj preveri dejavne slovarje PDF/X, metapodatke, OutputIntent, pisave, prepovedane zmožnosti, prosojnost, barvne prostore in škatle strani skozi omejena razpršena branja na nešifriranih dokumentih z veljavnim xref
Version 3.94.0
Spremenjeno (Changed)
ValidatePdfRzdaj preveri dejavne slovarje PDF/R, strani, filtre slik, metapodatke in markerje v nogi datoteke skozi omejena razpršena in okenska branja na nešifriranih dokumentih z veljavnim xref
Version 3.93.0
Spremenjeno (Changed)
ValidatePdfEzdaj preveri dejavne slovarje PDF/E, metapodatke, OutputIntent, obrazce in prepovedane zmožnosti skozi omejena razpršena branja na dokumentih z veljavnim xref
Version 3.92.0
Spremenjeno (Changed)
ValidatePdfVTzdaj izvede napredno analizo obsega, vidnosti, inkapsulacije in rabe vgnezdenih Form pri ponavljajočih se XObject skozi omejena razpršena branja na dokumentih z veljavnim xref
Version 3.91.0
Dodano (Added)
TPdfSparseDictionaryReaderzna razrešiti dejavno generacijo objekta in dekodirati neposredni tok pod bajtno mejo, ki jo poda klicatelj
Spremenjeno (Changed)
ValidatePdfVTzdaj na običajni poti z veljavnim xref za preverjanja metapodatkov PDF/VT, DPart, OutputIntent, Info, strani in navadnih slovarjev uporablja omejena razpršena branja
Version 3.90.0
Dodano (Added)
TPdfSparseDictionaryReaderobdrži odprt en sam razpršen indeks xref in tokov objektov za ponavljajoča se, omejena branja slovarjev indirektnih objektov
Spremenjeno (Changed)
InjectPdfVTMarkerszdaj z omejenim branjem vira preveri in ohrani obstoječo hierarhijo DPart v PDF/VT, medtem ko popačene hierarhije gredo naprej skozi rezervno pot ponovne izgradnje
Version 3.89.0
Dodano (Added)
ReadPdfSparsePageDictionariesvrne identitete objektov strani in omejene bajte slovarjev v vrstnem redu drevesa strani, in to skozi razpršen indeks objektov
Spremenjeno (Changed)
InjectPdfVTMarkerszdaj sintetizira hierarhijo DPart v PDF/VT in pripne objekte markerjev z omejenim branjem vira, kadar shranjeni PDF še ne vsebuje hierarhije DPart
Version 3.88.0
Dodano (Added)
ReadPdfSparseCatalogSubDictprebere neposredni ali indirektni podrejeni slovar kataloga skozi razpršen indeks objektov; uporablja ga vstavljanje markerjev PDF/UA zaMarkInfoinViewerPreferences
Spremenjeno (Changed)
InjectPdfUaMarkerszdajMarkInfoinViewerPreferencesv katalogu razreši skozi razpršeno iskanje in pripne revizijo PDF/UA z omejenim branjem vira na običajni poti xref
Version 3.87.0
Dodano (Added)
AppendPdfSparseUpdatena shranjeni PDF pretakne eno razpršeno revizijo: izvorne bajte dobesedno, telesa objektov po naročilu klicatelja na zabeleženih odmikih in en sam inkrementalni blok xref/trailer, verižen skozi/PrevNormalizePageViewRectnormalizira dva preslikana kota v stranskem prostoru v vidni pravokotnik, pripet na meje strani, ali pa sporoči, da od strani ni vidno nič- Vstavljanje markerjev PDF/E sintetizira svež objekt Info s
/ISO_PDFEVersion, kadar izvorni dokument nima slovarja Info
Spremenjeno (Changed)
- Vstavljanje markerjev PDF/E, PDF/X in PDF/R zdaj katalog, Info in trailer razreši skozi razpršeno iskanje, revizije pa pripne skozi
AppendPdfSparseUpdatez omejenim branjem vira na običajni poti xref - Povratni klic
FFI_GetPageViewRectza izpolnjevanje obrazcev zdaj sporoči del strani, ki je v pripetemTPdfViewdejansko viden, namesto da bi vedno poročal celotno škatlo strani; za headless dokumente se vrne na dimenzije strani TPdf.AboutInfo, metapodatki paketa za Lazarus in metapodatki namestilnika zdaj dosledno poročajo Version 3.87.0
Popravljeno (Fixed)
- Kontrolne točke segmentov poti, izpostavljene od vezave
FPDFPath_GetBezierControlPointsnaprej, nikoli niso bile zapolnjene: izvoz izvorne knjižnice odgovarja le za indeks končne točke vsake kubične krivulje s tremi vnosi, zato se poizvedba zdaj opravi enkrat na krivuljo in vsi trije vnosi nosijo kontrolne točke krivulje
Version 3.86.0
Dodano (Added)
ReadPdfSparseRevisionInforazkrije omejene informacije o zadnji reviziji, katalogu, šifriranju, ID-ju dokumenta in označeni strukturi za postprocesorje tokovComposePdfSparseUpdateIdohrani ali izpelje identifikatorje dokumenta za inkrementalne posodobitve, ne da bi materializiral celoten izvorni PDF
Spremenjeno (Changed)
InjectPdfAMarkerszdaj katalog in trailer razreši skozi razpršeno iskanje, velike vnose kopira v omejenih koščkih in pripne revizijo PDF/A, ne da bi na običajni poti xref dodelil bajtno polje velikosti vira- Vstavljanje markerjev PDF/A ohrani klasični ali xref-stream izhodni slog, generaciji kataloga in Info, identifikatorje trailerja, obnašanje pri zavrnitvi šifriranja in pravila o downgradu Level A
Version 3.85.0
Dodano (Added)
SanitiseActiveContentPdfStreamsprejme delovni prostor za obrezovanje v lasti klicatelja za hrambo po meri, ki je omejena ali sloni na disku
Spremenjeno (Changed)
- Sanitizacija aktivne vsebine zdaj katalog in trailer posodobi skozi razpršeno iskanje, omejena okna razčlenjevalnika in kopiranje razponov v fiksnih velikostih, namesto da bi na običajni poti xref prebrala celoten PDF v eno bajtno polje
TPdf.SaveAsSanitisedna svoj obrezovalni delovni prostor uporabiSaveMemoryLimitinSaveTemporaryDirectoryter poroča njegovo diagnostiko prelivanja
Popravljeno (Fixed)
StripMetadata=Truezdaj odstrani referenco/Infov trailerju, tudi kadar katalog nima vnosa/Metadata
Version 3.84.0
Spremenjeno (Changed)
TPdf.PdfVersionzdaj ponovno uporabi stanje razčlenjevalnika PDFium prekFPDF_GetFileVersion, namesto da bi znova razčlenil celoten izvorni PDF- Poizvedbe po različici preberejo največ osembajtno glavo PDF, da poškodovana deklaracija v katalogu ne more znižati učinkovite različice
Version 3.83.0
Spremenjeno (Changed)
PageLabelledPdfStreamzdaj razreši in posodobi katalog prek omejenih tokovnih oken in redkega lenega kazala predmetov- Izpis oznak strani kopira velike izvorne PDF v obsege fiksne velikosti, namesto da bi na običajni poti xref dodelil celotno bajtno polje dokumenta
Version 3.82.0
Spremenjeno (Changed)
ApplyDefaultOpenActionzdaj bere klasične revizije, revizije s tokom xref, hibridne in revizije s tokovi predmetov prek redkega lenega kazala predmetov, vključno z dokumenti z zelo visokimi številkami predmetov- Obdelava privzetega dejanja odpiranja uporablja okna fiksne velikosti in omejeno kopiranje obsegov, namesto da bi nalagala celoten PDF v eno bajtno polje
Version 3.81.0
Dodano (Added)
PostProcessSavedPdfsprejme tri delovne prostore v lasti klicatelja s prostim premikanjem, za prilagojene pomnilniške omejitve in obdelavo s podporo diska
Spremenjeno (Changed)
TPdf.SaveAsupoštevaSaveMemoryLimitinSaveTemporaryDirectoryza vsak delovni prostor postobdelave shranjenega PDF in njihova prelivanja vključi v diagnostiko- Izvirno postopno popravljanje tokov xref uporablja okna repa in slovarjev fiksne velikosti z omejenim kopiranjem obsegov, namesto bajtnih polj čez celo datoteko in ponavljajočih se ponovnih dodelitev celotne datoteke
Version 3.80.0
Dodano (Added)
ReadAttachmentMetadatav enem omejenem izvirnem naštevanju zajame imena prilog, opise, podtipe MIME, dekodirane velikosti in berljivostExtractAttachmentsToStreamszapiše paket v tokove v lasti klicatelja z bajtnimi omejitvami po datoteki in skupnimi, nastavljivo velikostjo zapisovalnih blokov, s preklicem in z rezultati za posamezne elemente
Spremenjeno (Changed)
- Paketno izvlečenje obdrži v pomnilniku PDFiumPas največ eno dekodirano prilogo, namesto da bi materializiralo vsak tovor v paketu
Version 3.79.0
Dodano (Added)
TPdfCacheGovernor,TPdf.CacheBudgetBytes, poizvedbe o porabi po vrstah in telemetrija usklajujejo pomnilnik zadržanih predpomnilnikov prek enega globalnega bajtnega proračuna LRU, ki je varen za niteTPdfTileCachein predpomnilnik sistemskih pisav za celoten proces se lahko pridružita upravitelju po izbiri klicatelja z natančnim evidentiranjem bitnih slik in bajtov pisav
Spremenjeno (Changed)
- Razčlenjeni prizori strani, sličice, podatki struktur, posnetki besedila in posnetki objektov strani se zdaj potegujejo pod privzetim proračunom
TPdf256 MiB, hkrati pa ohranjajo obstoječe omejitve števila vnosov - Dejavni prizori strani ostanejo pripeti do konca izrisovanja, nepregledni izvirni prizori strani pa se bremenijo z izrecno oceno, ker PDFium ne razkriva nastavljivega API-ja za skupni bajtni proračun predpomnilnika
Version 3.78.0
Dodano (Added)
TPdfLayoutPagedPlan,TPdfLayoutDocument.BuildPagedPlaninTPdf.GeneratePagedLayoutpretočijo ukaze postavitve v shrambo po izbiri klicatelja s prostim premikanjem in materializirajo eno stran naenkrat
Spremenjeno (Changed)
- Obsežne ustvarjene postavitve lahko ukaze prelijejo v začasno shrambo, zadržijo nastavljiv predpomnilnik LRU strani, obnovijo nesosednje segmente glav in nog ter sprostijo ovito besedilo po vsakem elementu toka
Version 3.77.0
Dodano (Added)
TPdfLayoutTable, vrstice, celice in možnosti tabel dodajajo tabele čez strani z razrešenimi progami mreže, podnapisi, ponovljenimi vrsticami glav, deljivimi vrsticami telesa, povezavami in nastavljivimi obrobami
Spremenjeno (Changed)
- Ustvarjene označene tabele ohranijo eno zvezno strukturo Table / TR / TH / TD čez vse strani, skupine čez več vrstic ostanejo atomske, podatkovne celice pa se samodejno povežejo z ID-ji glave
Version 3.76.0
Dodano (Added)
TPdfLayoutConstraintsinSetLastItemConstraintsdodajajo ustvarjenim postavitvam pravila obdrži-skupaj in obdrži-z-naslednjim, fizične prelome strani pred / po ter nastavljiv nadzor vrstic vdov in sirot
Spremenjeno (Changed)
BuildPlanza napoved paginacije in oddajo ukazov znova uporabi vsak rezultat ovitega besedila, tako da pravilo obdrži-z-naslednjim ne ponavlja merjenja besedila
Version 3.75.0
Dodano (Added)
TPdf.InspectPdfUaUnicodeCoverageporoča o omejenih dokazih na ravni objektov za neposredne preslikave Unicode, zamenjaveActualText, napake preslikave, manjkajoče vrednosti Unicode in nerazrešene izvorne objekte
Spremenjeno (Changed)
TPdf.ValidatePdfUazdaj ponovno uporabi en sam pregled znakov v obsegu objekta, ki izključuje znake Artifact in ustvarjene znake ter preprečuje, da biActualTextenega besedilnega objekta zakrila sosednjo vsebino
Version 3.74.0
Spremenjeno (Changed)
ValidatePdfUaPageContentTagginginTPdf.ValidatePdfUazdaj poročatapvuaiArtifactInStructureTree, ko si MCID iz drevesa strukture lasti objekt strani vrste Artifact, vključno z artefakti paginacije na osnovi poti- Preiskovanje vsebine strani za PDF/UA se zdaj predčasno konča šele, ko sta zaznana tako neoznačena prava vsebina kot neveljavna vsebovanost Artifact, pri čemer ohrani pokritost čez strani brez ponavljanja že opravljenih preverjanj
Version 3.73.0
Dodano (Added)
TPdf.InspectPdfUaLanguageCoverageporoča o omejenih dokazih objektov strani in strukturnih nizov za odseke v naravnem jeziku, vključno z učinkovitim jezikom, virom deklaracije, MCID, indeksom strukture in izvlečki besedilaResolvePdfUaEffectiveLanguagerazreši deklaracije jezika iz označene vsebine, najbližjega strukturnega prednika in kataloga z izrecnimi dokazi o veljavnosti
Spremenjeno (Changed)
TPdf.ValidatePdfUazdaj poročapvuaiNaturalLanguageUncovered, kadar besedilo, ki ni artifact, ali nizi za dostopnost nimajo veljavne učinkovite deklaracije/Lang
Version 3.72.0
Dodano (Added)
TPdf.InspectPdfAMetadataporoča o tipiziranih dokazih enakovrednosti za posamezna polja pri vseh osmih preslikavah Info v XMP po ISO 19005-1, vključno z izrecnimi praznimi vrednostmi in neuspelim razčlenjevanjem datumovTPdf.NormalizePdfAMetadatapopravi samo neskladne preslikane lastnosti XMP, hkrati pa ohrani nepovezane imenske prostore in jezikovne alternative, ki niso privzete
Spremenjeno (Changed)
TPdf.ValidatePdfAzdaj poročapvaiInfoXmpValueMismatch, kadar se vrednosti Info, dekodirane iz PDFium, po primerjavi z upoštevanjem Unicode ali časovnega pasu razlikujejo od pravilno tipiziranih vrednosti XMP
Version 3.71.0
Dodano (Added)
InspectPdfVT2sStreamvrne dokaze o tiskalnem pogoju za vsak del MIME v PDF/VT, vključno z identiteto OutputIntent, poreklom vdelanega profila ali profila iz MIME, zgoščenimi vrednostmi ICC in dejstvi glave ter številom strani in zapisov DPartFPdfIccProfilezagotavlja omejen pregled glave ICC in tabele oznak s podporo za MD5, SHA-256, barvni prostor, različico, razred naprave, ID profila in večjezični opis profila
Spremenjeno (Changed)
- Preverjanje PDF/VT-2s zdaj razreši prejšnje priloge MIME z ICC prek specifikacij datotek URL
DestOutputProfileRefin preveriCheckSum,ICCVersion,ProfileCS,ProfileName, razred naprave in dovoljene procesne barvne prostore - Vsi deli PDF/VT zdaj zahtevajo en sam avtoritativni OutputIntent
GTS_PDFX, pakiranje vdelanih ali zunanjih profilov, primerno osnovi PDF/X, in isti karakteriziran tiskalni pogoj, medtem ko priloge, ki so samo PDF/X, ostajajo zunaj primerjav PDF/VT - Preverjanje PDF/VT-2 v eni datoteki zdaj prepozna
DestOutputProfileRefkot zunanji ciljni profil, namesto da bi ga prijavilo kot manjkajočega
Version 3.70.0
Spremenjeno (Changed)
- Preverjanje PDF/VT zdaj preveri
GTS_Scope,GTS_XID,GTS_EnvinGTS_Encapsulatedneposredno na vsakem XObjectu, namesto da bi sosednjim ali ugnezdenim slovarjem dovolilo zadostiti zahtevam namigov - Obseg
Recordzdaj razrešiRecordLeveliz posrednega slovarjaDPartRoot, obsegStreampa je v datotekah PDF/VT-1 zavrnjen - Dekodirani vsebinski tokovi strani in Form XObjectov zdaj preverijo vidnost virov
Do, števila pojavitevSingleUsein lastništvo zapisov prejemnikov prek učinkovito podedovanih virov in hierarhije DPart - Encapsulated XObjecti zdaj preverijo logično obliko, priporočeni obseg,
Intentslike, izolirane skupine prosojnosti, barvne prostore zlivanja ter neposredne ali ugnezdene odvisnosti od neobvezne vsebine
Version 3.69.0
Spremenjeno (Changed)
- Preverjanje PAdES zdaj zavrne podvojene vnose
Contents,ByteRange,SubFilter,FilterinType, namesto da bi sprejelo vrednost, ki jo izbere razčlenjevalnik - Odkrivanje podpisov zdaj uporablja linearni pregled slovarjev, ki upošteva tokove, prepozna ubežne žetone imen PDF in ga ni mogoče preusmeriti z ugnezdenim slovarjem, zaključenim pred pravim
ByteRange - Preverjanje
ByteRangepodpisa zdaj zahteva, da se izločena vrzel točno ujema z neposrednim šestnajstiškim žetonomContents, medtem ko še vedno dopušča kasnejše postopne revizije - Slovarji podpisov zdaj zahtevajo en sam
Filterz vrednostjo imena in uveljavljajo skladne kombinacije tipa in podfiltraSigaliDocTimeStamp
Version 3.68.0
Dodano (Added)
TPdf.BuildPadesEvidenceReportmed seboj poveže dejstva o podpisih iz PDFium, pravilnik CMS, stanje zaupanja in časovnih žigov, zgoščene vrednosti poti certifikatov, pokritost DSS/VRI in odločitve kasnejših revizij za vsak podpisTPadesEvidenceReportizvozi omejene dokaze o več podpisih kot JSON ali CSV ter poroča telemetrijo o viru, podpisu, DSS, reviziji in odsekanju
Spremenjeno (Changed)
- Preverjanje zaupanja PAdES zdaj zabeleži identitete SHA-256 za potrdilo podpisnika in urejeno pot certifikatov Windows, hkrati pa privzeto ohrani preverjanje brez povezave
- Ustvarjanje dokazov znova uporabi en zadržan zajem izvornih bajtov skozi analizo skladnosti, zaupanja, DSS in revizij, namesto da bi izvorni PDF kopiralo v nov tok za vsako stopnjo
Version 3.67.0
Dodano (Added)
TPadesSignatureFieldOptionsustvari nastavljiva imena polj podpisov, zahtevane seed vrednosti, sezname razlogov in pravnih potrditev, sprejemljiva potrdila podpisnikov in zaklepe polj- Lokalno in oddaljeno podpisovanje lahko ustvari podpise odobritve ali certificiranja s transformacijami
FieldMDPinDocMDPpo ISO 32000-1
Spremenjeno (Changed)
- Podpisi certificiranja ohranijo obstoječa dovoljenja kataloga, nov podpis pa hkrati registrirajo prek
/Perms /DocMDP
Version 3.66.0
Dodano (Added)
RenderPageBandedToStreamzapiše izhod PNG ali TIFF neposredno v tok klicatelja z nastavljivo višino pasu, stiskanjem PNG in bajtnimi omejitvami izhodaRenderPageBandedToEncoderpodaja zaporedne pasove strani kodekom, ki jih definira klicatelj, in vrne telemetrijo pasov, vrstic, pomnilnika, zaključka in izhoda
Popravljeno (Fixed)
RenderPageBandedzdaj ohrani geometrijo izrisa cele strani in obreže vsak zahtevani pas, namesto da bi celotno stran prilagajal v vsak pas
Version 3.65.0
Dodano (Added)
TPdfParallelRenderReportzdaj poroča o velikosti vira, vrhu zajetega pomnilnika, zaledju shrambe in vrsti skupnega zaledja
Spremenjeno (Changed)
RenderPagesParalleldeli zajeti vir prek nespremenljivega pomnilnika, preslikave datoteke samo za branje ali naključnega dostopaFPDF_LoadCustomDocument, namesto da bi dodelil drugo bajtno polje celotnega dokumenta- Prelijeti viri za vzporedno izrisovanje ostanejo pod
SaveMemoryLimitin ne zahtevajo več ponovnega nalaganja celotnega PDF v naslovljiv procesni pomnilnik
Version 3.64.0
Dodano (Added)
ImportImposedzdaj ima preobremenitev, ki vrneTPdfImpositionExecutionReports števili izvirnega uvoza, enoličnih virov, praznih mest, predlog XObject, obrazčevih objektov, generiranj vsebine in izhodnih strani
Spremenjeno (Changed)
- Sestava z ničelno geometrijo pošlje vsako urejeno izvorno stran skozi en sam klic
FPDF_ImportPagesByIndex, preden vstavi prazne strani in izvede izvirno kompozicijo N-up - Sestava s poljubno geometrijo ponovno uporabi eno izvirno predlogo XObject na enolično izvorno stran, prebere predpomnjene meritve strani brez spreminjanja izvorne strani in vnaprej dodeli natančno veliko shrambo načrta
Version 3.63.0
Dodano (Added)
BeginPageObjectEditTransaction,CommitPageObjectEditTransactioninRollbackPageObjectEditTransactionzdružijo izvirne spremembe objektov strani v atomarni paket v obsegu strani s preverjeno povrnitvijo posnetkaPageObjectEditTransactionStatusporoča o povezani strani, umazanem stanju, številu uspešnih sprememb in številu generiranj vsebine
Spremenjeno (Changed)
- Uveljavljeni paketi objektov zdaj izvedejo
FPDFPage_GenerateContentenkrat, namesto enkrat za vsako spremembo vstavljanja, odstranitve, transformacije, lastnosti, oznake, objekta pripombe ali videza - Shranjevanje, spremembe strani, brisanje strani, ugnezdene transakcije urejanja ter neuspeli izvirni vstavitveni poskosi ali posodobitve pripomb se zavrnejo, prej pa se odložena vsebina ne more izgubiti
Version 3.62.0
Dodano (Added)
ReadPageObjectsSnapshotzajame dejstva o objektih strani v lasti klicatelja s proračuni za objekte, poti, izreze, oznake, besedilo, nize in rokePageObjectsSnapshotzagotavlja ponovno uporabo LRU, ki upošteva revizije, z nastavljivo zmogljivostjo ter telemetrijo zasedenosti, zadetkov in nezadetkov
Spremenjeno (Changed)
PageComplexityzdaj ponovno uporabi nespremenljivi posnetek objektov strani, namesto da bi znova izvajal izvirno naštevanje objektov ter poizvedbe po prosojnosti, poti in slikah
Version 3.61.0
Dodano (Added)
TPdfzdaj razkriva poenoten LRU sličic za vdelane in izrisane predoglede z nastavljivimi omejitvami vnosov in bajtov ter s telemetrijo zadetkov, nezadetkov, izločitev, zasedenosti in revizijRenderPageThumbnailsprejme zasuk, možnosti izrisa, barvo ozadja inTPdfColorScheme, hkrati pa ohrani pogodbo o bitni sliki v lasti klicatelja
Spremenjeno (Changed)
- Ponavljujoče izvlečenje in izrisovanje sličic znova uporabita izvirne rezultate PDFium prek ključev revizije, strani, vira, velikosti, zasuka, zastavic, ozadja in barvne sheme, vključno s predpomnjeno odsotnostjo izbirnih vdelanih sličic
TPdfThumbnailViewuskladi svoj predpomnilnik bitnih slik vidne strani z revizijami sličic dokumenta, tako da urejanja ne morejo pustiti zastarelih predogledov
Version 3.60.0
Dodano (Added)
ReadTextPageSnapshotzajame Unicode, preslikave UTF-16, geometrijo in slog znakov ter normalizirane metapodatke besedilnih predmetov v enem prehodu z izrecnimi proračuni za znake, objekte, imena pisav in rokeTextPageSnapshotzagotavlja globoke kopije v lasti klicatelja prek nastavljivega LRU, ki upošteva revizije, s telemetrijo zmogljivosti, števila, zadetkov in nezadetkov
Spremenjeno (Changed)
GetStructuredTextinGetTextInReadingOrders fizično postavitvijo zdaj znova uporabita isti posnetek besedila in uporabita geometrijsko urejanje O(n log n)
Popravljeno (Fixed)
- Majhna predpomnilnika posnetkov besedila in strukture zdaj izločita najstarejšo stran, nove podatke pa shranita pod zahtevanim indeksom strani, kar prepreči mešanje vnosov predpomnilnika med stranmi
Version 3.59.0
Dodano (Added)
LifecycleActionPolicyizbere onemogočeno, samo izrecno ali združljivo samodejno izvajanje dejanj življenjskega cikla dokumenta in strani PDFExecuteDocumentLifecycleActionrazkriva dejanja JavaScript dokumenta ter odpiranja, zapiranja, shranjevanja in tiskanja,ExecutePageLifecycleActionpa izvede dejanji odpiranja in zapiranja strani, ne da bi spremenilPageNumber
Spremenjeno (Changed)
- Nalaganja strani brez glave zdaj prejmejo ista samodejna dejanja odpiranja in zapiranja strani kot nalaganja, ki jih vodi pregledovalnik, začasne strani pa se ob tem pod ključavnico izrisa ponovno uporabijo ali sprostijo
Version 3.58.0
Dodano (Added)
ReadStructureElementsinVisitStructureElementszagotavljata iterativni prehod po označeni strukturi z izrecnimi proračuni za globino, elemente, atribute in čas ter s podrobnim stanjem zaključkaStructureElementsForPagerazkriva posnetke strani z eno-osnovnim številčenjem, ne da bi spremenilPageNumber, podprte z nastavljivim predpomnilnikom LRU, ki upošteva revizije, s telemetrijo zadetkov, nezadetkov in števil
Spremenjeno (Changed)
- Porabniki dostopnosti, reflow, preverjanja in pregledovalnika zdaj znova uporabljajo posnetke struktur v lasti klicatelja, dokler jih relevantno urejanje dokumenta ali strani ne razveljavi
Version 3.57.0
Dodano (Added)
- Popoln nabor izvirnih povratnih klicev gostitelja obrazcev zdaj zagotavlja lenobne ročaje strani, varne glede življenjskega cikla, usmerjanje kazalke prek pogleda interakcije, obveščanje o spremembi vrednosti, pravokotnike izbranega besedila, dogodke URI in dogodke ciljev GoTo
FormHostCallbacksCompleteporoča o pripravljenosti povratnih klicev,FormSelectionRectsinClearFormSelectionRectspa razkrivata omejeno geometrijo izbire v prostoru strani
Popravljeno (Fixed)
- Povratni klici za trenutno stran XFA se zdaj pravilno pretvorijo med ničelno osnovanimi kazali strani PDFium in eno-osnovnim
PageNumberkomponente - Povratni klici URI za AcroForm in XFA zdaj ohranijo surove bajte URI in zahtevajo izrecno odobritev gostitelja, preden se karkoli zažene navzven
Version 3.56.0
Dodano (Added)
- Indeksirani posnetki
PageMetricsrazkrijejo mere strani, zasuk, oznako, prosojnost in pet standardnih okvirjev strani, ne da bi spremenili dejavno stran
Spremenjeno (Changed)
- Ponavljajoče se branje metapodatkov strani znova uporablja samodejno razveljavljen izvirni predpomnilnik posnetkov, kar zmanjša odpiranja strani pri delovnih obremenitvah sličic, predhodnih preverjanj in analize dokumentov
Version 3.55.0
Dodano (Added)
- Pregled poti razkrije točne kontrolne točke kubične Bézierjeve krive, ko naložena izgradnja PDFium zagotavlja
FPDFPath_GetBezierControlPoints, z izbirnim preizkusom zmožnosti za starejše DLL-je FormFieldTypeAtPoint,TPdfView.FormFieldTypeAtin indeksirane lastnostiFontFlagsrazkrijejo izvirna dejstva o obrazcih in pisavah brez surovih ročajevTPdf.Signaturesvrne vse izvirne vsebine podpisov, ByteRange, podfiltre, razloge, čase in dovoljenja v enem posnetku v lasti klicatelja
Spremenjeno (Changed)
- Preverjanja prisotnosti obrazčevih polj zdaj uporabijo neposredno izvirno preizkušanje zadetkov na točki, namesto da bi odpirala in zapirala ročaje pripomb
Popravljeno (Fixed)
- Preverjanje PDF/E-1 zdaj dopušča navadna obrazčeva polja AcroForm, vdelane datoteke in pripombe FileAttachment, hkrati pa natančno poroča o vrhnjem
/XFAv AcroForm in/NeedAppearances true, vključno s posrednimi vrednostmi in vrednostmi v tokovih predmetov
Version 3.54.0
Dodano (Added)
FPdfProductiondodaja izmerjeno izbiro slik z več kodeki, zaledja obdelave barv in pisav, poti SVG, načrte oblikovanih zamenjav, transakcijske posodobitve paketov XFA, vektorje črtnih kod, modele Portfolio in varno izvlečenje RichMediaFPdfStandardsExecutiondodaja meritve in pretvorbo GeoPDF, transakcijsko popravilo PDF/A, načrte PDF/UA-2, zunanje večbarvne profile, zgodovinske dokaze DSS in VRI, poizvedbe DPart, poglobljena dejstva PDF/E in pasove PDF/R s stalnim pomnilnikomTPdf.ImportImposedsestavi omejena načrta N-up in knjižne sestave prek izvirnih poti N-up ali XObjectov strani z natančno geometrijo žleba, iztekanja in razmika,TPdf.CompareWithpa poroča o semantičnih, geometričnih in tolerančnih razlikah pik- Podpisovanje PAdES zdaj podpira priključljive validatorje poti in ponudnike HSM, podpisu priložen PDF MAC,
cms-algorithm-protectionin dokumente pravilnika podpisov brez povezave
Spremenjeno (Changed)
- Pogon postavitve sprejema omejeni HTML in Markdown, teče prek stolpcev in razrešuje fiksne, samodejne in ulomkovne proge mreže
- Povratni poti XFDF zdaj ohranjajo večvrednostna polja in polja z bogatim besedilom, pojavna okna, dejanja, cilje, prekrivnike videza, imenske prostore po meri in izrecno stanje prisotnosti
Version 3.53.0
Dodano (Added)
ConfigurePdfLibraryzagotavlja nespremenljivo konfiguracijo izvirnega izrisovalnika, pisav, V8, Brotli, poti uporabniških pisav in peskovnika pred prvim nalaganjem PDFium- Izvirni atributi strukture, razmerja pripomb, priloge datotek pripomb, tipizirane vrednosti slovarjev, pravilniki žarišča, poizvedbe vrstnega reda po globini za povezave in obrazce ter diagnostika privzetega preslikavanja TTF so dosegljive prek omejenih visokonivojskih API-jev
TPdfView.ReplaceFormTextAndKeepSelectionohranja dejavno izbiro med ponovljenimi urejanji, dogodki spuščanja desne tipke miške pa zdaj segajo do izvirnega pogona obrazcev
Spremenjeno (Changed)
- Deterministični čas dokumenta zdaj poleg fiksne epohe uporablja stabilno koledarsko pretvorbo UTC, zato ustvari enake metapodatke v vsakem časovnem pasu gostitelja
- Pisanje nizov prilog preveri izvirni rezultat in zakodira ključe slovarja kot UTF-8
Version 3.52.0
Dodano (Added)
TPdf.GetImageObjectRenderedBitmapvrne izrisan rezultat slikovnega objekta z uveljavljeno trenutno matriko, barvnim prostorom, maskami in stanjem izrisovanjaTPdf.TextObjectGlyphWidth,TPdf.TextObjectFontSizeinTPdf.SetTextObjectFontSizeizpostavljajo izvirno merjenje glifov in točno urejanje velikosti pisave besedilnega predmetaTPdf.TransformPageObjectClipPath,TPdf.DetachFormObjectChild,TPdf.SharePageObjectMarkinTPdf.IsAnnotationObjectSubtypeSupporteddodajajo natančno urejanje vsebinskih objektov in pregled zmožnosti
Version 3.51.0
Popravljeno (Fixed)
- Osem članov
TPdf, ki so jih prejšnje opombe ob izdaji napovedale, je bilo razglašenih v zasebnem razdelku in jih ni bilo mogoče klicati od zunaj enotePDFium; zdaj so javni, kot je dokumentirano:LinkAtPoint,GetTextRenderMode,GetTextObjectRenderedBitmap,IsAnnotationSubtypeSupported,ChooseRenderFlags,AttachmentHasKey,GetAttachmentStringValueinSetAttachmentStringValue
Spremenjeno (Changed)
- Angleška referenčna dokumentacija zdaj pokriva vsakega javnega člana
TPdfinTPdfView: 88 članom, ki niso imeli referenčne strani, je bila ena dodana, strani razredov, kazalo krmarjenja in referenca API pa jih vse naštevajo - Referenčne strani, ki so prej kazale na skupno stran, se zdaj povezujejo na stran samega člana, zato iskalni zadetek odpre opis API-ja, po katerem ste iskali
- Referenca API dokumentira naštevanja in zapise, dosegljive iz javnih podpisov, vključno s poročanjem o nalaganju in tokovih, tipi besedila, pisav in OCR, tipi graditeljev postavitve, tipi preverjanja PAdES, tipi paketne obdelave in preverjanja ter tipi vzporednega izrisovanja
Version 3.50.0
Dodano (Added)
- Vsak demo z grafičnim vmesnikom se zdaj odpre z vsebino, pripravljeno za uporabo, namesto s praznim obrazcem: demoi pregledovalnika in laboratorija naložijo ustvarjen vzorčni dokument, demoi poročil ob zagonu izdelajo zaključeno poročilo, demoi obdelovalnikov pa vnaprej ustvarijo vzorcne vhode, tako da se glavno dejanje zažene z enim klikom
MultiPageViewer,SplitViewinFontPropertiesob zagonu ustvarijo vzorcne dokumente v pomnilniku (šeststransko predstavitev, dva dokumenta za primerjavo drug ob drugem in večpisavno stran za pregled s klikom)- Demoi obdelovalnikov, kot so
MergePDF,BatchExport,SplitPDF,ExtractText,PDFtoJpg,PrintPDFinPrintPreferences, vnaprej ustvarijo vzorčne PDF poleg izvedljive datoteke in vnaprej izpolnijo svoje vhodne kontrolnike, z idempotentno ponovno izdelavo, ki nikoli ne prepiše obstoječih datotek FormFillinExtractImagessamodejno naložita vzorčne datoteke, dostavljene v njunih mapah demo,ImageToPDFustvari dve vzorčni bitni sliki,WatermarkStampvnaprej zgradi svoje vzorce žigov,XfdfLabpa se odpre na ustvarjenem dokumentu z besedilnimi opombami in opombami poudarjanja
Spremenjeno (Changed)
CreatePDFzdaj ob zagonu ustvariSample.pdfpoleg izvedljive datoteke, ne da bi pokazal pogovorno okno, tako da dokument obstane v trenutku, ko se demo odpreTPdf.AboutInfoin metapodatki namestilnika zdaj dosledno poročata o Version 3.50.0
Version 3.49.0
Dodano (Added)
FORM_GetTextDirectioninFORM_SetTextDirectioniz posodobljenih dvojiških datotek PDFium sta zdaj vezana, tako da plast dinamičnega vezivanja ohranja popolno pokritost vseh 472 izvozov PDFiumTPdf.FocusedFormFieldTextDirectioninTPdf.SetFocusedFormFieldTextDirectionizpostavljata smer besedila v pomnilniku žariščnega gradnika prek novega naštevanjaTPdfFormTextDirection(ftdUnknown,ftdAuto,ftdLTR,ftdRTL), z dvojnikoma vTPdfView, ki po spremembi smeri znova izrišeta prizor strani
Spremenjeno (Changed)
FPDF_LIBRARY_CONFIGzdaj zrcali razporeditev izvorne različice 6 s poskusnim poljemm_BrotliEnabledza dvojiške datoteke, zgrajene sPDF_ENABLE_BROTLITPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.49.0
Version 3.48.0
Dodano (Added)
- Demo
PDFViewerob zagonu zdaj v pomnilniku ustvari šeststranski predstavitveni dokument z API-jem za ustvarjanje, tako da se pregledovalnik odpre z izrisano vsebino in brez vzorčne datoteke na disku - Plošča s sličicami, zgrajena na
TPdfThumbnailView, ponuja predoglede strani s krmarjenjem s klikom ob drevesu zaznamkov v vseh treh portih demo programa - Iskanje v pregledovalniku zdaj s
HighlightSearchTextpoudari vsako ujemanje na trenutni strani namesto enega samega pravokotnika rezultata, število ujemanj pa se izpiše v vrstici stanja - Gumba
Nightin2-Upna orodni vrstici z enim klikom preklopita nočni dvobarvni način izrisovanja in način prikaza dveh strani druga ob drugi
Spremenjeno (Changed)
- Izbira besedila v pregledovalniku zdaj uporablja vgrajeni mehanizem izbire
TPdfViewz izbiro besede z dvojnim klikom, izbiro z vlečenjem in bližnjicami za odložišče namesto ročno napisane kode za izbiro - Strani se izrišejo s senco in glatkim drsenjem za sodobno izkušnjo branja
TPdf.AboutInfoin metapodatki namestilnika zdaj dosledno poročata o Version 3.48.0
Version 3.47.0
Dodano (Added)
FPdfBenchmarkpoganja omejene zbirke PDF z nastavljivim ogrevanjem in merjenimi prehodi, omejitvami strani in slikovnih pik, sodelujočim preklicem ter statusom uspeh, neuspeh ali preskočeno za vsak primerTPdfBenchmarkReportzabeleži vhodne in shranjene velikosti v bajtih, zakasnitev nalaganja in prve strani, prepustnost izrisovanja, čas shranjevanja in ponovnega odpiranja, vzorčeni največji delovni niz, semantične in slikovne zgoščene vrednosti SHA-256, stabilnost ponovljenih zagonov, preveritve pričakovanih zgoščenih vrednosti in neodvisno enakovrednost ponovnega odpiranja- Poročila meril predstavnosti izvozijo v CSV, varen za formule, in strukturiran JSON za CI, kvalifikacijo izdaj in vzdolžno sledenje zmogljivosti
GetSkiaRenderCapabilities,RenderPageSkiainRenderPageSkiaByIndexizpostavljajo neobvezno izvorno izrisovanje strani in obrazcev z Skia z ponovno uporabo predpomnilnika razčlenjenih strani in brez stroge zahteve po izvozu DLL- Različični ABI za izhod tiskanja, zaprt z zmožnostmi, izpostavi natančno naštevanje spot plošč, izrisovanje plošč, zaznavanje overprinta in predogled overprinta, ko jih ponuja naloženi modul PDFium
Popravljeno (Fixed)
- Izgradnje PDFium brez
PDF_USE_SKIAse zdaj naložijo normalno, namesto da bi spodletele, ker poskusni izvozi Skia manjkajo
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.47.0
Version 3.46.0
Dodano (Added)
ValidatePdfRzdaj preverja izključno rastrsko vsebino strani, geometrijo pasov, barvne modele, učinkovito ločljivost, parametre stiskanja, zahtevane metapodatke in šifrirane profile PDF 2.0 prek nastavljivih možnosti preverjanjaBuildPdfARepairPlanpretvori dokaze preverjanja v korake odpravljanja, urejene po odvisnostih, z razredi varnosti, varovanji vpliva na podpise in izhodom JSONBuildPdfXProductionPreflightporoča o okvirih strani, vdelanih pisavah, output intentih, barvilih, prosojnosti, overprintu, separacijah, ločljivosti slik in pripravljenosti za produkcijo brez dekodiranja slikovnih vsebin- Strukturno preverjanje PDF/UA-2 zdaj preverja lastništvo pridruženih datotek, vrstni red branja, opise, razmerja in odkrivnost
Spremenjeno (Changed)
TAssociateFile.Description,TPdf.ImageInfoinTPdf.PageComplexityizpostavljajo metapodatke, ki jih potrebujeta poteka pridruženih datotek in produkcijskega preflightaTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.46.0
Version 3.45.0
Dodano (Added)
TPdfXmpPacketrazčlenjuje, ureja, klonira in serijsko zapisuje XMP z zavedanjem imenskih prostorov, vključno z neznanimi imenskimi prostori, tipiziranimi vsebniki RDF, vrednostmi URI in virov, kvalifikatorji, jezikovnimi alternativami, ovijalniki paketov in ohranjenimi polnilnimi bajtiTPdf.ReadXmpPacketinSaveAsWithXmpPacketizpostavljata branje metapodatkov na visoki ravni in atomarni izhod, spremembe podpisanih dokumentov pa zahtevajo izrecno pooblastitev
Varnost (Security)
- Omejen bralnik XML zavrne DTD-je in zunanje entitete ter omeji bajte paketa, gnezdenje, vozle, atribute in številske sklice znakov
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.45.0
Version 3.44.0
Dodano (Added)
TPdfValidationRuleRegistryregistrira klavzule profilov z resnostjo, odvisnostmi, navodili za popravilo, dokazi ter vgrajenimi ali lastnimi predikatiTPdfValidationBudgetinTPdfValidationExecutionContextomejujeta pravila, napake, predmete, rekurzijo, dokaze UTF-8, rezerviran pomnilnik, pretečeni čas, hitro odpoved in sodelujoč preklicValidatePdfFilesParallelpreverja datoteke prek ločenih delovnih dokumentov, pri čemer ohranja vhodni vrstni red in združuje porazdelitve težav, čase, napake, preklice in napake nalaganja
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.44.0
Version 3.43.0
Dodano (Added)
TPdfStructureElementzdaj nosi dejstva o imenskem prostoru, preslikavi vlog imenskega prostora, sklicu, pridruženi datoteki, zabilki, gradniku, oznaki in videzu za semantično preverjanje PDF/UA-2ValidatePdfUa2StructureElementsin njegovi usmerjeni preverjalniki preverjajo imenske prostore in vsebovanost ISO/TS 32005, omejene mreže tabel, zabilke, obrazce, povezave Formula/MathML, pridružene datoteke, korene dokumentov, FENote, sezname, sklice TOC, naslove in napise brez nalaganjapdfium.dllClassifyPdfUaNamespaceprepozna imenske prostore strukture PDF 1.7, PDF 2.0, MathML, ARIA, DPUB, lastne in manjkajočePdfUa2StructureHasIssueponuja poizvedbo z enim znanim problemom, varno za C++Builder, ne da bi vrnil množico Pascal po vrednosti
Spremenjeno (Changed)
ValidatePdfUaStructureElementssamodejno uveljavi novo množico semantičnih pravil zapuc2, pri čemer ohranja pot pravil PDF/UA-1TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.43.0
Version 3.42.0
Dodano (Added)
TPdfUaSaveOptions.PdfUa2ustvari izhod PDF/UA-2 zpdfuaid:part2,pdfuaid:rev2024 in učinkovito različico kataloga PDF 2.0ValidatePdfUazaznapuc2in poroča o manjkajočih metapodatkih različice, datotekah, ki niso PDF 2.0, neimenovanih konfiguracijah neobvezne vsebine, opuščenih zabilkah in generičnih naslovih H
Spremenjeno (Changed)
- Preverjanje PDF/UA zdaj izbere pravila vrstnega reda zavihkov, XFA in naslovov, specifična za profil, za PDF/UA-1 in PDF/UA-2
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.42.0
Version 3.41.0
Dodano (Added)
SetPageObjectMarkParamdoda ali zamenja en celoštevilski, realni, nizovni ali blob parameter na obstoječem vnosu označene vsebine, ne da bi zamenjal oznakoRemovePageObjectMarkParamodstrani eno izbrano lastnost in pri tem ohrani ime oznake in vse nepovezane lastnosti
Spremenjeno (Changed)
- Ne-celoštevilna števila označene vsebine se zdaj povratno prenašajo kot
pmpFloat, namesto da bi bila okleščena v celoštevilske posnetke - Neuspešna validacija parametrov med
AddPageObjectMarkodstrani delno ustvarjeno izvorno oznako TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.41.0
Version 3.40.0
Dodano (Added)
ConfigureSystemFontProvidernamesti preslikovalnik pisav aplikacije, preden se PDFium zažene, in priskrbi preverjene bajte TrueType ali OpenType za manjkajoče ali zamenjane pisave dokumentaTPdfSystemFontPolicynadzoruje zamenjavo rezil, izvorno rezervo, mejnike bajtov na pisavo in omejeno predpomnjenje zahtevGetSystemFontProviderStatisticsporoča o dejavnosti preslikavanja, predpomnilnika, rezerve, zavrnitev, podatkovnih tabel in živih ročic
Spremenjeno (Changed)
- Povratni klici ponudnika izpostavijo rezilo, debelino, slog, nabor znakov in korak pisave, ki jo PDFium zahteva, pri čemer napake povratnih klicev ostanejo znotraj izvorne meje
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.40.0
Version 3.39.0
Dodano (Added)
AddCidType2Textvdela podatke TrueType, ki jih poda klicnik, z izrecnimi preslikavami CID-v-GID po glifu in CID-v-UnicodeTPdfCidFontOptionsizbere polno vdelavo, prednostno podnastavljanje z rezervo ali obvezno podnastavljanje in nastavi omejene proračune pisave, glifov in UnicodeTPdfCidFontReportporoča o odločitvah podnastavljanja, velikostih v bajtih, edinstvenih glifih, stanju vdelave, pričakovanem besedilu, izvlečenem besedilu in celovitosti izvlečka
Spremenjeno (Changed)
- Podnastavljanje TrueType ohrani zahtevane identifikatorje glifov, zavrne nevaren izhod in povrne vse vstavljene predmete strani, če preverjanje preslikave ali izvlečka spodleti
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.39.0
Version 3.38.0
Dodano (Added)
BuildReflowDocumentustvari omejeno večkrat uporabno drevo semantičnih vozlov iz strukture Tagged PDF ali sklepanja fizične postavitve prek izbranega obsega straniTPdfReflowDocument.ToHtmlizpiše ubežane odzivne naslove, odstavke, sezname, slike, napise, odseke strani in tabele s semantiko glav in razponovTPdfReflowOptionsnadzoruje zaznavanje tabel, odseke strani, geometrijo, CSS, prelome vrstic, obseg strani, preklic in proračune virov
Spremenjeno (Changed)
- Vsebina tabel med pretočnim prelivanjem nadomesti prekrivajoče se bloke odstavkov, stanje aktivne strani pa se povrne po uspehu, neuspehu ali preklicu
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.38.0
Version 3.37.0
Dodano (Added)
ApplyOcrSearchLayerizriše izbrane strani prek PDFium in pošlje omejene zgornje BGRA piksle ponudnikuIPdfOcrProvider, ki ga poda klicnikTPdfOcrWordnosi besedilo Unicode, zaupanje in štirikotnike v slikovnem prostoru, ki se preslikajo prek izvorne geometrije strani v nevidno iskalno besediloTPdfOcrReportzabeleži zaključek po straneh, preskoke obstoječega besedila, napake, preklic, izrisane piksle ter sprejete ali zavrnjene besede
Spremenjeno (Changed)
- Vstavljanje OCR ohrani izvirne tokove slik skeniranj, filtrira deformirane rezultate ali rezultate z nizkim zaupanjem, uveljavi enkrat na stran in povrne aktivno stran
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.37.0
Version 3.36.0
Dodano (Added)
ExtractTableszazna črtane in presledkovno poravnane tabele iz izvorne geometrije besed in transformiranih črt potiTPdfTableporoča o vrsticah, stolpcih, spojenih razponih, mejah strani, celicah glave, načinu zaznavanja, zaupanju in neposrednem izhodu CSV ali JSONExtractDocumentTablespregleduje vse strani pod skupnimi proračuni in označi ujemajoče se tabele, ki se nadaljujejo čez meje strani
Spremenjeno (Changed)
- Izvleček tabel uveljavlja nastavljive omejitve besed, črt, celic in tabel ter povrne aktivno stran po pregledih na ravni dokumenta
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.36.0
Version 3.35.0
Dodano (Added)
GenerateTaggedLayoutustvari nov semantični dokument postavitve z izvorno označeno vsebino, drevesom strukture Document, preslikavami ParentTree in IDTree ter metapodatki jezika dokumentaTPdfLayoutSemanticsmodelira naslove, odseke, sezname, slike, napise, tabele, povezave glav, razpone, nadomestno besedilo, dejansko besedilo, jezike in identifikatorje elementovTPdfLayoutDocument.AddLinkizpusti zabilke URI Link in poveže vsako zabilko z njenim elementom strukture Link prek preslikav OBJR in StructParent
Spremenjeno (Changed)
- Besedilo postavitve privzeto dobi semantiko odstavkov, glave, noge, črte, slike in večkrat uporabni obrazci pa so privzeto artefakti, razen če so izrecno označeni
- Validacija semantičnega načrta zavrne podvojene identifikatorje, manjkajoče starše, cikle, neveljavno vsebovanje seznamov ali tabel, slike brez nadomestnega besedila in nerešene identifikatorje glav tabel, preden se dokument izpusti
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.35.0
Version 3.34.0
Dodano (Added)
TPdf.AddShapedTextzapiše RTL, bidi, kontekstualna in ligaturna zaporedja glifov prek izvornega oblikovanja sistema in API-jev pisav PDFium CID Type 2ShapePdfTextinTPdfUniscribeTextShaperizpostavita pozicionirane identifikatorje glifov, premike, odmike, izvorne grozde, položaje vidnih zaporedij in ravni bidi, ne da bi spremenila dokument
Spremenjeno (Changed)
- Ustvarjene preslikave ToUnicode pokrijejo vsak oblikovan glif,
ActualTextpa shrani izvirni logični niz Unicode za skladne potrošnike izvlečevanja in dostopnosti - Nizi označene vsebine z oznakami vrstnega reda bajtov UTF-16 se zdaj pravilno dekodirajo prek
PageObjectMarks TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.34.0
Version 3.33.0
Dodano (Added)
TPdfLayoutCachedNodezgradi vsebino postavitve z izpeljanim razredom ob prvi uporabi in podpira ponavljajoče se skalirane postavitve prekAddCachedNodeTPdfLayoutPlanporoča o zadetkih in zgrešitvah predpomnilnika merjenja, postavitvah predpomnjenih vozlov in ponovno uporabljenih izvornih XObjectih
Spremenjeno (Changed)
BuildPlanponovno uporabi ujemajoče se načrte po popolnih omejitvah strani, vsebini, pisavi, slogu, viru in identiteti merilnika, ne da bi ponovil merjenje besedilaGenerateLayoutpretvori vsak edinstven predpomnjen vozel v en XObject, vezan na cilj, in ustvari lahke predmete Form za vsako postavitevTPdf.AboutInfo, metapodatki paketa in metapodatki namestilnika zdaj dosledno poročajo o Version 3.33.0
Version 3.32.0
Dodano (Added)
TPdfLayoutDocumentzgradi ovito besedilo, ločilnike, črte, slike, večkrat uporabne XObjecte strani, izrecne prelome strani, glave in noge v izmerjen načrt straniGenerateLayoutpaginira popolno postavitev, preden atomarno pripne izvorne strani in predmete strani, s stabilnima sklicema{page}in{pages}
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa in metapodatki namestilnika zdaj dosledno poročajo o Version 3.32.0
Version 3.31.0
Dodano (Added)
- Gradniki
TPdfPagePlanopisujejo operacije brisanja, premikanja, vstavljanja, deljenja in spajanja strani, ne da bi jih uveljavili ValidatePagePlanvrne točno preslikavo starih v nove strani in popiše prizadete zabilke, imenovane cilje, oznake strani, polja obrazcev, označene strani, uvožene zmožnosti in podpise
Varnost (Security)
- Načrti, ki bi pustili obesene navigacijske cilje ali spremenili podpisano vsebino brez izrecnega pooblastila, se zavrnejo, preden se zažene katera koli izvorna operacija strani
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.31.0
Version 3.30.0
Dodano (Added)
SaveRecoverySnapshotzapiše s kontrolno vsoto preverjen paket za obnovo z omejeno velikostjo, ki vsebuje prstni odtis vira in preverjen dnevnik urejanj dokumentaRestoreRecoverySnapshotpredvaja paket za obnovo samo, ko se njegova kontrolna vsota, veriga dnevnika, prstni odtis vira in obnovljeni prstni odtis vsi ujemajoEnableRecoveryAutosaveatomarno osveži izrecno datoteko za obnovo po vsaki spremenjeni uveljavitvi, razveljavitvi ali ponovni uveljavitvi, ne da bi prepisala izvorni PDF
Spremenjeno (Changed)
InspectRecoverySnapshotporoča o viru obnove, prstnih odtisih, številu vnosov, položaju in omejeni shrambi, ne da bi uveljavil paketImportEditJournalin obnova iz posnetka zdaj zahtevata izrecno pooblastitevAllowSignedDocument, preden uveljavita urejanja na podpisanem PDF- Shramba paketov za obnovo uporablja nastavljeno omejeno shrambo naključnega dostopa in zamenjavo z zapisom v isti mapi za velike dnevnike in na sesutja odporna posodobitve samodejnega shranjevanja
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.30.0
Version 3.29.0
Dodano (Added)
BeginEditTransaction,CommitEditTransactioninRollbackEditTransactionzdružujejo poljubna izvorna urejanja dokumenta v atomske transakcijeUndoEditinRedoEdituveljavita s SHA-256 preverjene povratne in naprej delte čez spremembe strani, predmetov, zabilk, prilog in metapodatkovExportEditJournalinImportEditJournaltrajno hranita omejene prenosljive delte z validacijo prstnega odtisa vira in verige izvlečkov za poznejše predvajanje
Spremenjeno (Changed)
- Posnetki transakcij uporabljajo reproducibilni izvorni izhod, tako da nespremenjene uveljavitve ostanejo prazne, tudi ko običajna shranjevanja PDFium vsebujejo nedeterministične identifikatorje ali časovne žige
- Neuspele uveljavitve in neveljavno predvajanje dnevnika atomarno povrnejo prejšnji naložljivi dokument, število vnosov, shranjeni bajti in velikost posnetka pa ostanejo pod mejami, ki jih nastavi klicnik
- Podpisani PDF-ji zahtevajo izrecno pooblastitev
AllowSignedDocument, preden se transakcija urejanja dokumenta začne TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.29.0
Version 3.28.0
Dodano (Added)
TPdf.InspectOptionalContentnašteva plasti OCG, privzete in alternativne konfiguracije, stanja uporabe View/Print/Export, metapodatke zooma in jezika, zaklenjene plasti, polja vrstnega reda, radijske skupine, pravilnike OCMD, izraze vidljivosti in učinkovito stanje izrisovanjaTPdf.SaveAsOptionalContentConfiguredzapiše strogo preverjen izvod z stanji plasti, ki jih izbere klicnik, za izbrano uporabo in konfiguracijo
Spremenjeno (Changed)
- Izhod stanj plasti zdaj posodobi tako polji
/ONin/OFFkonfiguracije kot slovarje stanja Usage OCG, tako da PDFium uveljavi zahtevano vidljivost prek svojega izvornega konteksta izrisovanja - Pisanje konfiguracij zavrne neznane skupine, spremembe zaklenjenih plasti, spore radijskih skupin, šifrirane začasne datoteke in podpisane datoteke brez izrecnega pooblastila ter privzeto odstrani pravila samodejnega stanja, da izbrani rezultat ostane determinističen
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.28.0
Version 3.27.0
Dodano (Added)
TPdf.RenderPageByIndexizriše poljubno stran z eno-osnovnim indeksom v natančni velikosti v slikovnih pikah, ne da bi spremenila aktivno stran urejanja ali sprožila dogodke spremembe straniPageSceneCacheCapacity,PageSceneCacheCountinClearPageSceneCacheizpostavljajo omejeno upravljanje predpomnilnika prizorov in diagnostiko
Spremenjeno (Changed)
- Indeksirani izrisi strani, izrisane sličice in izvleček vdelanih sličic zdaj privzeto ponovno uporabijo razčlenjeno stanje strani PDFium prek predpomnilnika LRU z osmimi vnosi
- Vnosi prizorov se razveljavijo ob aktivaciji strani, urejanju, spremembah drevesa strani, povratnih klicih stanja obrazca, izrecnem brisanju in razstavitvi dokumenta, izrisi v teku pa se varno obdržijo do sprostitve
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.27.0
Version 3.26.0
Dodano (Added)
TPadesSignatureAlgorithmInfoporoča o vsakem OID izvlečka podpisnika CMS, podpisa, javnega ključa in imenovane krivulje skupaj z neodvisno ocenjenim stanjem pravilnika algoritmovInspectPadesSignatureAlgorithminEvaluatePadesSignatureAlgorithmprepoznata profile P-256, P-384, P-521, brainpoolP256r1, brainpoolP384r1, brainpoolP512r1, Ed25519 in Ed448
Varnost (Security)
- Validacija PAdES zdaj zavrne neskladja eliptičnih krivulj in izvlečkov, OID podpisov ECDSA, ki se ne strinjajo z izvlečkom CMS, neimenovane parametre EC, parametre Ed25519 in dolžine izhoda Ed448 SHAKE256, ki niso 512 bitov
- Izvorna verifikacija CMS ostane vir kriptografske veljavnosti, nedosegljivi algoritmi in neprepoznane krivulje pa se poročajo kot
pcsUnsupported, namesto da bi se obravnavali kot neveljavni podpisi TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.26.0
Version 3.25.0
Dodano (Added)
TPdf.ExportObjectGraphizvozi dejavne predmete klasične oblike, xref-stream in object-stream kot omejen tipiziran JSON z izrecnimi slovarji, polji, nizi, imeni, skalarnimi vrednostmi, posrednimi sklici, števili bajtov tokov in neobveznimi zgoščenimi vrednostmi tokov SHA-256TPdf.SaveAsObjectGraphPatchednastavi ali odstrani vrednosti vrhnjih slovarjev, preverjene po shemi, prek tipiziranih vrednosti popravkov null, Boolean, integer, real, name, text-string in indirect-reference
Varnost (Security)
- Izvoz grafa predmetov uveljavlja proračune predmetov, rekurzije, nizov in izhodnih bajtov, popravljanje pa vsako operacijo validira pred dostavo in zavrne obesene sklice, podvojene operacije, šifrirane vhode, zaščitene spremembe filtra ali dolžine tokov ter podpisane dokumente, razen ob izrecnem pooblastilu
- Popravki grafa predmetov se odložijo kot postopna revizija, ponovno utelešijo za verifikacijo xref, strogo naložijo prek PDFium ter se kopirajo ali atomarno preimenujejo šele, ko vsi pregledi uspejo
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.25.0
Version 3.24.0
Dodano (Added)
TPdf.ValidatePadesTrustpreveri vsak odkritljiv ločeni podpis proti točno izvirnemuByteRange, oceni vezavo signing-certificate-v2 in trenutno sistemsko zaupanje Windows ter poroča o neodvisnih stanjih podpisa, verige, preklica in časovnega žigaTPdf.ValidatePadesTrustAsyncposname izvirni naloženi vir pred posredovanjem, poroča o stopnjevanem napredku za delo razčlenjevanja, kriptografije, gradnje verige, AIA, OCSP, CRL in časovnega žiga RFC 3161 ter podpira sodelujoč preklicTPadesTrustValidationOptionsizbere offline ali spletno zaupanje, neobvezno preverjanje preklicov in časovnih žigov, omejeno časovno omejitev pridobivanja URL, žeton za preklic in povratni klic napredka
Varnost (Security)
- Časovni žig podpisa in žetoni Document Time-stamp zdaj neodvisno od običajnega podpisa dokumenta preverijo svoj odtis sporočila SHA-256, priloženi podpis CMS, verigo TSA in neobvezno stanje preklica
- Validacija zaupanja nikoli ne zgoščuje s PDFium ponovno shranjenega izvoda, privzeto pridobiva potrdila samo iz predpomnilnika brez povezave in poroča o nepodprtih ali nedoločenih stanjih, namesto da bi nedosegljivo izvorno zaupanje ali dokaze o preklicih obravnavala kot veljavne
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.24.0
Version 3.23.0
Dodano (Added)
TPdf.RenewPadesArchiveTimestampinRenewPadesArchiveTimestampToStreampripneta nov Document Time-stamp RFC 3161 obstoječi verigi podpisov PAdES, ne da bi spremenila kateri koli zgodovinski bajtTPadesArchiveTimestampOptionsnadzoruje dostop do TSA, nonce, rezervirano zmogljivost žetona in neobvezno popolno osvežitev DSS,TPadesArchiveTimestampReportpa zabeleži ravni vira in rezultata, dolžine verig, dolžine v bajtih in vrnjeno identiteto časovnega žiga
Popravljeno (Fixed)
- Nov in obnovljen izhod PAdES B-LTA prijavi ESIC ExtensionLevel 2, validacija B-LT pa ne zahteva več ravni 2, razen če je prisoten Document Time-stamp
Varnost (Security)
- Obnova zgoščuje točno izvirne naložene bajte plus morebitno zahtevano posodobitev DSS, zavrne šifrirane ali nepopolne vire, validira odkritljivi rezultat B-LTA pred pisanjem izhoda in odloži izhod datoteke pred zamenjavo
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.23.0
Version 3.22.0
Dodano (Added)
TPdf.AnalyzeSignatureRevisionsrekonstruira izvirno verigo postopnih revizij in vrne spremembe predmetov po podpisih, razvrščene proti dovoljenjem DocMDP in FieldMDPTPadesRevisionAnalysisReportloči dovoljene posodobitve obrazcev, zabilk, podpisov in validacijskega materiala od nedovoljenih sprememb strani ali dokumenta, nerešenih primerov in sumljivih prikritih definicij
Varnost (Security)
- Analiza revizij zazna nesklicane definicije predmetov, redefinicije predmetov podpisov, aktivno vsebino, deformirane verige revizij in nerešene stisnjene predmete, pri čemer uveljavlja omejene proračune revizij, predmetov in sprememb
- Analiza vedno uporablja izvirno naloženo datoteko, pomnilniški medpomnilnik, tok po meri ali zaključen postopen vir, ne pa bajtov, ki jih je prepisal PDFium
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.22.0
Version 3.21.0
Dodano (Added)
TPdf.PreparePadesRemoteSignatureustvari držalo ločenega podpisa s fiksno širino in vrne trajno zahtevo, ki vsebuje izvleček dokumenta SHA-256, točenByteRange, koordinate rezervacije in prstni odtis pripravljenega PDFTPdf.CompletePadesRemoteSignaturezaključi seje podpisovanja HSM, oblaka ali prekinjene po validaciji trajne zahteve in vrnjenega CMSTPdf.SavePadesRemoteSigningRequestinTPdf.LoadPadesRemoteSigningRequestzagotavljata stabilen binarni format seje z različico čez meje procesov in strojev
Varnost (Security)
- Zaključek zavrne spremenjene pripravljene PDF-je, spremenjene koordinate
ByteRange, ponovno uporabljena neprazna držala, predimenzionirane vrednosti CMS, nepodprte oblike SignedData, manjkajoče atribute signing-certificate-v2 in izvlečke sporočil CMS, ki se ne ujemajo s pripravljenim dokumentom TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.21.0
Version 3.20.0
Dodano (Added)
TPadesDssOptions.Vriszapiše en posredni slovar/Type /VRIna podpis s ključem, ki je z velikimi črkami zapisan SHA-1 popolne dekodirane vrednosti/Contents, vključno s polnilomTPadesDssVriizbere gradivo potrdil, OCSP in CRL prek validiranih indeksov, podpisovanje PAdES B-LT in B-LTA pa zdaj samodejno ustvari VRI novega podpisa
Spremenjeno (Changed)
- Potrdila DSS, odgovori OCSP in seznami CRL se razpodvojijo po zgoščeni vrednosti vsebine s stabilnim vrstnim redom prve pojavitve, preverjanjem trkov na točne bajte in preslikavo sklicev VRI, preden se zapišejo ciljni bajti
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.20.0
Version 3.19.0
Dodano (Added)
TPdf.GetStructuredTextpretvori trenutno stran v večkrat uporabne zapise blokov, vrstic in oblikovanih razponov, pri čemer ohrani izvorne indekse znakov, skalarje Unicode, geometrijo, imena pisav, velikosti, debeline in kote besedilaTPdfStructuredTextOptionsizbere vrstni red toka vsebine ali fizične postavitve, neobvezno obogatitev pisav in semantike ter največji proračun znakov z odpovedjo na varni strani- Fragmenti Tagged PDF in hevristično berljive vsebine obogatijo bloke z vrsto strukture, ravnjo naslova, jezikom, virom in identiteto elementa strukture, nadomestno besedilo neujemanih slik Figure pa ostane predstavljeno
Spremenjeno (Changed)
- Izvleček fizične postavitve zdaj uporablja urejanje znakov O(n log n), geometrijsko rastoče medpomnilnike vrstic in razponov, razvrščanje vrstic in stolpcev, medpomnilniško izgradnjo Unicode in predpomnjenje pisav sosednjih nepraznih predmetov besedila za predvidljivo zmogljivost velikih strani
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.19.0
Version 3.18.0
Varnost (Security)
TPdf.SaveAsRedacteduveljavi vsak pravokotnik/Redactna izoliranem posnetku dokumenta, odstrani vsak prekrivajoči vrhnji predmet strani in pobarva neprosojni nadomestni pravokotnik, ne da bi spremenil naloženi dokument- Začrtnjen izhod odstrani zabilke začrtavanja, neobvezno odstrani druge prekrivajoče zabilke, izbriše izvorne vdelane priloge ter odstrani katalogski
/AF, aktivno vsebino, obrazce, metapodatke in nedosegljive predmete prejšnjih revizij TPdfRedactionOptionsnadzoruje nadomestno barvo, odstranjevanje prekrivajočih zabilk in proračun pregleda predmetov strani z odpovedjo na varni strani,TPdfRedactionReportpa zabeleži vsako odstranitev in metrike izhodaTPdfSanitiseOptions.StripAssociatedFileszdaj privzeto odstrani sklice pridruženih datotek na ravni kataloga
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.18.0
Version 3.17.0
Dodano (Added)
TPdf.RenderPagesParallelsočasno izriše zahteve strani z eno-osnovnimi indeksi, pri čemer ima vsako delovno mesto neodvisno naložen modul, dokument in stanje strani PDFium iz enega ujetega posnetka dokumentaTPdfParallelRenderOptionsnadzoruje DPI, število delovnih mest, zasuk, izvorne zastavice izrisa, barvo ozadja, meje slikovnih pik na stran in skupne meje zadržanega izhodaTPdfParallelRenderReportohrani vrstni red zahtev in vrne medpomnilnike BGRA ali RGBA od zgoraj navzdol v lasti klicnika z uspehom, preklicem, neuspehom, dimenzijami, časom in diagnostičnimi podrobnostmi na stran- Postopen izris delovnih mest preverja
IPdfCancellationTokenmed izvornimi kosi, neveljavne zahteve in napake proračunov pa ostanejo omejene na svoje ustrezne rezultate TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.17.0
Version 3.16.0
Dodano (Added)
TPdfEncryptionRevision.erR7doda izhod ISO/TS 32003 AES-256-GCM z/V 6,/R 7,/CFM /AESV4in zahtevano razširitvijo razvijalca PDF 2.0- Vsak šifriran niz in tok dobi edinstven 96-bitni IV, šifrirano besedilo nespremenjene dolžine in 128-bitno oznako overjanja,
EncryptMetadata = Falsepa ohrani bajte toka metapodatkov DecryptAesGcmDocumentBytespreveri uporabniško ali lastniško geslo, šifrirana dovoljenja, neobvezne samostojne podatke PDF MAC in vsako oznako GCM, preden vrne z PDFium združljive bajte odprtega besedila- Izhod AESV4 je mogoče kombinirati s
TPdfEncryptOptions.EnableIntegrityProtection, tako da overjanje GCM po predmetu in zaščita PDF MAC celotnega dokumenta ISO/TS 32004 sobivata - Šifriranje zdaj uporablja veljavne klasične vnose navzkrižnih sklicev, namesto da bi tolmačilo besedilo v obliki predmetov znotraj podatkov toka kot posredne predmete
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.16.0
Version 3.15.0
Dodano (Added)
TPdfEncryptOptions.EnableIntegrityProtectionzapiše samostojne overitvene kode PDF MAC ISO/TS 32004 za dokumente AES-256 Standard Security Handler revizij 5 in 6TPdf.ValidatePdfMacpreveri točno izvirne bajte vira, strogi/ByteRange, ki pokriva EOF, CMSAuthenticatedData, iz gesla izpeljan datotečni ključ, overjene atribute, oviti ključ MAC in vrednost HMACFPdfHmacdoda HMAC-SHA256 in HKDF-SHA256,FPdfAespa ovijanje ključev RFC 3394 AES-256 in overjene primitive odvijanjaTPdfMacValidationResultloči veljavne, odsotne, neveljavne in nepodprte overitvene kode z diagnostičnim besedilomTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.15.0
Version 3.14.0
Dodano (Added)
TPdf.ValidatePadeszdaj na Windows preveri ločene podpise CMS proti točno izvirnim odsekom/ByteRange, vključno s podpisanimi atributi in vrednostjo podpisaTPadesValidationResultizpostavi skupno stanje celovitosti in stanja ByteRange, CMS,signing-certificate-v2, sistemsko zaupanje, preklic in časovni žig na podpis, ne da bi mešal nepodprte ali nepreverjene dokaze z neveljavnim podpisom- Vezava potrdila podpisnika se preveri s SHA-256, verige potrdil uporabljajo oceno sistemskega zaupanja Windows samo iz predpomnilnika, izvorne kode napak pa ostanejo na voljo za diagnostiko
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.14.0
Version 3.13.1
Popravljeno (Fixed)
TPdf.ValidatePadeszdaj pregleda izvirno datoteko, pomnilniški medpomnilnik ali bajte toka po meri, namesto izvoda, ponovno shranjenega s PDFium, ki bi lahko razveljavil odmike ali zavržil slovarje podpisov- Preverjanja
/ByteRangePAdES zdaj sprejmejo podpise, ki pokrivajo zgodnejšo popolno revizijo PDF, ki ji sledijo veljavne postopne posodobitve, pri čemer validirajo tudi obsege Document Time-stamp TPadesValidationResult.SourceStatusloči validacijo izvirnega vira od nedosegljivega ali nepopolnega postopnega vnosa, predikati skladnosti pa zavrnejo rezultate brez izvirnih bajtovTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.13.1
Version 3.13.0
Dodano (Added)
FPdfSha3ponuja primitive SHA3-256, SHA3-384, SHA3-512 in SHAKE256 brez odvisnosti za ISO/TS 32001 in sorodno kriptografsko delo PDF 2.x- Postopni konteksti vsrknejo poljubno razdeljen vhod, SHAKE256 pa podpira ponavljajoče se klice stiskanja in izhod, ki prečka meje stopnje spužve
- Enkratni pomočniki za polja bajtov in šestnajstiške vrednosti z malimi črkami dopolnjujejo pretočni API z izrecnim življenjskim ciklom in validacijo velikosti čez Delphi, C++Builder in Lazarus
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.13.0
Version 3.12.0
Dodano (Added)
TPdf.ImportFDFuvozi podatke obrazcev FDF iz datotek ali tokov in uveljavi razčlenjene vrednosti prek obstoječe poti polj gradnikovFdfImportFromStreaminFdfImportFromFilerazčlenita neposredna ali posredna hierarhična polja, PDF dobesedne in šestnajstiške nize, PDFDocEncoding, besedilo Unicode, vrednosti imen in izrecne prazne vrednosti pod omejenimi proračuni virov- Izvoz FDF zdaj zapiše ne-ASCII imena in vrednosti polj kot standardom skladne besedilne nize UTF-16BE in varno ubegne imena izvornih datotek
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.12.0
Version 3.11.0
Dodano (Added)
TPdf.DetectPageSkewizriše trenutno stran pri nizkem DPI in zazna kot nagiba s projiciranjem temnih slikovnih pik na kandidate kota zasuka, pri čemer vrne kot, ki poveča varianco vsot vrstic (poravnavo vrstic besedila), z natančnostjo ~0,1 stopinjeTPdfSkewReportizpostavi zaznani kot, zaupanje in dimenzije vzorcaTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.11.0
Version 3.10.0
Dodano (Added)
TPdf.GetTextInReadingOrderizvleče besedilo trenutne strani v surovem vrstnem redu toka vsebine ali vrstnem redu fizične postavitve (od zgoraj navzdol, od leve proti desni) prekFPDFText_GetCharBox+ po položaju razvrščene ekstrakcije znakov, tako da večstolpčno in vizualno preurejeno besedilo bere naravno- Enum
TPdfReadingOrderizbira medroContentOrderinroPhysicalLayout TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.10.0
Version 3.09.0
Dodano (Added)
TPdfImageOptimizeOptions.PreserveBilevelpreskoči 1-bitne slike z dvema ravninama (ImageMask / skeni črtne umetnosti) medOptimizeImages, tako da podvzorčenje najbližjega soseda ne uniči njihovih ostrih robovTPdfImageOptimizeOptions.MinDimensionpreskoči slike, manjše od praga (običajno ikone ali okrasni elementi, ki nimajo koristi od nadaljnjega zmanjševanja)TPdfImageOptimizeOptions.Defaultzagotavlja priporočeno izhodišče (ciljni DPI 150, razmerje 1,5, dvoravinski slike ohranjene, najmanjša dimenzija 8)TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.09.0
Version 3.08.0
Dodano (Added)
TPdfTileCachezagotavlja omejen predpomnilnik LRU izrisanih ploščic strani, ključan po reviziji dokumenta, strani, povečavi, zasuku, zastavicah izrisa in pravokotniku naprave, tako da se nespremenjene ploščice ob ponovnem risanju ne izrisujejo znova in se zastarele ploščice prejšnjega shranjevanja samodejno izločijoTTileKeyizpostavi sestavljen ključ predpomnilnika s tovarnoCreatein primerjevalnikomEqualsTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.08.0
Version 3.07.0
Dodano (Added)
TPdf.GetAnnotationFontColorinTPdf.SetAnnotationFontColorovijeta prej vezani, a neuporabljeniFPDFAnnot_GetFontColorinFPDFAnnot_SetFontColorter izpostavljata branje in pisanje barve besedila gradnika za urejanje polj obrazcev brez neposrednega dotikanja slovarja zabilkeTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.07.0
Version 3.06.0
Dodano (Added)
TPdf.RenderPageBandedizriše trenutno stran v vodoravnih pasovih prek povratnega klica, tako da je plakate in inženirske strani mogoče izvoziti, ne da bi kdaj koli dodelili polno ciljno bitno sliko — vsak pas se izriše v sveže ustvarjenoTBitmapzahtevane višine pasu in se sprosti, ko se povratni klic vrneTPdfBandCallbackizpostavi pogodbo na pas (indeks pasu, odmik zgornjega y, bitna slika) z logično vrnitvijo, ki klicnikom omogoča zgodaj prekiniti pasovni izrisTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.06.0
Version 3.05.0
Dodano (Added)
TPdf.RenderPageProgressiveWithColorSchemepoganja izvorno postopno zanko izrisa z barvno shemo za slabovidne prekFPDF_RenderPageBitmapWithColorScheme_Start, kar klicnikom omogoča preglasitev barv polnila in potez poti ter polnila in potez besedila za dostopnost, ob ohranitvi zanke Continue, ki se zaveda preklicaTPdfColorSchemeizpostavi štiri polja preglasitveTColors privzeto vrednostjoDefault, ki prenese odločitev vgrajenim barvam PDFium, ko so vsa poljaclDefaultTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.05.0
Version 3.04.0
Dodano (Added)
TPdf.ExportFDFserializira vrednosti polj obrazcev kot dokument FDF (ISO 32000-1 §12.7.11) poleg obstoječe poti XFDF in pri tem znova uporablja isti podatkovni modelTXfdfField, tako da klicniki polja zberejo enkrat in izpišejo katero koli oblikoFdfExportToStreaminFdfExportToFilevFPdfXfdfizpostavita nizkoravenski serializator FDF za klicnike, ki gradijo zbirke polj neodvisno od naloženegaTPdfTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.04.0
Version 3.03.0
Dodano (Added)
TPdf.SaveAsSanitisedzapiše čist izvod z eno revizijo, ki iz kataloga odstrani aktivno vsebino (/OpenAction, kataloški/AA,/Names,/AcroForm,/Metadata) in nato obreže nedosegljive predmete, tako da osirotela telesa JavaScripta, dejanj in prilog izginejo iz telesa datotekeTPdfSanitiseOptionsizpostavi neodvisne kontrole odstranjevanja po vektorjih ter neobvezen pregled obrezovanja dosegljivosti;TPdfSanitiseReportzabeleži število odstranjenih vnosov, število obrezanih predmetov, števila bajtov in morebitno napakoTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.03.0
Version 3.02.0
Dodano (Added)
TPdf.SaveAsPageLabelledzapiše popoln izvod PDF, katerega drevo števil/PageLabelskataloga je zamenjano s podanimi razponi, z uporabo slogov številčenja decimalnega, rimskega z velikimi/malimi črkami in črkovnega z velikimi/malimi črkami z neobveznimi besedilnimi predponami in začetnimi številkami po ISO 32000-1 §12.4.2TPdfPageLabelRange,TPdfPageLabelRanges,TPdfPageLabelStyleinTPdfPageLabelReportizpostavijo model razponov, enum slogov ter števila bajtov in razponov na shranjevanje- Obstoječi vnosi
/PageLabelskataloga se zaznajo in zavrnejo, razen če je podanReplaceExisting=True, v tem primeru se stari vnos odstrani, preden se vstavijo novi razponi TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.02.0
Version 3.01.0
Dodano (Added)
TPdf.FlattenPageRotationvpeče trenutni/Rotatevsake strani v tok vsebine, okvirje strani in pravokotnike zabilk ter nato ponastavi/Rotatena 0 — ovijaFPDFPageObj_TransformF+FPDFAnnot_GetRect/SetRect+FPDFPage_SetMediaBox/SetCropBox+FPDFPage_SetRotation, tako da vizualna postavitev ostane ohranjena brez zanašanja na namig prikaza zasukaTPdfFlattenRotationOptionsizpostavi kontrole transformacije zabilk na stran, zamenjave okvirjev strani in samodejnih posodobitev;TPdfFlattenRotationReportzabeleži obdelane, preskočene in spodletele strani ter skupno število transformiranih predmetov in zabilkTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.01.0
Version 3.00.0
Dodano (Added)
TPdf.StampPagesFromPdfodtisne izvorno stran kot pozicionirano, skalirano, neobvezno zasukano prekrivno ali podložno sliko Form XObject čez eno ali več ciljnih strani, pri čemer ovijaCreateXObjectFromPage+FPDFPageObj_SetMatrix+FPDFPageObj_SetBlendMode+FPDFPage_InsertObjectAtIndexz izrecnimi pravilniki okvirjev strani, sidra, robov, merila, zasuka, mešanja in vrstnega reda po globiniTPdfOverlayOptionsinTPdfOverlayReportizpostavita kontrole postavitve, transformacije, mešanja in vrstnega reda po globini ter številke odtisnjenih, spodletelih in preskočenih strani na stranTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 3.00.0
Version 2.99.0
Dodano (Added)
TPdf.RefreshAppearanceselektivno regenerira videz posameznega gradnika prekFPDFAnnot_SetAPin se izogne obnoviNeedAppearancescele straniTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.99.0
Version 2.98.0
Dodano (Added)
TPdfView.MouseDownzdaj usmerja dogodke desne tipke v izvorni pogon izpolnjevanja obrazcev prekFORM_OnRButtonDown, kar omogoča kontekstne menije in interakcije z gradniki ob desnem kliku- Elementi zemljevida poti 78 (preslikava zabilk povezav), 82 (predstavitev gradnikov) in 83 (model atributov strukture) so potrjeni kot že dokončani prek obstoječe infrastrukture
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.98.0
Version 2.97.0
Dodano (Added)
TPdf.SetDeterministicTimeinTPdf.RestoreActualTimeomogočata testom in reproducibilnim izgradnjam vstaviti fiksni čas nastanka, spremembe in trenutni čas prek podprtih izvornih povratnih klicevTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.97.0
Version 2.96.0
Dodano (Added)
TPdf.GetWidgetAdditionalActionJavaScriptprebere JavaScript dodatnega dejanja gradnika za dani sprožilec dogodka prekFPDFAnnot_GetFormAdditionalActionJavaScript, ne da bi izvedel katero koli skriptoTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.96.0
Version 2.95.0
Dodano (Added)
TPdf.GetObjectTextizvleče besedilo Unicode besedilnega predmeta strani prekFPDFTextObj_GetTextza natančno urejanje vsebine in diagnostiko kodiranjTPdf.GetObjectsByTypevrne indekse vseh predmetov strani, ki ustrezajo kategoriji (besedilo, pot, slika, obrazec, senčenje), za selektivni izhod po kategorijahTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.95.0
Version 2.94.0
Dodano (Added)
TPdf.AttachmentHasKey,GetAttachmentStringValueinSetAttachmentStringValueberejo, pišejo in preverjajo vrednosti razširitev datotek po meri na vdelanih prilogahTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.94.0
Version 2.93.0
Dodano (Added)
TPdf.InsertObjectAtIndexvstavi predmet strani na zahtevan položaj sklada prekFPDFPage_InsertObjectAtIndexin ga ne vedno pripne na konecTPdf.UpdateAnnotationObjectuveljavi urejen predmet videza zabilke prekFPDFAnnot_UpdateObject, tako da spremembe predmetov strani v lasti zabilke zanesljivo ostanejoTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.93.0
Version 2.92.0
Dodano (Added)
TPdf.InsertClipPathustvari pravokotno pot obrezovanja in jo vstavi v trenutno stran prek izvornih potiFPDF_CreateClipPathinFPDFPage_InsertClipPathter dopolnjuje obstoječi inšpektorPageObjectClipPathTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.92.0
Version 2.91.0
Dodano (Added)
TPdf.GetPageComplexitypregleda trenutno stran in poroča o številih predmetov slik, poti in besedila ter skupnih segmentih poti, skupnih slikovnih pikah in prisotnosti prosojnosti za načrtovanje izrisovanjaTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.91.0
Version 2.90.0
Dodano (Added)
TPdf.IsAnnotationSubtypeSupportedpovpraša naloženi DLL PDFium, katere podtipe zabilk podpira, preden se začne urejanjeTPdf.ChooseRenderFlagsizbere izvorne zastavice izrisa (halftone, omejen predpomnilnik slik) iz končnega merila in velikosti cilja za prilagodljivo podvzorčenje slikTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.90.0
Version 2.89.0
Dodano (Added)
TPdf.GetTextRenderModeizpostavi izvorni način izrisovanja besedila (polnilo, poteza, obrez) besedilnega predmeta strani za avtorsko diagnostikoTPdf.GetTextObjectRenderedBitmapizriše posamezen predmet besedila v izolirano bitno sliko prek izvorne potiFPDFTextObj_GetRenderedBitmapTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.89.0
Version 2.88.0
Dodano (Added)
TPdf.GetThumbnailzdaj ob odsotnosti vdelane sličice prenese na izris nadomestne sličice, s čimer uveljavi prednost vdelane sličiceTPdf.LinkAtPointvrne, ali na koordinati prostora strani obstaja izvorna povezava, z uporaboFPDFLink_GetLinkAtPointnamesto pregledovanja samo pravokotnikovTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.88.0
Version 2.87.0
Dodano (Added)
TPdf.AuditActiveContentvrne posnetekTPdfActiveContentAudito številu dejanj JavaScript, številu vdelanih datotek, številu podpisov, vrsti obrazca XFA in dovoljenjih dokumenta, ne da bi izvedel katero koli skripto ali dejanjeTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.87.0
Version 2.86.0
Dodano (Added)
TPdf.GetFeatureInventoryenkrat pregleda vse strani in vrne poenoten zapis o številih predmetov besedila, poti, slik, form XObjectov in senčenj skupaj z dejstvi o prilogah, podpisih, vrsti obrazca, dovoljenjih in različici PDFTPdfFeatureInventoryzdruži dejstva na ravni dokumenta, ki so prej zahtevala ločene klice lastnosti, v en sam posnetekTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.86.0
Version 2.85.0
Dodano (Added)
TPdf.SaveAsReproducibleprepiše dokument tako, da dve shranjevanji istega stanja v pomnilniku proizvedeta bajtno identičen izhod- Nedeterministični časovni žigi
/Info(/CreationDate,/ModDate) se odstranijo, izvorni/ID(izpeljan iz bajtov, odvisnih od stenske ure) pa se izpusti, medtem ko vrstni red in generacije predmetov ostanejo stabilni TPdfReproducibleReportporoča o številih ohranjenih in obrezanih predmetov ter o številu odstranjenih vnosov časovnih žigovTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.85.0
Version 2.84.0
Dodano (Added)
TPdf.SaveAsInlineImagesExternalisedprepiše dokument in izvleče vsako inline slikoBI/ID/EIv večkrat uporabni XObject slike ter zamenja inline blok z operatorjem/ImN Do- Okrajšave slovarjev inline slik (
/W,/H,/BPC,/CS,/F, vrednosti barvnih prostorov in vrednosti filtrov) se razširijo v svoja polna imena XObjectov slik, tako da je izvlečen predmet skladen s standardi - Slovar
/Resources /XObjectstrani se posodobi z novimi sklici XObject, prepisani tok vsebine pa se stisne s Flate TPdfInlineImageExternaliseReportporoča o številih izvlečenih, preskočenih in spodletelih slik ter o številu ustvarjenih XObjectovTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.84.0
Version 2.83.0
Dodano (Added)
TPdf.SaveAsFlateRecompressedprepiše dokument in znova kodira upravičene tokoveFlateDecodepri največjem stiskanju, pri čemer tok zamenja samo, ko izmerjena prihranitev bajtov preseže prag klicnikaTPdfFlateRecompressOptionsizbere najmanjšo prihranitev v bajtih in najmanjše razmerje prihranitve, tako da že optimalni tokovi ostanejo nedotaknjeniTPdfFlateRecompressReportporoča o številih ponovno stisnjenih, preskočenih in spodletelih tokov skupaj z izvirnimi in ponovno stisnjenimi skupnimi bajti tokov- Številke in generacije predmetov ostanejo stabilne; spremenijo se samo ponovno stisnjene vsebine tokov in njihove neposredne vrednosti
/Length, tako da vsak preživeli navzkrižni sklic ostane veljaven TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.83.0
Version 2.82.0
Dodano (Added)
TPdf.OptimizeImagesobide vse slikovne predmete strani in podvzorči tiste, katerih učinkovita postavitev DPI presega cilj klicnika, nato vsako dotaknjeno stran uveljavi prek izvornega generatorja vsebineTPdfImageOptimizeOptionsizbere ciljni DPI in najmanjše razmerje, tako da se prekodirajo samo slike, ki so resnično prekomerno vzorčeneTPdfImageOptimizeReportporoča o številih optimiziranih, preskočenih in spodletelih slik skupaj s strukturiranim sporočilom o napaki- Podvzorčenje uporablja prehod najbližjega soseda prek izvornega medpomnilnika bitne slike PDFium, ohranja izvorno obliko, korak in kanal alfa,
FPDFImageObj_SetBitmappa prekodira preživelo sliko TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.82.0
Version 2.81.0
Dodano (Added)
TPdf.SaveAsDeduplicatedprepiše dokument kot eno čisto revizijo, ki združi združljive pisave, slike in form XObjecte na enega skupnega predstavnika- Rekurzivni prstni odtis vsebine združi vsak slovar virov, njegov celoten dosegljiv podgraf in njegovo surovo vsebino toka, tako da se podvojki združijo samo, kadar je njihova celotna vsebina identična
- Vsak navzkrižni sklic na odstranjenega podvojka se prepiše na preživelega predstavnika, obnovljena klasična tabela navzkrižnih sklicev pa ohrani številke predmetov stabilne
TPdfDedupReportporoča o številih ohranjenih in obrezanih predmetov ter o združenih številih pisav, slik in form XObjectov po kategorijahTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.81.0
Version 2.80.0
Dodano (Added)
TPdf.SaveAsReachableprepiše dokument kot eno čisto revizijo, ki obdrži samo posredne predmete, dosegljive iz kataloga in slovarja trailer /InfoTPdfPruneReportporoča o številih ohranjenih in obrezanih posrednih predmetov skupaj z velikostmi vira in izhoda v bajtih ter strukturiranimi razlogi napak za šifrirane ali deformirane vhode- Nedosegljivi osiroteli predmeti, ki so jih pustile postopne posodobitve, spajanja strani ali popravljena shranjevanja, se pometejo, obnovljena klasična tabela navzkrižnih sklicev in trailer pa ohranita
/Root,/Infoin/IDbrez preštevilčenja TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.80.0
Version 2.79.0
Dodano (Added)
TPdf.CreateDocumentSearchustvari iskanje po celotnem dokumentu naprej ali nazaj, ki vrača po eno zadetko naenkrat, ne da bi zgradil indeks besedila celotnega dokumentaTPdfDocumentSearchResultporoča o strani z eno-osnovnim indeksom, obsegu znakov, ujemajočem se besedilu in pravokotnikih prostora strani za vsak rezultat- Seje iskanja sprejemajo
IPdfCancellationToken, obdržijo samo trenutne ročice strani in besedila PDFium ter se varno zaključijo, ko se dokument zapre TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.79.0
Version 2.78.0
Spremenjeno (Changed)
TPdfRangeRequestSchedulerzdaj premesti prekrivajoče se prenose z nižjo prioriteto, tako da namigi PDFium, kritični za strani, ne čakajo za prenose v ozadju- Zunaj dostopni redki bajti prekličejo odvečne dejavne prenose, nadomeščeni ali podvojeni povratni klici prenosov pa vrnejo False, ne da bi objavili zastarelo pokritost
- Napredovanje prioritete ohrani neodvisne zgodovine ponovnih poskusov, premestitev transporta pa ne porabi proračuna ponovnih poskusov nezadetih repov obsegov
TPdfRangeRequestStatistics.SupersededRequestCountporoča o transportnem delu, ki ga je izrinil namig z višjo prioriteto ali zunaj priskrbljena pokritostTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.78.0
Version 2.77.0
Dodano (Added)
TPdf.SaveAsNormalizedContentzapiše skladnjsko normalizirano vsebino strani v tok ali atomarno zamenjano datoteko in poroča o številih normaliziranih, preskočenih in spojenih straniNormalizePdfContentSequencezagotavlja omejeno samostojno normalizacijo žetonov za dekodirana zaporedja tokov vsebine
Spremenjeno (Changed)
- Polja
/Contentsstrani je zdaj mogoče spojiti v en tok, pri čemer se ohranijo nizi, imena, vsebine inline slik, neznani operatorji in grafično stanje čez tokove - Deformirani žetoni, neuravnovešeni obsegi stanja, nepodprti filtri, šifriran vhod in prepisi podpisanih dokumentov imajo izrecne pravilnike in strukturirano poročanje stanja
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.77.0
Version 2.76.0
Dodano (Added)
TPdfStreamInspectorpopiše poljubne fizične predmete tokov PDF in poroča o odmikih predmetov, surovih dolžinah, verigah filtrov, DecodeParms, označevalcih zunanjih datotek, stanju šifriranja ter izvornih poteh slik ali prilogCopyRawDatakopira popolne kodirane vsebine ali validirana okna bajtov,DecodeDatapa uveljavi napovednike ASCIIHex, ASCII85, LZW, Flate, RunLength, TIFF 8-bit in PNG v napovedanem vrstnem reduTPdfStreamInspectOptionsomejuje vire vira, surovih in dekodiranih podatkov, slovarjev, števila tokov in razmerja širitve s strukturiranimi poročili za omejitve, deformirane podatke, nepodprte kodeke, šifriranje in napake pisanja
Spremenjeno (Changed)
- Ločevanje dolžin tokov zdaj izpostavi točne razpone za neposredne in posredne vrednosti
/Length, vključno s tokovi ničelne dolžine in vsebinami, ki vsebujejo dobesedno zaporedjeendstream TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.76.0
Version 2.75.0
Dodano (Added)
TPdfLoadOptionsdoda politike združljivo, strogo in obnovitveno nalaganju datotek, pomnilnika, obsegov bajtov in tokov po meriTPdfLoadReportporoča o izvorni poti obnove, veljavnosti xref, poškodovanih odmikih, sparih vnosih, številih revizij, proračunih pregleda in strukturiranih težavah za klasične, hibridne dokumente in dokumente z xref tokoviTPdf.SaveAsRepairedustvari popoln izvod z eno revizijo in ga neodvisno strogo naloži, preden dostavi preverjen tok ali atomarno zamenja ciljno datoteko
Spremenjeno (Changed)
- Obstoječe preobrazitve nalaganja ohranjajo združljivo obnašanje in zdaj objavljajo izvorno veljavnost xref in stanje obnove prek
LastLoadReport - Strogo nalaganje zavrne dokumente, ki so zahtevali izvorno obnovo xref ali spodleteli pri strukturnem pregledu, izhod popravila podpisanega dokumenta pa zahteva izrecno pooblastilo klicnika
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.75.0
Version 2.74.0
Dodano (Added)
TPdf.MergeFilesspoji sezname virov iz datotek z obsegi strani in gesli po viru, pri čemer ima odprt največ en izvorni dokumentTPdfBatchMergeOptionsdoda obravnavo napak ustavi ali preskoči, uvoze po virih ali v kosih, pravilnike obrazcev in orisov, nadzor vstavljanja, povratne klice napredka, preklic, kopiranje nastavitev pregledovalnika in nadzor povrnitveTPdfBatchMergeReportporoča o uveljavljenih in povrnjenih straneh, izidih virov, izvornih klicih uvoza, največji skupini, največ odprtih virih, zaznavah pravilnikov, težavah in končnem stanju
Spremenjeno (Changed)
- Privzeta pot paketnih združitev izvede na vir en izvorni uvoz strani, da lahko PDFium znova uporabi klonirane predmete tega vira, nato vir zapre, preden odpre naslednjo datoteko
- Kosovni način ponuja drobnejše odločilne točke preklica in manjše izvorne skupine, spodleteli delni viri ter izidi ustavi ali preklica pa lahko odstranijo vse strani, ki jih je vstavila operacija
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.74.0
Version 2.73.0
Dodano (Added)
TPdfRandomAccessStorezagotavlja z varnimi niti zaporedni in pozicionirani vhodno-izhodni dostop, drži majhne vsebine v omejenem pomnilniku in se enkrat razlije v zasebno začasno shrambo pri stropu, ki ga izbere klicnikTPdf.SaveMemoryLimitinSaveTemporaryDirectorynastavita stopnjevanje shranjevanja,LastSaveSpillCountinLastSaveLargestMemoryBufferpa izpostavita merljivo diagnostiko na posamezno shranjevanje
Spremenjeno (Changed)
- Medpomnilniki stopnjevanja shranjevanja, pretvorbe po standardih, validacije, šifriranja, DSS in PAdES zdaj delijo omejeno delovno shrambo z izključnimi razlitimi datotekami, izbrisanimi ob zaprtju, in brisanjem pomnilnika
- Povratni klici blokov PDFium po meri serijsko izvedejo običajna iskanja po tokovih in uporabijo pozicionirana branja, neodvisna od kazalca, kadar jih podpira
TPdfRandomAccessStore - Pregled zmožnosti XFA iz datoteke zdaj bere prekrivajoče se bloke fiksne velikosti, namesto da bi kopiral celoten PDF v pomnilnik
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.73.0
Version 2.72.0
Dodano (Added)
TPdf.BeginIncrementalSave,CommitIncrementalSaveinEndIncrementalSavezagotavljajo sejo revizij, ki pripne samo spremenjene ali na novo ustvarjene posredne predmeteTPdfIncrementalCommitInfoporoča o številu spremenjenih predmetov, pripetih bajtih, skupnih bajtih izhoda in uspešnem številu revizij za vsako uveljavitev
Spremenjeno (Changed)
- Vsaka umazana uveljavitev ohrani popoln prejšnji izhod kot točno bajtno predpono, ne izpusti revizije, ko se nič ni spremenilo, in nadaljuje izvorno obliko klasičnega ali xref toka vira
- Izvorni postopen izhod xref toka se popravi s svojo zahtevano vrsto, lastnim vnosom, dolžino, indeksom in zaključevalnikom predmetov, preden se obdelava nadaljuje
- Šifrirani dokumenti se zavrnejo, preden se seja začne, podpisani dokumenti pa zahtevajo izrecno dovoljenje klicnika, tako da pravilnika podpisov ni mogoče po nesreči obiti
- Datotečna preobrazitev dokonča sestrsko začasno datoteko, preden atomarno zamenja cilj, in povrne stanje seje po vsaki napaki pisanja ali zamenjave
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.72.0
Version 2.71.0
Dodano (Added)
TPdf.SaveAsObjectStreamzapiše datoteke PDF 1.5+ z omejenimi stisnjenimi skupinami predmetov in čistim xref tokom, ki vsebuje popolne vnose tipa 2PackPdfObjectStreamslahko posodobi klasične, hibridne, xref in obstoječe vhode tokov predmetov po razrešitvi dejavne revizije
Spremenjeno (Changed)
- Urejanje predmetov po straneh, prilagodljive širine polj xref, neposreden dostop do kataloga in nastavljive meje članov ter dekodiranih bajtov uravnotežijo velikost datoteke z zmogljivostjo naključnega dostopa
- Datotečna preobrazitev dokonča sestrsko začasno datoteko, preden atomarno zamenja cilj, neveljavne možnosti postopnega shranjevanja, različic in združevanja pa se zavrnejo, preden se izhod začne
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.71.0
Version 2.70.0
Dodano (Added)
TPdf.SaveAsLinearizedzapiše pravi PDF Fast Web View v tok ali datoteko z združevanjem predmetov prve strani, dvema razdelkoma navzkrižnih sklicev in tabelama namigov odmikov strani ter deljenih predmetov iz Priloge F- Dejavni člani tokov predmetov se samodejno utelešijo, kar omogoča, da vhodi xref tokov in tokov predmetov postanejo izhod, prijazen za obsege, ne da bi se vidna vsebina strani spremenila
Spremenjeno (Changed)
- Datotečna preobrazitev dokonča sestrsko začasno datoteko, preden atomarno zamenja cilj, tokovna preobrazitev pa ohrani običajne možnosti shranjevanja PDFium in izrecne preglede različic
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.70.0
Version 2.69.0
Dodano (Added)
TPdfRangeRequestSchedulerpretvori namige obsegov bajtov PDFium v prioritizirano, spojeno, po velikosti omejeno transportno delo, ne da bi vsiljeval zvezen prenos- Popolna in delna zaključitev, omejeni ponovni poskusi, razpodvajanje redke dostopnosti, statistika zahtev in varstvo pred generacijami preklica podpirajo cevovode HTTP Range in transporte po meri
TPdfProgressiveDocument.RangeRequestssamodejno prejema namige dokumentov, obrazcev in strani ter povišuje samo točne bajte, ki blokirajo interaktivno stran
Spremenjeno (Changed)
CancelProgressiveLoadzdaj prekliče dejavno delo obsegov, preden se izvorna razpoložljivost in tok razstavita, zastarele zaključitve transporta pa se varno prezrejoTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.69.0
Version 2.68.0
Dodano (Added)
TPdfProgressiveDocumentohrani sejo razpoložljivosti PDFium živo, medtem ko oddaljeni ali rastoči tok naključnega dostopa prejema obsege bajtov, ki jih PDFium zahtevaCheckDocumentAvailability,CheckFormAvailabilityinLoadAvailablePagevračajo združene namigeTPdfDownloadRange, tako da lahko gostitelj pridobi samo podatke, potrebne za odprtje in prikaz linearizirane straniAvailableByteCountpodpira monotona zvezna nalaganja,OnDataAvailablepa redke in neurejene predpomnilnike obsegov
Spremenjeno (Changed)
- Linearizirane datoteke uporabljajo izvorna vrata postopnega dokumenta, obrazca in strani PDFium; nelinearizirane datoteke se po prisotnosti celotne datoteke samodejno preklopijo na izvorni nalagalnik tokov po meri
TPdfStreamAdapterlahko izpostavi logično končno velikost, ki se razlikuje od trenutno shranjenih bajtov, ob ohranitvi izrecne meje 4 GiBFPDF_FILEACCESSTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.68.0
Version 2.67.0
Dodano (Added)
TPdfView.AllowFormEventsizklopi miškine, tipkovne dogodke in dogodke fokusa, ki jih pregledovalnik posreduje plasti izpolnjevanja obrazcev, za pregledovalnik samo za branje ali takega, ki sam poganja interakcijo z obrazci- Polja obrazcev se z izklopljenim stikalom kljub temu izrišejo normalno: nalaganje in zapiranje strani sta namenoma ostala nezavarovani, saj ti dve inicializirata plast obrazcev in ne odreagirata na vhod
- Stikalo se pridruži obstoječima preklopnikoma
AllowUserPageChangeinAllowUserTextSelectionin privzeto velja True, tako da se obstoječe obnašanje ne spremeni
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.67.0
Version 2.66.0
Dodano (Added)
- Poimenovana dejanja, ki jih dokument sproži (ISO 32000-1 §12.6.4.11), zdaj dosežejo gostitelja prek novega dogodka
OnNamedAction; prej je bilo vsako od njih zavrženo - Brez obdelave štiri standardna imena navigacije —
NextPage,PrevPage,FirstPage,LastPage— premaknejo stran, s pripenjanjem na prvo in zadnjo namesto ovijanja TPdf.PerformNamedActionomogoča aplikaciji sprožiti enako obnašanje neposredno, za ime, ki nima pomena, ki ga daje knjižnica, pa vrne False
Popravljeno (Fixed)
- En test šifriranja je meril telo toka z branjem nazaj od
endstream, kar je občasno zamenjalo šifrirani bajt za zaključevalnik vrstice in poročalo občasno napako; knjižnica je bila ves čas pravilna
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.66.0
Version 2.65.0
Dodano (Added)
BuildToUnicodeCMapustvari preslikavo ToUnicode CMap (ISO 32000-1 §9.10.3), ki jo potrebuje pisava CID, da je njeno besedilo mogoče kopirati, iskati in brati z asistivno tehnologijo — brez nje se besedilo pravilno izriše, a izvleže kot nič- Vnosi se zapisujejo po kosih na meji 100 na blok, ki jo določa specifikacija, podvojeni glifi se zapišejo enkrat,
.notdefpa se preskoči - CMap sledi konvenciji CID = GID, zato zraven ni potreben noben tok
CIDToGIDMap
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.65.0
Version 2.64.0
Dodano (Added)
- Zabilki z risom peresom in žigom se rišeta iz svojih lastnih predmetov strani in ne iz toka vsebine strani, ti predmeti pa so zdaj dosegljivi:
AnnotationObjectCountinAnnotationObjectInfoju bereta,AddPathToAnnotationzabilki izroči pot, zgrajeno zCreatePath,RemoveAnnotationObjectpa eno izbriše - Gradnja videza žiga ne zahteva več zunanjega orodja: pot ustvarite kot običajno, nato jo izročite zabilki in ne strani
- PDFium sprejema predmete strani samo na podtipih risa peresa in žiga, zato se vsak drug podtip zavrne s sporočilom, ki poimenuje omejitev, namesto nerazložljivega neuspeha
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.64.0
Version 2.63.0
Dodano (Added)
TPdf.AddStandardFontTextnariše besedilo z eno od 14 pisav, ki jih mora zagotavljati vsak bralnik PDF, brez vdelave katere koli pisavne programa — nastala datoteka je merljivo manjša od enakega besedila, narisanga zAddText, ki vgradi sistemsko rezilo, ki ga najde- Novi enum
TPdfStandardFontpoimenuje vseh 14 rezil, tako da klicnik ne more napačno natipkati imena osnovne pisave; PDFium se z imeni ujema natanko in tipkarska napaka bi tiho povzročila odsotnost pisave - PDF/A in PDF/X oba zahtevata, da je vsaka pisava vdelana, zato naj izhod, namenjen tem profilom, še naprej uporablja
AddText
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.63.0
Version 2.62.0
Dodano (Added)
TPdf.TextObjectGlyphOutlinevrne obrobo enega glifa pisave besedilnega predmeta kot segmente poti, za pretvorbo besedila v vektorsko grafiko ali pregled glifa, ki ga je morda spremenila zamenjava pisave- Rezultat znova uporablja obstoječo vrsto
TPdfPathSegments, zato se bere natanko tako kot obroba izrisanega predmeta poti - Koordinate so v lastnem oblikovalnem prostoru pisave, normalizirane tako, da je en em 1.0; zahtevana velikost pisave jih ne skalira, zato klicnik, ki želi enote naprave, sam pomnoži z velikostjo v točkah
- Prazen rezultat pomeni, da pisava za ta glif ne izpostavlja obrobe, kar ni napaka; zahteva po glifu nebesedilnega predmeta sproži izjemo
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.62.0
Version 2.61.0
Dodano (Added)
TPdf.InspectAvailabilityporoča, kaj lahko PDFium pove o PDF brez nalaganja kot dokument: ali je datoteka linearizirana (“spletno optimizirana”), ali bi popolna razčlenitev uspela, ali nosi podatke obrazca in katero stran bi pregledovalnik pokazal prvo- Novi tipi
TPdfAvailability,TPdfLinearizationinTPdfFormAvailabilitynosijo odgovore; tok se prebere, a ne obdrži, njegov položaj pa se ob vrnitvi povrne - To zapre zadnjo vrzel v družini
FPDFAvail_*, ki je bila vezana in naložena, a brez klicnika kjerkoli v knjižnici - Delphi, Lazarus in C++Builder vsak pokrivajo poročana dejstva, zagotovilo položaja toka in zavrnitev toka nil
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.61.0
Version 2.60.0
Dodano (Added)
- Označena vsebina (ISO 32000-1 §14.6) je zdaj dosegljiva iz API-ja visoke ravni:
PageObjectMarksprebere vsako oznako BDC in njen seznam lastnosti s predmeta strani,AddPageObjectMarkeno zapiše,RemovePageObjectMarkeno izbriše,PageObjectMarkedContentIDpa poroča MCID - Novi tipi
TPdfContentMark,TPdfContentMarkParaminTPdfMarkParamKindnosijo ime oznake in njene tipizirane parametre (integer, float, string, blob), vrsta vrednosti pa se razreši iz PDFium in ne ugiba iz getterja, ki uspe - Dodajanje oznake ponovno zgradi tok vsebine strani, tako da oznaka preživi shranjevanje; to je moralo biti izrecno, ker
SaveAssam ne regenerira vsebine - Delphi, Lazarus in C++Builder vsak nosijo šest primerov, vključno z enim, ki napihne shranjen tok vsebine, da potrdi, da sta operator BDC in njegov seznam lastnosti resnično pristala
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.60.0
Version 2.59.0
Dodano (Added)
TPdfAnnotationdobiHasLinkUriinLinkUri, tako daCreateAnnotationzdaj lahko proizvede delujočo spletno povezavo: zabilka se shrani z dejanjem/URI, usmerjenim na dani naslov- Nastavitev URI povezave na kateri koli podtip razen
anLinksproži izjemo, saj samo zabilka Link nosi slovar dejanj - Polje je za zdaj samo za pisanje; branje cilja povezave nazaj poteka skozi družino
FPDFLink_*, ki potrebuje ročico dokumenta - Delphi, Lazarus in C++Builder vsi preverijo, da shranjeni bajti nosijo dejanje
/URIin ciljni naslov
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.59.0
Version 2.58.12
Dodano (Added)
- Validacija PDF/X poroča
pvxiTrimBoxWithArtBox, ko stran nosi/TrimBoxin/ArtBoxskupaj; oba navajata dokončano stran, zato RIP nima načina, da ve, katera je avtoritativna (ISO 15930) - Validacija PDF/X poroča
pvxiPageBoxOutsideMediaBox, ko/TrimBoxali/BleedBoxsega ven iz/MediaBox, vključno z okvirjem z negativnim izhodiščem; okvirja čez medij ni mogoče slikati - Pravokotniki se pred primerjavo normalizirajo, tako da je sprejeta katerakoli vrstni red oglišč, okvir, ki se točno dotika roba medija, pa še vedno velja
- Poročila preflighta razvrstita obe težavi pod strukturo in poimenujeta konkretno zdravilo
- Delphi, Lazarus in C++Builder pokrivajo oba zavrnjena primera ter skladni primer
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.58.12
Version 2.58.11
Dodano (Added)
- Validacija PDF/UA poroča
pvuaiTociWithoutToc, ko dokument označi vnose TOCI, nikoli pa vsebnika TOC, ki jim pripada, kar pušča asistivno tehnologijo, da napoveduje predmete kazala brez kazala (ISO 14289-1 §7.7) - Poročila preflighta razvrstijo težavo pod strukturo in priporočijo ovijanje vnosov v element TOC
- C++Builder dobi svojo prvo pokritost testov PDF/UA poleg primerov Delphi in Lazarus
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.58.11
Version 2.58.10
Dodano (Added)
- Validacija PDF/A poroča
pvaiSymbolicTrueTypeEncoding, ko simbolična pisava TrueType nosi vnos/Encoding; ISO 19005-1 §6.3.7 dopušča samo vgrajeno cmap pisave, zato bi se mu/Encodingupiral - Simbolična zastavica se prebere iz
/FontDescriptor, ne glede na to, ali je zapisan neposredno v slovarju pisave ali posredno sklican; nesimbolična pisava obdrži svoj zahtevani/WinAnsiEncodingali/MacRomanEncoding, ne da bi bila označena - Poročila preflighta razvrstijo težavo pod vsebino in priporočijo odstranitev vnosa
- Delphi in Lazarus pokrivata označen primer ter oba sprejeta primera; C++Builder pokriva označeni in nesimbolični primer
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.58.10
Version 2.58.9
Dodano (Added)
- Validacija PDF/A poroča o mejah vsebnikov iz Priloge C ISO 19005-1:
pvaiNameOverLimitza imena, daljša od 127 bajtov,pvaiArrayOverLimitnad 8191 elementov,pvaiDictOverLimitnad 4095 vnosov inpvaiNestingOverLimitnad 28 ravni gnezdenja - Meje so vključujoče, zato vsebnik, ki stoji točno na meji, še vedno velja; testi pripenjata tako zavrnjeno kot sprejeto stran vsake meje
- Poročila preflighta razvrstijo štiri težave pod strukturo in v vsaki priporočili poimenujejo konkretno mejo
- Delphi in Lazarus pokrivata vse štiri meje plus mejne primere; C++Builder pokriva mejo arraya in mejni primer
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.58.9
Version 2.58.8
Dodano (Added)
- Validacija PDF/R poroča
pvriPageImageMismatch, ko število slik ne ustreza številu strani; ISO 23504-1 §6.5.1 dela vsako stran natanko eno sliko pasu, zato stran brez nje ali z več ni skladna - Testi Delphi, Lazarus in C++Builder pokrivajo stran brez slike, stran z dvema in skladni primer ene slike
Spremenjeno (Changed)
- Testi vbrizgavanja markerjev PDF/R se zdaj izhajajo iz izvorne strani, ki že nosi sliko pasu, saj vbrizgavanje markerjev doda metapodatke in ne more priskrbeti vsebine strani
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.58.8
Version 2.58.7
Dodano (Added)
- Validacija PDF/R poroča
pvriFontForbidden, ko stran imenuje vir pisave; stran PDF/raster nosi skenirano sliko in nič drugega (ISO 23504-1 §6.5.2) - Validacija PDF/R poroča
pvriForbiddenImageFilterza kodiranja pasov izven belega seznama, tako da se/LZWDecode,/RunLengthDecode,/ASCII85Decode,/ASCIIHexDecode,/JBIG2Decodein/Cryptzavrnejo,/CCITTFaxDecode,/DCTDecode,/JPXDecodein/FlateDecodepa prenesejo (ISO 23504-1 §6.6) - Poročila preflighta razvrstita obe težavi pod vsebino in priporočita konkretno zdravilo
- Testi Delphi, Lazarus in C++Builder pokrivajo vir pisave, zavrnjen filter in stran, ki uporablja samo kodiranja z belega seznama
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.58.7
Version 2.58.6
Dodano (Added)
- Validacija PDF/E poroča
pveiFontNotEmbedded, ko dokument kaže uporabo pisave, a ne nosi vdelanega pisavnega programa, zato se zahteva preverja tudi na poti brez DLL poleg poti prek PDFium - Inženirska risba se mora izrisati enako desetletja kasneje, zato ISO 24517-1 ne oprosti nobene od standardnih 14 pisav; preverjanje enako velja za
/Type1,/TrueType,/Type0in/MMType1 - Poročila preflighta razvrstijo novo težavo pod vsebino in priporočijo vdelavo vsakega pisavnega programa
- Testi Delphi, Lazarus in C++Builder pokrivajo deskriptor brez programa, vdelan
/FontFile2in dokument, ki ne uporablja nobene pisave
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.58.6
Version 2.58.5
Dodano (Added)
InjectPdfEMarkerszdaj zapiše output intent, ki ga zahteva ISO 24517-1 §6.2: vdelani ciljni profil ICC sRGB, output intent/GTS_PDFE1, ki ga poimenuje, in polje/OutputIntentskataloga, vse kot del iste postopne posodobitve- Tok profila izpelje svoj
/Niz glave ICC in ne predpostavlja treh komponent, zato bi bil profil CMYK opisan pravilno - Validacija PDF/E poroča
pveiMissingOutputIntentinpveiMissingIccProfile, zato kandidat brez izjavljene barvne razmere ni več sprejet - Testi Delphi, Lazarus in C++Builder pokrivajo sprejet output intent, takega brez ciljnega profila in katalog brez output intenta
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.58.5
Version 2.58.4
Dodano (Added)
- Validacija PDF/X zdaj poroča
pvxiFontNotEmbeddediz pregleda bajtov, tako da se nevdelana pisava ujame na poti brez DLL in ne samo prek preverjanja, ki ga podpira PDFium - Za razliko od PDF/A standardnih 14 pisav v PDF/X ni oproščenih, zato se poroča vsaka uporaba pisave brez vdelanega pisavnega programa
- Preverjanje ostaja previdno: sproži se samo, ko datoteka kaže uporabo pisave, a sploh ne nosi
/FontFile,/FontFile2ali/FontFile3, ker štetje deskriptorjev proti programom daje lažne pozitivne pri deljenih deskriptorjih - Testi Delphi, Lazarus in C++Builder pokrivajo deskriptor brez programa, vdelan program in dokument, ki ne uporablja pisave
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.58.4
Version 2.58.3
Dodano (Added)
- Validacija PDF/X zdaj poroča
pvxiColorSpaceForbidden, ko kandidat PDF/X-1a nosi/DeviceRGB,/CalRGBali/Lab, kar ISO 15930-1 §6.2 izključuje iz svoje izmenjave CMYK - Preverjanje je zaprto samo na PDF/X-1a, zato PDF/X-3 in kasnejši še naprej dopuščajo RGB ter napravi neodvisne prostore, ki jih družijo z output intentom
- Preizkušeni so samo nedvoumni žetoni imen barvnih prostorov; tok
ICCBasedpotrebuje razrešitev svojega/Nin ostaja v plasti modela predmetov - Testi Delphi, Lazarus in C++Builder pokrivajo označen prostor RGB, označen prostor Lab, sprejet par CMYK in sivine ter dovoljen primer na PDF/X-3
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.58.3
Version 2.58.2
Dodano (Added)
- Validacija PDF/X zdaj poroča
pvxiTransparencyForbiddenza skupino prosojnosti ali dejavno mehko masko, kar ISO 15930-1 §6.2 (PDF/X-1a) in ISO 15930-3 §6.3 (PDF/X-3) prepovedujeta - Preverjanje je zaprto na zaznano skladnost, zato PDF/X-4 in PDF/X-6 še naprej dopuščata prosojnost, datoteka, katere ravni ni bilo mogoče prepoznati, pa nikoli ni označena za pravilo, ki morda ne velja zanjo
- Mehka maska, izrecno izklopljena s
/SMask /None, se ne šteje za prosojnost PdfHasActiveSMaskse je preselila izFPdfPdfav vmesnikFPdfPdfCommon, tako da lahko vsak validator deli eno pravilo mehke maske- Testi Delphi, Lazarus in C++Builder pokrivajo označeno skupino na X-1a, označeno mehko masko na X-3, onemogočeno mehko masko in dovoljen primer na X-4
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.58.2
Version 2.58.1
Dodano (Added)
- Validacija PDF/X zdaj preverja obliko output intenta, ki jo zahteva ISO 15930-7 §6.2.4:
pvxiOutputIntentSchemeporoča podtip, ki je prisoten, a ni/GTS_PDFX,pvxiOutputIntentMissingIdentifierpa poroča manjkajoči/OutputConditionIdentifier - Podtip se ujema kot celoten žeton imena, zato daljše ime, kot je
/GTS_PDFXVersion, ne mine več, pobegnilni zapis#xxistega imena pa še vedno - Output intent, ki sploh ne nosi podtipa, se pusti pri miru, ker njegovo odsotnost že poročajo težave na ravni markerjev
- Poročila preflighta uvrstita obe težavi pod kategorijo output intenta in predlagata popravilo
- Testi Delphi, Lazarus in C++Builder pokrivajo sprejet podtip, podtip PDF/A, daljši žeton imena, odsoten podtip in manjkajoči identifikator pogoja
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.58.1
Version 2.58.0
Spremenjeno (Changed)
- Vseh 35 povratnih klicev, ki jih PDFium prikliče iz svojih okvirjev C++ (izpolnjevanje obrazcev, XFA, platforma JavaScript, premor postopnega izrisa ter branje in pisanje tokov), zdaj zadrži morebitno izjemo Pascal in vrne dokumentirano vrednost neuspeha, namesto da bi se odvila čez mejo jezikov
- Obdelovalec dogodka, ki sproži izjemo, spodletela dodelitev ali nepričakovana napaka znotraj povratnega klica tako procesa ne more več seči ali pustiti PDFium v nedoločenem stanju
Popravljeno (Fixed)
- Registracija časovnika obrazca je puščala svoj vnos, ko osnovnega časovnika ni bilo mogoče ustvariti
Dodano (Added)
- Testi Delphi, Lazarus in C++Builder zdaj pokrivajo shranjevanje v ciljni tok, ki zavrača pisanja, in potrjujejo, da dokument tudi potem ostane uporaben in da ga je mogoče shraniti
Version 2.57.8
Popravljeno (Fixed)
- Starejše izdaje Delphi (XE5 in prej) so prenehale prevajati poskusno knjižnico z
E2003 Undeclared identifier: 'GetTickCount64'vFPdfPades.pas, ker enota Windows, priložena tem prevajalnikom, ne izvaža simbola - Isti prevajalniki so spodleteli tudi na
GetUserDefaultLocaleNamevPDFium.pasin na dodelitevTBytesvarray of BytevGetXfaFormPackets, tako da povratni klic locale XFA in posnetek paketov zdaj gradita tudi na teh prevajalnikih
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.57.8
Version 2.57.7
Spremenjeno (Changed)
- Vsak prepis na strani shranjevanja zdaj prireže ciljni tok pred pisanjem, namesto da bi ga le premaknila nazaj, tako da klicnikov medpomnilnik, ki je že nosil daljši dokument, ne more obdržati zastarelega repa čez novi
%%EOF - Testi Delphi, Lazarus in C++Builder zdaj pokrivajo shranjevanje v vnaprej zapolnjen tok
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.57.7
Version 2.57.6
Popravljeno (Fixed)
- Pregled predmetov pred šifriranjem je sprejemal številske nize poljubne dolžine, zato je lahko dolgo število kjerkoli v datoteki obšlo v negativno ali izmišljeno številko predmeta in dodalo fantomski vnos v obnovljeno tabelo navzkrižnih sklicev
- Številke predmetov nad mejo Priloge C ISO 32000-1 in generacije nad 65535 se zdaj zavrnejo kot glave predmetov, namesto da bi bile okleščene
Dodano (Added)
- Testi Delphi, Lazarus in C++Builder zdaj potrjujejo točno število vnosov v uporabi obnovljene tabele
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.57.6
Version 2.57.5
Popravljeno (Fixed)
- Šifriranje z
EncryptMetadata = Falseje zapisalo/EncryptMetadata falsev slovar Encrypt, a vseeno šifriralo tok metapodatkov dokumenta, tako da je bralnik, ki sledi tej izjavi, našel neberljiv XMP - Tok
/Type /Metadatase zdaj kopira nespremenjeno, ko je šifriranje metapodatkov izklopljeno, vsak drug tok pa se še vedno šifrira
Dodano (Added)
AnsiNameTokenMatchesKeyje zdaj del vmesnikaFPdfPdfCommonza primerjave imen, ki se zavedajo ločil- Testi Delphi, Lazarus in C++Builder zdaj pokrivajo oba načina šifriranja metapodatkov
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.57.5
Version 2.57.4
Popravljeno (Fixed)
- Tabela navzkrižnih sklicev, obnovljena med šifriranjem, je izpustila obvezno glavo proste liste predmet 0, ki jo zahteva ISO 32000-1 §7.5.4, zato se je njena prva podsekcija začela en predmet prepozno
- Vsak obnovljen vnos je trdil generacijo 0; predmeti, zapisani z višjo generacijo, jo zdaj obdržijo, tako da se tabela strinja z glavami predmetov, na katere kaže
Dodano (Added)
- Testi Delphi, Lazarus in C++Builder zdaj pokrivajo vnos glave proste liste in ohranjanje generacij v obnovljeni tabeli
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.57.4
Version 2.57.3
Popravljeno (Fixed)
- Šifriran izhod je izpustil ključno besedo
streamvsakega predmeta toka, zato shranjena datoteka ni bila več veljavna skladnja PDF in strogi bralniki so vsebino strani prijavili kot ne tok in ne polje tokov - Prepis
/Lengthse je ujemal z/Lengthkot z navadnim podnizom, zato je slovar toka, ki je nosil/Length1(katera koli vdelana pisava), dobil pokvarjeno ime ključa, medtem ko je prava dolžina ostala zastarela - Tok, ki je svojo dolžino navedel posredno kot
/Length N 0 R, je dobil številko predmeta prepisano z novo dolžino; vnos se zdaj zamenja z neposredno šifrirano dolžino - Slovar toka brez
/Lengthsploh zdaj dobi enega, namesto da bi bralnika pustil brez dolžine
Dodano (Added)
AnsiFindDictKeyTokenje zdaj del vmesnikaFPdfPdfCommonza iskanja ključev slovarjev na vrhnji ravni, ki se zavedajo ločil- Testi Delphi, Lazarus in C++Builder zdaj pokrivajo ohranjanje
/Length1, zamenjavo posredne dolžine in soglasje velikosti telesa toka
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.57.3
Version 2.57.2
Popravljeno (Fixed)
SaveAsEncryptedinSaveAsEncryptedToStreamzRevision = erR6sta proizvajala dokumente, ki so v približno eni od štirih datotek zavrnili svoje lastno pravilno geslo, ker je števec krogov algoritma 2.B ISO 32000-2 §7.6.4.3 začel en krog prenizko in je dodatni krog spremenil vrednosti/U,/O,/UEin/OE- Dokumenti, šifrirani z R6, se zdaj odprejo z uporabniškim ali lastniškim geslom v katerem koli skladnem bralniku in še vedno zavrnejo napačno geslo
Dodano (Added)
- Testna paketa Lazarus in C++Builder sta dobila pokritost šifriranja, ki je bila prej samo v Delphiju: dolžine ključev R6, polja slovarja Encrypt, ponovljen krog šifriranja in odpiranja ter zavrnitev napačnega gesla
Spremenjeno (Changed)
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.57.2
Version 2.57.1
Spremenjeno (Changed)
- Tipkanje v polje obrazca, premikanje kazalke in preklapljanje potrditvenih polj zdaj prebarvajo samo območje, ki ga PDFium prijavi kot poškodovano, namesto celega pregledovalnika
- Okvirji poškodb se normalizirajo za navzgor usmerjeno os Y strani, razširijo za eno slikovno piko, da meje gradnikov z glajenjem robov ostanejo čiste, in obrežejo na vidno odjemalno območje
- Okvir poškodbe, ki je popolnoma zdrsan iz vidnega polja, ne razporedi več prebarvanja, neaktiven pogled ali nepreslikana stran pa še vedno preideta na polno prebarvanje
- Testi Delphi, Lazarus in C++Builder zdaj pokrivajo omejeno neveljavnost obrazcev, obrnjene okvirje strani, okvirje izven zaslona in varnost neaktivnega pogleda
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.57.1
Version 2.57.0
Dodano (Added)
TPdfThumbnailView.Orientationpodpira navpične in vodoravne postavitve sličic ob ohranjanju obstoječe navpične privzete vrednostiFirstVisiblePageIndex,LastVisiblePageIndexinEnsureCurrentPageVisibleizpostavljajo in nadzorujejo vidno polje sličic z eno-osnovnimi indeksi strani
Spremenjeno (Changed)
- Spreminjanje
CurrentPageIndexzdaj drsi izbrano sličico v vidno polje v obeh usmeritvah - Testi Delphi, Lazarus in C++Builder zdaj pokrivajo privzete vrednosti usmeritve, preklapljanje, vidne razpone in vidnost izbrane strani
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.57.0
Version 2.56.2
Spremenjeno (Changed)
HighlightSearchText,AddSearchTextHighlightinClearHighlightzdaj neveljavne le pravokotnike naprave za iskalne razpone, ki so bili dodani ali odstranjeni, namesto ponovnega risanja celotnega pregledovalnika- Zamenjava poudarkov z istimi ujemanji ali dodajanje podvojenih ujemanj ne več razporedi nepotrebnega ponovnega risanja
- Testi Delphi, Lazarus in C++Builder zdaj pokrivajo omejeno neveljavnost, idempotentne posodobitve, brisanje in varnost za neaktivne pregledovalnike
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.56.2
Version 2.56.1
Spremenjeno (Changed)
TPdfThumbnailViewzdaj ponovno uporablja upodobljene bitne slike za strani, ki ostanejo vidne čez ponovna risanja in sosednje položaje drsenja- Predpomnilnik obdrži le trenutni vidni razpon strani in sprosti vnose natanko takrat, ko strani zapustijo ta razpon, ko se spremeni dodeljen dokument ali ko se spremenijo dimenzije sličic
- Testi Delphi, Lazarus in C++Builder zdaj pokrivajo ponovno uporabo predpomnilnika, obrezovanje vidnega polja, neveljavnost velikosti, zamenjavo dokumenta in uničenje komponente
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.56.1
Version 2.56.0
Dodano (Added)
TPdfView.CutSelectedFormTextToClipboardinTPdfView.PasteFormTextFromClipboardzagotavljata urejanje odložišča Unicode za fokusiranega dodatka obrazca, ki ga je mogoče urejati
Spremenjeno (Changed)
- Fokusirani urejevalniki obrazca zdaj obravnavajo standardne tipkovnične bližnjice copy, cut, paste in select-all, preden posredujejo besedilni vnos v PDFium
- Cut in paste zavrneta polja samo za branje in seje brez dovoljenja za izpolnjevanje obrazca ali spreminjanje, medtem ko cut uspešno kopira pred odstranitvijo izbranega besedila
- Testi Delphi, Lazarus in C++Builder zdaj pokrivajo obnašanje brez fokusa, povratno pot bližnjice in zavrnitev samo-za-branje
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.56.0
Version 2.55.0
Dodano (Added)
TPdfView.AddSearchTextHighlightpripne edinstvena ujemanja za še en iskalni izraz trenutni prekrivni plasti strani, kar omogoča, da več poizvedb ostane hkrati poudarjenih
Spremenjeno (Changed)
HighlightSearchTextostaja nadomestna vstopna točka in zdaj deli aditivni optični brskalnik, medtem ko se podvojeni razponi znakov prezrejo inClearHighlightodstrani celotno akumulirano množico- Testi Delphi, Lazarus in C++Builder zdaj pokrivajo akumulacijo različnih poizvedb in zatiranje podvojenih razponov
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.55.0
Version 2.54.0
Dodano (Added)
TPdfzdaj izpostavlja popolne posnetke predmetov strani, paketne posodobitve sloga, afine transformacije predmetov, segmente poti, poti izrezovanja in otroke Form XObject- Inšpekcija znakov zdaj vključuje barve polnila in poteze, ime in zastavice pisave, ohlapne meje glifov, učinkovite matrike, ročnike besedilnih predmetov in pretvorbo iz indeksa znaka v indeks besedila
- Zabilke zdaj povratno prenašajo geometrijo roba in tokove normalnega, rollover in down videza
- Novi dostopi do surovih in dekodiranih sličic, transformacije vsebine strani in zabilk ter
RenderPageWithMatrixzagotavljajo neposredne napredne poti upodabljanja in urejanja
Spremenjeno (Changed)
- Spremembe sloga predmetov strani je zdaj mogoče uveljaviti kot en paket, tako da PDFium regenerira vsebino strani samo enkrat
- Upodabljanje matrik uporablja obstoječo pot bitne slike zero-copy, ko je postavitev ciljne bitne slike združljiva
Version 2.53.1
Popravljeno (Fixed)
- Vgrajeni kitajski napis menija Copy zdaj uporablja neodvisne od kodiranja kodne točke Unicode in se pravilno prikaže v izgradnjah Lazarus
- Starejše orodne verige Delphi lahko zdaj prevedejo
FPdfAsync, ko njihova enotaWinapi.Windowsizpusti deklaracijoGetTickCount64
Version 2.53.0
Dodano (Added)
- Nova testna garnitura
Tests.ApiCoverage, ki pokriva javne TPdf API-je, ki so prej imeli ničelno pokritje end-to-end testov:GetPageBox/SetPageBox(branje/pisanje MediaBox/CropBox, napake manjkajoče škatle in povratna pot shranjevanja),FlattenPage/FlattenAllPages(povratna vrednost in ohranjanje števila strani),GenerateFormAppearances(no-op na dokumentih, ki niso obrazci),SaveAsEncrypted/SaveAsEncryptedToStream(AES-256 s povratno potjo gesla — preverja, da šifrirana datoteka odklanja odpiranje brez gesla in se odpre z njim), validacija mejaDeletePage(stran 0 in izven razpona sprožitaEPdfError) ter stražarji zabilkHasContents/HasAuthor, uvedeni v v2.38.0 (preverjajo, daDefault(TPdfAnnotation)puščaFalse)
Version 2.52.0
Dodano (Added)
TPdfView.CopySelectedFormTextToClipboardkopira izbiro besedila znotraj fokusiranega dodatka AcroForm v odložišče Windows kotCF_UNICODETEXT
Spremenjeno (Changed)
- Operacije kopiranja besedila strani in fokusiranega obrazca zdaj delijo isti defenzivni zapisovalnik odložišča Unicode in pustijo odložišče nespremenjeno, ko je njihova izbira prazna
- Testi Delphi, Lazarus in C++Builder zdaj pokrivajo neaktivne ali nefokusirane klice kopiranja obrazca in povratno pot izbire fokusiranega obrazca prek odložišča Windows
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.52.0
Version 2.51.0
Dodano (Added)
TPdfView.SelectLineAtizbere vizualno vrstico besedila, ki vsebuje eno-osnovno stran in nič-osnovni indeks znaka, ne da bi zahteval vnos miške
Spremenjeno (Changed)
- Programska izbira vrstice, izbira s trojnim klikom ter
Shift+HomealiShift+Endzdaj delijo en model meje vrstice na podlagi znakovnih škatel - Testi Delphi, Lazarus in C++Builder zdaj pokrivajo stabilno izbiro vrstice in neveljavne indekse strani ali znakov
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.51.0
Version 2.50.0
Dodano (Added)
TPdf.LoadDocumentzdaj sprejema nič-osnovno oknoIndexinCountv medpomnilnikTBytes, kar omogoča, da vdelani PDF-ji naložijo brez dodeljevanja začasnega reza polja bajtov
Spremenjeno (Changed)
- Nalaganje z razponom bajtov zavrne negativna ali izven-mejna okna, preden spremeni stanje dokumenta, in ohranja obstoječe možnosti življenjske dobe za medpomnjenjeni in izposojeni medpomnilnik
- Testi Delphi, Lazarus in C++Builder zdaj pokrivajo okne vdelanih PDF-jev in neveljavne argumente razpona bajtov
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.50.0
Version 2.49.1
Dodano (Added)
TPdfView.FitModezdaj podpirapfmFitHeightza prilagoditev trenutne strani vidljivi višini vidnega polja z dovoljenjem vodoravnega pomikanja po potrebi
Popravljeno (Fixed)
- Načini prilagajanja zdaj konvergirajo, potem ko sprememba vidljivosti drsnika spremeni odjemalsko območje, s čimer se rezultati fit-page, fit-width in fit-height ohranjajo dosledni med VCL in LCL
- Testi pregledovalnika Delphi, Lazarus in C++Builder zdaj pokrivajo izbiro
pfmFitHeightin povratne poti naštevanj TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.49.1
Version 2.49.0
Dodano (Added)
- Javna vezna površina PDFium zdaj pokriva vseh 470 izvoženih funkcij v pregledanih glavah, vključno z dostopom do opisov priponk prek
FPDFAttachment_SetDescriptioninFPDFAttachment_GetDescription TPdfzdaj izpostavlja opise priponk, veljavnost navzkrižnih sklicev, odmike konca priklopnika, revizijo security-handler, 64-bitno nalaganje v pomnilnik, razpona bajtov podpisa, razpone besedila spletnih povezav in razširjene posnetke podatkov slike, filtra, metapodatkov in profila ICC- Pomočniki obrazcev zdaj podpirajo domačo fokusiranost polj, poizvedbe in posodobitve fokusiranih možnosti izbire, posredovanje kolesca miške, zapisljive črtalne poteze in prekrivanja obrazcev po postopnem izrisovanju
Spremenjeno (Changed)
FormFieldCount, indeksi polj obrazca in vrstni red tabulatorjev zdaj opisujejo samo pripise gradnikov namesto vključevanja nepovezanih pripisov strani- Strani
TPdfbrez glave zdaj vstopajo in zapuščajo življenjski krog strani polnjenja obrazca, tako da domača fokusiranost in API-ji fokusiranih polj delujejo brezTPdfView - Izvozi opisov priponk so omejeni z zmožnostmi, tako da aplikacije, ki uporabljajo starejšo izgradnjo PDFium, še vedno lahko naložijo knjižnico in zaznajo nedosegljivo funkcijo
Popravljeno (Fixed)
- Postopno izrisovanje strani zdaj riše kontrolnike obrazca, ko je polnjenje obrazca omogočeno
- Testi Delphi, Lazarus in C++Builder zdaj pokrivajo novo diagnostiko dokumentov, opise priponk, črtnalne poti, vedenje obrazcev, razpone bajtov podpisa, razpone spletnih povezav in metapodatke slik
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.49.0
Version 2.48.0
Dodano (Added)
TPdfMatrixzdaj izpostavlja tovarne, kloniranje in prirejanje, diagnostiko končnega stanja in obrnljivosti, primerjavo na podlagi tolerance, dostop do translacije, poročanje determinante in afinsko razstavljanje- Sestavljanje prepend, vrtenje, ki upošteva osišče, skaliranje, nagnjenost in zrcaljenja ter preslikava pravokotnikov stretch, contain in cover podpirajo poteke dela v lokalnem prostoru in prilagojene postavitve brez ročne aritmetike koeficientov
- Nemutacijski inverzni dostop, inverzna preslikava točk, transformacije vektorjev in štirikotnikov, dinamična paketa točk in pravokotnikov, in-place različice in enoprehodne transformirane meje razširjajo ponovno uporabno geometrijsko površino
Spremenjeno (Changed)
- Translacija, skaliranje in zrcaljenja osi zdaj posodabljajo samo prizadete koeficiente namesto usmerjanja skozi splošno afinsko množenje
- Transformacija pravokotnikov normalizira svoj vhod enkrat, uporablja specializirano točno z osmi poravnano pot, kjer je mogoče, in izračuna splošne zasukane meje brez začasnih zapisov točk
- Paketne transformacije točk in pravokotnikov dodelijo eno polje rezultatov ali ponovno uporabijo shrambo klicalca, medtem ko se transformirane meje točk akumulirajo v enem prehodu brez vmesnega polja
Popravljeno (Fixed)
- Preslikava pravokotnikov zavrača rezultate ničelne velikosti, nekončne in s prekoračitvijo
Single, preden objavi neuporabno matriko - Testi Delphi, Lazarus in C++Builder zdaj preverjajo vrstni red sestavljanja, invariant osišča, inverzne povratne poti, prilagojene pravokotnike, razstavljanje in vedenje masovne geometrije
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.48.0
Version 2.47.0
Dodano (Added)
FPdfAsynczdaj zagotavlja strukturirane razloge in sporočila preklica, odstranljive registracije povratnih klicev, na časovni omejitvi temelječe vire, čakanje na preklic in atomske operacije try-cancel prek razširjenih vmesnikov, ki ohranjajo izvirni APITPdfFuture<T>.RunExdoda nastavljivo odpošiljanje odgovorov in prioriteto delavca, medtem ko ovojnice rezultatov izpostavljajo ID-je operacij, veljavnost vrednosti, imena razredov izjem, merjenje časa zaključka in ponovno uporabne pomočnike zaključkaTPdfAsyncExecutordoda ponovno uporaben fiksen bazen delavcev s štirimi pasovi prednosti FIFO, izbirno omejitveno-čakalno protitlak, preklicljive ročice nalog, na časovno omejitev občutljivo čakanje, posnetke nalog, združene statistike in elegantno zaustavitev
Spremenjeno (Changed)
- Ponavljajoča se asinhrona opravila lahko ponovno uporabijo niti delavcev in operacije čakalne vrste O(1) namesto ustvarjanja niti za vsako nalogo, medtem ko sinhroniziran zaključek ostaja na voljo za gostitelje uporabniškega vmesnika
- Napake izvajalnika in future ohranjajo diagnostiko razreda in sporočila izjem, preklic ohranja svoj izvirni razlog, izjeme povratnih klicev pa ostajajo izolirane od življenjskega kroga delavca in zaustavitve
- Testi Delphi, Lazarus in C++Builder zdaj pokrivajo razširjeno površino preklica, metapodatkov future, nadzora nalog, protitlaka, razvrščanja prednosti, statistike, napak in zaustavitve
Popravljeno (Fixed)
- Sočasni lastniki preklica zdaj prejmejo determinističen rezultat prvega zapisovalca namesto da bi se zanašali na ločeno zaporedje opazovanja in preklica
- Čakanje nedejavnosti glavne niti obdeluje sinhronizirane odgovore nalog in preprečuje, da bi končani delavec pustil izvajalnika trajno nedejavnega med usklajeno zaustavitvijo
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.47.0
Version 2.46.0
Dodano (Added)
FPdfAsn1zdaj izpostavlja razrede identifikatorjev, 64-bitno kodiranje in dekodiranje številk visokih oznak, razčlenjene zapise TLV, okna podrejenega bralnika s kopiranjem nič, tipizirane primitivne dekodirnike in rezine vsebine ali kodiranih vrednosti- Pisniki DER zdaj podpirajo celoten nepodpisani 64-bitni razpon INTEGER, preverjeno poljubno vsebino INTEGER, ENUMERATED, samodejno izbiro UTCTime ali GeneralizedTime, application in private oznake, večvrednostno SEQUENCE in kanonično razvrščen izhod SET OF
ValidateDervrne napake preverjanja, ki upoštevajo odmik, pri čemer uveljavlja nastavljive omejitve gnezdenja, števila vozlišč, dolžine vsebine, števila napak, korena in izbirnega razvrščanja SET
Spremenjeno (Changed)
- Združevanje DER in večvrednostna sestava uporabljata eno dodelitev izhoda, medpomnilniki pisnika izpostavljajo operacije reserve, count, capacity in prenosa lastništva, razvrščanje SET OF pa zdaj uporablja
O(n log n)zlivanje - Vrednosti BOOLEAN, INTEGER, BIT STRING, OBJECT IDENTIFIER, NULL, UTF8String, PrintableString, IA5String, UTCTime in GeneralizedTime prejmejo preverjanja kanonične oblike med kodiranjem, tipiziranim dekodiranjem ali preverjanjem
- Izvajalni paket Lazarus zdaj izvaža
FPdfAsn1, testne zbirke Delphi, Lazarus in C++Builder pa vajajo isto javno površino DER
Popravljeno (Fixed)
- Kontekstno specifične številke oznak, večje od 30, niso več skrajšane v spodnjih pet bitov identifikatorja
- Deformirani identifikatorji visokih oznak, neminimalne določene dolžine, neveljaven UTF-8, neničelno oblazinjenje BIT STRING, neveljavna časovna polja, končne korenine in kršitve omejitev virov se deterministično zavračajo
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.46.0
Version 2.45.0
Dodano (Added)
FPdfPreflightReportzdaj dodeli resnost Info, Warning ali Error vsaki težavi in izpostavlja API-je resnosti, stanja, kategorije, kode težav, iskanja, pregleda, sploščenja in filtriranja na ravni standarda in poročila- Poročila o predletu zdaj izvažajo SARIF 2.1.0, JUnit XML, NDJSON in domači XML prek ujemajočih se metod
To*inSave*ToFileza cevovode CI, avtomatizacije in pretakanja - Stabilni prstni odtisi poročil SHA-256 identificirajo enakovredne rezultate preverjanja neodvisno od izvornih poti in časovnih žigov generiranja
Spremenjeno (Changed)
- Poročila JSON, CSV, text, Markdown in HTML zdaj vključujejo resnost in razširjene povzetke stanja; HTML doda dostopne napisе tabel in povzetek stanja
- Izgradnja zbirk težav in standardov uporablja geometrično rast kapacitete, rezultati poizvedb so prednastavljene velikosti, ubežni znaki JSON pisje v eni omejeni izhodni medpomnilnik, vsе datoteke poročil pa uporabljajo enega neposrednega pisnika UTF-8
- Povzetki kategorij težav uporabljajo deterministično razvrščanje, časovni žigi vključujejo milisekunde, JSON nosi
formatVersion: 2, celice CSV pa nevtralizirajo formule preglednic
Popravljeno (Fixed)
- Izvoz JSON zdaj ohranja veljavne dopolnilne pare Unicode in nadomešča izolirane nadomestne kodne enote UTF-16 namesto oddajanja deformiranih skalarnih podatkov
- Izvoz HTML zdaj ubeži opuščajim, filtrirani pogledi poročil pa imajo neodvisna polja težav namesto deljenja spremenljive shrambe rezultatov
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo o Version 2.45.0
Version 2.44.0
Dodano (Added)
- Zaznamki in cilji razkrivajo stanje odprtosti, števila potomcev, tarče dejanj, načine pogleda ciljev in do štiri parametre pogleda
Metadata,GrantedPermissions,UserGrantedPermissions,HasPermissioninUserHasPermissionponujajo tipizirane posnetke pregleda dokumenta in poizvedbe po dovoljenjihExtractThumbnail(PageNumber)izriše zahtevano stran brez spreminjanja aktivne strani, rezultati časovnega žiga RFC 3161 pa razkrivajo pravilnik, čas nastanka in podrobnosti o nonce
Spremenjeno (Changed)
- Poti za zaznamke, JavaScript, metapodatke, cilje in sličice uporabljajo preverjene dvoprehodne medpomnilnike, geometrijsko rast zbirk in prehod, varen pred cikli
- Postobdelava pri shranjevanju razreši aktivni katalog, drevo strani in odpiralno dejanje prek trenutne revizije xref, predpomni dekodirane tokove objektov in pregleduje slovarje PDF z upoštevanjem leksikalnih mej
- Skupno razčlenjevanje PDF zdaj vsiljuje točne glave objektov, generacije, ključe slovarjev, dolžine tokov, geometrijo prediktorjev, obsege celih števil ter meje komentarjev, literalnih nizov in šestnajstiških nizov
- Preverjanje odgovorov RFC 3161 zdaj poveže tako nonce kot
messageImprintSHA-256, zahteva strukturno veljavnega podpisovalca in uporablja stroga pravila za dolžine DER, OID, INTEGER in GeneralizedTime
Popravljeno (Fixed)
- Inkrementalni dokumenti pri dodajanju privzetega odpiralnega dejanja ne izberejo več nedejavnih podvojenih katalogov ali pokvarjenih pripon sklicev
- Žetoni časovnega žiga z dolžinami v dolgi obliki DER ohranijo celoten kodirani žeton, nepravilen vrstni red izbirnih polj CMS in prazne množice podpisovalcev pa se zavrnejo
- Čiste gradnje Delphi polja s semeni nonce PAdES zdaj zapisujejo prek bajtnih kopij, varnih glede poravnave, bajte odgovorov XFA pa podajajo z natančnim izvornim tipom kazalca
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki namestilnika zdaj dosledno poročajo različico 2.44.0
Version 2.43.0
Dodano (Added)
- Zapisi polj in opomb XFDF zdaj izpostavljajo zastavice prisotnosti, ki razlikujejo izpuščeno vrednost XML od eksplicitno prazne vrednosti
Spremenjeno (Changed)
- Uvoz XFDF sprejema elemente in atribute s predpono imenskega prostora, mešano vsebino besedila in CDATA, reference entitet ter vrednosti, pomembne za belo polje, pri čemer zavrne neveljavne skalarne reference Unicode
- Uvoz in izvoz XFDF uporabljata indeksirano ujemanje polj in omejene geometrične medpomnilnike, kar izboljša prepustnost in najvišje vedenje dodeljevanja za globoko ugnezdene obrazce, velike zbirke opomb, sezname črtanja, oglišča in označevalne štirikotnike
- Preverjanje veljavnosti PDF/A in PDF/UA uporablja omejeno rast za velike zbirke strani, tokov, imen struktur in zbirk RoleMap; razrešitev PDF/UA RoleMap zdaj sledi neposrednim poljem ter posrednim objektom imena ali polja z natančno generacijo
Popravljeno (Fixed)
- Cikli XFDF zdaj ohranjajo globoko ugnezdena polja poti, eksplicitno prazne vrednosti polj, eksplicitno prazne vsebine opomb ter razliko med odsotnimi in praznimi vsebinami
- Neveljavna nalaganja medpomnilnika pomnilnika in dodelitve strani zunaj obsega se zavrnejo brez puščanja delnega stanja dokumenta ali strani, neuspešno ponovno nalaganje nativne strani pa ohrani prej aktivno stran
- Veliki identifikatorji označene vsebine in medpomnilniki metapodatkov podpisa so omejeni in preverjeni pred dodeljevanjem ali nativnim dostopom
Version 2.42.0
Dodano (Added)
TPdfMatrixzdaj zagotavljaInvert,TryInvert,TransformPointinTransformRectza preslikavo koordinat, preizkus zadetkov, normalizirane meje in eksplicitno obravnavo singularne matrikeTPdf.WrapTextje pridobil preobremenitevBreakLongWords, ki razdeli besedilo CJK in druga besedila brez presledkov, pri tem pa drži skupaj veljavne nadomestne pare UTF-16TPdfAnnotation.AttachmentPointSetsizpostavi vsak štirikotnik v večvrstičnih opombah označevanja, medtem ko obstoječe poljeAttachmentPointsostane vzdevek za prvo množico
Spremenjeno (Changed)
- Izvlečka besedila, gradnja berljive vsebine, iskanje besed in preslikava odmikov izgovorjenega besedila zdaj uporabljajo omejeno dodeljevanje in binarne poti iskanja, kar zmanjšuje ponavljajoča se dodeljevanja in linearna pregledovanja na velikih straneh
- Serializacija ASN.1 in generiranje šifriranih PDF zdaj uporabljata geometrične izhodne medpomnilnike; razvrščanje šifriranih objektov uporablja razvrščanje
O(n log n), vrstice xref pa se zapisujejo neposredno v končni medpomnilnik WrapTextohranja meje vrstic CR, LF in CRLF ter za celotno operacijo znova uporablja en nativni objekt merjenja- Uvoz in izvoz XFDF ohranita vsak označevalni štirikotnik; uvoz poleg tega uveljavi barve RGB/notranjosti in razčleni decimalne koordinate neodvisno od kodne strani procesa
Popravljeno (Fixed)
- Zapuščeni klicatelji lahko znova posodobijo vsebino in avtorja opombe z dodelitvijo nepraznih nizov brez nastavitve novejših stražarjev
HasContentsinHasAuthor - Eksplicitno prazni nizi opomb zdaj uporabljajo veljaven nativni medpomnilnik z ničelnim zaključkom, tako da brisanje
/Contents,/Tin drugih neobveznih ključev besedila ne posreduje več kazalca nil v PDFium
Version 2.41.0
Spremenjeno (Changed)
- Preflight poročilo
SaveJsonToFile,SaveMarkdownToFileinSaveTextToFilezdaj v Delphi zapisuje UTF-8 (kar se ujema z obstoječimSaveHtmlToFile) namesto sistemske kodne strani ANSI; ne-ASCII znaki v poteh datotek, priporočilih in opombah obsega so bili v Delphi popačeni, ko so bili shranjeni s temi metodami SaveCsvToFilezdaj zapisuje UTF-8 s predpono BOM, tako da Excel for Windows samodejno zazna kodiranje; brez BOM Excel obravnava UTF-8 CSV kot code-page 1252 in popači vse ne-ASCII znake
Popravljeno (Fixed)
- Predstavitveni program
ExtractImagesje puščal predpomnjene objekteTBitmapvFExtractedImages, ko je bil obrazec zaprt brez predhodnega eksplicitnega čiščenja; obrazec zdaj prepišeDestroyza klicClearExtractedImages, kar sprosti vsako predpomnjeno bitno sliko
Version 2.40.0
Spremenjeno (Changed)
TPdf.RenderPage(HDC, ...)zdaj maskira izjeme FPU/SSE okoli klicaFPDF_RenderPage, kar se ujema sTPdfView.RenderPage(HDC)(popravljeno v v2.25.0) in vsako izrisovalno vstopno točko, ki vrača bitno sliko; neposredna preobremenitev na raven direct-to-DC vTPdfje prej pustila FPU izjeme nemaskirane na prevajalnikih pre-D12
Popravljeno (Fixed)
ColorToARGBzdaj vrne popolnoma prosojno slikovno piko (alpha 0) zaclNoneinclDefaultnamesto obravnave stražarske vrednosti kot dobesedne barve RGB; prejšnje vedenje je povzročilo temno, skoraj neprosojno polnilo, ko je klicatelj poslalclNonev pričakovanju brez barve
Version 2.39.1
Popravljeno (Fixed)
- Eksplicitna shranjevanja v PDF 1.3 zdaj odstranijo vnose
/SMask /None,/AIS falsein/TK true, ki le ponavljajo začetno grafično stanje, medtem ko še naprej zavračajo neprivzeto stanje prosojnosti
Version 2.39.0
Spremenjeno (Changed)
CreatePDFinImageToPDFzdaj uporabljata potrjene cilje shranjevanja in poročata o uspehu le, ko seSaveAsuspešno zaključiBatchExport,PDFtoJpginSplitPDFzdaj dodelijo edinstvene izhodne imenike, tako da ponovljeni zagoni in enako poimenovani vhodi ohranijo prejšnje rezultateSplitViewzdaj enkrat zaokroži iskanje brez puščanja skritega stanja strani po preklicu ali neujemanju ter prekine nepopolna tiskalniška opravila namesto pošiljanja delnega izhoda
Popravljeno (Fixed)
MergePDFzdaj zavrne nepravilno oblikovane žetone obsega strani in izhodne poti, ki prepisujejo vir, prešteje dejansko uvožene strani ter zavrne shranjevanje praznega rezultata- Delphi in C++Builder predstavitvena programa
Attachmentzdaj uveljavljata shranjevanja na isto pot prek varne zamenjave datotek z možnostjo povrnitve, tako da neuspešno preimenovanje ne more odstraniti izvirnega dokumenta PDF
Version 2.38.0
Spremenjeno (Changed)
SetAnnotationDatazdaj varuje zapise v/Contentsin/Authorza stražarjiHasContents/HasAuthornaTPdfAnnotation, kar se ujema z obstoječim vzorcemHasName/HasSubject/HasIcon; prej sta bili ti dve polji zapisani brezpogojno, zato je dodelitev zapisaDefault(TPdfAnnotation)za posodobitev le barve ali zastavic tiho prepisala obstoječo vsebino in avtorja opombe s praznimi nizi;GetPageAnnotationzdaj nastavi te stražarje, tako da cikel branja, spreminjanja in zapisovanja ohrani izvirne vrednosti
Popravljeno (Fixed)
GenerateFormAppearanceszdaj bere vrednost potrditvenega polja ali izbirnega gumba prekFPDFAnnot_GetFormFieldValue(ki se pomakne do nadrejenega slovarja polj po ISO 32000-1 §12.7.5) namesto prekFPDFAnnot_GetStringValue(Annot, 'V', ...)(ki bere slovar gradnikov); gradnik običajno ne vsebuje/V, zato se/ASni nikoli sinhroniziral z označenim stanjem, sploščeno potrditveno polje ali izbirni gumb pa sta se izrisala kot neoznačena
Version 2.37.0
Spremenjeno (Changed)
ParseTsaUrlport po razčlenitvi zdaj omeji na1..65535; prevelika vrednost porta bi se sicer zaradi razrezaDWORDzavrtela in lahko pristala na veljavnem portu- XFDF
ParseFieldzdaj sprejme parameter globine (privzeto 0, omejeno na 64) in pri mejni vrednosti vrne prazno polje, zato veriga elementov<field>, zlonamerno gnezdena 100 000 nivojev globoko, ne more več preliti sklada
Popravljeno (Fixed)
- Zahteva HTTP TSA se pred posredovanjem
@ReqDer[0]kWinHttpSendRequestzdaj zaščiti pred praznim telesom zahteve. Dereferenciranje dinamičnega polja z ničelno dolžino bi dostopalo do kazalca brez zaledja;BuildTimeStampReqvedno vrne neprazno SEQUENCE, mesto klica pa pogodbo zdaj brani
Opombe (Notes)
- Komentar v glavi
FPdfTsaWino preverjanju preklica pri HTTPS je bil popravljen: WinHttp privzeto preveri verigo strežniškega certifikata, preverjanja preklica CRL/OCSP pa ne opravlja, razen če je izrecno omogočeno prekWinHttpSetOption. Prejšnja formulacija je trdila, da preverjanje preklica »pride zastonj«, kar je bilo zavajajoče
Version 2.36.0
Spremenjeno (Changed)
- Zahteve HTTP TSA zdaj poleg glav
Content-TypeinAcceptpošiljajo še izrecno glavoContent-Length. WinHttp jo sicer sestavi iz skupne dolžine, nekateri posredniki RFC 3161 pa zahtevajo izrecno glavo in brez nje zahtevo zavrnejo s411 Length Required - Izvoz XFDF kontrolne znake C0 (razen TAB/LF/CR, ki so že ubežani) zdaj odstrani, namesto da bi izpisal neveljavno backslash-hex zaporedje. Prejšnja ubežna oblika
\-01Fni veljaven XML (poševnica nazaj v XML nima posebnega pomena), zato bi vsak standardom ustrezni bralnik dokument zavrl kot okvarjenega InjectAssociatedFilesna slovarju toka EmbeddedFile zdaj zapiše/Subtype, kadar klicalec podaTAssociateFile.MIMEType. Polje je bilo deklarirano in dokumentirano, vstavljalnik pa je prej trdo zapisal/Type /EmbeddedFilein ga ignoriral (ISO 32000-2 §7.11.4 na toku dovoljuje/Subtype)
Popravljeno (Fixed)
- Uvoz XFDF je preskočil prvi vsebinski bajt za BOM UTF-8 in prvi bajt, ko BOM ni bil prisoten:
BytesToAnsi(Bytes, 4, ...)(BOM) inBytesToAnsi(Bytes, 1, ...)(brez BOM) sta uporabila začetni odmik, zamaknjen za ena, kerBytesToAnsijemlje indeks polja z osnovo 0. Klica zdaj uporabljata3in0 ExtractSignatureValueje imel dve napaki zamika vrstic z visečimif, kjer se jeR.Position:= CNizvedel brezpogojno za izbirni vejicertificates [0]insignedAttrs [0]. Veji sta zdaj oviti vbegin/end, tako da se položaj pomakne naprej samo, kadar je izbirni TLV dejansko prebran (isti razred hrošča popravljen vAddSignatureTimestampToCmsv v2.22.0)
Version 2.35.0
Spremenjeno (Changed)
- Funkcije
TFPDFAvail_IsDocAvail,TFPDFAvail_IsPageAvailinTFPDFAvail_IsFormAvailzdaj sprejmejohints: PFX_DOWNLOADHINTSnamestovar hints: FX_DOWNLOADHINTS, tako da je dokumentirani način samo za poizvedovanjenullptr(preverjanje trenutne razpoložljivosti brez zahteve po dodatnih podatkih) dosegljiv iz Delphi; glava PDFium eksplicitno dovoljuje, da jehintskazalec null, kar je prejšnja vezava zvaronemogočala - Funkcija
TFPDF_SetSystemFontInfozdaj sprejmepFontInfo: PFPDF_SYSFONTINFOnamestovar pFontInfo: FPDF_SYSFONTINFO, tako da lahko klicatelji prenesejonilin s tem naročijo PDFium, naj preneha uporabljati predhodno registriran vmesnik sistemskih pisav (dokumentirana pot za onemogočanje) - Kontrola
TPdfThumbnailView.Paintzdaj izračunaVisibleRowsz enako formulo kotUpdateScrollBarRange(ClientHeight div RowHeight), tako da se število izrisanih vrstic ujema z velikostjo strani drsnika; prejšnja formula samo za izrisovanje ((ClientHeight - FMarginY) div RowHeight + 1) se je pri mejnih višinah lahko razlikovala za eno vrstico, kar je povzročilo nepotrebno izrisovanje vrstice izven strani ali izpustitev zadnje vidne vrstice
Version 2.34.0
Dodano (Added)
TPdf.SaveAsEncrypted/SaveAsEncryptedToStream— visokonivojski API, ki shrani dokument in ga nato šifrira s PDF 2.0 standardom AES-256-CBC (V=5/R=5/R=6); sprejme strukturoTPdfEncryptOptionsz uporabniškim/lastniškim geslom, dovoljenji in revizijo ter opravilo delegira funkcijiEncryptDocumentBytes- Šifriranje dobesednih nizov StrF:
EncryptDocumentByteszdaj šifrira dobesedne nize(...)v objektih, ki niso tokovi (slovar Info itd.), v šestnajstiške nize AES-256-CBC, kar se ujema s formatom šifriranja toka (16-bajtni IV + šifrirano besedilo PKCS7); šestnajstiški nizi<...>ostanejo nespremenjeni
Version 2.33.0
Dodano (Added)
- Injektor šifriranja celotnega dokumenta AES-256-CBC v enoti
FPdfEncrypt.pas;EncryptDocumentBytessprejme navadno besedilo PDF in geslo, šifrira vsak posredni objekt toka (16-bajtni IV + AES-256-CBC PKCS7 pod ključem datoteke), popravi/Length, doda slovarski objekt/Encryptter znova zgradi celotno klasično tabelo navzkrižnih sklicev in prikolico z/Encryptin/ID; s tem zaključi sklad šifriranja PDF 2.0 (blok AES + GCM + SHA-512/384 + izpeljava ključa R6 + slovar + pregled dokumenta) - Pomožna funkcija
EncryptStreamPayload— format toka PDF 2.0 AES-256 (IV je dodan na začetek šifriranega besedila AES-CBC-PKCS7), ki jo lahko znova uporabijo klicatelji, ki sami upravljajo postavitev svojih objektov
Version 2.32.0
Dodano (Added)
- Zgoščevalna funkcija SHA-512 / SHA-384 (FIPS 180-4) v novi enoti
FPdfSha512.pas; čistokrvni Pure-Pascal, prenesen iz HotPDF; zahteva jo iteracija zgoščevanja gesla PDF 2.0 R6, ki se na podlagi 128-bitne vrednosti mod-3 odloči za uporabo SHA-256/384/512 v vsakem krogu, kar je preverjeno po standardu FIPS-180-4 B.1; - Izpeljava šifrirnega ključa PDF 2.0 in gradnik slovarja Encrypt v novi enoti
FPdfEncrypt.pas; implementira algoritem 2.B po standardu ISO 32000-2 §7.6.4.3 (R6 hash dance: AES-128-CBC + iterativna izbira SHA-256/384/512), izpelje 32-bajtni šifrirni ključ datoteke ter vnose/O,/U,/OE,/UE,/Permsin zgradi slovar Encrypt z V=5/R=5/R=6 in oznakami/CFM /AESV3; preneseno iz PDFlibPas in prilagojeno slogu TBytes
Version 2.31.0
Dodano (Added)
- Primitivi blokovnega šifriranja AES (FIPS 197) v novi enoti
FPdfAes.pas; čistokrvni Pure-Pascal za bločni šifri AES-128 in AES-256 s pomožnimi funkcijami za način CBC in ozadjem CSPRNG, preneseno iz HotPDF; testi z znanimi odgovori po FIPS-197 Appendix C.2 / C.3 potrjujejo pravilnost delovanja, kar predstavlja kriptografsko osnovo za šifrirni sklad PDF 2.0; - Šifriranje z overitvijo AES-GCM (NIST SP 800-38D) v novi enoti
FPdfAesGcm.pas; implementira GHASH (množenje GF(2^128)), GCTR in konstrukcijo GCM AEAD nad bločnimi primitivi AES; testna primera NIST GCM 1 in 3 (AES-128) se natančno ujemata z avtoritativnim šifriranim besedilom in oznako, testni primer 13 (AES-256) pa uspešno izvede celoten krog pretvorbe; GCM je način po standardu ISO/TS 32003 za PDF 2.0; - Preverjanje celovitosti struktur ParentTree in ClassMap za PDF/A Level A (ISO 19005-1 §6.8.3);
pvaiParentTreeMissingoznači StructTreeRoot brez številskega drevesa /ParentTree,pvaiClassMapUnresolvedpa označi sklic razreda /C brez strukture /ClassMap
Version 2.30.0
Dodano (Added)
- Vstavljanje Associated Files (
InjectAssociateFiles/TPdf.SaveAsWithAssociateFiles, ISO 32000-2 §7.11.4). Nova enotaFPdfAssocFileskatalogu ali kateremu koli slovarju strani pripne polja/AFs sklici filespec in pokrije vseh osem vrednosti/AFRelationshipiz tabele 45 ISO 32000-2. Ponovno uporabi vzorec inkrementalnega posodabljanja, dokazan sInjectPadesDssMarkers - Podpora za PDF/X-6 (ISO 15930-9:2020).
TPdfXConformancedobi vrednostpxc6; vstavljalnik in validator jo prenašata skozi identifikacijopdfxid:GTS_PDFXVersion. PDF/X-6 je naslednik PDF/X-4 na osnovi PDF 2.0 za popolno izmenjavo - PDF/A dejanje
/Threadprepoveduje (vrzel v whitelistu ISO 19005-1 §6.6.1). Seznam prepovedanih dejanj zdaj poleg Launch, ResetForm, ImportData, SetOCGState, SetState, GoTo3DView, Rendition in Hide pokriva še Thread
Popravljeno (Fixed)
- Pot validacije PDF/A-4e zdaj upošteva iste preveritve označene strukture, MarkInfo in prelomov besed kot nivo A. Posodobitev shranjevalne strani v v2.29.0 je pokrila
PdfAIsLevelE, toda tri kontrolne točkeValidatePdfAComplianceso preverjale samoPdfAIsLevelA, zato je dokument PDF/A-4e brez označene strukture tiho opravil preverjanje - Zdrs testa OCG
/BaseState: prehod PostProcess v v2.28.0 je sprejemanje pravilno razširil na/ONali/OFF(ISO 32000-1, tabela 8.70), testi Delphi in C++ pa so še pričakovali, da bo/OFFzavrnjen. Testi zdaj uporabijo zares neveljavno vrednost (/Undefined), nov pozitivni test pa zakleni sprejemanje/OFF - Prekomerno ujemanje za geoprostorski
/Subtype /GEO:ContainsDictionarySubtype('GEO')je ulovil vsak slovar z žetonom, tudi nepovezane, kot je potepuški/ViewerPreferences << /Subtype /GEO >>. NovaContainsMeasureDictionarySubtypepoleg tega zahteva/Type /Measureali sestrski ključ, izključen za Measure, zato slovarji, ki niso Measure, zahteve ADBE ExtensionLevel 3 ne sprožijo več
Version 2.29.0
Dodano (Added)
- Podpora za PDF/A-4 (ISO 19005-4:2020) v validatorju, injektorju XMP in objektnem modelu Pdfium;
TPdfAConformancedodapac4base,pac4finpac4e; osnovna raven je PDF 2.0 (ISO 32000-2) in nadomešča starejše ravni A/B/U z osnovno raven + F (obrazec) + E (dostopnost);ValidatePdfAprebere paket XMPpdfaid:part=4(osnova opusti element skladnosti),SaveAsPdfAga izda,SignPadesWithPdfApa sprejmepac4basekot vsebnik za dolgoročno arhiviranje - Vezava
FPDFBookmark_GetColor— zadnji neizvozni javni izvoz PDFium (469/469);TBookmarkpridobi poljiHasColorinColor, napolnjeni iz polja zaznamkov/C(ISO 32000-1 §12.3.3); vezava uporablja tolerantno nalaganje, tako da starejše knjižnice DLL, ki so nastale pred tem izvozom, še naprej delujejo - Preverjanje različice glave za PDF/E-1 (ISO 24517-1 §5) z oznako
pveiBadPdfVersion— PDF/E-1 temelji na PDF 1.6 in glava, ki ni različice 1.6, je zdaj označena - Oznaka
pvriEncryptVersionMismatchza PDF/R-1 (ISO 23504-1) — šifriranje je dovoljeno le na glavi%PDF-2.0; telo 1.x, ki vsebuje/Encrypt, je zdaj označeno, medtem ko je bila prej ta izjava prezrta - Oznaka
pvriBadMediaBoxza PDF/R-1 — vsaka stranMediaBoxmora biti[0 0 w h];PdfRHasNonZeroMediaBoxOriginje lokalno neodvisen bralnik ASCII, ki preskoči strukture MediaBox s posrednimi sklici - Oznaka
pvaiRoleMapUnresolvedza PDF/A Level A (ISO 19005-1 §6.8.3.4) — prisotna, a nepopolna struktura RoleMap, ki pusti prilagojene strukturne tipe/Snepreslikane, je zdaj označena, kar odpravlja vrzel, ki jo je pustil obstoječi pregledpvaiRoleMapMissing, ki je preverjal le prisotnost
Popravljeno (Fixed)
- Funkcija
PdfVersionToName(20)je vrnila"1.0"namesto"2.0", kar je pokvarilo vnos kataloga/Versionin sporočila validatorja za vsako shranjevanje PDF 2.0; oblikovalnik zdaj eksplicitno razdeli major.minor za različice>= 20 - Prevajalnik za negativne vrednosti INTEGER v enoti
FPdfAsn1.passe pod Delphi 12 se ni uspešno prevedel (napakaE2015priInteger(-(V<0))), kar je blokiralo celoten testni projekt; popravljeno z uporabo maskeInt64(-Ord(V<0))za razširitev predznaka - Seznam prepovedanih opomb za PDF/A zdaj vključuje
/RichMediav vseh delih (prej izpuščeno; ISO 32000-1 §12.5.6.35 to prepoveduje v PDF/A)
Version 2.28.0
Dodano (Added)
TPdfVersionza PDF 2.0 (ISO 32000-2) zdaj vsebujepv20.DecodePdfVersion(20)vrnepv20namestopvUnknown,EncodePdfVersion(pv20)pa izpiše 20, tako da različica dokumenta PDF 2.0 pri branju nazaj ne izgubi več in jo je mogoče zapisati izrecno
Spremenjeno (Changed)
DecodeDatenize datuma PDF zdaj razčlenjuje z izbirnimi zaključnimi polji po PDF Reference 3.8.3, namesto da bi zahteval celotno 23-znakovno oblikoD:YYYYMMDDHHmmSSOHH'mm'. Standardom ustrezajoči skrajšani datumi, kot soD:20260712,D:20260712153000inD:20260712153000Z, so zdaj sprejeti; prej jih je zavrnila trda vrataLength=23. Urni odmik časovnega pasu se zdaj preverja proti resničnemu območju UTC-12..UTC+14 namesto proti> 23FPdfMeasure.MeasureTextime pisave zdaj kodira kot FPCAnsiString/ DelphiUTF8Encode, kar se ujema z ostalimi mesti klicev FPDF_BYTESTRING v knjižnici, namesto z golim castom vAnsiString, ki je ne-ASCII imena družin pokvaril prek trenutne kodne strani
Popravljeno (Fixed)
- Pot negativnih vrednosti pri
TDerWriter.Integerse je sesula ali izdelala okvarjen DER: zankawhile V <> -1 do V := V shr 8je pustilaInnerprazen priValue = -1(napaka obsega pri naknadnemInner[Length(Inner)-1]) in pri drugih negativnih vrednostih izdelala preveč bajtov. Kodirnik zdaj izlušči bajte dvojkovega komplementa s premiki, ki razširjajo predznak, in se pravilno ustavi, ko je preostanek čista razširitev predznaka. Polja INTEGER pri CMS/PAdES so pozitivna, zato to prizadene samo klicalce, ki podajo negativne vrednosti, pot pa je zdaj pravilna TPdf.GetCharacterOrigininTPdfView.GetCharacterOriginsta ignorirala vrnjeno vrednostFPDFText_GetCharOriginin ob napaki vrnila neinicializirano točko. Rezultat je zdaj inicializiran na nič, neuspešno branje pa vrne izhodišče (v skladu s pogodboGetCharacterRectangle)
Version 2.27.0
Spremenjeno (Changed)
- Demo programa
PDFViewerinMultiPageViewerza Delphi, C++Builder in Lazarus iskanje po dokumentu zdaj ovijeta samo enkrat, sprejemataEnterinF3za naslednji zadetek, ob spremembi možnosti ujemanja ponastavita kontekst iskanja,Escpa rezervirata za preklic aktivnega iskanja ali tiskalnega posla - Tiskanje iz pregledovalnika zdaj sledi trenutnemu zasuku pregledovalnika in ustrezno izbere pokončno ali ležečo usmerjenost izpisa, tako da se zasuk iz orodne vrstice odraža na natisnjenih straneh
- Vsi trije demo programi
ViewerInteractionLabzdaj podpirajo bližnjiceCtrl+A,Ctrl+C,Enter,F3inEscbrez prestrezanja izvornih ukazov izbora in kopiranja kontrolnikov za urejanje
Popravljeno (Fixed)
- Preklic tiskanja v pregledovalnikih C++Builder in Lazarus zdaj prekine tiskalni posel, namesto da bi oddal strane, izrisane pred preklicem, Lazarus pa izrecno izstopi iz vsake gnezdene zanke za kopije, strani in razvrščanje izvodov
- Gumb Cancel v demo programu Delphi
MultiPageViewerje zdaj povezan s svojim obdelovalcem, iskalna polja C++Builder/LazarusMultiPageViewerpa obdržijo izvorno urejanje s tipkami puščic, Home in End
Version 2.26.0
Spremenjeno (Changed)
TPdf.GetObjectBitmap,TPdf.GetBitmap,TPdf.GetThumbnailin njihove ustrezliceTPdfViewokoli klicaFPDFImageObj_GetBitmap/FPDFPage_GetThumbnailAsBitmapzdaj prevzamejo zaklep za izris, v skladu sRenderPage/RenderTile. To so klici na strani izrisovanja PDFium, ki so prej tekli brez zaklepa in so se lahko tekovali s sočasnimUnloadPage/ReloadPagena istem dokumentuTPdf.RenderPageThumbnailzdaj upošteva vnos/Rotatestrani: prilagoditev se za strani s/Rotate 90ali270znova izračuna iz zasukanih mer, tako da razmerje stranic sličice ustreza temu, kar prikaže pregledovalnik, namesto da bi uporabil notranje (nezasukane) mere, ki jih vrneFPDF_GetPageSizeByIndex
Popravljeno (Fixed)
TPdfView.GetCharacterRectangleje ignoriral vrnjeno vrednostFPDFText_GetCharBoxin ob napaki PDFiuma podal neinicializiranTPdfRectanglekPageToDevice. Pravokotnik je zdaj inicializiran na nič, neuspešenGetCharBoxpa vrneRect(0,0,0,0)- Dolžina medpomnilnika za pot URI in pot datoteke pri
GetLinkAnnotationsje bila zmanaškana za ena: drugi klicFPDFAction_GetURIPath/GetFilePathje kot dolžino medpomnilnika podalsize(ki vključuje zaključni NUL), čeprav je bil medpomnilnik dodeljen kotsize-1. Klic zdaj podasize-1, tako da na gradnji PDFium, ki sama ne odreže, ne more pisati čez dodelitev
Version 2.25.0
Spremenjeno (Changed)
TPdf.AddText,SetText,AddPathinInsertFormObjectFromXObjectpred ponovnim ustvarjanjem vsebine strani zdaj razveljavijo predpomnjeno besedilno stran in pripombe povezav, v skladu sSetTextPositionsinRemoveObject. Prej je klicGetText/GetWebLinks/FindFirstpo urejanju strani vrnil zastarele podatke besedila in povezav, zajete pred urejanjem, obdržan ročajFPDF_TEXTPAGEpa je bil po regeneraciji vsebine uporabljen z nedefiniranim vedenjemTPdfView.RenderPage(HDC, ...)okoli klicaFPDF_RenderPagezdaj prevzame zaklep za izris in utiša izjeme FPU/SSE, tako kot vsaka druga vstopna točka izrisa. Prejšnja preobremenitev, ki je pisala naravnost v DC, se je lahko tekovala s sočasnimUnloadPage/ReloadPagena istem dokumentu in je na prevajalnikih pred D12 pustila izjeme FPU neutišane- Demo program Delphi
PrintPDFob preklicu zdaj pokličePrinter.Abort, namesto da bi blokfinallydosegelPrinter.EndDoc, kar je oddalo strane, izrisane pred preklicem. Demo program Lazarus to že prej obravnava pravilno
Popravljeno (Fixed)
TPdf.GetCharacter,TPdf.GetCharcodein njihove ustrezliceTPdfViewso kodne točke astralnih ravnin (emoji, CJK Extension B), ki jih vrneFPDFText_GetUnicode, prekWideChar()obrezali na spodnjih 16 bitov in izdelali osamljen surrogat, ki je pokvaril nadaljnjo obdelavo besedila. Znaki nad U+FFFF zdaj vračajo U+FFFD (nadomestni znak); polno kodiranje UTF-16 astralnih znakov pridobite sGetTextGetWebLinksje poklicalSetLength(Rectangles, FPDFLink_CountRects(...))brez obrambe pred vrnitvijo-1, kar je na okvarjeni strani sprožiloEOutOfMemory. Negativno štetje se zdaj prireže na ničTPdf.DestroynizPasswordiz pomnilnika zdaj pobriše (prekUniqueString+FillChar), preden se sprosti medpomnilnik z referenčnim števcem, tako da gesla po uničenju komponente na skladu ni več mogoče brati
Version 2.24.0
Dodano (Added)
TPdf.DeletePage,GetAttachment,GetAttachmentName,GetAttachmentType,SetAttachmentinDeleteAttachmentindeks strani/priloge zdaj preverijo in ob vrednosti izven obsega sprožijoEPdfError, v skladu z obstoječim vedenjem dostopovalcev do pripomb. Prej se je indeks izven obsega posredoval naravnost v PDFium in povzročil tiho brezdelje ali nedefinirano vedenje
Popravljeno (Fixed)
- Puščanje ročajev objektov strani ob napaki v
TPdf.AddText,AddBitmapinAddJpegImage: ko jeFPDFText_SetText,FPDFImageObj_SetBitmap,FPDFImageObj_SetMatrixaliFPDFImageObj_LoadJpegFileInlinesprožila izjemo, potem ko je bil objekt ustvarjen, a preden ga jeFPDFPage_InsertObjectpredal strani, je ušel izvorni ročajFPDF_PAGEOBJECT. Vsaka pot objekt ob izjemi zdaj uniči, preden jo ponovno sproži TPdf.UnloadPageje opuščen ročajFPathv teku (nastavljen sCreatePath, a še neuporabljen vAddPath) zavrzel tako, da ga je postavil nanil, brez da bi poklicalFPDFPageObj_Destroy. Ročaj se zdaj uniči, zato pot, ustvarjena in nato zapuščena (ali prekinjena s preklopom strani), ne pušča večTPdf.InsertFormObjectFromXObjectje izpustil klicUpdatePage(FPDFPage_GenerateContent), ki ga opravi vsako vstavljanje med sorodnimi (AddText/AddPath/AddBitmap/AddJpegImage/SetText/RemoveObject), zato je Form XObject, vstavljen na ta način, ob naslednjem ponovnem nalaganju ali shranjevanju izginil.UpdatePagese zdaj pokliče po vstavitvi
Version 2.23.0
Popravljeno (Fixed)
- Preverjanje
/BaseStateizbirne vsebine zdaj poleg/ONsprejme tudi/OFF(ISO 32000-1, tabela 8.70, dovoljuje oboje). Prejšnja preverba je veljavne nastavitve/OCProperties /D /BaseState /OFFzavrla z napako »malformed optional content«, čeprav je bila datoteka skladna - Preverjanje
/Intentizbirne vsebine zdaj sprejme/Designin polja imen, kot je[/View /Design], ne le literala/View. ISO 32000-1, tabela 8.70, definira/Intentkot ime ali polje imen iz/Viewin/Design; prejšnja preverba z enojno vrednostjo je preveč zavračala običajni izpis avtorskih orodij - Zaznavanje geoprostorskega slovarja Measure za preverbo ExtensionLevel 3 pri
/Extensions /ADBEv PDF 1.7 ne zahteva več/Type /Measure, ki ga ISO 32000-1 v tabeli 254 označuje za izbirnega. Izdelovalci GeoPDF, ki izpustijo/Type(PDFBox, QGIS, FME), so prej to preverbo obšli in tiho izdelali neskladni izpis PDF 1.7; zaznavalnik se zdaj ujema samo po/Subtype /GEO
Version 2.22.0
Spremenjeno (Changed)
- Izračuni prilagoditvene povečave v
TPdfView(GetPageZoom,GetPageWidthZoom,GetPageHeightZoom) zdaj uporabijoClientWidth/ClientHeightnamesto okenskihWidth/Height, tako dapfmFitPage/pfmFitWidth/pfmFitHeightprilagodijo stran vidnemu prikaznemu območju in ne zunanjemu okviru z drsniki in robovi, s čimer izgine odvečni drsnik, ki se je pojavil, ko je bila prilagojena stran malenkostno večja od odjemalskega območja AddSignatureTimestampToCmszdaj sproži izrecnoException, ki poimenuje neberljivo polje CMS SignerInfo (version / sid / digestAlgorithm / signedAttrs / signatureAlgorithm), namesto da bi tiho storilExitin pustil delno razčlenjeno vsebino teči naprej, kot da bi bil to popolnoma podpisan CMS; popravljen je tudi manjkajoči blokbegin/endokoli izbirne vejesignedAttrs [0], ki je pustilR.Positionnepomaknjen
Popravljeno (Fixed)
- Puščanje ročaja zasebnega ključa CNG v
ResolveWinSigner: ko je uspelaCryptAcquireCertificatePrivateKey, a je kasnejše izluščevanje izdajatelja/serijske številke aliTWinCmsSigner.Createsprožilo izjemo, ročajNCryptKeyHandleni bil nikoli sproščen, ker se njegova lastnina prenese na podpisovalca šele ob uspešnem konstruktorju. Nastavitev po pridobitvi je zdaj ovita, tako da se ročaj ob vsaki napaki najprej sprosti prekNCryptFreeObject EcDsaP1363ToDerpoloviciralis, ki je povsem ničelna, zdaj zavrne, namesto da bi izpisalINTEGER 0; podpisi ECDSA zr = 0alis = 0so neveljavni (RFC 4754 §6 / FIPS 186-4 §6 zahtevata1 ≤ r, s ≤ n-1) in bi jih popustljiv preverjevalnik sicer sprejel kot pristne
Version 2.21.12
Popravljeno (Fixed)
- Eksplicitno shranjevanje v PDF 1.5–PDF 1.7 zdaj zavrača nepravilno oblikovane strukture kataloga
/OCProperties, vključno z manjkajočimi zahtevanimi vnosi/OCGsali/D, neveljavnimi privzetimi vrednostmi konfiguracije in vnosi stanja, ki niso polja
Version 2.21.11
Popravljeno (Fixed)
- Eksplicitno shranjevanje različice PDF zdaj zavrača neposredne ali posredne vnose strani
/Annots, katerih slovarji anotacij izpuščajo zahtevan vnos/Subtypeali/Rect
Version 2.21.10
Popravljeno (Fixed)
- Eksplicitno shranjevanje v PDF 1.7 zdaj zahteva, da geoprostorski slovarji
/Type /Measure /Subtype /GEOin anotacije Projection deklarirajo/Extensions /ADBEz/BaseVersion /1.7in/ExtensionLevel 3ali novejšim
Version 2.21.9
Popravljeno (Fixed)
- Eksplicitno shranjevanje v PDF 1.7 zdaj zahteva, da anotacije RichMedia in dejanja
RichMediaExecutedeklarirajo/Extensions /ADBEz/BaseVersion /1.7in/ExtensionLevel 3ali novejšim
Version 2.21.8
Popravljeno (Fixed)
- Eksplicitno shranjevanje v PDF 1.7 zdaj zahteva, da PRC 3D tokovi deklarirajo
/Extensions /ADBEz/BaseVersion /1.7in/ExtensionLevel 1ali novejšim, namesto da bi obravnavali PRC kot osnovno funkcijo PDF 1.7
Version 2.21.7
Popravljeno (Fixed)
- Eksplicitno shranjevanje v PDF 1.4 in starejše zdaj zavrača vnose XObject slike
/SMaskInData, vključno z izrecno vrednostjo0, ker vgrajeni kanali mehke maske JPEG 2000 zahtevajo PDF 1.5 ali novejši
Version 2.21.6
Popravljeno (Fixed)
- Eksplicitno shranjevanje v PDF 1.4 in starejše zdaj zavrača 16-bitne XObject slike, ki zahtevajo PDF 1.5 ali novejši, medtem ko cilji PDF 1.5–PDF 1.7 ohranijo podatke slike
/BitsPerComponent 16
Version 2.21.5
Popravljeno (Fixed)
- Eksplicitno shranjevanje v PDF 1.4 in starejše zdaj zavrača vrednosti
/PageLayout /TwoPageLeftin/TwoPageRightkataloga dokumenta, ki zahtevajo PDF 1.5 ali novejši, medtem ko cilji PDF 1.5–PDF 1.7 ohranijo zahtevano dvostransko postavitev
Version 2.21.4
Popravljeno (Fixed)
- Eksplicitno shranjevanje v PDF 1.3 zdaj zavrača vnose
/Langkataloga dokumenta, ki zahtevajo PDF 1.4 ali novejši, medtem ko cilji PDF 1.4–PDF 1.7 ohranijo identifikator jezika
Version 2.21.3
Popravljeno (Fixed)
- Eksplicitni zapisi PDF 1.3 zdaj zavračajo drevesa imen
/EmbeddedFilesv dokumentu, ki zahtevajo PDF 1.4 ali novejši, ne da bi zavračali tokove vgrajenih datotek, na katere se sklicujejo starejše specifikacije datotek
Version 2.21.2
Popravljeno (Fixed)
- Eksplicitno shranjevanje v PDF 1.3 zdaj zavrača aktivne metapodatkovne tokove, ki zahtevajo PDF 1.4 ali novejši, medtem ko jih cilji PDF 1.4–PDF 1.7 ohranijo
Version 2.21.1
Popravljeno (Fixed)
- Preverjanje veljavnosti hibridnih referenc zdaj pred klasičnimi xref-nadomestniki iz iste revizije upošteva dopolnilne vnose
/XRefStm, tako da stisnjena opomba in drugi objekti, omejeni z različico, niso več prezrti, ko jih tabela združljivosti označi kot proste
Version 2.21.0
Spremenjeno (Changed)
- Vsi primeri pregledovalnikov za Delphi, C++Builder in Lazarus lahko odprejo PDF, podan kot prvi argument ukazne vrstice, primeri
MultiPageViewerza C++Builder in Lazarus pa ponujajo izrecne bližnjice za izbiro vsega in kopiranje
Popravljeno (Fixed)
- Primeri pregledovalnikov zdaj zavračajo neveljavne cilje strani zaznamkov in povezav, ohranijo napake pri nalaganju, dosledno preverijo ročni vnos zooma, natisnejo zahtevano stran z izpolnjenim obrazcem namesto da ponovijo vidno stran, ter prekinejo preklicana tiskalniška opravila v Delphiju, namesto da bi oddali delni izpis
Version 2.20.0
Spremenjeno (Changed)
- Vsi primeri pregledovalnikov Delphi, C++Builder in Lazarus zdaj zagotavljajo dosledne bližnjice za odpiranje, iskanje, shranjevanje, tiskanje, povečavo in navigacijo po straneh, vsaka različica
ViewerInteractionLabpa podpira tudi skoke na strani, preverjen ročni zoom 10–600%, trajne dnevnike interakcij in preverjanja povratne poti koordinat klika
Version 2.19.1
Popravljeno (Fixed)
- Eksplicitno preverjanje veljavnosti različice PDF zdaj sledi aktivni verigi revizij klasičnega, hibridnega ali xref-stream formata, vključno z vnosi stisnjenih objektov, tako da zastareli, sproščeni in nereferenciran objekti ne povzročajo več lažnih napak različice funkcije
Version 2.19.0
Spremenjeno (Changed)
- Primeri prilog, ekstrakcije slik, ekstrakcije besedila, pretvorbe strani in razdeljevanja za C++Builder in Lazarus zdaj uporabljajo namenske izhodne mape ali varno zaključene datoteke, stabilna imena z ničelnim polnjenjem, odzivne posodobitve napredka in povzetke zaključka s številom napak na element
Popravljeno (Fixed)
CJKTextLabza C++Builder zdaj meri besedilo prek izvoženih funkcij za urejanje PDFium,MergePDFpa se izogiba dvoumni preobremenitvi sporočila VCL, s čimer obnovi čiste zgradbe v RAD Studio 37
Version 2.18.3
Popravljeno (Fixed)
- Časovni žig dokumenta PAdES B-LTA Document Time-stamp je zdaj registriran kot odkrivljivo polje podpisa — nevidljiv pripomoček Widget, dostopen prek
/Annotsprve strani in/FieldsAcroForm (ETSI EN 319 142-1 §5.4.3) — namesto kot nedosegljiv sirotski objekt, ki ga validatorji, ki naštevajo polja podpisov, niso mogli najti; obstoječe opombe in polja so ohranjeni
Version 2.18.2
Popravljeno (Fixed)
- Podpisovanje PAdES in klasično pisanje navzkrižnih sklicev zdaj sprožita jasno napako, ko odmik bajtov preseže fiksno širino polja s 10 ciframi (~9,3 GB), namesto da tiho pustita nevpisani nadomestnik
/ByteRange(kar ustvari neveljaven podpis) ali prekoračita 20-bajtno vrstico xref (ISO 32000-1 §7.5.4); izhod toka navzkrižnih sklicev uporablja 8-bajtna binarna polja in ni prizadet
Version 2.18.1
Popravljeno (Fixed)
- Podpisovanje PAdES zdaj razrešuje posredne sklice na
/Annots,/AcroFormin/Fieldsprve strani z celotno glavo objekta (ISO 32000-1 §7.5.3) in dejansko generacijsko številko sklica; prejšnje preprosto iskanje podniza je ujelo številko objekta znotraj daljšega (razrešitev5 0 Rv15 0 obj), trdo kodirana generacija pa je preskočila objekte zgen>0, s čimer je pokvarila matrike polj podpisov ali zavrnila veljavne dokumente - Ko katalog, prva stran,
/Annots,/AcroFormali/Fieldsprebiva v toku objektov, podpisovanje zdaj poskusi znova na razširjeni kopiji, preden ne uspe, namesto da takoj zavrne dokument
Version 2.18.0
Dodano (Added)
ReadPdfVersionInfoporoča o različici glave, efektivni osnovni različici, prepisovanju kataloga in ravni razširitve razvijalca Adobe iz toka PDF
Spremenjeno (Changed)
- Eksplicitni zapisi PDF 1.3–1.7 zdaj preverjajo strukture kataloga, virov strani, XFA, redakcije in razširitev razvijalcev v kontekstu lastništvenega objekta; šifriran eksplicitni izhod z različico in inkrementalna normalizacija PDF 1.3 sta zavrnjena za ohranitev celovitosti dokumenta
- Zapisi v pot datoteke zdaj zapisujejo v sosednjo začasno datoteko in zamenjajo cilj šele po uspešnem zaključku vseh preverjanj stiskanja, normalizacije in različice
Popravljeno (Fixed)
- Izhod PDF 1.3 zdaj nosi zahtevani polni vir
/ProcSetin odstrani ključe prosojnosti PDF 1.4, ko le ponavljajo začetne vrednosti grafičnega stanja PDF 1.3 - Datoteke s hibridnimi sklici, xref-stream in object-stream ne prepiše več klasični kompresor xref, kar preprečuje izpuščanje vnosov stisnjenih objektov
- Imena, ki spominjajo na ključe prosojnosti ali funkcij kataloga znotraj nizov, komentarjev ali nepovezanih map virov, ne povzročajo več lažnih napak ciljne različice
Version 2.17.0
Dodano (Added)
- Podpisi PAdES so zdaj registrirani kot nevidne opombe Widget v polju
/Annotsprve strani in v polju/FieldsAcroForm, pri čemer so ohranjene obstoječe opombe in polja obrazca
Spremenjeno (Changed)
- Inkrementalne posodobitve PDF/A, PDF/X, PDF/E, PDF/R, PDF/UA, PDF/VT in PAdES zdaj ohranjajo predstavitev navzkrižnih sklicev izvornega dokumenta: dokumenti xref-stream prejmejo posodobitev xref-stream, kot zahteva ISO 32000-1 §7.5.8.1, medtem ko klasični dokumenti še naprej prejmejo tabelo xref
- Odmiki navzkrižnih sklicev,
startxref,/Prev, vrednosti PAdES ByteRange in obdelava obsegov SHA-256 zdaj uporabljajo 64-bitne položaje z razdelastim razpršanjem, kar omogoča datoteke, večje od 2 GB, v 64-bitnih gradbah - Ustvarjeni zapisljivi paketi XMP zdaj rezervirajo 2048 bajtov oblazinjenja pred zaključno navodilo paketa
Version 2.16.10
Popravljeno (Fixed)
- Razširitev object-stream ne obnavlja več zastarelih kopij objektov, ki jih je inkrementalna posodobitev preselila iz toka objektov v navadno definicijo (ISO 32000-1 §7.5.7); preverjanja skladnosti in vstavljanje oznak sta prej razrešila zastareli katalog ali slovar metapodatkov v takih datotekah
Version 2.16.9
Popravljeno (Fixed)
- V Free Pascal se besedilni nizi, katerih vhod ni veljavna UTF-8, razširijo bajt za bajtom kot Latin-1 in zapišejo kot šestnajstiški nizi UTF-16BE; surovi visoki bajti so se prej znašli v dobesednem nizu, kar ni zakonito kodiranje besedilnega niza PDF 1.7
- Dekodiranje toka zdaj prepozna surove podatke deflate brez ovoja RFC 1950 zlib (pogosta napaka okvarjenih piscev) in jih dekomprimira v surovem načinu, tako da pregledi skladnosti ne ostanejo tiho slepi na takih tokih
Version 2.16.8
Popravljeno (Fixed)
- Inkrementalne posodobitve, ki jih zapiše pot poprocesoriranja shranjevanja, zdaj osvežijo drugi (spreminjajoči se) element prikolice
/ID, kot zahteva ISO 32000-1 §14.4; oba elementa sta bila prej kopirana dobesedno, tako da so orodja za predpomnjenje in sinhronizacijo po vsaki posodobitvi videli nespremenjen identifikator
Version 2.16.7
Popravljeno (Fixed)
- Brisanje telesa toka, ki ga uporabljajo pregledi skladnosti, zdaj zahteva, da za ključno besedo
streamsledi konec vrstice (ISO 32000-1 §7.3.8.1); beseda znotraj dobesednega niza, kot je(downstream), je prej zbrisala vso naslednjo strukturo do naslednjegaendstream, s čimer je skrivala resnične kršitve pred pregledi na ravni bajtov - Pregledi prepovedanih funkcij PDF/X in PDF/E dodatno brišejo dobesedne nize in komentarje (§7.2.2), tako da vrednost, kot je
/Title (see /JavaScript docs), ali komentirani žeton ne ustvari več lažne ugotovitveJavaScript,AcroFormaliLZWDecode
Version 2.16.6
Popravljeno (Fixed)
- Vnosi DPM PDF/VT so zdaj preverjeni ob zapisu, kot je dokumentirano: imena ključev, ki kršijo pravilo NMTOKEN iz ISO 16612-2 §6.6 ali pravilo predpone registranta iz Dodatka E, in podvojena imena so zavrnjena, namesto da bi bila zapisana v slovar DPart — ime, ki vsebuje presledek, se je prej razdelilo v lažni par ključ/vrednost in pokvarilo slovar
Version 2.16.5
Popravljeno (Fixed)
- Odstranjevanje vnosa slovarja, katerega vrednost je šestnajstiški niz (npr.
/Check <...>), zdaj odstrani celoten vnos; vbrizgalniki so prej pustili za seboj osirotel šestnajstiški vrednosti, kar je ustvarilo sintaktično pokvarjen slovar - Odstranjevanje vnosa, katerega posredni sklic med žetoni uporablja nove vrstice (ISO 32000-1 §7.3.10 dovoljuje poljubne bele znake), ne pušča več generacijske številke in ključne besede
R
Version 2.16.4
Popravljeno (Fixed)
- Pregledovanje največje številke objekta ne zahteva več, da glave objektov začnejo vrstico (ISO 32000-1 §7.5.3 dovoljuje poljubne bele znake ali ločilo pred njimi), tako da vbrizgalniki ne morejo več dodeliti številke objekta, ki trči z vgrajeno glavo
N G objin tiho pokvari datoteko; številke objektov so omejene z zgornjo mejo iz Dodatka C - Tokovi, katerih
/Lengthje posredni sklic, zdaj razrešijo sklicevani celoštevilski objekt in uporabijo njegovo vrednost, ko se ujema z zaključnimendstream; takšni tokovi so bili prej omejeni z iskanjem vzorca, ki je skrajšal telesa, ki zakonito vsebujejo zaporedje bajtovendstream— tipično za vgrajene PDF-priponke
Version 2.16.3
Popravljeno (Fixed)
- Prehodi stiskanja toka prenašajo dokumente s tokom navzkrižnih sklicev (datoteke PDF 1.5+, ki nimajo klasične ključne besede
trailer) nespremenjene; pot obnove je prej napačno razčlenilastartxrefkot lokacijo tabele in sintetizirala uganjeno prikolico, kar je lahko ustvarilo datoteko, ki je ni mogoče odpreti - Kompresor preskoči tokove metapodatkov XMP, tako da dokument PDF/A ohrani obvezni nefiltriran tok metapodatkov (ISO 19005-1 §6.7.2), in pusti nedotaknjene zunanje tokove datotek (
/Fz/FFilter) - Obnovljena tabela navzkrižnih sklicev pregleduje kopijo dokumenta brez tokov, tako da binarna vsebina tokov ne more več ponarejati glav objektov ali napihnjati tabele;
/Sizeobnovljene prikolice zdaj odraža dejansko tabelo in številke objektov so omejene z zgornjo mejo iz Dodatka C - Iskanje izvirne tabele navzkrižnih sklicev sprejme samo-CR konce vrstic (ISO 32000-1 §7.5.1) in ne more več ujeti črk
xrefznotrajstartxref; pregledovanje ključnih besed toka je pridobilo enak zaščitni mehanizem repaendstream, ki se uporablja drugod, in zdaj napreduje mimo preskočenih teles tokov
Version 2.16.2
Popravljeno (Fixed)
- Razčlenjevanje celih števil v bralnikih PDF na ravni bajtov zdaj sprejme eksplicitni znak
+, ki ga dovoljuje ISO 32000-1 §7.3.3, in zavrne nize številk, ki bi prekoračili, tako da sovražni ali pokvarjeni dokumenti ne morejo več zaviti razčlenjenih dolžin in odmikov v zavajujoče vrednosti
Version 2.16.1
Popravljeno (Fixed)
- Vbrizgalnik PDF/UA zapiše vrednost kataloga
/Langkot pravilen besedilni niz PDF; prej je vrednost pognal skozi XML-ubežnik, tako da je jezična oznaka, ki vsebuje&ali oklepaje, ustvarila pokvarjen vnos, ne-ASCII vhod pa je bil zapisan kot surovi UTF-8 - Vnos Info PDF/E
/ISO_PDFEVersionuporablja skupni koder besedilnih nizov, s čimer ohranja vrednosti non-ASCII zakonite v PDF 1.7 - XML-ubeganje za pakete XMP zavrže kontrolne znake, ki so nezakoniti v XML 1.0, tako da metapodatki, kopirani iz poškodovanega izvornega dokumenta, ne morejo več povzročiti, da celoten tok metapodatkov ne bi bil pravilno oblikovan
- Pretvorba datuma PDF-v-XMP preveri, da so datumska polja številska, in dopolni manjkajoče minutno polje, s čimer prepreči napačno oblikovane datume ISO 8601 v ustvarjenem XMP; na platformah, ki niso Windows, nadomestni časovni žig zdaj vključuje tudi čas dneva namesto golega datuma
Version 2.16.0
Dodano (Added)
- Dekodiranje toka zdaj rekonstruira napovedovalce
/DecodeParms(napovedovalci PNG 10–15 in napovedovalec TIFF 2, ISO 32000-1 §7.4.4.4) po FlateDecode, pri čemer upošteva/Colors,/BitsPerComponentin/Columns; tokovi objektov, stisnjeni z napovedovalcem — pogosta izbira pisca PDF 1.5+ — so prej prikazali diferencirane bajte, zato so bili objekti, ki jih nosijo, tiho nevidni za preglede skladnosti in vstavljanje oznak
Popravljeno (Fixed)
- Zaznavanje FlateDecode zdaj razčleni vrednost
/Filterkot ime ali matriko namesto ujemanja podniza, tako da kaskadne verige filtrov in pojavljanje besede v nepovezanih vrednostih ne sprožijo več lažnega napihnjevanja; nepodprte verige se vrnejo na surove bajte kot prej
Version 2.15.1
Popravljeno (Fixed)
- Pregledovalnik slovarjev zdaj preskakuje dobesedne nize, šestnajstiške nize in komentarje pri uravnoteževanju
<</>>(ISO 32000-1 §7.2.2), tako da slovarji, ki vsebujejo vrednosti, kot je(A >> B), ali šestnajstiški niz tik ob zaključnem ločilu, niso več skrajšani med razčlenjevanjem prikolice, kataloga in pregledi skladnosti - Ekstrakcija dobesednih nizov zdaj dekodira celoten ubežni niz §7.3.4.2 Tabela 3 —
\n \r \t \b \f, oktalno\ddd, nadaljevanja vrstic in normalizacijo EOL brez ubeganja — namesto dobesednega kopiranja ubežnega znaka, s čimer obnovi pravilne primerjave/Producer,/GTS_PDFXVersionin/ISO_PDFEVersionza pisalce, ki uporabljajo oktalne ubege - Dobesedni nizi, ki jih zapišejo vbrizgalniki oznak, zdaj ubegnejo CR, LF in druge kontrolne znake, tako da vrednosti preživijo normalizacijo EOL na strani bralnika bajt za bajtom
Version 2.15.0
Popravljeno (Fixed)
- Inkrementalne posodobitve, ki jih zapišejo vbrizgalniki oznak PDF/A, PDF/X, PDF/E, PDF/R, PDF/UA in PDF/VT ter poti podpisovanja PAdES in DSS, zdaj ohranjajo trajni identifikator datoteke izvornega dokumenta: prvi element
/IDprikolice je prenesen dobesedno, kot zahteva ISO 32000-1 §14.4, in le drugi (spreminjajoči se) element je osvežen; prej sta bila oba elementa regenerirana, tako da so zunanji sklici in delovni tokovi dolgoročne validacije po vsakem shranjevanju videli drugačno identiteto dokumenta - Podpisi PAdES, vstavljanje DSS in Document Time-stamp B-LTA zdaj prenašajo sklic
/Infoiz izvorne prikolice (ISO 32000-1 §7.5.6), tako da lastnosti dokumenta ne izginejo več iz plošč bralnika po podpisovanju; prikolica Document Time-stamp prav tako pridobi matriko/ID - Nadomestni mehanizem prikolice
/Infoza dokumente s tokom navzkrižnih sklicev zdaj pravilno poišče slovar toka XRef in ohrani generacijsko številko sklica; prej se ni nikoli ujemal v skladnih datotekah PDF 1.5+, s čimer je tiho izpustil/Info
Version 2.14.4
Popravljeno (Fixed)
- Datum
/Mslovarja podpisa, ki ga zapišetaTPdf.SignPadesinSignPadesBytes, zdaj nosi obvezni predponoD:in oznako UTC odmikaZ, ki jo zahteva ISO 32000-1 §7.9.4; strogi validatorji so prej zavrnili čas podpisovanjam kot napačno oblikovan niz datuma
Version 2.14.3
Popravljeno (Fixed)
- Iskanje ključev slovarja v skupnem bralniku PDF zdaj ujame cele žetone imen (ISO 32000-1 §7.3.5); prej je bil tok, katerega slovar je navedel
/Length1pred/Length(značilno za tokove FontFile), skrajšan na napačno število bajtov, kar je tiho zaslepilo preglede PDF/A, PDF/UA in druge preglede skladnosti, ki so brali tokove pisav, CMap ali metapodatkov - Iskanje ključev prikolice
/Encrypt,/Root,/Sizein/Infone ujame več daljših ključev, ki si delijo isti predpono (npr./EncryptMetadata) - Razširitev object-stream ne zaupa več poškodovani ali sovražni vrednosti
/N: vrednosti, ki niso cela števila, zdaj dajo 0 namesto neinicializiranega števila, zgornja meja, izpeljana iz/First, pa preprečuje prekomerne dodelitve pri pregledovanju napačno oblikovanih dokumentov
Version 2.14.2
Popravljeno (Fixed)
- Vbrizgalniki oznak PDF/X, PDF/VT, PDF/UA, PDF/E in PDF/R zdaj kopirajo šifrirane izvorne dokumente nespremenjene, namesto da dodajajo razdelke posodobitev v navadnem besedilu; prejšnje vedenje je ustvarilo datoteke, katerih najnovejša prikolica je izgubila vnos
/Encrypt(ISO 32000-1 §7.5.6), zato so skladni bralniki brali šifrirano telo kot navadno besedilo TPdf.SignPades,SignPadesBytesinInjectPadesDssMarkerszdaj sprožijoEPadesCrypto, ko je izvorni dokument šifriran, namesto da tiho izdajo pokvarieno ali nepreverjeno datoteko; pred podpisovanjem ali vgrajevanjem gradiva DSS odstranite šifriranje
Version 2.14.1
Popravljeno (Fixed)
TPdf.SignPadesinSignPadesByteszdaj retroaktivno izpolnita vsa štiri polja/ByteRangeslovarja podpisov; prej so zadnja tri polja ostala pri svojih ničelnih nadomestnikih, tako da so ustvarjeni podpisi razglasili prazen obseg bajtov in pri preverjanju v skladnih validatorjih niso uspeli- Slovarji Document Time-stamp PAdES B-LTA prejmejo enako popravo retroaktivnega izpolnjevanja
/ByteRange ValidatePadesCompliancezdaj sprejme standardno postavitev podpisa, kjer vrzel v obsegu bajtov vsebuje šestnajstiško vrednost/Contents, in preveri, da se drugi segment obsega konča natanko na koncu datoteke; prej so preverjanje pokritosti prestali le obsegi brez vrzeli
Version 2.14.0
Dodano (Added)
TPdf.ExportXFDFserializira vsako vrednost polja obrazca in opombo na vseh straneh v dokument XFDF (ISO 19444-1), pri čemer oddaja<fields>za hierarhične vrednosti obrazca in<annots>za vse podprte podtipe opomb (text, highlight, underline, strikeout, squiggly, line, circle, square, caret, polygon, polyline, stamp, ink, freetext, fileattachment, sound, link, redact)TPdf.ImportXFDFprebere dokument XFDF nazaj v naloženi PDF, znova ustvari opombe na ustreznih straneh in uveljavi vrednosti polj na njihove pripomočke Widget- Zapis
TPdfAnnotationje pridobilName(NM),Subject,ModificationDate(M),CreationDate,Icon,Opacity(CA), končne točke vrstice, oglišča poligona/polivirvice in polja gest ink-list, tako da kroži XFDF ohranjajo popolne metapodatke opomb - Novi vzorec
XfdfLabv demo kompletih Delphi, C++Builder in Lazarus prikazuje kroži izvoz/uvoz
Version 2.13.6
Popravljeno (Fixed)
ValidatePdfAzdaj obravnava tokove/Metadatakataloga brez/Type /Metadataali/Subtype /XMLkot manjkajoče metapodatke XMP prekpvaiMissingXmpMetadata- Poročila o predletnem pregledu PDF/A zdaj razvrščajo
pvaiMissingXmpMetadatakot Metapodatke in priporočajo tok/Metadatakataloga z/Type /Metadata,/Subtype /XML, nefiltriranim XMP in oznakamipdfaid
Version 2.13.5
Popravljeno (Fixed)
ValidatePdfAzdaj poroča o opombah Widget brez slovarja videza in opombah PDF/A-2 / PDF/A-3, ki zahtevajo, a nimajo/AP, prekpvaiAnnotationApDictViolation- Poročila o predletnem pregledu PDF/A zdaj razvrščajo
pvaiAnnotationApDictViolationkot vsebino, ki je vstavljanje oznak ne more popraviti
Version 2.13.4
Popravljeno (Fixed)
ValidatePdfAzdaj poroča o vgrajenih slikah PDF/A-2 in PDF/A-3, katerih vrednost/Iali/Interpolatejetrue, prekpvaiImageDictionaryViolation, kar ustreza obstoječi pokritosti slovarja XObject Image- Poročila o predletnem pregledu PDF/A zdaj razvrščajo
pvaiImageDictionaryViolationkot vsebino, ki je vstavljanje oznak ne more popraviti
Version 2.13.3
Popravljeno (Fixed)
ValidatePdfAzdaj poroča o vgrajenih slikah PDF/A-1, ki v tokovih vsebine uporabljajo filtre/LZWDecodeali skrajšani/LZW, prekpvaiInlineImageLzwForbidden, kar ustreza obstoječi pokritosti vgrajenih slik PDF/A-2 in PDF/A-3- Pregledovalnik filtrov vgrajenih slik zdaj napreduje mimo vodilnih imen virov, kot je
/GS1, s čimer se izogiba zastojem pri pregledovanju širših tokov vsebine PDF/A-1
Version 2.13.2
Dodano (Added)
TPdf.SetFocusedFormFieldTextzapiše besedilo v urejevalni vmesnik trenutno osredinjenega polja obrazca prekFORM_ReplaceSelection, simetrično zFocusedFormFieldText. Za polja besedilo/kombinirano polje AcroForm se vrednost ob izgubi fokusa potrdi v/Vin obstaja; za besedilna polja XFA zapis pristane le v vmesnem pomnilniku v pomnilniku (PDFium ne razkriva nobenega javnega API za uskladitev vrednosti XFA nazaj v paket naborov podatkov, zato ne vztraja čez shranjevanje)- Gostiteljska platforma JavaScript je zdaj pripojena vsakič, ko je motor V8 na voljo, ne glede na to, ali je dokument XFA — tako se lahko izvaja vgrajeni JavaScript AcroForm (skripte na ravni dokumenta, izračuni polj,
app.alert). Prej je bilm_pJsPlatformpriključen le za dokumente XFA, pri čemer je bil JS AcroForm tiho onemogočen
Spremenjeno (Changed)
- Priključitev platforme JavaScript je zdaj neodvisna od odločitve XFA v
InitializeFormFill— tabelam_pJsPlatformje zgrajena vsakič, ko jeV8FeaturesAvailabletrue, se uveljavi po žičnem povezovanju različice/povratnega klica XFA, ne znotraj njega
Version 2.13.1
Dodano (Added)
- Novi gostiteljski dogodki izpostavljajo informacije, ki so jih povratni klici zapolnjevanja obrazcev v2.13.0 prej požrli:
OnXfaUriAction,OnXfaPageCountChanged,OnXfaFocusChange,OnXfaEmail,OnXfaHttpRequest,OnXfaOpenFile,OnJavaScriptBeep,OnJavaScriptPrint,OnJavaScriptMail,OnJavaScriptSubmitForm. Vsak dogodek privzeto prevzame obstoječe vedenje no-op, ko ni dodeljen, zato obstoječe gostiteljske aplikacije niso prizadete - Lastnost samo za branje
TPdf.XfaFormPacketsvrne enkratni posnetek vseh paketov XFA (TXfaPacketList), s čimer izpolni vrsteTXfaPacket/TXfaPacketList, prej deklarirane, a neuporabljene - Kode napak PDFium, specifične za XFA,
FPDF_ERR_XFALOAD/FPDF_ERR_XFALAYOUT, so zdaj vezane in izpostavljene prekLastPdfError, s čimer nadomeščajo splošno napako "Unknown error" za napake nalaganja/postavitve XFA
Spremenjeno (Changed)
FFI_DoURIActionWithKeyboardModifierzdaj posvetujeOnXfaUriActionpred zagonom URI iz polja XFA, s čimer da gostitelju pravico veta (varnost: zlonamerno polje XFA je prej lahko brezpogojno zagnalo poljubne URL-je). Nedodeljeni upravljalniki ohranijo prejšnjo privzeto nastavitevShellExecuteWDecodeFormFieldTypezdaj usmerja vrste polj XFA prekIsXfaFormFieldnamesto eksplicitnega primera z 8 vejami, s čimer ohranja oštevilčenje poravnano zFPDF_FORMFIELD_XFA_*po ordinalnem odmiku
Popravljeno (Fixed)
ValidatePdfAzdaj poroča o trditvah PDF/A-1, ki uporabljajo tokove navzkrižnih sklicev PDF 1.5 ali tokove objektov, z novo težavopvaiPdfA1Pdf15Structure, hkrati pa še naprej dovoljuje tokove objektov za PDF/A-2 in PDF/A-3
Version 2.13.0
Dodano (Added)
- Polna podpora izvajanja XFA (XML Forms Architecture):
TPdf.InitializeFormFillzdaj poveže vseh 14 povratnih klicevFPDF_FORMFILLINFOrazličice 2 (FFI_DisplayCaret,FFI_GotoURL,FFI_PageEvent,FFI_PopupMenu,FFI_OpenFile,FFI_EmailTo,FFI_UploadTo,FFI_GetPlatform,FFI_GetLanguage,FFI_DownloadFromURL,FFI_PostRequestURL,FFI_PutRequestURL,FFI_OnFocusChange,FFI_DoURIActionWithKeyboardModifier) in priložiIPDF_JsPlatform, tako da z XFA omogočenpdfium.dlllahko upodablja in skriptira dinamične obrazce XFA - Nova enota
Lib\FPdfXfa.pas, ki razglasi konstante XFA (FXFA_PAGEVIEWEVENT_*,FXFA_MENU_*,FXFA_SAVEAS_*,FPDF_FORMFIELD_XFA_*) in vrsteTXfaPacket/TXfaSaveFormat, ki so bile prej omenjene le v komentarjih - Statični bralnik paketov XFA na
TPdf:GetXfaPacketCount/GetXfaPacketName/GetXfaPacketContent/GetXfaPacketByNameplusGetXfaTemplate/GetXfaDatasets/GetXfaConfigizvlečejo pakete XFAtemplate,datasetsinconfigkot surovi XML, ne da bi potreboval z XFA omogočeno izvajalsko okolje — koristno za revizijo skladnosti in migracijo podatkov - Sonde zmogljivosti: globalni
XfaFeaturesAvailablein per-dokumentTPdf.XfaRuntimeAvailable(ali je bilFPDF_LoadXFAdejansko uspešen) inTPdf.XfaStaticReadable(ali se izvozi bralnika paketov razrešijo) TPdfFormFieldTyperazširjen zfiXfa,fiXfaCheckBox,fiXfaComboBox,fiXfaImageField,fiXfaListBox,fiXfaPushButton,fiXfaSignature,fiXfaTextField, pri čemerDecodeFormFieldTypepreslika nove vrednostiFPDF_FORMFIELD_XFA_*- Gostiteljski dogodki JavaScript na
TPdf:OnJavaScriptAlert,OnJavaScriptResponse,OnXfaGotoUrlinOnXfaRuntimeMissinggostitelju omogočajo prilagajanje dialogov JS in navigacije XFA ali odzivanje, ko dokument XFA ne more zagnati motorja - Novi vzorec Delphi
XfaLab, ki prikazuje zaznavanje XFA, ekstrakcijo paketov, sondiranje zmogljivosti in nadomestno pot manjkajočega izvajanja
Spremenjeno (Changed)
TPdf.LoadDocumentzdaj predhodno pregleduje vhod za oznake XFA (/XFAv slovarju AcroForm ali katalog/NeedsRendering) in po najdbi samodejno izberepdfium.v8.dllz nastavitvijoEnableV8Engine := Truepred prvim nalaganjem knjižnice singleton; ko je enkrat naložen navadenpdfium.dll, postopek ne more preklopiti, zatoOnXfaRuntimeMissingsignalizira ta primerTPdf.GetPageCountzdaj odraža število strani, ki ga motor XFA poroča prekFFI_PageEventpo dinamičnem ponovnem razdeljevanju, ne le statičnega drevesa strani PDF- Ko je odprt dokument XFA, a izvajanje ni na voljo,
InitializeFormFillzdaj pritrdiversion=1inxfa_disabled=1namesto zahtevanja različice 2 z nedodeljenimi povratnimi klici, kar je prej tvegalo razvezavo slabega kazalca povratnega klica
Version 2.12.2
Popravljeno (Fixed)
ValidatePdfACompliancezdaj poroča o uporabljenih prostorih imen XMP po meri brezpdfaExtension:schemas, hkrati pa še vedno sprejema standardne metapodatkepdfaidbrez deklaracij razširitev- Preverjanje vgrajenih datotek PDF/A-3 zdaj zahteva vnose
/Fin/UFna najvišji ravni v slovarjih filespec ter prezre vgnezdene ključe toka/EFpri preverjanju teh imen
Version 2.12.1
Popravljeno (Fixed)
ValidatePdfACompliancezdaj dekodira ubežne žetone imen PDF pred ujemanjem JavaScript, LZWDecode, Type1 in drugih prepovedanih imen, tako da so zakrita, a sémantično enaka imena pravilno sporočena- Preverjanja vgrajenih slik PDF/A zdaj zavračajo vrednosti
/Filterin/F, ki uporabljajo/LZWDecode, skrajšani/LZWali/Crypt, vključno z oblikami matrik in ubežnih imen - Preverjanje veljavnosti PDF/A zdaj poroča o tokovih metapodatkov s prepovedanimi filtri tokov, profilih ICC OutputIntent, katerih število komponent
/Nmanjka ali ni skladno, in specifikacijah vgrajenih datotek PDF/A-3 z manjkajočim ali neveljavnim/AFRelationship
Version 2.12.0
Dodano (Added)
- Zahteve HTTP TSA zdaj nastavljajo eksplicitne časovne omejitve 30 s za vsako fazo (resolve/connect/send/receive) prek
WinHttpSetTimeouts, tako da počasen ali nedosegljiv organ za časovne žige ne more za nedoločen čas obesiti niti za podpisovanje namesto zanašanja na implicitne privzete vrednosti WinHttp - Izpeljava nonce na zahtevo za zahteve po časovnih žigih PAdES B-T / B-LTA, ko klicatelj izpusti
TPadesSignOptions.Nonce: zlaganje SHA-256 monotonega števca + sistemske ure +GetTickCount64+ id procesa nadomešča prejšnji fiksni nadomestni$100000000, tako da dve zahtevi, izdani v isti milisekundi, ne znova uporabita istega nonce anti-replay PdfInflatezdaj omeji stisnjeni izhod na 256 MiB, da ustavi zlib-stisnjen tok, ki izčrpa pomnilnik pri sovražnem ali pokvarjenem vhodu (t. i. “zlib bomba”); omejitev je radodarna za kateri koli pravi tok PDF
Spremenjeno (Changed)
- Prekrivno mešanje
TPdfView(poudarjanje iskanja, izbira besedila, beseda branja, razprostranjena izbira) ne uporablja večGetPixel/SetPixelVna piksel; pravokotnik je zdaj zmešan prek 32-bpp zunaj zaslonaTBitmapinScanLinev enem prehodu, s čimer se odpravijo tisoči prehodov jedra GDI na eno risanje in so velike izbire odzivne FPdfAsn1.TDerReader.ReadIntegerzdaj zavrne polja INTEGER, daljša od 8 bajtov (in 8-bajtne negativne vrednosti, katerih znakovni bit bi zahtevalshl >= 64), in vrne 0 namesto izračuna napačne vrednosti z nedefiniranim vedenjem premika na vhodu ASN.1 CMS/PAdESParseTimeStampRespne odmeva več nonce zahteve nazaj kotTPadesTimestamp.Nonce; dokler ne prispe hodnik TSTInfo, ki preveri vrnjeni nonce, polje ostaja 0, da signalizira “nepreverjeno”, namesto da daje klicateljem lažno zaupanje, da je odgovor na časovni žig svež
Popravljeno (Fixed)
PointsToPixelsje vrnil vhod nespremenjen za vsak DPI: delilec je bilPointsPerInch(konstanta 72) namesto dobesednega 72, s čimer se je formula zrušila naResult := Points. Vsak zunanji klicatelj, ki opravlja določanje velikosti točke→slikovne pike naprave prek tega pomočnika, zdaj dobi pravilniPoints × PixelsPerInch / 72PdfMaxObjNumje v dokumentih, ki uporabljajo tokove objektov (PDF 1.5+ ObjStm), podceneval: objekti, stisnjeni znotraj/ObjStm, ne nosijo oznakeN 0 obj, zato je pregledovanje surovih bajtov zgrešilo, vbrizgalniki, ki dodelijoMaxObj+1za nove objekte, pa bi trčili s skritimi člani ObjStm in tiho pokvarili datoteko. Pregledovanje zdaj najprej razširi tokove objektov, tako da je vsaka številka objekta vidnaInjectPdfAMarkersne ponaredi več trditve o skladnosti PDF/A na šifriranem dokumentu: PDF/A (ISO 19005-1 §7.1) prepoveduje šifriranje, vbrizgalnik pa je prej kopiral vir z oznakami, čeprav bi ga naslednje preverjanje veljavnosti zavrnilo. Ko jeHasEncryptnastavljen, se vir zdaj prenese nespremenjen. Normalna potTPdf.SaveAsPdfAže odstrani šifriranje (saRemoveSecurity) pred vbrizgavanjem, zato to vpliva le na neposredne klicateljePdfReadStreamByteszdaj zavrne/Length, ki je večji od celotne datoteke, pred dodelitvijo vmesnega pomnilnika, s čimer zapre zgodnjo dodelitev na pokvarjeni ali sovražni posredni dolžini
Version 2.11.0
Dodano (Added)
- Zapis PDFium
FPDF_FILEHANDLERzdaj razglasi svojih šest povratnih klicev (Release,GetSize,ReadBlock,WriteBlock,Flush,Truncate) kot prava polja namesto komentarjev, kar ustreza postavitvi glave C. Povratni klici prenosa datotek FFI XFA (FFI_OpenFile/FFI_EmailTo/FFI_UploadTo/FFI_DownloadFromURL), ki vrnejo ali porabijoPFPDF_FILEHANDLER, ostanejo neimplementirani v plasti zapolnjevanja obrazcev Pascal, a vrsta je zdaj strukturno pravilna za vsako prihodnjo pot pošiljanja/nalaganja XFA - Nalaganje in razlaganje knjižnice PDFium (
LoadLibrary/UnloadLibrary) sta zdaj serializirana z globalnim kritičnim oddelkom procesa, tako da dve delovni nitiTPdfFuture<T>(ali delavec, ki tekmuje z glavno nitjo) ne moreta obe opazitiPDFiumLibrary=0in se dvojno vezati ali sprostiti DLL, medtem ko je druga nit sredi vezave - Razdelek
initialization/finalizationzdaj pokličeUnloadLibraryob razlaganju enote, s čimer zagotovi, daFPDF_DestroyLibrarydeluje (združitev delovne niti, razgradnja izolata V8, razgradnja pisave/predpomnilnika) namesto zanašanja na OS za pridobitev DLL
Spremenjeno (Changed)
TPdf.SetActivezdaj požre kakršno koli izjemo med nalaganjem (prej leEPdfError), tako da napaka toka ali kršitev dostopa med nastavljanjem obrazca/strani pustiActive=Falsenamesto delno naložene komponente z nedoločenim stanjem- Dosledno kodiranje znakov za argumente ključa metapodatkov PDFium:
TPdf.GetMetaTextzdaj uporablja isti razdelitev FPCAnsiString/ DelphiUTF8EncodekotGetViewerPreferencein poti nalaganja, namesto golega pretvornikaAnsiString(Tag) - Podvojeni pomočniki
BytesToAnsi,AnsiToBytes,WriteBytesinWriteStrso bili deduplicirani:FPdfCompressjih zdaj uvozi izFPdfPdfCommon(njegovi vzdevkiWriteBytesToStream/WriteAnsiToStreamso upokojeni) in odvečna tro-argumentna preobremenitevBytesToAnsivFPdfPdfaje odstranjena.FPdfAsn1ohrani svojo lokalno kopijo po zasnovi, da kriptografska plast ostane brez enote plasti skladnosti
Popravljeno (Fixed)
- Uhajanje virov v
TPdf.LoadDocument(datoteka, pomnilnik,TBytes,TMemoryStream, tok po meri) inTPdf.CreateDocument: če staInitializeFormFillaliReloadPagedvignila po uspešnemFPDF_LoadDocument/FPDF_CreateNewDocument, je izvorni ročajFPDF_DOCUMENTušel, ker je bilFActivetakrat še False. Vsaka pot zdaj ovije nastavitev po nalaganju vtry/exceptin pri neuspehu zapre dokument, pri čemer pusti komponento v čisto neaktivnem stanju - Prijaznejša diagnostika nalaganja DLL PDFium:
CheckLoadLibraryzaznaERROR_BAD_EXE_FORMAT(193) in poroča o neujemanju arhitekture 32/64-bit, ki kaže na ustrezno gradnjoDLLs/Win32aliDLLs/Win64, namesto posredovanja le splošne napake OS.CheckGetProcAddresszdaj navaja, da je nameščenipdfium.dllstarejši od vezave, ko manjka zahtevan izvoz, namesto golega besedila OS "procedure not found"
Version 2.10.1
Odpravljeno (Fixed)
- Standardizacija PAdES SignerInfo sid: identifikator podpisnika zdaj uporablja obliko RFC 5652 §5.3
issuerAndSerialNumber(issuer Name + serialNumber, oboje dobesedno izvlečeno iz DER certifikata podpisnika), ki nadomešča prejšnji nestandardni nadomesteksubjectKeyIdentifier+ SHA-256 celotnega certifikata, ki sta ga Adobe Acrobat in drugi skladni validatorji zavrnili. Nov sprehajalec TbsCertificate DER (ExtractIssuerAndSerial) prebere SEQUENCE izdajatelja in INTEGER serije kot surove bajte TLV — serijske številke pogosto presežejo obsegInt64, zato je surova TLV obvezna. OblikasubjectKeyIdentifierostaja le kot rezerva, ko razčlenjevanje DER certifikata spodleti
Spremenjeno (Changed)
TCmsSignerId.SerialNumber: Int64je zamenjan zSerialDer: TBytes(surova serialNumber TLV). Graditelj CMS vgradi rezani TLV dobesedno vIssuerAndSerialNumber, s čimer se izogne prekoračitviInt64pri 20-bajtnih CA serijskih številkah (zgornja meja RFC 5280 §4.1.2.2)
Version 2.10.0
Dodano (Added)
- PAdES B-LT dolgoročno preverjanje: ko je
TPadesSignOptions.Level >= plB_LT,SignPadesBytespripne inkrementalno posodobitev, ki nosi slovar/DSSs certifikatom podpisnika in celotno vmesno verigo (samopodpisani root je izključen skladno z RFC 5652 §10.2.3), plus oznako/Extensions /ESICLevel 1 (EN 319 142-1 §5.4.2) - PAdES B-LTA arhivski časovni žig: ko je
Level >= plB_LTAin jeTsaUrlnastavljen, se pripne slovar podpisa Document Time-stamp (/SubFilter /ETSI.RFC3161), katerega/ByteRangepokriva celotno datoteko; oznaka ESIC je povišana na Level 2. S tem se zaključijo štiri PAdES osnovne ravni (B-B, B-T, B-LT, B-LTA) - Zbiranje verige certifikatov:
ResolveWinSignerzdaj kličeCertGetCertificateChainin napolniTPadesResolvedSigner.ChainCertDerz vmesnimi certifikati CA, tako da/DSS /Certsza B-LT nosi vsak certifikat, ki je potreben za preverjanje podpisa brez zunanjih poizvedb.CertFreeCertificateContextje zdaj vezan, kar zapre en-kontekst-na-podpis uhajanje, opaženo v v2.8.0 - Delovni tok integracije PDF/A:
TPdf.SignPadesWithPdfAnajprej pretvori dokument v PDF/A (najvišja raven, ki jo knjižnica danes izdaja) in nato uveljavi zahtevan podpis PAdES — vzorec vsebnika za dolgoročno arhiviranje, ki ga priporoča EN 319 142-1 Dodatek A.7
Version 2.9.0
Dodano (Added)
- PAdES B-T zaupanja vreden časovni žig:
TPadesSignOptionsdobi poljaLevel,TsaUrlinNonce. Ko jeLevel >= plB_Tin jeTsaUrlnastavljen,SignPadesBytesizvleče vrednost podpisa iz zgrajenega CMS, zahteva nad njo časovni žig RFC 3161 in vgradi vrnjeni TimeStampToken kot nepodpisan atribut SignerInfosignature-time-stamp— korak B-T zaupanja vrednega časa (EN 319 142-1 §6.3 req o) FPdfTsa: medplatformni odjemalec RFC 3161 —BuildTimeStampReq(različica 1, SHA-256 messageImprint nad vrednostjo podpisa, nonce, certReq=true),ParseTimeStampResp(sprejme PKIStatus 0/1, zavrne 2+, dobesedno izvleče TimeStampToken ContentInfo) inRequestTimestamp(enkratni sestavi+POST+razčleni).PadesTsaAvailableomogoča funkcijo na platformah brez ozadja HTTPFPdfTsaWin: ozadje Windows WinHttp, dinamično vezano iz winhttp.dll (ni novih odvisnosti ob prevajanju; HTTPS pogajata shramba certifikatov Windows). Zrcali vzorec dinamičnega vezanjaFPdfCryptoWinFPdfCms:ExtractSignatureValuesprehaja po zgrajenem CMS, da povrne surove podpisne oktete (vhod za razpršilo TSA), inAddSignatureTimestampToCmsponovno zgradi ContentInfo z novimunsignedAttrs [1](0xA1), ki nosi atribut časovnega žiga. Validator 1. faze rezultat prepozna kot podpis B-T
Version 2.8.0
Dodano (Added)
- Sklad podpisov PAdES B-B: štirje novi gradniki iz čistega Pascala/medplatformni (
FPdfSha256,FPdfAsn1,FPdfCms,FPdfCrypto) plus ozadje Windows CNG (FPdfCryptoWin) omogočataTPdf.SignPades/SignPadesToStream, da ustvarita podpis PAdES B-B od konca do konca. Certifikat podpisnika se razreši s prstnim odtisom SHA-1 iz shramabe Current User “MY”; RSA-PSS (priporočeno), RSA PKCS#1 v1.5 in ECDSA so vsi podprti prekNCryptSignHash FPdfSha256: samostojni FIPS 180-4 SHA-256 (Init/Update/Final + enkratni pomožniki). FPC 3.2.2 ne vsebuje enote SHA-2, zato knjižnica poseduje eno, da vsaka kodna pot CMS ostane na eni sami vrstiTSHA256Digestbrez razvejitev RTLFPdfAsn1: kodirnik DER (TDerWriter) in bralnik (TDerReader), ki pokriva SEQUENCE/SET/OID/INTEGER/OCTET STRING/UTCTime/GeneralizedTime/kontekstno-specifične oznake, z določeno-dolžinskim kodiranjem in obravnavo IMPLICIT-oznak, ki ga CMS zahtevaFPdfCms: graditelj CAdES SignedData (BuildSignedData), ki izdaja podpisane atribute content-type, message-digest in signing-certificate-v2, ki jih osnova PAdES odreka, z izbirnima signing-time in commitment-type-indication. Razpršilo signedAttrs se izračuna nad obliko, označeno s SET (0x31), in znova izda z oznako IMPLICIT [0] (0xA0) skladno z RFC 5652 §5.4FPdfCrypto+FPdfCryptoWin: abstrakcija kriptografskega ozadja sPadesCryptoAvailable/ResolvePadesSigner, implementacija za Windows pa dinamično veže crypt32.dll / ncrypt.dll (brez novih odvisnosti DLL ob prevajanju). Podpisi ECDSA se prekodirajo iz oblike Windows IEEE P1363 r¦s v obliko DERECDSA-Sig-Value, ki jo CMS zahtevaSignPadesBytes: vstavljanje podpisa na ravni bajtov — rezervira šestnajstiško mesto/Contentsstalne širine, izračuna pokrivajoči/ByteRange, izračuna razpršilo dokumenta, zgradi in vgradi CMS ter pripne inkrementalno posodobitev. Validator (v2.7.0) rezultat prepozna kot podpis PAdES B-B
Version 2.7.0
Dodano (Added)
- Strukturni validator PAdES (ETSI EN 319 142-1 V1.2.1): nova enota
FPdfPadesin metodaTPdf.ValidatePadespregledata slovarje vrednosti podpisa, dosegljive iz/ByteRange, sprehodita se po CMSSignedDataznotraj/Contentsdovolj daleč, da potrdita obliko CAdES detached, in zaznata štiri osnovne ravni (B-B, B-T, B-LT, B-LTA) ter slovarje Document Time-stamp (/SubFilter /ETSI.RFC3161) - Nabor težav na ravni klavzul PAdES: 26 naštev
ppei*pokriva sprejemljivost/SubFilter(adbe.pkcs7.sha1inadbe.x509.rsa_sha1označena kot prepovedana), pokritost datoteke/ByteRange, prepoved/Cert, obliko CMSSignedData(en podpisnik, detached eContent, obseg različic), zahtevane podpisane atribute (content-type,message-digest,signing-certificate/v2), prepovedana razpršila (MD5, SHA-1), izključitev/Reasonvscommitment-type-indication(req d), zahtevo B-T za zaupanja vreden čas, oznako B-LT/DSS+/Certs+ ESIC Level 1 ter oznako B-LTA Document Time-stamp + ESIC Level 2 - Vstavljalnik DSS:
TPdf.SaveAsPadesDss/SaveAsPadesDssToStreampripneta inkrementalno posodobitev, ki na kopijo dokumenta nosi slovar/DSS(s polji/Certs,/OCSPs,/CRLs) in oznako/Extensions /ESIC(Level 1 ali 2), pri čemer ohrani izvorne bajte — korak vgradnje gradiva za preverjanje B-LT/B-LTA (klavzula 5.4.2) - Medplatformna, z ničelnimi odvisnostmi faza: validator in vstavljalnik sta iz čistega Pascala in delujeta na vsakem podprtem IDE-ju (Delphi, Lazarus, FPC, C++Builder); za to izdajo kriptografsko ozadje ni potrebno in nova odvisnost DLL ni uvedena
Version 2.6.0
Spremenjeno (Changed)
- Deduplikacija med standardi: še sedem podvojenih pomožnih funkcij (PdfEnclosingObjNum, PdfDictRefNum, PdfExpandObjectStreams, PdfTextStr, ExtractLiteralString, ExtractXmpAttr) je odstranjenih iz posameznih standardnih enot in konsolidiranih v
FPdfPdfCommon, kar zmanjša približno 300 vrstic bremena vzdrževanja kopiraj-prilepi - Kakovost PreflightReport: težave razreda vsebine PDF/X in PDF/E, ki so prej padle v splošno kategorijo “manjkajoči označevalec”, zdaj nosijo natančne kategorije Content/Metadata/Security in klavzuli specifična priporočila (~15 naštev v obeh standardih)
- Pokritost testov PDF/E in PDF/R: še šest naštev z ničelno pokritostjo je dobilo pozitivne teste (
pveiLzwForbidden,pveiJavaScriptForbidden,pveiFormFieldsForbidden,pveiEmbeddedFilesForbidden,pvriBadHeader,pvriProhibitedInfoEntry) - Popravek izgradnje Lazarus:
Tests.PdfVT(enota DUnitX samo za Delphi, dodana v v2.5.x) je zdaj izključena iz projekta Lazarus, da se obnovi prevajanje
Version 2.5.3
Dodano (Added)
- Popolnost OutputIntent (PDF/X-4 §6.2.4):
pvviOutputIntentSchemeoznači OutputIntent, katerega/Sni/GTS_PDFX;pvviOutputIntentMissingIdentifieroznači manjkajoči/OutputConditionIdentifier - Izjema PDF/VT-2 Reference XObject (§6.2.2):
pvviReferenceXObjectForbiddense ne sproži več za datotekoPDF/VT-2, ki sme zakonito uporabljati Reference XObject na osnovi X-5g/5pg - Preverjanje znakov meje MIME (RFC 2046 §5.1.1):
vtmviBoundaryInvalidCharoznači mejo, katere znaki padajo izven niza bchars ali katere dolžina presega 70
Odpravljeno (Fixed)
InjectPdfVTMarkerszdaj zapiše Info/CreationDatein/ModDateiz možnosti shranjevanja, tako da ustvarjena datoteka opraviValidatePdfVTCompliancebrez napačnegapvviInfoModDateMismatch(vstavljalnik je prej prepisoval datume XMP, a pustil datume slovarja Info zastarele)
Version 2.5.2
Dodano (Added)
- Doslednost Info
/ModDate(§6.3 NOTE 2, osnova PDF/X-4):pvviInfoModDateMismatchoznači/ModDateslovarja Info, ki po normalizaciji iz datuma PDF v datum XMP ni enakxmp:ModifyDate - Skladnost vgrajenega bloka PDF/VT-2s (Dodatek A.2): validator MIME zdaj zažene
ValidatePdfVTCompliancena vsakem vgrajenem deluapplication/pdfin označi telo, ki ni PDF/VT, prekvtmviInlinePdfNotPdfVT
Version 2.5.1
Dodano (Added)
- Preverjanje razrezovanja DParts (ISO 16612-2 §6.5 Tabela 4):
pvviDPartsBadChunkingoznači polje/DParts, katerega nekončni podpolji nimata natanko 8192 vnosov ali katerega zadnje podpolje pade izven 1..8192 - Doslednost RecordLevel med tokovi (Dodatek A.2): validator MIME PDF/VT-2s zdaj izvleče
/RecordLevelvsake vgrajene PDF in označi nestrinjanje prekvtmviRecordLevelMismatch, kar dopolnjuje obstoječi preverjanje NodeNameList - Namigi ponavljajočega se grafičnega predmeta (§6.7):
pvviGtsScopeInvalidValueoznači/GTS_Scopezunaj množice {SingleUse, Record, File, Stream, Global, Unknown};pvviGtsScopeRecordWithoutRecordLeveloznači/Recordbrez/RecordLevel;pvviGtsXidNotUuidoznači/GTS_XID, ki ni uuid: URI po RFC 4122;pvviGtsEnvMissingoznači manjkajoči/GTS_Env, ko je/GTS_ScopeStream ali Global (§6.7.4) - Zaznavanje naprej-podatkov v MIME (Dodatek A.2):
vtmviForwardReferenceoznači vgrajeno PDF, ki navaja ime datoteke (prek/EF /F), ki ga ne uvede prejšnji del priloge v toku
Odpravljeno (Fixed)
ExtractNodeNameListFromPdfinExtractRecordLevelFromPdfvFPdfPdfvtMimesta rešila ponavljajočo se napako off-by-one, kjer je bil 1-osnovni odmik, ki ga vrneAnsiFindKey, obravnavan kot absolutni odmik bajtov v razširjeni PDF
Version 2.5.0
Dodano (Added)
- PDF/VT Document Part Metadata (DPM, ISO 16612-2 §6.6):
TPdfVTSaveOptionsje dobilDpmEntriesinDpmTarget, tako da lahko zapisovalec pripne slovar/DPMsintetiziranemu vozlišču DPart, s preverjanjem imena ključa glede na pravilo second-class-prefix Dodatka E in pravila §6.6 NMTOKEN / enoličnost / oblikaGTS_Managedna strani validatorja - Izmenjava toka PDF/VT-2s (Dodatek A): nova enota
FPdfPdfvtMimezagotavljaBuildPdfVT2sStreaminValidatePdfVT2sStreamza ovojnico MIMEmultipart/mixed, ki nosi vgrajene koščke PDF/VT plus priložene profile ICC, s pravilom vrstnega reda glaveX-PDFVT-Stream-version: 1in preverjanjem doslednostiNodeNameListmed tokovi TPdf.ValidatePdfVTzdaj izvede avtoritativno štetje dejanj JavaScript prekFPDFDoc_GetJavaScriptActionCount, kar dopolnjuje iskanje imena/JavaScriptna ravni bajtov
Odpravljeno (Fixed)
- Pravilnost PDF/VT
Trappedna osnovi PDF/X-4: naštevptvUnknownje odstranjen (PDF/X-4 prepoveduje/Unknown),ptvUnspecifiedse ob času zapisovanja normalizira v/False(manjkajoči/Trappedje prav tako prepovedan), nova težavapvviTrappedInvalidpa označi odsotno ali vrednostUnknown ValidatePdfVTCompliancezdaj razširi tokove objektov (PdfExpandObjectStreams) pred iskanjem, tako da so katalog, slovar OutputIntent ali Metadata, shranjeni znotraj stisnjenega ObjStm (PDF 1.5+, tipično za izdelovalce PDF/X-4), dosegljivi iskanjem na ravni bajtov
Spremenjeno (Changed)
- PDF/VT-1 zdaj podeduje vse prepovedi vsebine PDF/X-4:
pvviAcroFormForbidden(/AcroFormali/XFA),pvviAdditionalActionsForbidden(katalog/AA),pvviMissingTrimBoxinpvviReferenceXObjectForbidden(Reference XObject, samo X-5g/5pg) - Deduplikacija med standardi:
BuildDictObj,IccComponentCount, vgrajeni profil ICC sRGB (GetSrgbIccProfile),PdfTextStr,PdfEnclosingObjNum,PdfDictRefNuminPdfExpandObjectStreamsso bili povišani iz podvojenih krajevnih kopij vFPdfPdfa/FPdfPdfx/FPdfPdfvtv en sam kanonični dom vFPdfPdfCommon; 3144-bajtni literal ICC zdaj obstaja natanko enkrat v zbirki kode
Version 2.4.0
Odpravljeno (Fixed)
InjectPdfUaMarkersne opušča več referenc trailer/Infona osnovi toka navzkrižnih sklicev (cross-reference-stream): lokalniSourceTrailerInfoRef(ki ni imel varnostne rezerve za tok xref) je bil zamenjan s skupnimPdfSourceTrailerInfoRef(prevzetim iz kopije PDF/A, ki je to varnostno rezervo imela že od različice v2.0.0)- Skupni
PdfReadStreamByteszdaj podpira posredne reference/Length N G R(preneseno iz lokalne kopije PDF/A), tako da validatorji PDF/VT, PDF/R in PDF/E ne berejo več napačno ali preskakujejo tokov metapodatkov XMP, ki jih ustvarijo orodja z uporabo posredne določitve Length (Acrobat, Ghostscript)
Spremenjeno (Changed)
- Deduplikacija med standardi: lokalne kopije
PdfReadTrailervFPdfPdfainFPdfPdfx, lokalne kopijeSourceTrailerInfoRefvFPdfPdfainFPdfPdfuater lokalniPdfReadStreamBytesvFPdfPdfaso bili izbrisani — skupne različice izFPdfPdfCommonzdaj veljajo povsod, s čimer se odstrani približno ~330 vrstic podvojene kode in odpravi breme vzdrževanja za usklajenost kopij - Zmanjšanje dolga pri testiranju PDF/X: sedem enums razredov vsebine z vnaprej ničelno pokritostjo je dobilo pozitivne teste (
pvxiLzwForbidden,pvxiJavaScriptForbidden,pvxiFormFieldsForbidden,pvxiAdditionalActions,pvxiEmbeddedFilesForbidden,pvxiMissingTrimBox,pvxiTrappedNotSet)
Version 2.3.0
Spremenjeno (Changed)
- Nadaljevanje zmanjševanja dolga pri testiranju PDF/A: še trije enums z ničelno pokritostjo so dobili pozitivne teste;
pvaiForbiddenRenderingIntent(§6.2.9) označuje nestandardno ime rendering-intent v toku vsebine;pvaiJpeg2000Violation(§6.2.2) označuje sliko JPXDecode z/NumComponentszunaj obsega {1,3,4} pri Part 2;pvaiInlineImageLzwForbidden(§6.1.10) označuje v vrstico vstavljeno sliko, ki uporablja filter LZW pri Part 2
Version 2.2.0
Spremembe
- Regresijski testi za tok navzkrižnih sklicev (cross-reference-stream): obstoječi
Validate_XrefStreamTrailer_DetectsConformancezdaj preverja tudi, da je referenca kataloga/Metadatarazrešena in da se XMPpdfaid:partprebere na osnovi xref-toka (ne le/Root+/ID); nov testInjectPdfA_XrefStreamBase_RoundTripsščiti pot xref-toka injektorja, ki je bila dodana v različici v2.0.0; dva testiranja med standardi (PdfE_XrefStreamBase_NotRejectedAsUnparsable,PdfR_XrefStreamBase_NotRejectedAsUnparsable) potrjujeta, da validatorja za PDF/E in PDF/R ne zavračata več PDF-jev z xref-tokom kot nerazčlenljivih - Zaprtje testnega dolga za PDF/A:
Validate_MinimalPdf_FlagsRequiredMarkerspotrjuje, da goli minimalni PDF sprožipvaiMissingPdfAIdentifier,pvaiMissingOutputIntent,pvaiMissingIccProfile,pvaiMissingXmpMetadatainpvaiMissingXmpDates— s čimer se zapre simetrična vrzel z validatorjema za PDF/E in PDF/X, ki sta že imela enakovredne teste; dve dodatni enumeraciji z ničelno pokritostjo sta pridobili pozitivne teste:pvaiUnembeddedFontinpvaiSubsetMissingCidSet
Version 2.1.0
Popravljeno
- Standard PDF/E je bil nenamerno izpuščen iz popravka toka navzkrižnih sklicev v v2.0.0: tako
InjectPdfEMarkerskotValidatePdfECompliancesta še vedno klicalaPdfReadTrailerbrezAcceptXrefStream, zato je injektor za PDF/E tiho odpovedal pri izhodu PDF 1.5+ (privzeto zaSaveAsCopyv pdfium); obe mesti klica zdaj podajataTrue - Skupna varovalna pot (fallback)
PdfReadTrailerza tok navzkrižnih sklicev zdaj vsebuje zaščito/Type /XRef, ki sta jo lokalni kopiji za PDF/A in PDF/X že imeli, tako da pokvarjen odmikstartxref, ki kaže na nepovezan slovar, čisto odpove, namesto da bi bil napačno razčlenjen kot trailer - Razreševalnik posrednih referenc
/LangvValidatePdfUaCompliance(v2.0.0) je bil nedosegljiv:PdfFindObjDictnajde le slovarje<<, toda nizovni objekt/Langje(...)ali<...>brez slovarja; nadomeščen je z neposrednim pregledom telesa objekta, ki poišče žeton niza
Spremembe
- Sedem podvojenih neuporabljenih pomožnih funkcij (PdfStructureBytes, PdfHasName, PdfCountName, BuildStreamObj), ki so bile bajtno enake kopijam skupne različice
FPdfPdfCommon, je bilo odstranjenih izFPdfPdfainFPdfPdfua— skupne različice zdaj veljajo povsod prek klavzuleuses
Version 2.0.0
Popravljeno
- Tiha odpoved med standardi: skupni pomočnik
PdfReadTrailer(ki ga uporabljajo injektorji in validatorji oznak PDF/UA, PDF/X, PDF/VT in PDF/R) zdaj sprejema parameterAcceptXrefStreamin se vrne na slovar objektov toka navzkrižnih sklicev, ko ključna besedatrailerni prisotna (PDF 1.5+); prej je izhodSaveAsCopyiz pdfium (ki uporablja tok navzkrižnih sklicev) povzročil tiho odpoved vsakega injektorja oznak — izvorne bajte so se kopirale nespremenjene, klic pa je še vedno vrnil uspeh; validator PDF/R-1.0 (katerega osnova PDF 2.0 je vedno tok navzkrižnih sklicev) je bil dejansko brez učinka; zrela implementacija validatorja PDF/A je bila prenesena na skupnega pomočnika, tako da imajo korist vsi standardi - Pregledovanje slovarja trailer v
InjectPdfUaMarkersinInjectPdfAMarkerszdaj uporablja globinsko ozaveščenPdfDictEndnamesto golega iskanja>>, tako da se trailer, ki vsebuje ugnezden slovar (npr./Encrypt << ... >>), ne zaključi več predčasno pred končnim vnosom/Info
Spremembe
TPdf.ValidatePdfUazdaj zavira grobo preverjanjepvuaiFontNotEmbeddedna ravni bajtov, ko se je natančen objektni model PdfiumpvuaiPdfiumFontNotEmbeddedže sprožil, tako da poročilo pred poletom (preflight report) ne vsebuje več dveh skoraj podvojenih vrstic “embed your fonts” za isto napakopvuaiLangInvalidFormat(§7.2) zdaj razreši posredno referenco/Lang(N 0 R) v njen nizovni objekt in preveri vsebino, tako da posredno sklicujevana jezikovna oznaka ni več slepa pega
Version 1.99.0
Popravljeno
pvuaiLangInvalidFormat(§7.2) več ne dopušča poljubnih šestnajstiško kodiranih (hex-encoded) nizov/Lang: pari UTF-16BE (z oznakoFE FFBOM) in čisti ASCII hex nizi se zdaj dekodirajo in preverijo z enakim preverjanjem slovnice BCP 47 kot dobesedni nizi(...), s čimer se ujame napačno oblikovan hex/Lang, medtem ko skladen (npr. UTF-16BEen-US) ni več v nevarnosti, da bi bil označen kot napačen
Spremembe
pvuaiFontMissingToUnicode(§7.21.7) zdaj izključuje/MacExpertEncodingpoleg/WinAnsiEncodingin/MacRomanEncoding, kar ustreza štirim pogojem za izključitev, ki jih navaja člen
Version 1.98.0
Dodano
pvuaiNeedAppearancesTrue(§7.18.4) označi AcroForm, katerega zastavica/NeedAppearancesje nastavljena na True, zaradi česar videz gradnikov (widget appearances) ni zanesljivo zaklenjen in ga podporna tehnologija ne more povezati z drevesom strukture; preneseno iz validatorja PDF/A in omejeno na prisotnost/AcroFormza zožitev obsega preiskovanja
Spremembe
- Regresija korpusa veraPDF: povezan par uspešnih in neuspešnih vzorcev (pass+fail) za Reference-XObject iz §7.20 ter par uspešnih in neuspešnih vzorcev za podmnožico CharSet/CIDSet iz §7.21.4.2 v
Live_Corpus_ValidatePdfUaMatchesConformance; vzorci uspešnih testov za ToUnicode-forbidden-value iz §7.21.7 in media-clip iz §7.18.6.2 so bili prav tako povezani kot zaščita pred lažno pozitivnimi rezultati (njihovi vzorci neuspešnih testov uporabljajo postavitve slovarjev, ki jih pregled na ravni bajtov ne zazna, zato je povezana le uspešna stran) - Seznam trditev o uspešni poti korpusa je pridobil 15 novih zaščit pred lažno pozitivnimi rezultati, tako da se vsak aktivni pregled na ravni bajtov in strukture
pvuai*zdaj izvaja na skladnih vzorcih (prej je bilo zaščitenih le približno 30 od 60 aktivnih težav); zaščitapvuaiLangInvalidFormatje bila namerno izpuščena, ker preverjevalnik na ravni bajtov konservativno označuje šestnajstiško kodirane nize/Lang, ki jih ne more dekodirati
Version 1.97.0
Popravljeno
- Utrjevanje
ValidatePdfUaStructureElements: prehod starševske verigeEnclosingTablezdaj vsebuje števec skokov (omejen s številom elementov), tako da napačno oblikovan cikelParentIndexv sintetični matriki strukturnih elementov ne more več zaustaviti klicatelja; dodelitev matrike ID-jev označene vsebine vValidatePdfUaPageContentTaggingje zdaj omejena na en milijon vnosov, kar preprečuje več-gigabajtno dodelitev pomnilnika pri napačno oblikovanem ali zlonamernemMarkedContentID
Spremembe
- Dokumentacijski komentar za enumeracijo
pvuaiOrderedListMissingListNumberingzdaj natančno opisuje delovanje preverjanja: označi elementL, katerega vrednostListNumberingje zunaj nabora v tabeli 347 standarda ISO 32000-1 (odsoten atribut ni označen); prejšnji komentar je namigoval, da zazna tudi urejene sezname, ki jim atribut manjka, česar implementacija ne počne - Dva neuspešna vzorca korpusa
7.21.3.3-t02za neskladje WMode sta zdaj povezana vLive_Corpus_ValidatePdfUaMatchesConformance— od različice v1.95.0 dalje se tok CMap razširi s FlateDecode, tako da primerjava slovarja z vsebino zdaj poteka na berljivi strani; zastarel komentar “not wired” je bil odstranjen
Version 1.96.0
Dodano
- Doslednost med standardi:
TPdf.ValidatePdfUapridobi dve preverjanji, preneseni iz validatorja PDF/A;pvuaiAnnotationFlagsViolation(§7.18.1) označi neizključeno anotacijo, ki nosi zastavico Hidden / Invisible / NoView, kar prekine bralni tok podporne tehnologije;pvuaiActionTargetMissing(§7.18.5) označi dejanje GoToR / URI / SubmitForm, ki nima zahtevanega ciljnega ključa (/F+/D, /URI, /F), zaradi česar je povezava neuporabna za podporno tehnologijo
Popravljeno
- Združevanje strukturnega drevesa med stranmi: zanka za kopičenje
AllElemsvTPdf.ValidatePdfUazdaj ponovno določi osnovoParentIndexvsakega elementa iz lokalne matrike strani v združeno matriko; brez tega so podrejeni elementi druge strani ohranili lokalni indeks strani, ki je kazal v rez prve strani, kar je tiho pokvarilo vsako preverjanje, odvisno od ParentIndex (struktura tabel/seznamov, štetje otrok H po §7.4.4, EnclosingTable) - Razčlenjevanje RoleMap:
PdfReadRoleMapPairsne prekine več celotnega pregleda ključev/vrednosti, ko je vrednost posredna referenca (N 0 R) ali matrika ([...]) — obe sta veljavni obliki RoleMap po standardu ISO 32000-1 14.8.5.1; zdaj le preskoči ta vnos (Continue) namesto prekinitve (Break), kar odpravlja lažno pozitivne napakepvuaiRoleMapUnresolvedpri tipih, preslikanih za posrednim/matričnim vnosom
Spremembe
FPdfPreflightReport: 18 aktivnih vrednostiTPdfUaValidationIssue, ki so prej spadale pod splošno kategorijo in priporočilo “missing marker”, zdaj nosi točne kategorije (Structure / Content / Metadata / Security) in priporočila za posamezne člene; prav tako je odpravljena tiskarska napakapuaNone / pua1→pucNone / puc1vPDFSpecComplianceMatrix.md
Version 1.95.0
Spremembe
- Prehod za izboljšanje priklica in zanesljivosti
TPdf.ValidatePdfUa: preverjanje §7.21.3.3pvuaiCMapWModeMismatchin preverjanje §7.21.7pvuaiToUnicodeForbiddenValuezdaj pred pregledom razširita sFlateDecodestisnjene toke CMap / ToUnicode (prej so bili ocenjeni le nestisnjeni tokovi, kar je bil znan lažno negativen rezultat); skupna pomočnikaPdfInflate/PdfReadAndDecodeStreamsta bila povišana izFPdfPdfa/FPdfPdfxvFPdfPdfCommon, tako da si vsaka enota za skladnost deli eno kopijo
Dodano
pvuaiSubsetCharSetEmpty(§7.21.4.2) označi podmnožicoFontDescriptorType 1, ki vsebuje ključ/CharSets prazno vrednostjo niza — obstoječe preverjanjepvuaiSubsetMissingCharSetje zaznalo le manjkajoči ključ; prazen/CIDSetni označen, saj lahko pisava brez CID-ov zakonito vsebuje prazno bitno sliko
Version 1.94.0
Dodano
- Revizija drugega prehoda
TPdf.ValidatePdfUaje odpravila šest vrzeli ISO 14289-1, ki so se pokazale pri pregledu členov in ponovnem pregledu domorodnih API-jev Pdfium, ki so že oviti, a neuporabljeni v poti PDF/UA;pvuaiHeadingFormatInvalid(§7.4.3) označi uporabniško definirane oznake naslovov, ki se začnejo s H, vendar vsebujejo ločila, presledke ali rimske številke namesto čistih arabskih številk;pvuaiMissingDocumentOutline(§7.17, should) označi večstranski dokument, ki nima strukture zaznamkov (večstranski dokumenti so izvzeti);pvuaiStructElementLangInvalid(§7.2) označi vrednost/Langstrukturnega elementa, ki ni veljavna oznaka BCP 47;pvuaiWidgetMissingPrintField(§7.14 / §7.18.4) označi strukturni element Widget, ki nima lastnika atributa PrintField;pvuaiLinkNotInStructureTree(§7.18.5) označi dokument, katerega anotacije/Subtype /Linkniso izpostavljene kot strukturni elementi Link;pvuaiPdfiumAnnotationMissingContentsinpvuaiPdfiumLinkMissingContents(§7.18.1 / §7.18.5) dodata natančen pregled anotacij objekta Pdfium, ki izključuje skrite, zunaj CropBox, Popup in Widget anotacije — kar odpravlja lažno pozitivne rezultate bajtne heuristike, ki ne more prebrati zastavic/Fali/Rect
Version 1.93.0
Dodano
TPdf.ValidatePdfUazdaj nadgradi preiskovalnik na ravni bajtov s prehodom po objektnem modelu Pdfium, kar zrcali arhitekturo PDF/A krog-7: sprehodi se skozi besedilne objekte vsake strani prekFPDFTextObj_GetFont→FPDFFont_GetIsEmbedded(pvuaiPdfiumFontNotEmbedded, §7.21.4) in pregleda vsak znak prekFPDFText_HasUnicodeMapError(pvuaiPdfiumUnicodeMapError, §7.21.7) inFPDFText_GetUnicode(pvuaiPdfiumNotDefGlyph, §7.21.8) — kar je natančneje od heuristike na ravni bajtov, ki se sproži le, ko ni prisotnih programov pisav ali sploh ni/ToUnicode; sprehod se kratkostično prekine na treh ravneh: zanka strani se zaključi, ko so vse tri težave na ravni Pdfium že nastavljene, zanka po objektu se zaključi ob prvi nevdelani pisavi, pregled znakov pa preskoči prehod.notdef, ko jeUnicodeMapErrorže zabeležen; PDF/UA je bil zadnji validator standardov PDF brez plasti objektnega modela Pdfium
Version 1.92.0
Dodano
- Ustvarjen
Tests.PdfR— prva testna datoteka za validator PDF/R-1 (FPdfPdfr), ki pokriva preverjanje glave, prepoved ObjStm, zaznavanje rastrskih oznak in zaščito pred lažno pozitivnimi rezultati pri čistih datotekah; vseh šest testnih paketov standardov PDF ima zdaj namenske testne datoteke: PdfA(80), PdfUa(101), PdfX(7), PdfE(5), PdfVT(15), PdfR(4) = skupaj 212 testov
Version 1.91.0
Dodano
ValidatePdfEinValidatePdfVTsta pridobila preverjanja na ravni vsebine, ki so bila prej na voljo le v validatorjih PDF/A, PDF/UA in PDF/X:pveiLzwForbidden,pveiJavaScriptForbidden,pveiFormFieldsForbidden(samo PDF/E),pveiEmbeddedFilesForbidden(samo PDF/E),pveiOpiForbidden,pvviLzwForbidden,pvviJavaScriptForbidden,pvviEmbeddedFilesForbidden,pvviOpiForbidden;TPdf.ValidatePdfEinTPdf.ValidatePdfVTprav tako pridobita plast objektnega modela Pdfium (pveiPdfiumFontNotEmbedded/pvviPdfiumFontNotEmbedded), ki se sprehodi skozi besedilne objekte strani prekFPDFFont_GetIsEmbeddedin se kratkostično prekine ob prvi nevdelani pisavi
Version 1.90.0
Dodano
TPdf.ValidatePdfXzdaj nadgradi preiskovalnik na ravni bajtov s prehodom po objektnem modelu Pdfium: sprehodi se skozi besedilne objekte vsake strani prekFPDFTextObj_GetFont→FPDFFont_GetIsEmbeddedin sporoči nevdelano pisavo kotpvxiPdfiumFontNotEmbedded— kar je natančneje od heuristike na ravni bajtov, ki se sproži le, ko programi pisav niso prisotni; sprehod se kratkostično prekine ob prvi najdeni nevdelani pisavi
Spremembe
- Sprehod po drevesu strukture
TPdf.ValidatePdfUa: klicValidatePdfUaPageContentTaggingna posamezno stran (ki zgradi zemljevid zahtevkov za ID označene vsebine in navzkrižno preveri vsak besedilni/slikovni objekt) je zdaj preskočen na naslednjih straneh, ko jepvuaiUntaggedContentže najden — strukturni elementi se še vedno zbirajo za preverjanja med stranmi (edinstveni ID opombe, zaporedje naslovov), vendar se drag prehod označevanja vsebine na posamezno stran zaključi predčasno
Version 1.89.0
Spremembe
- Zmogljivost plasti objektnega modela Pdfium za
TPdf.ValidatePdfA: sprehod po straneh/objektih se zdaj kratkostično prekine na treh ravneh — zanka strani se zaključi, ko so že najdene vse ustrezne težave plasti Pdfium, zanka po posameznem objektu se zaključi, ko sta nastavljeni obe težavi za objekt (vdelava pisave + prosojnost), pregled znakov na besedilni strani pa preskoči prehod.notdef, ko jeUnicodeMapErrorže zabeležen; preverjanja razpoložljivosti API-jaAssigned()in zastavice skladnosti se enkrat pred zanko predpomnijo v lokalne logične vrednosti (booleans), namesto da bi se znova ocenjevali za vsako stran/objekt/znak; pri velikem neskladnem dokumentu se lahko sprehod zdaj ustavi po prvi strani namesto pregledovanja vseh strani, pri skladnem dokumentu pa so režijski stroški na stran nižji (brez ponavljajočih se klicevAssigned)
Version 1.88.0
Dodano
ValidatePdfXje pridobil osem novih vrednostiTPdfXValidationIssuena ravni vsebine, ki pokrivajo omejitve tiskarske izmenjave (print-exchange), ki jih PDF/X predpisuje poleg oznak formata datoteke:pvxiLzwForbidden(/LZWDecode),pvxiJavaScriptForbidden(/JavaScript),pvxiFormFieldsForbidden(/AcroForm//XFA),pvxiAdditionalActions(/AA),pvxiEmbeddedFilesForbidden(/EmbeddedFiles//FileAttachment),pvxiOpiForbidden(/OPI//Alternates),pvxiMissingTrimBox(brez/TrimBoxna kateri koli strani) inpvxiTrappedNotSet(/Trappedodsoten ali/Unknown); validator PDF/X je prej preverjal le oznake XMP/OutputIntent, to pa je njegov prvi prehod na ravni vsebine; skupni pomočnikiPdfStructureBytes/PdfHasName/PdfCountNameso bili dodani vFPdfPdfCommon, tako da jih lahko uporabljajo vse enote za preverjanje skladnosti
Version 1.87.0
Dodano
- Preverjanje PDF/UA zdaj pokriva pravila za sestavljene pisave iz ISO 14289-1 §7.21.3:
pvuaiCidSystemInfoMismatchoznači pisave Type0, katerih vdelana CMap in podrejena CIDFont se ne strinjata gledeRegistry/Orderingali katerihSupplementv CIDFont presega vrednost v CMap,pvuaiCMapNotEmbeddedoznači CMap-e, ki se sklicujejo po imenu (kotEncodingaliUseCMap) in niso standardne vnaprej definirane CMap-e iz ISO 32000-1 Tabela 118, terpvuaiCMapWModeMismatchoznači vdelane CMap-e, katerihWModev slovarju se razlikuje od WMode v vsebini toka
Popravljeno
- Preverjanje
pvuaiCidFontMissingCidToGidMapiz §7.21.3.2 je spregledalo slovarje CIDFontType2, pri katerih sta ključ in vrednostSubtypeločena z novo vrstico; zdaj označi tudi vrednost poljaCIDToGIDMap, ki niIdentity
Version 1.86.0
Dodano
- Preverjanje PDF/UA zdaj pokriva pravila kodiranja TrueType iz ISO 14289-1 §7.21.6:
pvuaiTrueTypeEncodingInvalidoznači nesimbolične pisave TrueType, pri katerihEncodingmanjka ali ni nitiMacRomanEncodingnitiWinAnsiEncoding(neposredno ali prekBaseEncoding), terpvuaiSymbolicTrueTypeEncodingoznači simbolične pisave TrueType z nestandardnim imenomEncoding
Version 1.85.1
Spremembe
- Preverjanje vrstnega reda zavihkov
pvuaiMissingTabsOrderpo ISO 14289-1 §7.18.3 zdaj deluje na ravni posamezne strani: vsaka stran, ki vsebuje anotacije, mora v lastnem slovarju strani deklarirati/Tabs /S, tako skladno sosednja stran ne more prikriti strani, pri kateri ta deklaracija manjka
Version 1.85.0
Dodano
- Preverjanje PDF/UA zdaj po ISO 14289-1 §7.15 razlikuje med dinamičnimi in statičnimi obrazci XFA:
pvuaiXfaDynamicoznači obrazce, katerih konfiguracija XFA nastavidynamicRendernarequired
Spremembe
- Nekdanja splošna zastavica
pvuaiXfaPresentje umaknjena in se ne sproži več (statični XFA je skladen z §7.15); vrednost enumeracije ostaja za združljivost API-ja
Version 1.84.0
Dodano
- Preverjanje PDF/UA zdaj zazna neoznačeno resnično vsebino, ki jo zahteva ISO 14289-1 §7.1:
pvuaiUntaggedContentoznači izrisane besedilne in slikovne objekte, ki niso niti zatrjeni v drevesu strukture strani (prek njihovih ID-jev označene vsebine) niti označeni kot Artefakt - Novi pomočniki na ravni strani
GetPageContentMarkInfosinValidatePdfUaPageContentTaggingskupaj z zapisomTPdfPageContentMarkInfoza neposredno uporabo
Version 1.83.0
Dodano
- Preverjanje PDF/UA zdaj uveljavlja model naslovov po ISO 14289-1 §7.4.4:
pvuaiHeadingModelMixedoznači dokumente, ki mešajo splošno oznakoHz oštevilčenimi nasloviH1..Hn, terpvuaiHeadingMultipleInNodeoznači vozlišča strukture, ki nosijo več kot en podrejeni naslovH
Version 1.82.0
Dodano
- Preverjanje PDF/UA zdaj razreši preslikavo RoleMap, ki jo zahteva ISO 14289-1 §7.1:
pvuaiRoleMapRemapsStandardoznači vnose RoleMap, ki redefinirajo standardni tip strukture, terpvuaiRoleMapUnresolvedoznači rabljene nestandardne tipe struktur, katerih veriga RoleMap manjka, visi ali je ciklična — posredne verige, ki dosežejo standardni tip, so sprejete, neuporabljeni vnosi RoleMap pa se nikoli ne ocenijo - Novi pomočniki
PdfUaIsStandardStructType,PdfReadRoleMapPairs(z dekodiranjem PDF-skih imen z ubežnimi znaki#hh) inValidatePdfUaRoleMapUsageza neposredno uporabo
Version 1.81.0
Dodano
- Preverjanje PDF/UA zdaj pokriva označevanje seznamov po ISO 32000-1, ki ga zahteva ISO 14289-1 §7.6:
pvuaiListStructureInvalidoznači elemente LI zunaj vsebnika L ter dele Lbl/LBody zunaj elementa LI, pri tem pa sprejema ugnezdene sezname in veljavno uporabo Lbl znotraj elementov Note in BibEntry
Version 1.80.0
Dodano
- Preverjanje PDF/UA zdaj pokriva označevanje tabel po ISO 32000-1, ki ga zahteva ISO 14289-1 §7.5:
pvuaiTableStructureInvalidoznači celice TH/TD zunaj vrstice TR ter vrstice ali skupine vrstic zunaj vsebnika Table,pvuaiTableHeaderMissingScopeoznači celice glave, katerih razmerje ni določljivo niti prek atributa Scope niti prek združevanja Headers/ID, terpvuaiTableHeadersUndefinedIdoznači sklice Headers v dokumentih, ki ne definirajo nobenih ID-jev elementov strukture TPdfStructureElementizpostavlja atribute tabelScope,HasHeaders,HeadersIds,ColSpaninRowSpan, razrešene med sprehodom po drevesu strukture
Spremembe
- Sprehod po drevesu strukture zdaj v enem prehodu bere vse atribute postavitve in tabel iz slovarjev atributov posameznega elementa, namesto enega pregleda na atribut
Version 1.79.1
Dodano
- Preneseni primer
AnnotationsLabv Lazarus in C++Builder, s čimer se pridružuje obstoječemu primeru konzole Delphi
Odpravljeno
TPdf.CreateAnnotationje lahko sprožil napako “Cannot set attachment points” za pripise z označevanjem, ki uporabljajo quad točke (Označevanje, Podčrtano, Prečrtano, Vijugasto), ker novi pripis še ni imel quad reže, ki bi jo zamenjal; zdaj namesto tega doda prvo quad točko
Version 1.79.0
Dodano
- Novi primer konzole Delphi
AnnotationsLab: ustvari pripise z besedilom, označevanjem, kvadratom in krogom, jih zapiše v PDF, nato znova naloži datoteko in oštevilči seznam pripisov na strani
Version 1.78.0
Dodano
- Novi
TPdf.MeasureTextinTPdf.MeasureTextWidth: izmerita upodobljeno širino in višino niza za dano pisavo in velikost (uporabniške enote PDF, 1 enota = 1/72 palca) brez dodajanja vsebine na stran, kar omogoča logiko postavitve in preloma besedila povrhAddText; omogočeno s samostojno enotoFPdfMeasurekot pomočnikom razreda (class helper) - Novi
TPdf.WrapText: pohlepno prelamljanje besedila, zgrajeno naMeasureTextWidth, ki razdeli besedilo na presledkih in združi besede v vrstice, ki niso širše od določene širine (uporabniške enote PDF); predolga posamezna beseda dobi svojo vrstico (brez lomljenja znotraj besede), pri čemer vrne prelomljene vrstice kot matriko
Version 1.77.0
Dodano
ValidatePdfAje dobil tri nove vrednostiTPdfAValidationIssue, ki pokrivajo klavzule, ki so bile v prejšnjem pregledu vrzeli ocenjene kot “NO” ali “reader behaviour” (dodani ordinali, obstoječe vrednosti nespremenjene):pvaiPdfiumNotDefGlyph(PDF/A-2 6.2.11.8 — znak, ki se razreši v Unicode 0 brez napake preslikave, simptom pri izvajanju sklica na glif.notdef; zaznan prek plasti objektnega modela Pdfium),pvaiWordBreakMissing(Stopnja A 6.8.3.2 — prikazani niz vsebinskega toka, daljši od 20 znakov brez presledka, verjetna kršitev združenih besed; groba hevristika, ki se izogne lažnim pozitivnim rezultatom CJK) inpvaiLinkActionMissingTarget(6.6.3 — dejanje GoToR/URI/SubmitForm nima ciljnega ključa prikaza, zato ga bralnik ne more predstaviti)
Version 1.76.0
Dodano (Added)
ValidatePdfAje pridobil tri nove vrednostiTPdfAValidationIssue(dodane na konec, obstoječe vrednosti nespremenjene):pvaiNameNotValidUtf8(PDF/A-2/3 6.1.8 — žeton/BaseFontali/FontNamevsebuje bajte ≥ 0x80, ki ne tvorijo veljavnega UTF-8),pvaiInlineImageLzwForbidden(PDF/A-2/3 6.1.10 — vdelana slika v toku vsebine strani uporablja filter LZW ali Crypt) inpvaiTrueTypeDifferencesForbidden(6.3.7 Cor.2 — nesimbolna pisava TrueType, katere slovar Encoding vsebuje/Differences)
Version 1.75.0
Dodano (Added)
ValidatePdfAje pridobil tri nove vrednostiTPdfAValidationIssue(dodane redne številke, obstoječe vrednosti ostajajo nespremenjene):pvaiIntegerImplementationLimit(PDF/A-2/3 6.1.13 — numerični žeton, ki presega omejitev 32-bitnega predznačenega celega števila 2.147.483.647),pvaiBlendModeNotWhitelisted(PDF/A-2/3 6.2.10 — vrednost/BMizven standardnega nabora načinov mešanja ISO 32000-1 §11.3.5; dopolnjuje PDF/A-1pvaiTransparentColorSpace, ki dovoljuje le Normal/Compatible) inpvaiHexStringOddDigits(6.1.6 — šestnajstiški niz<...>z lihim številom šestnajstiških števk)
Version 1.74.0
Dodano (Added)
ValidatePdfAje pridobil tri nove vrednostiTPdfAValidationIssue(dodane redne številke, obstoječe vrednosti ostajajo nespremenjene):pvaiPermissionsViolation(6.1.12 — slovar/Perms, ki nosi/DigestLocation,/DigestMethodali/DigestValuepoleg/DocMDP),pvaiTransActionForbidden(PDF/A-2 6.5.1 — akcija prehoda Trans, zaznana prek vzorca/S /Transv slovarju akcij, da bi se izognili napačnemu ujemanju z/Transparency) inpvaiPdfiumObjectTransparency(PDF/A-1 6.4 — objekt na strani vsebuje pravo prosojnost poFPDFPageObj_HasTransparency, kar razširja objektni model Pdfium, predstavljen v različici 1.73.0, za zaznavanje učinkov načina mešanja/mehke maske, ki jih pregled imen na ravni bajtov lahko zgreši)
Version 1.73.0
Dodano (Added)
TPdf.ValidatePdfAsedaj preko preverjalnika na ravni bajtov nalaga tudi prehod objektnega modela Pdfium: sprehodi se skozi tekstovne objekte vsake strani prekoFPDFPage_GetObject→FPDFTextObj_GetFont→FPDFFont_GetIsEmbeddedin poroča o nevgrajeni izrisani pisavi kotpvaiPdfiumFontNotEmbedded(ISO 19005 6.3.4), naloži vsako besedilno stran in preveriFPDFText_HasUnicodeMapErrorter prijavi pokvarjeno preslikavo Unicode kotpvaiPdfiumUnicodeMapError(6.3.8). To so preverjanja, ki jih preverjalnik na ravni bajtov ne more opraviti — vidi samo žetone imen, ne pa tudi razrešenih ročajev pisav ali stanja preslikave posameznega znaka — in so združena v rezultat na ravni bajtov. Samostojna funkcija na ravni bajtovValidatePdfAComplianceostaja nespremenjena
Version 1.72.0
Dodano (Added)
ValidatePdfAje pridobil pet novih vrednostiTPdfAValidationIssue(dodane redne številke, obstoječe vrednosti ostajajo nespremenjene):pvaiNeedsRenderingPresent(PDF/A-2 6.4.2 — katalog ne sme vsebovati/NeedsRendering),pvaiDestOutputProfileRef(PDF/A-3 6.2.3 — OutputIntent ne sme vsebovati/DestOutputProfileRef),pvaiEmbeddedFileMissingUF(PDF/A-3 6.8 — specifikacija datoteke z/EFmora vsebovati tudi/UF),pvaiXmpPacketBytesAttr(6.7.5 — glava paketa XMP ne sme vsebovati zastarelih atributovbytes=aliencoding=) inpvaiAnnotationToggleNoView(PDF/A-2 6.3.2 — bit ToggleNoView v anotaciji/F, z vrednostjo 512, je prepovedan)
Version 1.71.0
Spremenjeno
ValidatePdfUasedaj sprožipvuaiOrderedListMissingListNumbering(ISO 14289-1 7.6): sprehajalec strukturnega drevesa razreši atribut razporeditveListNumberingna vsakem elementuLprek atributnega API-ja Pdfium in označi vsako vrednost zunaj nabora ISO 32000-1 tabela 347 (Decimal,UpperRoman,LowerRoman,UpperAlpha,LowerAlpha,None,Circle,Disc,Square). Odsoten atribut ni označen, saj je seznam lahko neurejen; to zapira zadnjo preostalo vrzel ISO 14289-1, zabeleženo na koncu 5. kroga
Version 1.70.0
Dodano
ValidatePdfUaje pridobil štiri nove vrednostiTPdfUaValidationIssue(dodane redne številke, obstoječe vrednosti ostajajo nespremenjene):pvuaiSubsetMissingCidSet(ISO 14289-1 7.21.4.2 — podmnožica CIDFontDescriptormora deklarirati/CIDSet),pvuaiToUnicodeForbiddenValue(7.21.7 — ToUnicode CMap ne sme preslikati nobene kode vU+FEFFaliU+FFFE; nestisnjeni tokovi se pregledajo za izhodni obliki<FEFF>/<FFFE>),pvuaiLangInvalidFormat(7.2 —/Langmora biti veljavna oznaka RFC 1766 / BCP 47; popustljiva slovnica sprejmeen,en-US,zh-Hans,es-419in označi jasno neskladne vrednosti) inpvuaiOrderedListMissingListNumbering(7.6 — obdržano zaradi popolnosti API-ja; preverjevalnik ga še ne sproži, ker je za zanesljivo razlikovanje urejenih in neurejenih seznamov potrebna vrednost atributaListNumbering, ki je sprehajalec strukturnega drevesa ne izpostavi)
Version 1.69.0
Dodano
ValidatePdfUaje pridobil dve novi vrednostiTPdfUaValidationIssue(dodane redne številke, obstoječe vrednosti ostajajo nespremenjene):pvuaiWidgetOutsideForm(ISO 14289-1 7.18.4 — strukturni element Widget mora biti ugnezden v elementForm; sprehajalec strukturnega drevesa sedaj preveri neposredno vrsto starša vsakega gradnika Widget) inpvuaiSubsetMissingCharSet(7.21.4.2 — podmnožica Type 1FontDescriptormora deklarirati/CharSet, ki ga identificira šestčrkovna predpona imena podmnožice+na/FontName)
Version 1.68.0
Dodano
ValidatePdfUaje pridobil dve novi vrednostiTPdfUaValidationIssue(dodane redne številke, obstoječe vrednosti ostajajo nespremenjene):pvuaiUriActionIsMap(ISO 14289-1 7.18.5 — slovar dejanja URI ne sme vsebovati/IsMapz vrednostjotrue, saj onemogoči dostopni cilj povezave) inpvuaiHeadingSequenceViolation(7.4.2 — oštevilčeni naslovi se morajo začeti priH1in padajoče zaporedje ne sme preskočiti vmesne ravni, npr.H1→H3je kršitev). Preverjanje naslovov je prvo pravilo PDF/UA na ravni strukturnega drevesa v preverjevalniku:ValidatePdfUaStructureElementssedaj prehodi seznam tipiziranih elementov in preveri zaporedjeH1…H6(inH7+po 7.4.3) v vrstnem redu dokumenta
Version 1.67.0
Dodano
ValidatePdfUaje pridobil pet novih vrednostiTPdfUaValidationIssue(dodane redne številke, obstoječe vrednosti ostajajo nespremenjene):pvuaiLinkMissingContents(ISO 14289-1 7.18.5 — anotacija Link mora nositi alternativni opis prek/Contents),pvuaiAnnotationMissingContents(7.18.1 — vsaka neizvzeta anotacija brez/Contentsmora imeti alternativni opis; Popup in Widget sta izvzeta),pvuaiEmbeddedFileMissingName(7.11 — slovar specifikacije datoteke mora vsebovati/Fin/UF),pvuaiMediaClipMissingAlt(7.18.6.2 — slovar podatkov medijskega posnetka mora vsebovati/CTin/Alt) inpvuaiCidFontMissingCidToGidMap(7.21.3.2 — vdelan Type 2 CIDFont mora vsebovati/CIDToGIDMap)
Version 1.66.0
Dodano
ValidatePdfUaje pridobil pet novih vrednostiTPdfUaValidationIssue(dodane redne številke, obstoječe vrednosti ostajajo nespremenjene):pvuaiRoleMapMissing(ISO 14289-1 7.1 — označen dokument z nestandardnimi vrstami struktur mora vsebovati/RoleMap),pvuaiOptionalContentAsKey(7.10 — slovar konfiguracije neobvezne vsebine ne sme vsebovati ključa samodejnega stanja/AS),pvuaiXfaPresent(7.15 — prisotnost AcroForm/XFAje označena, ker je dinamični XFA prepovedan),pvuaiTrapNetAnnotation(7.18.2 — anotacije/TrapNetso prepovedane) inpvuaiReferenceXObject(7.20 — Reference XObjects, prepoznani po oznaki/Ref, so prepovedani)
Popravljeno
ValidatePdfUane vrača več lažno pozitivnih rezultatov zapvuaiEncryptionPresentpri vsaki šifrirani datoteki: PDF/UA dovoljuje šifriranje, dokler ima ključ/Pv slovarju šifriranja nastavljen bit na položaju 10 (vrednost 1024), kar omogoča dostop podporni tehnologiji (7.16). Natančna kršitev se sedaj poroča prek novegapvuaiEncryptionPBitMissing;pvuaiEncryptionPresentje ohranjen v oštevilčenju za združljivost API-ja, vendar ga preverjevalnik na ravni bajtov ne sproži več
Version 1.65.0
Dodano
ValidatePdfAje pridobil pet novih vrednostiTPdfAValidationIssue(dodane redne številke, obstoječe vrednosti ostajajo nespremenjene):pvaiCidFontMissingCidToGidMap(ISO 19005-1 6.3.3.2 Cor.2 — vdelan Type 2 CIDFont mora vsebovati/CIDToGIDMap),pvaiSubsetMissingCharSet(6.3.5 — podmnožica Type 1FontDescriptormora vsebovati/CharSet),pvaiSubsetMissingCidSet(6.3.5 — podmnožica CIDFontDescriptormora vsebovati/CIDSet),pvaiWidgetActionForbidden(6.6.1 — anotacija Widget ne sme vsebovati/Aali/AA) inpvaiOptionalContentAsKey(ISO 19005-2 6.9 — slovar konfiguracije neobvezne vsebine ne sme vsebovati ključa samodejnega stanja/AS, kar je na novo pomembno, ker PDF/A-2 dovoljuje neobvezno vsebino)
Version 1.64.0
Dodano
ValidatePdfAje pridobil osem novih vrednostiTPdfAValidationIssue(dodane redne številke, obstoječe vrednosti ostajajo nespremenjene):pvaiHeaderBinaryMarkerMissing(ISO 19005-1 6.1.2 — glavi%PDF-x.ymora slediti komentar%z vsaj štirimi bajti, večjimi od 127),pvaiExternalStreamRef(6.1.7 — slovar toka ne sme vsebovati/F,/FFilterali/FDecodeParms),pvaiOutputIntentScheme(6.2.2 — OutputIntent/Smora biti/GTS_PDFA1),pvaiInfoXmpDateMismatch(6.7.3 — InfoCreationDate/ModDatese mora pojaviti tudi kotxmp:CreateDate/xmp:ModifyDate),pvaiMarkInfoMissing(6.8.2.2 — Raven A zahteva/MarkInfoz/Marked true),pvaiAnnotationApDictViolation(6.5.3 Cor.2 — slovar anotacije/APsme vsebovati samo/N),pvaiEmbeddedFileMissingAFRelationship(ISO 19005-3 Priloga E.2 — vsaka povezana specifikacija datoteke mora vsebovati/AFRelationship) inpvaiJpeg2000Violation(ISO 19005-2 6.2.8.3 — slika JPEG2000 mora deklarirati 1, 3 ali 4 komponente)
Popravljeno
ValidatePdfAne vrača več lažno pozitivnih rezultatov zapvaiAnnotationFlagsViolationpri dokumentih, ki uporabljajo enočrkovno ime vira pisave, kot je/Font << /F 5 0 R >>; pregled zastavice/Fje sedaj omejen na kontekst anotacije (/Subtypevrste anotacije), kar se ujema z dokumentiranim obnašanjem (6.5.3)ValidatePdfAsedaj poroča o zahtevi PDF/A-3 za povezano datoteko na datoteko: dokument je označen samo takrat, ko vdelan/Type /Filespec, ki se sklicuje na vdelan tok prek/EF, nima/AFRelationship, namesto prejšnjega preverjanja celotnega dokumenta vse-ali-nič (ISO 19005-3 Priloga E.2)- Zastarelo dejanje
/SetStateje dodano v nabor prepovedanih dejanj poleg/SetOCGState, tako da je ime dejanja iz reference PDF ujeto neposredno (6.6.1)
Version 1.63.0
Dodano (Added)
- Dodana sta
TPdf.MeasureTextinTPdf.MeasureTextWidth: izmerita širino in višino izrisanega besedila v dani pisavi in velikosti, brez dodajanja vsebine na stran (v PDF uporabniških enotah, 1 enota = 1/72 palca), kar omogoča izračune postavitve in samodejno prelamanje vrstic kot nadgradnjoAddText; na voljo prek samostojne enoteFPdfMeasurekot class helper
Spremenjeno (Changed)
Demo\Delphi\MergePDF,Demo\CBuilder\MergePDFinDemo\Lazarus\MergePDFso izboljšani v vseh treh IDE-jih: dodana je izbira obsega strani na datoteko, neobvezna izhodna pot, deduplikacija, dnevnik izvajanja, gumb za preklic in povzetek ob zaključku združevanja, pri čemer se ob uvozu zaznamki in metapodatki prenesejo iz prvega vira- Primeri
CreatePDFv vseh treh IDE-jih zdaj vključujejo možnost “European Text” za zapis naglašenega besedila v češčini, francoščini, nemščini, španščini, portugalščini, poljščini in turščini, za preverjanje izbire pisav in ravnanja z Unicode (nekdanji vzorecEuropeanTextje bil vključen vanje) - Odstranjena sta vzorca
ExtractTextPagesinEuropeanText: zmožnost izpisa besedila na stran, ki jo je nudilExtractTextPages, zdaj pokrivata možnosti obsega strani in ločilnika strani vExtractText; večjezično izrisovanje besedila izEuropeanTextpa je bilo preneseno vCreatePDF
Version 1.62.2
Popravljeno (Popravljeno)
- Na novo smo ustvarili glave C++Builderja (
.hpp) za vsako različico in platformo RAD Studio (Win32/Win64/Win64x); odmaknile so se od Pascal izvorne kode, zato so v distribuciji izvorne kode do uporabnikov C++Builderja prišle zastarele funkcijske signaure in manjkajoče enote
Version 1.62.1
Popravljeno (Popravljeno)
- Ponovno je omogočeno prevajanje izvorne kode v RAD Studio 12 Athens in starejših: dodelitev
TArray<Byte>v poti preverjanja PDF/UA je uporabljala implicitno pretvorbo polj, ki obstaja samo v Delphiju 13, zato se na starejših IDE ni prevedla
Version 1.62.0
Dodano (Dodano)
TPdf.RenderPageThumbnailizriše katero koli stran po indeksu v bitno sliko, prilagojeno razmerju stranic, ne da bi spremenil trenutno stran dokumenta, naloženo stran ali sprožilOnPageChange
Popravljeno (Popravljeno)
TPdfThumbnailViewmed risanjem ne krmili več gostiteljskega dokumenta prekPageNumber; prej je vsak ponovni izris znova naložil strani, sprožilOnPageChangein zavrgel besedilno stran, kar je lahko zmotilo povezanTPdfViewin sprožilo zanke ponovnega izrisa. Sličice se zdaj izrisujejo skoziRenderPageThumbnailbrez takih stranskih učinkov- Preverjanje skladnosti PDF/X zdaj pregleda dokumente s tokovi navzkrižnih sklicev (PDF 1.6, značilno za PDF/X-4) in objekte, shranjene v stisnjenih tokovih objektov, namesto da bi takšne datoteke v celoti označilo kot neskladne; oznaka
GTS_PDFXVersionse bere tako iz oblike elementa kot iz XMP z atributi RDF - Preverjanje PDF/R zdaj poroča
pvriInfoXmpMismatch, kadar se slovar Info in XMP ne ujemata glede Producer ali Creator; ta težava je bila prej deklarirana, vendar nikoli sprožena - Časovniki za izpolnjevanje obrazcev se spremljajo po posamezni zahtevi, zato dokument, ki hkrati poganja več časovnikov (na primer interval JavaScript ob utripanju kazalke v polju), obdrži vse namesto da bi izgubil vse razen zadnjega
TPdfViewpri risanju in njegovi javni metodiRenderPage/RenderTilezdaj držita zaklep za izris dokumenta, zato se serializirata z izrisom istegaTPdfv delovnem niti (PDFium ni varen za več niti)- Besedilo brez ASCII znakov, zapisano v metapodatke PDF/X, PDF/R in PDF/VT (imena pogojev OutputIntent, Creator, Producer), je zdaj kodirano kot niz UTF-16BE po ISO 32000-1 §7.9.2.2 namesto kot surov UTF-8, ki bi ga skladni bralniki napačno prebrali
- Pomočniki za skladnost pravilno preberejo vdelane tokove metapodatkov, katerih
/Lengthje posredna referenca, izvorne bajte naložijo sReadBuffer(tako da kratek bralni dostop odpove čisto) in zavrnejo negativni odmikstartxrefnamesto da bi tvegali branje izven obsega
Version 1.61.0
Spremenjeno (Spremenjeno)
- Popravki deklaracij FFI/ABI, ki lahko zahtevajo ponovno prevajanje kode, ki je implementirala prizadete povratne klice: povratni klic
FFI_OpenFileza izpolnjevanje obrazcev zdaj uporabljacdecl(sklad klica Win32), parametervaluevFPDFAnnot_SetStringValueinFPDFAttachment_SetStringValuepa je zdajFPDF_WIDESTRING(UTF-16LE), da se ujema z glavami PDFium - Povratna klica za progresivno nalaganje
FX_FILEAVAIL.IsDataAvailinFX_DOWNLOADHINTS.AddSegmentzdaj sprejemata odmikesize_t, pri čemer jesize_tna Free Pascal / Lazarus Win64 širine kazalca (prej je bil okrnjen na 32 bitov), kar popravlja klice API za razpoložljivost podatkov inoutsize_tna FPC Win64
Popravljeno (Popravljeno)
- Varnost pomnilnika: uporaba po sprostitvi časovnika za izpolnjevanje obrazcev pri uničevanju
TPdfz aktivnim kazalcem AcroForm; dvojniFPDF_CloseDocumentna poti napake vImportNPagesToOne; Pascalove izjeme, ki uidejo iz povratnih klicevFPDF_FILEWRITE/FPDF_FILEACCESSčez mejo C med shranjevanjem in vstavljanjem JPEG; ter celoštevilski preliv pri izločanju besedila pri branju od začetnega indeksa do konca strani TPdfFuture<T>zdaj zanesljivo dostavi svoj povratni klic z rezultatom; odgovor je bil prej skoraj vedno izgubljen (in je lahko dosegel sproščeno nit), ker se je delovni nit končal, preden je uvrščeni odgovor stekel- Izhod PDF/A, PDF/X, PDF/E, PDF/R, PDF/VT in PDF/UA zdaj zapisuje vnose navzkrižnega sklica, ki so natančno 20 bajtov, kot zahteva ISO 32000-1 §7.5.4
- Vstavljanje označevalcev skladnosti ne uniči več slovarja, ko je bil odstranjeni ključ (na primer
/Trapped) zadnji vnos, kar je prej pogoltnilo zaključni>>in ustvarilo okvarjen objekt - Tokovi profilov ICC v OutputIntent zdaj navedejo zahtevano komponentno število
/Nza PDF/X in PDF/VT (že prej prisotno za PDF/A); šifrirani izvorni dokumenti se pred vstavitvijo oznak PDF/X, PDF/E, PDF/R, PDF/VT in PDF/UA dešifrirajo, zato je izhod veljaven namesto tiho pokvarjen - BOM UTF-8 xpacket v ustvarjenem XMP je izpisan kot natančni bajti, kar popravlja okvaro na namestitvah Delphi, kjer ANSI kodna tabela ni Latin-1; okviri pri postopnih posodobitvah zdaj ohranijo sklic dokumenta
/Info SaveAss stiskanjem ne skrajša več tokov, katerih/Lengthje posredna referenca, na novo zgrajene tabele navzkrižnih sklicev pa zdaj uporabljajo vnose dolžine 20 bajtov, dejanske številke generacij in odstranijo zastareli kazalec/Prev- Preverjanje skladnosti bere označevalce različice XMP v obliki atributov za PDF/E in PDF/X (zato se datoteke PDF/X-4, zapisane z atributi, prepoznajo), zahteva natančen identifikator
PDF/E-1, pravilno bere posredne tokove metapodatkov/Lengthin pri preverjanju priključka PDF/UA ne ujame več napačnega ujemanja ključa/IDali/StructTreeRootv strukturskem elementu; napačno oblikovan odmikstartxrefne povzroči več napake obsega TPdfThumbnailView: zadnja stran je zdaj dosegljiva z drsnikom, trenutna stran gostiteljskega dokumenta se po izrisu sličic obnovi, standardno obravnavanje odhoda miške pa se znova sproži- Sive bitne slike strani in slik se ne izrisujejo več z napačno paleto;
TPdfViewne ostane več z visečo referenco, ko se njegovTPdfsprosti prej - Poročila preflight: HTML se shrani kot UTF-8, da se ujema z deklariranim znakovnim naborom, in ubežno zapisovanje nizov JSON na Free Pascal ustvari pravilne zaporedja
\uza znake brez ASCII - Preizkusne izdaje: pogovorno okno z opomnikom preizkusne različice se zdaj prikaže, namesto da bi bilo potlačeno, preden bi se lahko pokazalo
TPdfStreamAdapterzdaj zavrne tokove, večje od 4 GiB, z jasnim sporočilom o napaki namesto da bi tiho skrajšal dolžino, posredovano PDFiumu
Version 1.60.1
Spremenjeno (Spremenjeno)
- Predstavitve AccessibilityReader za Delphi, Lazarus in C++Builder zdaj izvajajo branje na glas prek
TPdfReadingSession: vsaka stran se sestavi v en izgovorjen kos sBuildSpokenTextFromWords, položaji besed SAPI se vnašajo vFeedSpokenPosition, seja pa napreduje po straneh in krmili besedni kazalec pogleda, s čimer nadomešča ročno orkestracijo, ki jo je prej nosila vsaka predstavitev - Sledenje karaokam na ravni besed v predstavitvah zdaj deluje tudi, ko je govorni pogon NVDA:
EstimatePacinguravnava bralni kazalec po pretečenem govornem času, medtem ko je NVDA prej bral na glas brez kakršnega koli sledenja besedam - Premor in nadaljevanje v predstavitvah zdaj delujeta tudi z NVDA:
ResumeRestartsChunkob nadaljevanju ponovno izgovori trenutno stran od začetka, medtem ko SAPI ohrani svoje izvorno premor in nadaljevanje na mestu
Version 1.60.0
Dodano (Dodano)
- Živo izrisovanje za slabovidne v
TPdfView: novi možnosti izrisareInvertinreNightDuotonepred izrisom prekrivnih slojev za iskanje, izbiro, branje in besedni kazalec ponovno obarvata vsako izrisano ploščico strani (polni barvni obrat ali nočno dvobarvno paleto), s čimer obstoječe barvne pretvorbe bitnih slik preneseta v interaktivni pregledovalnik za postavitve ene strani in obraznih strani; preklop možnosti takoj sproži ponovni izris NightDuotoneInkinNightDuotonePapernastavljata nočno paleto, privzeto z jantarno besedilo na črni strani; kadar sta nastavljeni obe možnosti, zmagareInvert
Version 1.59.0
Dodano (Dodano)
TPdfReadingSession: komponenta za orkestracijo branja na glas, neodvisna od govornega pogona. Ohranja kazalec kosa, besedni kazalec in stanje predvajanja (Play/PlayFrom/Pause/Resume/Stop), napreduje skozi naložene koseTPdfSpokenText, ko gostitelj prekTicksporoča, da je pogon neaktiven, preslika odmike izgovorjenega besedila nazaj na znake strani in samodejno krmili priklopljen besedni kazalecTPdfView; gostitelj poveže kateri koli govorni pogon prekOnSpeakter dogodkov za zahteve preklica, premora in nadaljevanja, zato knjižnica sama ne povezuje nobenega govornega APIFeedSpokenPositionporablja položaje besed pogona (na primer SAPIStatus.InputWordPosition);EstimatePacingzEstimatedWordsPerMinuteuravnava pogone brez signala položaja;ResumeRestartsChunkza pogone brez izvornega premora ponovno izgovori trenutni kosOnChunkChange,OnWordChangeinOnFinishedse sprožijo le ob resničnih spremembah, osvobojen priklopljen pogled pa se samodejno odklopi, zato gostiteljska koda ostane brez utripanja in varna pred zrušitvami
Version 1.58.0
Dodano (Dodano)
EstimateSpokenWordIndexoceni, katero besedo govorni pogon trenutno izgovarja, na podlagi pretečenega časa in hitrosti v besedah na minuto, pri čemer daljšim besedam dodeli sorazmerno več časa, tako da lahko tudi pogoni brez poročanja položaja besede (na primer odjemalec NVDA controller) še vedno krmilijo bralni kazalec na ravni besed; klicatelj posreduje pretečeni čas, zato rutina ostane brez odvisnosti od ure in primerna za enotske teste
Version 1.57.0
Dodano (Dodano)
- Sestavljanje izgovorjenega besedila z dvo-domenskim preslikavanjem za sledenje branju na glas:
BuildSpokenTextFromWordsinSpokenTextAppendsestavita niz, ki se preda pogonu za govor iz polj besed na strani, pri tem pa beležita tabelo razponov,SpokenToPageCharpa pretvori izgovorjeni odmik, ki ga sporoči pogon (na primer SAPIStatus.InputWordPosition), nazaj v indeks znaka strani, zato sledenje označevanju na ravni besed ostane pravilno tudi takrat, ko izgovorjeno besedilo ni celotno besedilo strani (preskočena območja, branje po enotah, preglasitve izgovorjave) - Tipa
TPdfSpokenTextinTPdfSpokenSpannosita izgovorjeni niz ter izvorne razpone strani, iz katerih je bil zgrajen; odmiki na vstavljenih ločilih se razrešijo na naslednjo preslikano besedo, odmiki za preslikanimi zaporedji pa poročajo, da zadetka ni
Version 1.56.9
Dodano (Dodano)
Demo\Delphi\PreflightReportdoda predogled akcijskega načrta, ki neuspešne standarde, prioritete, naslednje korake, kode težav in priporočila strne v popravljalni kontrolni seznamDemo\Delphi\PreflightReportClisprejmeplan/actionplankot izhodno obliko za enojne in paketne zagone ter isti popravljalni kontrolni seznam zapiše v besedilno datoteko
Spremenjeno (Spremenjeno)
- Obe predstavitvi Delphi PreflightReport zdaj prikazujeta števce stanj pass / action / review poleg skupnega števila standardov in težav
Version 1.56.8
Spremenjeno (Spremenjeno)
ViewerInteractionLabzdaj vključuje gumbe za skok na stran, ročne gumbe za povečavo, beleženje koordinatDeviceToPage/PageToDevices klikom in jasnejši dnevnik interakcij za preverjanje izbire, iskanja, vrtenja in krmarjenja- Strani readme za
ViewerInteractionLabzdaj dokumentirajo dodani potek interakcij v celotnem lokaliziranem naboru predstavitvenih readmejev
Version 1.56.7
Dodano (Dodano)
AccessibilityWorkbenchClivsako sproženo ugotovitev preslika na ustrezna merila uspešnosti WCAG 2.1 in območje določb ISO 14289-1 (PDF/UA-1) ter v poročilih prikaže razdelek o pokritosti standardovAccessibilityWorkbenchCliizračuna dokumentirano dostopnostno oceno 0-100 z objavljeno rubriko kazni in razponom excellent / good / needs work / poor, prikazanim po datoteki in kot paketno povprečjeAccessibilityWorkbenchClisprejmefailscore=N, da ob zagonu vrne napako (izhodna koda 2), kadar katera koli datoteka doseže manj kot NAccessibilityWorkbenchClizapiše dnevnik SARIF 2.1.0, kadar se ime paketnega povzetka konča z.sarif, pri čemer ima vsaka vrsta ugotovitve svoje oznake WCAG 2.1 in PDF/UA za CI in uvoz v code-scanningAccessibilityWorkbenchClidoda ukazversion, ki izpiše povezano različico PDFium Delphi Component
Version 1.56.6
Dodano (Dodano)
IntakeWorkbenchCliizračuna forenzični hash SHA-256 vsake vhodne datoteke (zamenja ga zunavailablena prevajalnikih brezSystem.Hash) in ga izpiše v vseh oblikahIntakeWorkbenchClisprejmepasswords=file.txtza poskusno odklepanje dokumentov, zaščitenih z geslom, iz seznama kandidatov, pri čemer zabeleži ujemajoči se indeks kandidata, ne da bi kadar koli zabeležil besedilo geslaIntakeWorkbenchClisprejmecopyto=dir, da vsako pregledano datoteko usmeri v podmapo glede na raven tveganja in tako pregledovalnik spremeni v razvrščevalnik vhodovIntakeWorkbenchClizapiše dnevnik SARIF 2.1.0, kadar se ime paketnega povzetka konča z.sarif, pri čemer ima vsaka zastavica tveganja svoje pravilo in vsaka označena datoteka svoj rezultat za CI in uvoz v code-scanningIntakeWorkbenchClidoda ukazversion, ki izpiše povezano različico PDFium Delphi Component
Version 1.56.5
Dodano (Dodano)
IntakeWorkbenchClizdaj izpelje priporočena dejanja po sprejemu, kot so accept, request-password, manual-review, quarantine in deduplicate, ter v paketnih povzetkih prikaže števce dejanjAccessibilityWorkbenchClizdaj izpelje priporočena popravna dejanja, kot so pass-through, remediate-tags, run-ocr, remediate-semantics in manual-review, z ustreznimi paketnimi števci dejanj
Spremenjeno (Spremenjeno)
- Obe CLI predstavitvi orodnega razreda priporočeno dejanje prikažeta v konzolnem, besedilnem, HTML, JSON in CSV izhodu, tako da lahko paketni operaterji usmerjajo datoteke brez naknadne obdelave tveganja ali polj stanja
Version 1.56.4
Popravljeno (Popravljeno)
- Branje anotacij, zaznamkov ali povezav v zanki ne pušča več besedilnih nizov prejšnjega elementa: rezultatski zapisi
TPdfAnnotation,TBookmarkinTLinkAnnotationse zdaj čistijo z inicializacijo, ki upošteva upravljane tipe, namesto z ničlenjem surovega pomnilnika, zato dokumenti z zelo velikim številom besedilnih anotacij ne napihnejo več pomnilnika procesa za celotno življenjsko dobo aplikacije - Ob uničenju
TPdf, ki je registriral obravnavalecOnUnsupportedFeature, se ta zdaj odklopi iz procesno globalnega povratnega klica PDFium, zato poznejše nalaganje dokumenta iz drugega primerkaTPdfbrez lastnega obravnavalca ne more več usmeriti izvajanja v sproščeno komponento (use-after-free)
Version 1.56.3
Popravljeno (Popravljeno)
AccessibilityWorkbenchClipraznih strani ne šteje več kot hevristične strani bralnega reda, zato označeni dokumenti s praznimi ločilnimi stranmi ohranijo pravilen status dostopnosti; strani brez berljive vsebine so zdaj prijavljene ločenoAccessibilityWorkbenchClizaznavanje glave tabele ne pripiše več zunanje tabele celicamTH, ki pripadajo ugnezdeni tabeli, imena polj obrazca in pisav pa se ujemajo občutljivo na velike in male črke, zato se različna polja ne združijoIntakeWorkbenchCliseznami gostiteljev URL zdaj odstranijo dele userinfo, query in fragment, zato je sestavljena povezava, kot jetrusted.example@evil.example, pripisana resničnemu gostitelju, ciljimailto:pa prispevajo svojo domeno namesto da bi bili nevidniIntakeWorkbenchCliporočila Markdown ubežno zapisujejo povratne apostrofe v poteh, gostiteljih in imenih prilog, ki jih nadzira napadalec, tako da oblikovanja poročila ni mogoče pokvariti iz dokumenta
Spremenjeno (Spremenjeno)
AccessibilityWorkbenchClinapake pri pregledu pisav in polj obrazcev poroča kot ločene števce, označi nevgrajene pisave, ki imajo tudi vgrajene primerke, in dolge sezname pisav omeji z jasnim označevalcem krajšanjaIntakeWorkbenchClipaketni povzetki dodajo stolpec s številom anotacij prilog, popis anotacij na strani pa je omejen na 20000 anotacij na stran, pri čemer je omejitev navedena v vsaki obliki
Version 1.56.2
Dodano (Dodano)
AccessibilityWorkbenchClizdaj preverja vgrajevanje pisav, namige polj obrazcev, izvor bralnega reda, orise dokumenta, strukturo tabel in seznamov, sumljivo nadomestno besedilo in bogatejše podrobnosti pregleda po strani, tako da paketna poročila o dostopnosti prepoznajo več ciljnih popravkovIntakeWorkbenchClizdaj poroča o omejitvah pregleda strani, dejanjih launch in remote-go-to, seznamih gostiteljev URI, številu anotacij, nepodprtih zmožnostih PDFium, podvojenih identifikatorjih dokumentov in razširjenih zastavicah tveganja za avtomatiziran pregled vhodov
Spremenjeno (Spremenjeno)
IntakeWorkbenchClisprejmemaxpages=Nv načinu ene datoteke in paketnem načinu, da omeji preglede strani na dokument, hkrati pa še vedno dokonča poročanje o metapodatkih, prilogah, skriptih, XFA, podpisih in tveganjih
Version 1.56.1
Popravljeno (Popravljeno)
- Nalaganje starejše
pdfium.dll, ki ji manjka novejši izvoz, zdaj odpove čisto: pot napake ponastavi vsako vezano vstopno točko API, zato preverjanjaAssigned()(na primer priFPDF_GetLastErroraliFPDF_GetSecurityHandlerRevision) knjižnico prijavijo kot nenaloženo, namesto da bi klicala v že razloženi modul in se sesula z dostopovno kršitvijo UnloadLibraryzdaj počisti vse povezave PDFium API in ne le neobveznih pomočnikov V8, zato po sprostitvi DLL ne ostanejo zastareli kazalci na funkcije
Version 1.56.0
Dodano (Dodano)
- Bralni kazalec za karaoke na ravni besed v
TPdfView:TrackReadingWordAtpreslika odmik znaka trenutne besede govornega pogona (na primer SAPIStatus.InputWordPosition) na besedna polja strani, izpostavi besedo, ki ga vsebuje, kot ločen prekrivni sloj nad bralnim blokom, jo pomakne v pogled in vrne indeks besede, tako da se izgovorjena beseda osvetli, ko glas napreduje SetReadingWordinClearReadingWordneposredno nastavljata ali čistita označeno besedo izTPdfWordBox; ponovna nastavitev iste besede ne naredi ničesar, zato sledenje po besedah nikoli ne povzroča utripanja pogledaReadingWordColorinReadingWordFollownadzorujeta barvo besednega kazalca in to, ali pogled samodejno pomakne izgovorjeno besedo v vidno območje
Version 1.55.2
Popravljeno (Fixed)
- ViewerInteractionLab zdaj namenja vrsticam orodne vrstice več navpičnega prostora, tako da se kontrolniki Open PDF, Create Sample ter tisti za navigacijo, iskanje in izbiro pri skaliranih pisavah ne prekrivajo več
Version 1.55.1
Popravljeno (Fixed)
- ViewerInteractionLab zdaj postavi Prev, Next in Rotate v drugo vrstico orodne vrstice, s čimer se izogne prekrivanju z Open PDF in Create Sample ob zagonu
Version 1.55.0
Dodano (Dodano)
- Most od besede do izbire za branje tipa "preberi in izberi":
TPdfView.SelectWordBoxinSelectWordSpanizbereta eno besedno polje ali razpon besednih polj na isti strani izPageWordBoxespo njihovih razponih znakov, tako da je lahko tudi trenutno brana beseda ali vrstica izbrana in kopirana WordBoxIndexAtCharIndexpreslika indeks znaka nazaj na besedno polje, ki ga vsebuje, in tako krmili označevanje besedo za besedo, ko napreduje bralni kazalec TTS
Version 1.54.0
Dodano (Dodano)
- Glasovni dostopniki za izpolnjevanje obrazcev, ki fokusirano polje berejo neposredno iz logičnega kazalca:
FocusedFormFieldValue,FocusedFormFieldNameinFocusedFormFieldDetailsnaTPdfinTPdfViewporočajo o vrednosti trenutnega polja, človeku berljivem imenu (namig/TU, z vračanjem na/T) in celotnemTPdfFormFieldInfo(vrsta, zastavice, možnosti) — vse, kar glasovni vmesnik potrebuje za napovedovanje med premikanjem skozi obrazec
Popravljeno (Popravljeno)
FocusedFormFieldValueprebere polje prekFocusedFormFieldIndexin ne prek interaktivnega fokusa PDFium, zato dobi z glasom voden izpolnjevalnik obrazcev pravo vrednost tudi brez kazalke na zaslonu (obstoječiFocusedFormFieldTextše vedno odraža fokus PDFium in ostaja nespremenjen)
Version 1.53.0
Dodano (Dodano)
- Podpora za označevanje na ravni besed:
TPdf.PageWordBoxesinTPdfView.PageWordBoxesrazdelita stran na zapiseTPdfWordBox, pri čemer vsak nosi besedilo besede, njen razpon znakov in omejitveni pravokotnik v prostoru strani, tako da lahko bralnik za dostopnost vsako izgovorjeno besedo označi po vrsti ("karaoke" branje) tako, da pravokotnik posreduje vSetReadingHighlight BuildWordBoxesizpostavi sam korak tokenizacije in pretvori besedilo strani v besedna polja z razponi znakov
Version 1.52.0
Dodano (Dodano)
- Pomočniki za izris za slabovidne
InvertPdfBitmap,GrayscalePdfBitmapinDuotonePdfBitmapuporabijo pretvorbe barv na že izrisani 32-bitni bitni sliki na mestu, tako da lahko bralnik za dostopnost prikaže strani obrnjene / v temi, v sivinah ali v prilagojeni dvobarvni shemi (na primer temno ozadje s svetlim besedilom) za slabovidne uporabnike - Pretvorbe tečejo po posameznem pikslu in se enako obnašajo v VCL in Lazarus/LCL, pri čemer pustijo dimenzije bitne slike nespremenjene
Version 1.51.0
Dodano (Dodano)
- Bralne enote na ravni povedi za pomožno poslušno branje:
TPdf.ReadingUnits,TPdf.DocumentReadingUnitsinTPdfView.ReadingUnitspretvorijo tok berljive vsebine v urejene zapiseTPdfReadingUnitvelikosti povedi — vsak nosi besedilo za izgovorjavo skupaj s svojo semantično vrsto, stranjo, pravokotniki za označitev in jezikovno oznako, tako da lahko aplikacija z bralnikom zaslona napreduje po strani ali po celotnem dokumentu po eni izgovorjeni enoti naenkrat - Semantično krmarjenje s
NextReadingUnitOfKind, ki glasovnemu vmesniku omogoča skok na naslednjo ali prejšnjo naslovno enoto, sliko, element seznama ali celico tabele brez ročnega pregledovanja toka BuildReadingUnitskaterikoliTPdfContentFragmentsneposredno pretvori v bralne enote: naslovi ter opisi slik/alt ostanejo celi, odstavki pa se razdelijo po mejah povedi, decimalne pike se ohranijo in bralni kazalec je navaden indeks v lasti klicatelja
Version 1.50.0
Dodano (Dodano)
ValidatePdfAlahko zdaj pregleda dokumente PDF 1.5+, ki hranijo katalog, OutputIntent ali druge slovarje v stisnjenih tokovih objektov (/Type /ObjStm). Tokovi objektov se razširijo in objekti v njih se razrešijo, zato se takšni dokumenti preverijo po vsebini, namesto da bi bili prijavljeni kot dokumenti brez označevalcev PDF/A
Version 1.49.5
Popravljeno (Popravljeno)
ValidatePdfAmanjkajočega opisapdfaExtension:schemasne prijavlja več kot težavo. Shema identifikatorja PDF/A (pdfaid) je dobro poznana, zato zanjo ne veraPDF ne PDF/A-2/-3 ne zahtevajo opisa razširitvene sheme, in označevanje njene odsotnosti je napačno prijavilo vsak skladen PDF/A tretje strani. Dokumenti, ki jih sama knjižnica ustvari, opis še vedno vključujejo
Version 1.49.4
Popravljeno (Popravljeno)
ValidatePdfAzdaj zazna raven skladnosti, kadar je identifikator PDF/A zapisan kot XML atribut (pdfaid:part="2") in ne kot podrejeni element, zato dokumenti v obliki atributov niso več prijavljeni z neznano ravnjo. S tem se popravi tudi verižna napaka, pri kateri je nezaznana raven povzročila, da so se preverjanja za posamezen del vrnila na stroga pravila PDF/A-1 in napačno označila vdelane datoteke ter prosojnost, ki ju PDF/A-2 in PDF/A-3 dovoljujeta
Version 1.49.3
Popravljeno (Popravljeno)
ValidatePdfAzdaj pregleda dokumente PDF 1.5+, katerih podatki o navzkrižnih sklicih so tok navzkrižnih sklicev (datoteke brez ključne besedetrailer). Raven skladnosti, priključek/IDin drugi označevalci se preberejo iz slovarja toka navzkrižnih sklicev, zato se takšni dokumenti preverijo po vsebini, namesto da bi bili prijavljeni kot popolnoma neskladni
Version 1.49.2
Popravljeno (Popravljeno)
ValidatePdfAdokumentov, ki imajo vdelane vse svoje pisave, ne prijavlja več z lažno težavo z nevdelanimi pisavami. Prejšnja hevristika je primerjala število žetonov/FontDescriptors programi vdelanih pisav, vendar vsaka vdelana pisava prispeva dva žetona/FontDescriptor(sklic na slovar pisave in objekt opisa), zato je bil napačno označen vsak dokument z vdelanimi pisavami. Preverjanje zdaj prijavi le dokument, ki se sklicuje na pisave, vendar ne vgradi nobenega programa pisave, kar se ujema s pripadajočim popravkomValidatePdfUa
Version 1.49.1
Popravljeno (Popravljeno)
- Izhod PDF/A se zdaj z veraPDF preveri kot skladen s PDF/A-1b in PDF/A-1a: vdelani tok ICC profila sRGB OutputIntent, na katerega kaže
/DestOutputProfile, zdaj navede zahtevano število komponent/N(3 za vgrajeni profil RGB), kot zahteva ISO 19005-1 6.2.3.2. Dokumenti, ki jih ustvariSaveAsPdfA, so prej padli na strogem preverjanju PDF/A-1, ker je tok ciljnega profila izpustil/N; vrednost se izpelje iz glave ICC profila, zato pravilno število dobi tudi profil CMYK ali Gray, ki ga posreduje klicatelj
Version 1.49.0
Popravljeno (Popravljeno)
ValidatePdfUana skladnih označenih PDF ne prijavlja več napačnega manjkajočega XMP-označevanja — identifikator PDF/UA (pdfuaid:part),dc:title, datumi XMP in priključek/IDse zdaj berejo iz izvirnih bajtov dokumenta in ne iz ponovno shranjene kopije, ki izpusti tok XMP/Metadatain pri datotekah s tokom navzkrižnih sklicev tudi priključek/ID- Preverjanje vdelave pisav v
ValidatePdfUaje popravljeno, tako da dokument, ki vdeluje vse svoje pisave, ni več prijavljen kot dokument z nevdelanimi pisavami; zdaj označi samo dokument, ki se sklicuje na pisave, vendar sploh ne vdeluje nobenega programa pisave ValidatePdfUazdaj sprejme strukturni elementFormula, katerega nadomestno besedilo je podano prekActualTextnamesto vnosaAlt(ISO 14289-1 §7.7), skladno z obstoječim pravilom zaFigure
Version 1.48.0
Dodano (Dodano)
- Programatična izbira besedila v
TPdfView:SelectTextRange(po strani in razponu znakov) inSetSelection(po izrecnih razponih na strani) izbereta besedilo iz kode — na primer za branje in označitev odlomka; oba sprožita ponovni izris in dogodekOnSelectionChange, ko se izbira spremeni.SelectionRangesprebere trenutno izbiro kot razpone znakov na strani,SelectionRectanglespa vrne njene pravokotnike v koordinatah strani za lastno označevanje ali pomik do njih
Version 1.47.0
Dodano (Dodano)
- Krmarjenje po poljih obrazca za izpolnjevanje z glasom, tako v
TPdfkot vTPdfView:FormFieldTabOrder,FocusedFormFieldIndex,FocusFormField,FocusNextFormField,FocusPreviousFormField,ClearFormFieldFocusinFocusedFormFieldText. Ti premikajo logični kazalec polj po gradnikih strani po vrstnem redu zavihkov (z ovijanjem na koncih), zato lahko pomožni bralnik prehodi obrazec, napove vsako polje prekFormFieldInfo[Index].AlternateName(namig /TU) in ga izpolni prekFormField[Index] - Dogodek
TPdfView.OnFormFieldFocusChange, ki se sproži, ko se kazalec polja premakne (in nosi nov indeks polja ali -1, ko je počistjen)
Version 1.46.0
Dodano (Dodano)
- Tok vsebine za pomožno poslušno branje:
TPdf.ReadableContent,TPdf.ReadablePageContent,TPdf.DocumentReadableContentinTPdfView.ReadableContentvrnejo urejen seznam semantičnih elementovTPdfContentFragment, pri čemer vsak nosi izgovorjeno besedilo (resnične glife aliActualText/Alt za slike), vrsto fragmenta (naslov z ravnjo, odstavek, slika, element seznama, celica tabele, povezava, navaden), jezik, 1-osnovano stran ter pravokotnike za označitev po bloku in po vrstici. Označeni PDF se linearizirajo v logičnem bralnem redu iz drevesa strukture; neoznačene strani se vrnejo na vrstni red izrisa, tako da je mogoče prebrati na glas vsak dokument - Sinhronizirano označevanje branja v
TPdfView:SetReadingHighlight,ClearReadingHighlightin objavljeniReadingHighlightColoroznačijo trenutno brani blok nad prekrivnimi sloji iskanja in izbire - Novi javni tipi
TPdfContentFragment,TPdfContentFragments,TPdfReadableContent,TPdfContentFragmentKindinTPdfReadingOrderSourceter nov pomočnikClassifyStructType
Version 1.45.0
Dodano (Dodano)
ValidatePdfUazdaj prehodi tudi živo označeno drevo strukture in prijavi tri vsebinske kršitve z visoko zanesljivostjo, ki jih pregled na ravni bajtov ne more zaznati: elementFigurebrez vnosa Alt ali ActualText (ISO 14289-1, 7.3), elementFormulabrez atributa Alt (7.7) in elementNotebrez enoličnega ID (7.9). To razkrijejo tri nove vrednostiTPdfUaValidationIssue:pvuaiFigureMissingAlt,pvuaiFormulaMissingAltinpvuaiNoteMissingId. Pregled drevesa se preskoči za neoznačene dokumente- Novi javni pomočnik
ValidatePdfUaStructureElementsuporabi ta pravila drevesa strukture na ravnem seznamu elementov (kot ga vrneTPdf.StructureElements), zato je mogoče preverjanja izvesti ali enotno testirati brez nalaganja celotnega dokumenta
Version 1.44.5
Popravljeno (Popravljeno)
- Preverjanje vdelave pisav pri
ValidatePdfA(pvaiFontNotEmbedded, ISO 19005-1, 6.3.4) zdaj zazna tudi nevdelane preproste pisave brez/FontDescriptor, predvsem 14 standardnih pisav Type 1 (Helvetica, Times, Courier in podobne), ki jih PDF/A brez izjeme zahteva vdelane. Prej takšna pisava ni bila opažena; preverjanje zdaj primerja tudi slovarje preprostih pisav (/Type1,/TrueType,/MMType1) s programi vdelanih pisav, podobno kot popravek PDF/UA v 1.44.3
Version 1.44.4
Popravljeno (Popravljeno)
ValidatePdfVTzdaj zavrne napačno oblikovana drevesa DPart po ISO 16612-2 §6.5, kjer je/DPartsraven seznam referenc namesto zahtevanega seznama seznamov ali kjer list DPart ponovi svojo stran/Startkot/End, čeprav obseg vsebuje samo eno stranValidatePdfVTzdaj po razširitvi ubežnih zapisov imen PDF#xxpreveri imena/NodeNameListkot vrednosti XML NMTOKEN, zato se neveljavna imena ravni hierarhije prijavijo prekpvviMissingDPartRoot, namesto da bi bila sprejeta kot uporabna struktura DPart
Version 1.44.3
Popravljeno (Popravljeno)
- Preverjanje vdelave pisav v
ValidatePdfUa(pvuaiFontNotEmbedded, ISO 14289-1, 7.21.4) zdaj zazna tudi nevdelane preproste pisave brez/FontDescriptor, predvsem 14 standardnih pisav Type 1 (Helvetica, Times, Courier in podobne), za katere PDF/UA ne dovoljuje izjeme od vdelave. Prej takšna pisava ni bila opažena in dokument, ki jo je uporabljal, je lahko bil prijavljen kot skladen; preverjanje zdaj primerja tudi slovarje preprostih pisav (/Type1,/TrueType,/MMType1) z vdelanimi programi pisav
Version 1.44.2
Popravljeno (Popravljeno)
ValidatePdfVTzdaj prisoten, vendar neprepoznan označevalecpdfvtid:GTS_PDFVTVersionpusti kotpvcUnknown, namesto da bi ga znižal napvcNone. Tako neveljavni nizi na ravni datoteke, kot jePDF/VT-2s, ostanejo ločljivi od dokumentov brez označevalca PDF/VT; PDF/VT-2s se prepozna po glavi toka MIME v ISO 16612-2 Annex A, ne po označevalcu XMP datoteke PDF- Preverjanje
/DPartRootzdaj strožje preverja semantiko drevesa po ISO 16612-2 §6.5:/DPartRootNodein/NodeNameListmorata opisovati dejansko globino DPart, nadrejene povezave DPart morajo tvoriti drevo,/Startin/DPartssta medsebojno izključujoča, vsak/DPartstrani pa mora kazati na prekrivajoči list DPart v istem zaporedju prehoda po globini kot drevo strani
Version 1.44.1
Popravljeno (Popravljeno)
SaveAsPdfVTzdaj zapiše minimalno hierarhijo delov dokumenta po ISO 16612-2 §6.5, kadar izvorni PDF nima uporabnega/DPartRoot. Ustvarjeno drevo poveže vsako stran prek/DPart, ohrani obstoječo veljavno hierarhijo, bogatejše metapodatke prejemnikov/DPM pa prepusti klicnemu poteku delaValidatePdfVTzdaj preveri uporabno strukturo DPart, bere vrednosti XMP za PDF/VT tako iz atributov RDF kot iz besedila elementov ter uveljavi natančno osnovno ujemanje PDF/VT s PDF/X: PDF/VT-1 zahteva PDF/X-4, PDF/VT-2 pa zahteva PDF/X-4p, PDF/X-5g ali PDF/X-5pgTPdfVTSaveOptions.Conformance = pvc2ne zapisuje več neveljavnih označevalcev enojne datoteke PDF/VT-2. Zapisovalnik enojne datoteke izhod normalizira na PDF/VT-1, ker PDF/VT-2 zahteva semantiko nabora datotek
Version 1.44.0
Dodano (Dodano)
ValidatePdfUazdaj poleg označevalcev oblike datoteke prijavi tudi vsebinske kršitve PDF/UA, ki jih je mogoče preveriti na ravni bajtov: program pisave, ki ni vdelan (ISO 14289-1, 7.21.4), pisavo brez CMap/ToUnicode, kadar ni prisotno izvzeto kodiranje preproste pisave (7.21.7), in dokument z anotacijami, ki ne deklarira vrstnega reda zavihkov strani/Tabs /S(7.18.3)- Tri nove vrednosti
TPdfUaValidationIssue—pvuaiFontNotEmbedded,pvuaiFontMissingToUnicodeinpvuaiMissingTabsOrder— se prikažejo prekValidatePdfUain v poročilu preflight. To so grobe hevristike, namenjene kot namigi za preflight in ne kot popolno preverjanje ISO 14289-1
Version 1.43.1
Popravljeno (Popravljeno)
SaveAsPdfUazdaj uveljavi obvezne kataloške vnose ISO 14289-1, 7.1/ViewerPreferences/DisplayDocTitle truein/MarkInfo/Marked true/Suspects falsetudi takrat, ko izvorni dokument te slovarje že vsebuje z manjkajočimi ali nasprotujočimi vrednostmi. Prej so bili označevalci vstavljeni samo, kadar slovarjev sploh ni bilo, zato se je vir, ki je na primer vseboval/ViewerPreferencesbrezDisplayDocTitleali/MarkInfoz/Marked false, pri kroženju shranil v neskladno datoteko- Obstoječi ključi v že obstoječem slovarju
/ViewerPreferencesali/MarkInfose ohranijo, slovar, podan kot posredna referenca, pa se razreši, preden se uporabijo obvezni ključi
Version 1.43.0
Dodano (Dodano)
ValidatePdfAzdaj uporablja pravila PDF/A-2 / PDF/A-3 za vdelane in povezane datoteke ter za besedilo Level U. Vdelane datoteke so še vedno zavrnjene za PDF/A-1; pri PDF/A-3 se označi vdelana datoteka brez zahtevanega ključa/AFRelationship(ISO 19005-3 Annex E), medtem ko so priloge PDF/A-2 dovoljene (njihova lastna skladnost se ne preverja rekurzivno). Nova težavapvaiUnicodeMappingMissingprijavi dokument PDF/A-2u ali PDF/A-3u, katerega pisave nimajo preslikave/ToUnicode(ISO 19005-2 6.2.11.7). Prosojnost in izbirna vsebina ostajata označeni samo za PDF/A-1
Version 1.42.0
Dodano (Dodano)
- PDF/A-2 (ISO 19005-2) in PDF/A-3 (ISO 19005-3) sta zdaj podprta na vseh treh ravneh skladnosti — a, b in u — prek
SaveAsPdfA,ValidatePdfAin lastnostiPdfAConformance. NaštevalnikTPdfAConformancedobipac2a,pac2u,pac3ainpac3u(PDF/A-1 nima ravni u). Shranjevanje zapiše ustreznapdfaid:part(2 ali 3) inpdfaid:conformance(A, B ali U) ter ohrani podvrsto OutputIntentGTS_PDFA1, ki jo ISO 19005-2 ohrani zaradi združljivosti. Zahteva za raven A se še vedno zniža na ustrezno raven B (za katerikoli del), kadar dokumentu manjka označena struktura, ki jo ta raven zahteva
Version 1.41.0
Dodano (Dodano)
ValidatePdfAzdaj poleg strukturnih označevalcev, ki jih je že prijavljal, zazna tudi vsebinske kršitve PDF/A, ki jih vstavljanje označevalcev ne more popraviti: JavaScript in druga prepovedana dejanja, dodatna dejanja (/AA), vdelane datoteke,LZWDecode, prosojnost (mehke maske in skupine prosojnosti), izbirno vsebino (/OCProperties), prepovedane podtipe anotacij (FileAttachment, Sound, Movie, 3D, Screen), AcroForm/NeedAppearances truein/XFA, pisave, katerih opisi nimajo vdelanega programa pisave, ter zahtevo po ravni A brez označene strukture, ki jo zahteva ISO 19005-1 6.8. Preverjanja prosojnosti, izbirne vsebine in vdelanih datotek veljajo le za PDF/A-1 (te zmožnosti so dovoljene v PDF/A-2 in PDF/A-3). Nove vrednostiTPdfAValidationIssuepokrijejo vsak primer; obstoječe vrednosti ostanejo nespremenjene
Version 1.40.3
Popravljeno (Popravljeno)
SaveAsPdfAzdaj pred ustvarjanjem izhoda PDF/A odstrani vsako šifriranje izvornega dokumenta. ISO 19005-1 6.1.3 prepoveduje priključek/Encrypt, vendar je pot shranjevanja prej ohranila varnostni obravnavalec vira, zato je shranjevanje šifriranega dokumenta kot PDF/A ustvarilo šifrirano, neskladno datoteko. Shranjevanje PDF/A zdaj dokument najprej dešifrira. Nešifrirani dokumenti niso prizadeti
Version 1.40.2
Popravljeno (Popravljeno)
SaveAsPdfAne izpisuje več napačne izjave o skladnosti PDF/A raven A. Kadar je zahtevana raven A (pac1a), vendar izvorni dokument nima označevalcev označene strukture, ki jih zahteva ISO 19005-1 6.8 —/StructTreeRootv katalogu in slovar/MarkInfos/Marked true— je shranjena datoteka zdaj prepoznana kot ustrezna raven B (pdfaid:conformance=B) namesto da bi trdila raven A. Čisto vizualni izhod PDF/A-1b ni prizadet
Version 1.40.1
Popravljeno (Popravljeno)
- Zaostrena je preverba skladnosti z različico PDF, tako da je dejanje
SetOCGState(set-optional-content-group-state) prepoznano kot zmožnost PDF 1.5. Shranjevanje v cilj PDF 1.2, 1.3 ali 1.4, ki vsebuje dejanjeSetOCGState, je zdaj zavrnjeno v skladu z ISO 32000-1 (tabela 198); prej je takšno dejanje lahko prešlo v izhod nižje različice. Ločeno, zastarelo dejanje PDF 1.2SetStateje še vedno sprejeto od PDF 1.2 naprej
Version 1.40.0
Dodano (Dodano)
- Povezan je bil nadrejeni API
FPDFPageObj_AddExistingMark(), ki obstoječo oznako vsebine pripne na objekt strani. Kadar zaporedni objekti strani delijo isto oznako, jih shranjeni PDF združi v eno samo oznako, ki pokrije vse; nezaporedni objekti dobijo ločene kopije - Povezan je bil nadrejeni API
FPDFTextObj_SetFontSize()za spreminjanje velikosti v točkah obstoječega besedilnega objekta, kar dopolnjuje obstoječo povezavoFPDFTextObj_GetFontSize()
Spremenjeno (Spremenjeno)
- Vdelane izvajalne knjižnice PDFium DLL (Win32 in Win64, standardne in V8 zgradbe) so osvežene na nadrejeni posnetek 2026-06-02
Version 1.39.53
Spremenjeno (Spremenjeno)
- Predstavitve Delphi
PDFViewer,SplitViewinMultiPageViewerzdaj dokumente privzeto odprejo v načinuZoom to Page - Začetni izris zdaj prilega celotno stran v površino pregledovalnika, preden uporabnik izbere ročno stopnjo povečave
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.53
Version 1.39.52
Spremenjeno (Spremenjeno)
Demo\Lazarus\CreatePDFje razširjen tako, da uvodni vzorec zdaj ustvari dvostranski PDF z vektorskimi potmi, vsebino tabele, vdelano sliko, besedilno anotacijo, zasukanim besedilom in jasnejšim prikazom gradnje dokumenta- Dodane so dodelane strani
README.htmlza vsako mapo s predstavitvijo za Delphi, C++Builder in Lazarus, s čimer je preostali demo README samo z besedilom zamenjan z vodnikom, ki ga je mogoče brati v brskalniku TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.52
Version 1.39.51
- Paketni povzetki
Demo\Delphi\PreflightReportCliso razširjeni s skupnimi statusi standardov za Pass, Action required in Review po izbranih standardih - Vrstice po datoteki zdaj v povzetkih TXT / HTML / JSON / CSV vključujejo števce action-required in review, zato je artefakte CI lažje pregledati brez odpiranja vsakega ustvarjenega poročila
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.51
Version 1.39.50
- Način paketnega dela po mapi v
Demo\Delphi\PreflightReportClije razširjen tako, dabatchdir=folderzbere odkrite poti PDF, jih razvrsti in nato ustvari poročila v stabilnem vrstnem redu - Rekurzivni pregledi map zdaj ustvarijo ponovljiv vrstni red poročil in povzetkov, medtem ko izrecna obdelava
batch=list.txtše naprej ohranja vrstni red seznama datotek TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.50
Version 1.39.49
- Paketni povzetki
Demo\Delphi\PreflightReportCliso razširjeni tako, da beležijo nastavitve zagona: vrsto vira, pot vira, rekurzivno stanje, izhodno mapo, obliko poročila, izbrane standarde in načinfailon= - Povzetki JSON zdaj vključujejo objekt
run, povzetki TXT in HTML prikazujejo razdelek z nastavitvami zagona, vrstice CSV pa ponavljajo iste nadzorne stolpce za preglednice in cevovode CI TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.49
Version 1.39.48
- Poimenovanje paketnega izhoda v
Demo\Delphi\PreflightReportClije razširjeno tako, da podvojena imena vhodnih datotek, ki delijo istioutdir=, ne prepisujejo več ustvarjenih poročil druga druge - Paketni zagoni zdaj dodajo pripone
-2,-3in nadaljnje, kadar je bila ustvarjena pot poročila v istem zagonu že dodeljena, povzetki pa zabeležijo končno pot poročila, varno pred trki TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.48
Version 1.39.47
- Paketni povzetki
Demo\Delphi\PreflightReportCliso razširjeni tako, da izhoda TXT in JSON zdaj vključujeta skupne vsote za skupne datoteke, obdelane datoteke, neuspešne datoteke, težave in zadetkefailon= - Povzetki CSV ostajajo čista tabela vrstic za obstoječe porabnike, povzetki HTML pa še naprej prikazujejo iste agregatne metrike v glavi nadzorne plošče
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.47
Version 1.39.46
Demo\Delphi\PreflightReportClije razširjen ssummary=batch.html/.htm, tako da lahko paketni zagoni poleg manifestov TXT / CSV / JSON izpišejo tudi nadzorno ploščo, berljivo v brskalniku- Povzetki HTML prikazujejo metrike za skupno število, obdelane, neuspešne, težave in ujemanje
failon=, nato pa navedejo vsak vnos s povezavami do poročil, stanjem, števci in besedilom napake TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.46
Version 1.39.45
Demo\Delphi\PreflightReportClije razširjen sbatchdir=folderinrecursive, tako da lahko skripte pregledajo mape PDF neposredno, brez predhodnega zapisovanja seznama datotek- Način paketnega dela po mapi znova uporabi vedenje
outdir=,summary=,standards=infailon=iz paketnega načina s seznamom, medtem ko nerekurzivni pregled pregleda le izbrano mapo,recursivepa vključi podmape TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.45
Version 1.39.44
Demo\Delphi\PreflightReportClije razširjen ssummary=batch.csv|json|txt, tako da lahko paketni zagoni poleg poročil po datotekah izpišejo tudi strojno berljiv manifest- Paketni povzetki vključujejo vsako vhodno pot, pot poročila, stanje, število standardov, število uspešnih, število težav, stanje ujemanja
failon=in besedilo napake za opravila CI in zunanje skripte TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.44
Version 1.39.43
Demo\Delphi\PreflightReportClije razširjen sbatch=list.txtinoutdir=reports, tako da lahko skripte v enem zagonu ustvarijo poročila preflight za seznam datotek PDF- Paketni način preskoči prazne vrstice in vrstice komentarjev
#, ime vsakega poročila.preflight.<ext>izpelje iz vhodnega PDF, nadaljuje po napakah posamezne datoteke in pred vrnitvijo povzame obdelane in neuspešne datoteke TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.43
Version 1.39.42
Demo\Delphi\PreflightReportClije razširjen sfailon=none|issues|action|review, tako da lahko opravila CI ustvarjene rezultate preflight pretvorijo v deterministične izhodne kode- CLI zdaj vrne izhodno kodo 2, kadar se izbrano pravilo
failon=ujema po ustvarjanju datoteke poročila in izbirnega pripetega PDF poročila, medtem ko napake med izvajanjem še vedno vrnejo izhodno kodo 1 TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.42
Version 1.39.41
Demo\Delphi\PreflightReportClije razširjen zattach=output.pdf, tako da je mogoče ustvarjeno poročilo preflight vgraditi kot prilogo na ravni dokumenta v novo kopijo PDF- CLI ohrani ustvarjeno datoteko poročila TXT / HTML / Markdown / JSON / CSV na disku in zavrne ponovno pripenjanje v izvorno vhodno pot PDF, s čimer zmanjša tveganje nenamernega prepisovanja
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.41
Version 1.39.40
- Dodana je
Demo\Delphi\PreflightReportCli, konzolna spremljevalka Delphi za skriptno ustvarjanjeFPdfPreflightReportbrez odpiranja pregledovalnika - CLI podpira ustvarjanje vzorca brez argumentov ter vhodne / izhodne argumente, izbirno geslo, izhodne oblike
text/html/md/json/csvin filtriranjestandards=za PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R in PDF/VT TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.40
Version 1.39.39
FPdfPreflightReportje razširjen sTPdfPreflightReport.ToMarkdowninSaveMarkdownToFile, tako da je mogoče poročila preflight izvoziti kot Markdown, prijazen sledilnikom težav- Vzorci
PreflightReportza Delphi, C++Builder in Lazarus so posodobljeni s preklopom predogleda Markdown in dejanji Save MD poleg obstoječega poteka TXT / HTML / JSON / CSV TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.39
Version 1.39.38
- Vzorci
SecurityAuditza Delphi, C++Builder in Lazarus so razširjeni z izvozom nadzornega poročila JSON poleg obstoječega poteka shranjevanja / kopiranja TXT - Poročilo JSON vsebuje
format,generatedAt,summary,findingCountin strukturirane vrsticefindingss polji za resnost, območje in podrobnosti TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.38
Version 1.39.37
FPdfPreflightReportje razširjen sTPdfPreflightReport.ToCsvinSaveCsvToFile, tako da je mogoče poročila preflight izvoziti kot CSV, prijazen preglednicam- Vzorci
PreflightReportza Delphi, C++Builder in Lazarus so posodobljeni s preklopom predogleda CSV in dejanji Save CSV poleg obstoječega poteka TXT / HTML / JSON TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.37
Version 1.39.36
FPdfPreflightReportje razširjen sTPdfPreflightReport.IssueCategoryCountster ponovno uporabnima tipomaTPdfPreflightIssueCategoryCountinTPdfPreflightIssueCategoryCountsza združevanje težav na ravni označevalcev po kategorijahTPdfPreflightReport.ToText,ToHtmlinToJsonso posodobljeni, da izhod ustvarjenega PreflightReport vključuje povzetke števil težav po kategorijah poleg vrstic po standardih in podrobnih priporočil za težaveTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.36
Version 1.39.35
- Razširjen vzorec
PrintDialogje bil preimenovan vPrintPreferencesv Delphi, C++Builder in Lazarus, tako da se ime predstavitve zdaj ujema z njenim delovnim tokom za nastavitve tiskanja avtorja PDF, tiskanje N-up, filtriranje liho / sodo, sivine, obrobe celic in preslikavo obojestranskega tiskanja TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.35
Version 1.39.34
Demo\Delphi\PrintPDFje razširjen z nalaganjem PDF z vleci-in-spusti, obstoječi potekDemo\CBuilder\PrintPDFpa je dokumentiran skupaj z vzorci PrintPDF za Delphi in LazarusTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.34
Version 1.39.33
- Dodana je
Demo\CBuilder\SplitView, s čimer je matrika vzorcev SplitView za Delphi, C++Builder in Lazarus dokončana TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.33
Version 1.39.32
- Dodana je
Demo\Lazarus\SplitView, ki v Lazarus prinaša primerjavo PDF drug ob drugem z dvopanelno ali tripanelno postavitvijo, krmarjenjem po aktivnem pogledu, sinhroniziranimi ukazi, prednastavitvami povečave in vrtenjem TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.32
Version 1.39.31
- Dodana je
Demo\Lazarus\PrintPDF, ki v Lazarus prinaša standardni potek tiskanja PDF s krmarjenjem po predogledu, razponi strani, kopijami, načinom collate, napredkom in preklicem TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.31
Version 1.39.30
- Dodana je
Demo\Lazarus\FontProperties, s čimer je matrika vzorcev FontProperties za Delphi, C++Builder in Lazarus dokončana TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.30
Version 1.39.29
- Dodana je
Demo\CBuilder\FontProperties, ki v C++Builder prinaša pregled indeksiranih znakov in metapodatkov pisave poleg vzorca Delphi TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.29
Version 1.39.28
- Dodana je
Demo\Delphi\ExtractTextPages, s čimer je matrika vzorcev za izločanje besedila po straneh za Delphi, C++Builder in Lazarus dokončana TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.28
Version 1.39.27
- Dodana je
Demo\Lazarus\PrintDialog, s čimer je matrika vzorcev PrintDialog za Delphi, C++Builder in Lazarus dokončana TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.27
Version 1.39.26
- Dodana je
Demo\CBuilder\PrintDialog, ki v C++Builder prinaša potek tiskanja N-up in nastavitve tiskanja avtorja PDF poleg vzorca Delphi TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.26
Version 1.39.25
- Dodana je
Demo\CBuilder\ViewerInteractionLab, s čimer je matrika vzorcev ViewerInteractionLab za Delphi, C++Builder in Lazarus dokončana - Posodobljen je potek gradnje knjižnice in izhodi paketa C++Builder za Win64, tako da se metode interakcije pregledovalnika
TPdfViewpravilno povežejo v predstavitvah Win64 TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.25
Version 1.39.24
- Dodana je
Demo\Lazarus\ViewerInteractionLab, ki v Lazarus prinaša osredotočen potek interakcije s pregledovalnikom poleg vzorca Delphi TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.24
Version 1.39.23
- Dodana je
Demo\Lazarus\SearchAndSelect, s čimer je matrika vzorcev SearchAndSelect za Delphi, C++Builder in Lazarus dokončana TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.23
Version 1.39.22
- Dodana sta
Demo\CBuilder\ContentExtractionLabinDemo\Lazarus\ContentExtractionLab, ki večkategorijski potek izločanja vsebine prinašata v vse podprte demo IDE TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.22
Version 1.39.21
Demo\Delphi\PreflightReport,Demo\Lazarus\PreflightReportinDemo\CBuilder\PreflightReportso razširjeni z izbirnikom oblike predogleda, tako da lahko uporabniki pred shranjevanjem poročil pregledajo besedilni ali JSON izhodTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.21
Version 1.39.20
- Dodana je izvozna oblika JSON v
FPdfPreflightReportprekTPdfPreflightReport.ToJsoninSaveJsonToFile, ki ustvari strojno berljive povzetke, status / prioriteto po standardih, naslednja dejanja in podrobnosti težav Demo\Delphi\PreflightReport,Demo\Lazarus\PreflightReportinDemo\CBuilder\PreflightReportso posodobljeni z dejanji Save JSON poleg izvoza TXT / HTMLTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.20
Version 1.39.19
FPdfPreflightReportje razširjen sTPdfPreflightStatus, kategorijami težav, prioriteto po standardih in navodili za naslednje dejanje v poročilih TXT / HTMLDemo\Delphi\PreflightReport,Demo\Lazarus\PreflightReportinDemo\CBuilder\PreflightReportso posodobljeni, da v mreži povzetka prikazujejo status, prioriteto, število težav in naslednje dejanjeTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.19
Version 1.39.18
- Dodana je
Demo\Lazarus\SecurityAudit, s čimer je matrika demojev za Delphi, C++Builder in Lazarus za potek nadzora bralno-predstavitvene PDF površine tveganja dokončana - Vzorec Lazarus našteje dovoljenja, priloge, dejanja JavaScript, anotacije povezav URI / Launch, spletne povezave, podpise, stanje XFA, razpoložljivost pomočnikov V8 / XFA in povratne klice nepodprtih zmožnosti, nato pa seznam ugotovitev shrani ali kopira kot poročilo TXT
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.18
Version 1.39.17
- Dodana je
Demo\CBuilder\SecurityAudit, ki potek nadzora bralno-predstavitvene PDF površine tveganja prinaša v C++Builder poleg obstoječega vzorca Delphi - Vzorec C++Builder našteje dovoljenja, priloge, dejanja JavaScript, anotacije povezav URI / Launch, spletne povezave, podpise, stanje XFA, razpoložljivost pomočnikov V8 / XFA in povratne klice nepodprtih zmožnosti, nato pa seznam ugotovitev shrani ali kopira kot poročilo TXT
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.17
Version 1.39.16
- Dodana je
Demo\CBuilder\SearchAndSelect, ki samostojen potek pregledovalnika SearchAndSelect prinaša v C++Builder poleg obstoječega vzorca Delphi - Vzorec C++Builder ustvarja ali odpira PDF, našteje zadetke na vseh straneh s predogledom strani / indeksa znaka, podpira krmarjenje Previous / Next in z dvojnim klikom ter označi zadetke na trenutni strani z
HighlightSearchText - Izpostavlja tudi možnosti
AllowUserTextSelection,SelectedText,SelectAll,CopySelectionToClipboard,ClearSelection,OnSelectionChangein razpršene možnostiDisplayMode; metapodatki različice zdaj poročajo 1.39.16
Version 1.39.15
- Dodana je
Demo\CBuilder\WatermarkStamp, s čimer je matrika demojev za Delphi, Lazarus in C++Builder za ponovno uporabne poteke vodnih žigov in žigov Form XObject dokončana - Vzorec C++Builder ustvari ciljni PDF in PDF žiga, znova uporabi stran žiga prek
CreateXObjectFromPage, uporabi pretvorbeTPdfMatrixter shrani centrirane vodne žige, vogalne žige in oznake številk strani TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.15
Version 1.39.14
- Dodana je
Demo\Lazarus\WatermarkStamp, ki v Lazarus prinaša ponovno uporabni potek vodnih žigov in žigov Form XObject - Vzorec Lazarus ustvari ciljni PDF in PDF žiga, znova uporabi stran žiga prek
CreateXObjectFromPage, uporabi pretvorbeTPdfMatrixter shrani centrirane vodne žige, vogalne žige in oznake številk strani TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.14
Version 1.39.13
- Dodana je
Demo\CBuilder\PreflightReport, s čimer je matrika demojev za Delphi, Lazarus in C++Builder za ponovno uporabni potekFPdfPreflightReportdokončana - Vzorec C++Builder uporablja
FPdfPreflightReport.hppza ustvarjanje povzetkov standardov, predogledov poročil TXT, datotek poročil TXT / HTML in vedenje Open Last Report TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.13
Version 1.39.12
- Dodana je
Demo\Lazarus\PreflightReport, ki v Lazarus prinaša potek poročila preflight za PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R in PDF/VT - Vzorec Lazarus lahko odpre ali ustvari PDF, izbere ciljne standarde, predogleda vrstice povzetka in izhod poročila TXT, shrani poročila TXT / HTML ter odpre nazadnje shranjeno poročilo
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.12
Version 1.39.11
Demo\Delphi\SearchAndSelectje razširjen s seznamom rezultatov iskanja po vseh straneh, ki beleži številko strani, indeks znaka in besedilo predogleda- Dodana sta krmarjenje po zadetkih Previous / Next in skok na rezultat z dvojnim klikom, pri čemer je vedenje
HighlightSearchTextna trenutni strani ohranjeno TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.11
Version 1.39.10
Demo\Delphi\SecurityAuditje razširjen z dejanji Save Report in Copy Report, ki trenutni povzetek in vrstice ugotovitev izvozijo kot nadzorno poročilo TXT- Predstavitev zdaj počisti stanje izvoza poročila, ko se ponastavi nadzorna plošča, tako da so kopirana ali shranjena poročila usklajena z vidnimi ugotovitvami
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.10
Version 1.39.9
Demo\Delphi\ContentExtractionLabje razširjen s shranjevanjem izvornega PDF, kopiranjem poročila v odložišče ter dejanji izbire kategorij all / none- Predstavitev zdaj razveljavi trenutno poročilo, ko se izbire kategorij spremenijo, zato izvozi TXT / JSON odražajo vidni obseg izločanja
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.9
Version 1.39.8
- Dodana je
Demo\Delphi\ContentExtractionLab, enoten vzorec poteka izločanja vsebine za metapodatke dokumenta, besedilo strani, objekte strani, slike, priloge, povezave, anotacije, zaznamke ter meritve pisave / znakov - Vzorec lahko odpre obstoječi PDF ali ustvari sintetični PDF z vsebino besedila, slike, priloge in anotacije, nato pa ustvari vrstice povzetka in podrobna poročila TXT / JSON
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.8
Version 1.39.7
- Dodana je
Lib\FPdfPreflightReport.pas, ponovno uporaben pomočnik za poročila, ki v en objektTPdfPreflightReportzdružiValidatePdfA,ValidatePdfUa,ValidatePdfE,ValidatePdfX,ValidatePdfRinValidatePdfVT - Dodana je
Demo\Delphi\PreflightReport, vzorec poteka, ki odpre ali ustvari PDF, izbere ciljne standarde, predogleda vrstice povzetka in priporočila za težave ter shrani poročila TXT ali HTML - Ustvarjena poročila izrecno opišejo vgrajeno mejo preverjanja na ravni označevalcev, tako da jih lahko aplikacije po potrebi združijo z namenskim orodjem za preflight na ravni vsebine
TPdf.AboutInfo, metapodatki paketa Lazarus, seznami projektov paketov in metapodatki različice namestitvenega programa zdaj poročajo 1.39.7
Version 1.39.6
- Dodana je
Demo\Delphi\SearchAndSelect, osredotočen vzorec poteka pregledovalnika za označevanje iskanja, izbiro besedila, predogled izbranega besedila, kopiranje, brisanje in načine prikaza razprtja - Vzorec prikazuje
HighlightSearchText, možnosti iskanja match-case / whole-word,AllowUserTextSelection,SelectedText,SelectAll,CopySelectionToClipboardinClearSelectionbrez dodajanja novega API knjižnice TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.6
Version 1.39.5
Demo\Delphi\ViewerInteractionLabje razširjen v vzorec uporabniške izkušnje pregledovalnika tipa SearchAndSelect sHighlightSearchText, možnostmi match-case / whole-word, predogledom izbranega besedila in obstoječimi kontrolami izbire / odložiščaDemo\Delphi\PrintDialogje razširjen za pregled nastavitev tiskanja avtorja PDF:PrintCopies,PrintPageRanges,PrintScaling,PrintPaperHandlingin vidno preslikavo dupleksaSetPdfPrintPaperHandlingDevMode- Dodana je
Demo\Delphi\SecurityAudit, vzorec bralne površine tveganja, ki našteje dovoljenja, priloge, document JavaScript, povezave URI / Launch, spletne povezave, podpise, stanje XFA in razpoložljivost pomočnikov V8 / XFA TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.5
Version 1.39.4
- Dodana sta
Demo\CBuilder\ImageToPDFinDemo\Lazarus\ImageToPDF, s čimer je matrika vzorcev ImageToPDF za Delphi, C++Builder in Lazarus dokončana - Nova vzorca prikazujeta izbiro več slik, predogled izbrane slike, eno stran PDF na sliko, velikost strani A4 portrait / landscape, centrirano skaliranje slike, napredek po sliki in odpiranje ustvarjenega PDF po shranjevanju
TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.4
Version 1.39.3
- Dodana je
Demo\CBuilder\BatchExport, ki potek izvažanja več datotek PDF v JPG prinaša v C++Builder poleg obstoječih vzorcev Delphi in Lazarus - Vzorec prikazuje
LoadCustomDocument,IPdfCancellationTokenSource, pretočni vhodTFileStream, napredek po datoteki in po strani, obravnavo preklica, vhode DPI / kakovost / geslo ter odpiranje izhodne mape po končanem delu TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.3
Version 1.39.2
- Dodana je
Demo\Delphi\WatermarkStamp, zagonski vzorec poteka Form XObject, ki ustvari ciljni PDF in ponovno uporabni PDF žiga, nato pa na vsako stran uporabi centrirane vodne žige, žige v zgornjem desnem kotu in oznake številk strani - Vzorec prikazuje
CreateXObjectFromPage,InsertFormObjectFromXObject,TPdfMatrixinFPDFPageObj_SetMatrixbrez dodajanja novega API knjižnice Docs\en-us\Examples.htmlje posodobljen, da pri posredovanju matrik vFPDFPageObj_SetMatrixuporablja trenutni vzorecTPdfMatrix.HandleTPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.2
Version 1.39.1
- Dodana je
Demo\Delphi\ViewerInteractionLab, osredotočen vzorecTPdfViewza načine prikaza, načine prilagajanja, barve strani, vrtenje, izbiro besedila uporabnika, dejanja odložišča in povratne informacije o koordinatahDeviceToPage - Dodana sta
Demo\CBuilder\StandardsLab/Demo\Lazarus\StandardsLab, tako da lahko uporabniki Lazarus izvajajo potek preverjanja in izhoda označevalcev za PDF/A, PDF/UA, PDF/E, PDF/X, PDF/R in PDF/VT - Naštete so standardne enote v
Lib\37.0\PDFiumPas.dprojinLib\FPC\PDFiumLaz.lpkter odpravljena gradnja predstavitvenega programa DelphiSplitViewz odstranitvijo podvojenega uvozaWinapi.ShellAPI - Odpravljene so blokade paketne gradnje demojev Delphi v
BatchExport,PDFViewer,MultiPageViewerinSplitViewbrez spremembe njihovega izvajalnega vedenja - Združljivost paketne gradnje demojev C++Builder v
PDFViewerinMultiPageViewerje odpravljena z zamenjavonullptrzNULLza trenutni način projekta TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.1
Version 1.39.0
- Dodana je
Demo\Delphi\StandardsLab, zagonski vzorec poteka standardov, ki naloži ali ustvari PDF, zaženeValidatePdfA,ValidatePdfUa,ValidatePdfE,ValidatePdfX,ValidatePdfRinValidatePdfVTter v eni mreži prikaže zaznano skladnost, stanje pass/fail in število težav - Gumbi za shranjevanje v StandardsLab kličejo
SaveAsPdfA,SaveAsPdfUa,SaveAsPdfE,SaveAsPdfX,SaveAsPdfRinSaveAsPdfVT, tako da je izhod označevalcev standardov PDF viden brez pisanja lastnega ogrodja TPdf.AboutInfo, metapodatki paketa Lazarus in metapodatki različice namestitvenega programa zdaj poročajo 1.39.0
Version 1.38.0
- Prekrivne plasti iskanja in izbire besedila v
TPdfViewzdaj uporabljajo resnično alfa mešanje namesto logičnega risanja mask, kar ohranja vsebino strani pod poudarki - Dodan je
SetPdfPrintPaperHandlingDevModeza preslikavoTPrintPaperHandlingv vrednostiDEVMODE.dmDuplexsistema Windows:DMDUP_SIMPLEX,DMDUP_HORIZONTALinDMDUP_VERTICAL TPdfView.SmoothScrollzdaj animira ukaze drsnika vrstica/stran v s časovnikom vodenih odsekih; sledenje palici ostane takojšnje- Posodobljena
TPdf.AboutInfoin metapodatki različice namestitvenega programa zdaj poročajo 1.38.0
Version 1.37.0
TPdfzdaj ima zaklep za izris na ravni posameznega primerka, ki serializira potiRenderPage,RenderTile,RenderPageProgressive, ponovnega nalaganja strani in odlaganja dokumenta. Izris, voden z delavcem prek skupne komponente, je zdaj praktičen, medtem ko aplikacije še vedno usklajujejo spreminjanje dokumenta in življenjski cikel- Popravljena je ovojnica bitne slike brez kopiranja, da zavrne postavitve DIB odspodaj-navzgor
TBitmapin se vrne na medpomnilnik v lasti PDFiuma pred kopiranjem ven, s čimer se odpravijo odpovedi zaradi poškodbe koraka ali kršitve dostopa v preizkusih upodabljanja VCL - Zaostreno je obnašanje izbire v
TPdfView:AllowUserTextSelectionomejuje le uporabniški vnos, API-ji za izbiro na ravni kode še vedno rišejo,SelectAllpa sledi dejanskemu vidnemu razponu, tako da naslovna stran ne izbere več strani 2. Testi v Delphiju, Lazarusu in C++Builderju so bili temu ustrezno razširjeni - Posodobljena
TPdf.AboutInfoin metapodatki različice namestitvenega programa zdaj poročata 1.37.0
Version 1.36.0
- Aktivirana je uporabniška izbira besedila v
TPdfView— lastnostAllowUserTextSelection, rezervirana v v1.17.0, zdaj poganja celovit cevovod izbire s povleci-in-spusti. Levi klik na znak besedila vnese način izbire (samodejni preizkus zadetka); levi klik na prazno območje nadaljuje s premikanjem kot prej. Gradnik izpolnjevanja obrazca obdrži prednost, zato klik na polje obrazca še vedno osredotoči polje namesto da bi začel izbiro - Dvoklik izbere besedo, trikratni klik izbere vrstico,
Ctrl+Aizbere trenutno stran (obe strani v načinih prikaza z razponom),Ctrl+Cpa kopirano izbiro shrani v odložišče sistema Windows kotCF_UNICODETEXT Shift+Left/Shift+Rightrazširjata izbiro po en znak naenkrat (v načinu razpona prelivata na sosednjo stran);Shift+Domov/Shift+Endjo razširita do roba vidne vrstice z uporabo višine okvirja semenskega znaka kot tolerance za združevanje vrstice, tako da vrstice z mešanimi velikostmi pisave ostanejo pravilno združene- Lebdenje nad besedilom spremeni kazalec v
crIBeam; odmik z besedila vrne privzeti kazalec. Med vlečenjem izbire besedila premik v 20-pikselno mrtvo območje na katerem koli robu pregledovalnika samodejno drsi stran (50 ms korak, 16 px / korak, omejeno na iste meje, ki jih uporablja pot premikanja), tako da se izbira lahko raztegne čez trenutno vidno območje, ne da bi najprej spustili miško - Navzkrižna izbira deluje v načinih prikaza z razponom (
dmTwoPageContinuous,dmTwoPageContinuousWithCover): vlečenje, ki se začne na levi strani in konča na desni strani, izbere zvezen razpon, ki zajame obe strani.SelectedTextzdruži odrezke po straneh s CR/LF, tako da se ponovno dobljeno besedilo bere kot običajna večvrstična vsebina - Nova objavljena lastnost
SelectionColor(privzetoclHighlight, sistemska barva izbire Windows) — neodvisna odHighlightColor, ki v rumeni barvi obarva rezultate iskanja. Poudarki iskanja in živa izbira s potegom se lahko na zaslonu prikažeta hkrati brez barvnega spora - Nov objavljen dogodek
OnSelectionChangese sproži vsakič, ko se materializirani razponi izbire dejansko spremenijo — nikoli ob enaki ponovni uporabi, zato ga lahko gostiteljske aplikacije neposredno povežejo z besedilom vrstice stanja ali omogočenim stanjem gumbov brez odstranjevanja tresov - Nov javni API na
TPdfView:HasSelection,SelectionCharCount,SelectedText,ClearSelection,SelectAll,CopySelectionToClipboard. To so vstopne točke na ravni kode in vedno delujejo ne glede naAllowUserTextSelection— zastavica vrata le uporabniški vnos (miška, Ctrl+C, Ctrl+A, Shift+puščice), zato lahko kioski gostitelji onemogočijo uporabniško vodeno izbiro in ob tem še vedno zgradijo gumbe orodne vrstice "Select All / Copy", ki poganjajo isti API - Privzeti pojavní meni desnega klika
Copy/复制se samodejno pripne, kadar gostitelj ni dodelil svojegaPopupMenu— standardno "izberi besedilo, desni klik, kopiraj" deluje takoj. Napis se izbere med angleščino in kitajščino glede naSysLocale.PriLangID; gostitelji, ki potrebujejo polno lokalizacijo (ali bogatejši meni), preprosto dodelijo svojPopupMenuin privzeti se zatira - Izbira se samodejno počisti ob prehodih
SetPdf,SetPageNumber,SetActive(False)inDisplayMode, pri čemer seOnSelectionChangesproži natanko enkrat, ko je bila prejšnja izbira neprazna. Podsistem izpolnjevanja obrazca obdrži prednost — med urejanjem polja obrazca vse tipkovnične bližnjice izbire se odložijo, tako da polje prejmeCtrl+C/Ctrl+A/Shift+puščiceza lastno izbiro - Razširjeni regresijski zbirki Delphi in Lazarus na 202 primera vsaka, zbirka C++Builder pa na 159 primerov, kar pokriva privzete vrednosti, kroženje, obnašanje javnega API-ja, čiščenja ob spremembi stanja, poteg miške (zadetek-besedilo / zadetek-prazno), klik proti potegu, preklop kazalca IBeam, dvojni klik besede, trojni klik vrstice, tipkovne bližnjice, privzeto pripenjanje / odložitev / napis pojavnega menija in razprto izbiro med stranmi — vključno s preverjanjem kroženja CR/LF v odložišču
Version 1.35.0
- Dodana je podpora za vstavljanje oznak PDF/VT (ISO 16612-2:2010): TPdf.SaveAsPdfVT povzdigne trenutni dokument v datoteko, skladno s PDF/VT-1 ali PDF/VT-2 (PDF-podnabor za spremenljivo in transakcijsko tiskanje). PDF/VT je zgrajen na osnovi PDF/X-4 — ISO 16612-2 §6.2.1 zahteva, da je vsaka datoteka PDF/VT-1 skladna tudi s PDF/X-4 — zato vstavljalnik zapiše celoten nabor oznak PDF/X-4 (XMP
pdfxid:GTS_PDFXVersion = "PDF/X-4", Info/GTS_PDFXVersion (PDF/X-4)in/Trapped, katalog s/OutputIntents, ki se sklicuje na slovar OutputIntent z vdelanim ICC profilom) skupaj z lastnostmi, specifičnimi za PDF/VT - Vstavljanje, specifično za PDF/VT, pokriva XMP
pdfvtid:GTS_PDFVTVersion(= "PDF/VT-1" ali "PDF/VT-2" glede na §6.3 Table 2) inpdfvtid:GTS_PDFVTModDate(usklajen sxmp:ModifyDateglede na §6.3 NOTE 1), poleg tega pa še opis pdfaExtension:schemas, ki deklarira imenska prostora pdfxid in pdfvtid (NPES URIhttp://www.npes.org/pdfx/ns/id/inhttp://www.npes.org/pdfvt/ns/id/). Trailer nosi polje/ID - Dodana je TPdf.SaveAsPdfVTToStream za izpis PDF/VT v pomnilnik ter okrajšava s privzetimi možnostmi
TPdf.SaveAsPdfVT(FileName), ki ustvari PDF/VT-1 z vgrajenim OutputIntentom sRGB IEC61966-2.1 (3144 bytes, isti profil kot pri SaveAsPdfA / SaveAsPdfX) in/Trapped /False - Dodana je TPdf.ValidatePdfVT: preveri odprt PDF za oznake skladnosti s PDF/VT (prisotnost XMP
pdfvtid:GTS_PDFVTVersioninGTS_PDFVTModDate, enakost medpdfvtid:GTS_PDFVTModDateinxmp:ModifyDate, prisotnost temeljnega identifikatorjapdfxid:GTS_PDFXVersion, prisotnost kataloškega/DPartRootglede na §6.5,/OutputIntentss/DestOutputProfile, trailer /ID, status šifriranja, prisotnostxmp:CreateDate/ModifyDate) in vrne TPdfVTValidationResult z zaznano stopnjo skladnosti in naborom najdenih težav - Dodana je lastnost TPdf.PdfVTConformance: vrne stopnjo skladnosti trenutno odprtega dokumenta (pvc1, pvc2, pvcNone ali pvcUnknown), brez da bi bilo treba izrecno klicati ValidatePdfVT
- V novi enoti FPdfPdfvt so izvoženi novi tipi: TPdfVTConformance (pvcUnknown/None/1/2), TPdfVTTrappedState (ptvUnspecified/True/False/Unknown), TPdfVTValidationResult, TPdfVTValidationIssue, TPdfVTSaveOptions
- Hierarhija delov dokumenta (drevo
DPartRoot/DPartpo §6.5) je struktura na ravni aplikacije, odvisna od preslikave prejemnikov / obsegov strani v poteku tiskanja spremenljivih podatkov. SaveAsPdfVT drevesa DPart NE izdela — ValidatePdfVT manjkajoči/DPartRootprijavi kotpvviMissingDPartRoot, tako da klicatelji lahko datoteke PDF/VT usmerijo skozi ločen korak izdelave DPart. Zahteve PDF/X-4 na ravni vsebine (vdelava pisav, prosojnost, ICC-upravljane barve, prepovedi OPI / JavaScript / Reference XObject itd.) ostajajo v odgovornosti avtorja dokumenta in izrisovalnega cevovoda PDFiuma - Posodobljen niz TPdf.AboutInfo poroča trenutno različico izdelka
Version 1.34.0
- Dodana je podpora za vstavljanje oznak PDF/R-1 (ISO 23504-1:2020): TPdf.SaveAsPdfR povzdigne trenutni dokument v datoteko, skladno s PDF/R-1 (podnabor PDF za prenos rasterskih slik, ki se uporablja za skenirane dokumente). Vstavljanje pokriva zahteve na ravni formata datoteke, ki jih je mogoče pripeti z naknadno obdelavo — edinstven komentar za identifikacijo različice
%PDF-raster-1.0, zapisan med slovarjem trailerja in ključno besedo startxref (§5), slovar kataloga, zmanjšan na beli seznam §6.3 (preživijo samo Version / ViewerPreferences / PageLayout / PageMode / AcroForm / Metadata), slovar Document Information Dictionary, zmanjšan na beli seznam §6.4.3 (samo Creator / Producer / CreationDate / ModDate), kataloški XMP tok /Metadata s štirimi vnosi iz §6.4.4 Table 1 (xmp:CreatorTool / pdf:Producer / xmp:CreateDate / xmp:ModifyDate) ter polje /ID v trailerju - Dodana je TPdf.SaveAsPdfRToStream za izpis PDF/R v pomnilnik ter okrajšava s privzetimi možnostmi
TPdf.SaveAsPdfR(FileName)za običajni primer - Dodana je TPdf.ValidatePdfR: preveri odprt PDF za oznake skladnosti s PDF/R-1 (končni komentar
%PDF-raster-x.y, različica v glavi, odsotnost /Type /ObjStm, skladnost kataloga z belim seznamom, skladnost slovarja Info z belim seznamom, prisotnost XMP metapodatkovnega toka, trailer /ID) in vrne TPdfRValidationResult z zaznano stopnjo skladnosti in naborom najdenih težav - Dodana je lastnost TPdf.PdfRConformance: vrne stopnjo skladnosti trenutno odprtega dokumenta (prc1, prcNone ali prcUnknown), brez da bi bilo treba izrecno klicati ValidatePdfR
- V novi enoti FPdfPdfr so izvoženi novi tipi: TPdfRConformance, TPdfRValidationResult, TPdfRValidationIssue, TPdfRSaveOptions.
TPdfRSaveOptions.Defaultnastavi StripInfoOptionalEntries in StripCatalogOptionalEntries na True, tako da vstavljalnik privzeto izdeluje katalog in slovar Info, skladna s §6.3 / §6.4.3; klicatelji ju lahko nastavijo na False, če želijo ohraniti vnose vira (izpis takrat ne bo izpolnjeval tistih točk PDF/R, druge oznake pa ostanejo pripete) - Zahteve na ravni vsebine ostajajo v odgovornosti izvornega PDF: struktura Contents na stran (§6.5.1), oblika MediaBox
[0 0 w h](§6.5.3), omejitve filtrov (§6.2.2 — samo FlateDecode, bitonalni CCITTFaxDecode, DCTDecode 8-bit sivina/RGB), odsotnost tokov objektov (§6.2.4) in postavitev stripov po §6.6. Tega z naknadno obdelavo ni mogoče vsiliti — PDF/R je po strukturi veliko strožji podnabor kot ostali standardi PDF/x in zahteva pravilno generiranje izvornih bajtov. ValidatePdfR prijavi težave na ravni formata datoteke, ki jih zna zaznati ta enota; za popolna preverjanja na ravni vsebine ga združite z validatorjem PDF/R od TWAIN Working Group - Posodobljen niz TPdf.AboutInfo poroča trenutno različico izdelka
Version 1.33.0
- Dodana je podpora za vstavljanje oznak PDF/X (družina ISO 15930): TPdf.SaveAsPdfX povzdigne trenutni dokument v datoteko, skladno s PDF/X-1a:2001, PDF/X-3:2002 ali PDF/X-4, z naknadno obdelavo osnovnega PDF z inkrementalno posodobitvijo. Vstavljanje pokriva zahteve na ravni formata datoteke, ki jih je mogoče pripeti z naknadno obdelavo — XMP metapodatkovni tok, ki nosi
pdfxid:GTS_PDFXVersion(inpdfxid:GTS_PDFXConformanceza PDF/X-1a / PDF/X-3) skupaj s pripadajočim opisom pdfaExtension:schemas; prepisan slovar Document Information Dictionary z vnosi/GTS_PDFXVersion,/GTS_PDFXConformancein/Trapped; posodobljen katalog s/OutputIntents [N 0 R], ki se sklicuje na slovar OutputIntent s/S /GTS_PDFXin vdelanim ICC profilom; ter polje/IDv trailerju - Dodana je TPdf.SaveAsPdfXToStream za izpis PDF/X v pomnilnik ter okrajšava s privzetimi možnostmi
TPdf.SaveAsPdfX(FileName), ki ustvari PDF/X-4 z vgrajenim OutputIntentom sRGB IEC61966-2.1 (3144 bytes, identično profilu, ki ga uporablja SaveAsPdfA) - Dodana je TPdf.ValidatePdfX: preveri odprt PDF za oznake skladnosti s PDF/X (identifikator XMP pdfxid in enakost z vrednostjo v slovarju Info, opis razširitvene sheme pdfxid, polje /OutputIntents s /DestOutputProfile, prisotnost Title, trailer /ID, status šifriranja, prisotnost xmp:CreateDate / xmp:ModifyDate) in vrne TPdfXValidationResult z zaznano stopnjo in naborom najdenih težav
- Dodana je lastnost TPdf.PdfXConformance: vrne stopnjo skladnosti trenutno odprtega dokumenta (pxc1a, pxc3, pxc4, pxcNone ali pxcUnknown), brez da bi bilo treba izrecno klicati ValidatePdfX. Niz različice v XMP se razčleni, da se razločijo tri stopnje skladnosti
- V novi enoti FPdfPdfx so izvoženi novi tipi: TPdfXConformance (pxcUnknown/None/1a/3/4), TPdfXTrappedState (ptUnspecified/True/False/Unknown), TPdfXValidationResult, TPdfXValidationIssue, TPdfXSaveOptions.
TPdfXSaveOptions.Defaultcilja na PDF/X-4 s sRGB OutputIntentom in/Trapped /False; klicatelji lahko povozijoConformance, priložijo CMYKIccProfileDatablob za potek tiskanja v komercialnem tisku ali spremenijoOutputCondition/OutputConditionIdentifier/RegistryName, da kazejo na določen vnos v registru ICC karakterizacij (npr. FOGRA39, GRACoL2006_Coated1v2) - Zahteve na ravni vsebine (vse pisave vdelane, brez JavaScripta, brez vidnih opomb, prepoved OPI, pravila prosojnosti za PDF/X-1a / PDF/X-3 itd.) ostajajo v odgovornosti avtorja dokumenta in izrisovalnega cevovoda PDFiuma. Za popolno preverjanje skladnosti ValidatePdfX združite s preflight orodjem, kot je callas pdfaPilot, ali z zbirko Ghent PDF Workgroup Output Suite
- Posodobljen niz TPdf.AboutInfo poroča trenutno različico izdelka
Version 1.32.0
- Dodana je podpora za vstavljanje oznak PDF/E-1 (ISO 24517-1:2008): TPdf.SaveAsPdfE povzdigne trenutni dokument v datoteko, skladno s PDF/E-1, z naknadno obdelavo osnovnega PDF z inkrementalno posodobitvijo. Vstavljanje pokriva zahteve na ravni formata datoteke, ki jih je mogoče pripeti z naknadno obdelavo — XMP metapodatkovni tok s
pdfe:ISO_PDFEVersion = "PDF/E-1"skupaj s pripadajočim opisom pdfaExtension:schemas, prepisan slovar Document Information Dictionary z obveznim vnosom/ISO_PDFEVersion (PDF/E-1), ki ga zahteva §5, bloki za premostitev Info-XMP, podedovani iz ISO 19005-1 §6.7 prek §13.1 (dc:title / dc:creator / dc:description / pdf:Producer / pdf:Keywords / xmp:CreateDate / xmp:ModifyDate / xmp:MetadataDate / xmp:CreatorTool), ter polje/IDv trailerju, zahtevano s §6.2 - Dodana je TPdf.SaveAsPdfEToStream za izpis PDF/E v pomnilnik ter okrajšava s privzetimi možnostmi
TPdf.SaveAsPdfE(FileName)za običajni primer - Dodana je TPdf.ValidatePdfE: preveri odprt PDF za oznake skladnosti s PDF/E-1 (prisotnost XMP pdfe:ISO_PDFEVersion in enakost z vrednostjo v slovarju Info, opis razširitvene sheme pdfe, vnos /ISO_PDFEVersion v slovarju Info, trailer /ID, prisotnost xmp:CreateDate / xmp:ModifyDate) in vrne strukturiran rezultat z zaznano stopnjo skladnosti in naborom najdenih težav
- Dodana je lastnost TPdf.PdfEConformance: vrne stopnjo skladnosti trenutno odprtega dokumenta (pec1, pecNone ali pecUnknown), brez da bi bilo treba izrecno klicati ValidatePdfE
- V novi enoti FPdfPdfe so izvoženi novi tipi: TPdfEConformance, TPdfEValidationResult, TPdfEValidationIssue, TPdfESaveOptions
- Prepis slovarja Info je novost v poti naknadne obdelave PDF/x pri PDFium Delphi Component — obstoječi objekt Info prepiše z istim številom objekta (tako da referenca xref podrazdelka / trailer /Info ostane veljavna) in izdela povsem nov slovar Info, kadar izvorni trailer nima vnosa /Info. PDFium sam izda slovar Info v vsakem izpisu SaveAs, zato je običajni primer pot prepisovanja
- Zahteve na ravni vsebine (vdelava pisav, ToUnicode CMaps, prepovedani XObjects / ključi ExtGState / obrazci XFA itd.) ostajajo v odgovornosti avtorja dokumenta — SaveAsPdfE pripne oznake na ravni formata datoteke, vendar ne spremeni vsebine strani in ne odstrani prepovedanih zmožnosti
- Posodobljen niz TPdf.AboutInfo poroča trenutno različico izdelka
Version 1.31.0
- Dodana je podpora za vstavljanje oznak PDF/UA-1 (ISO 14289-1:2014): TPdf.SaveAsPdfUa povzdigne trenutni dokument v datoteko, skladno s PDF/UA-1, z naknadno obdelavo osnovnega PDF z inkrementalno posodobitvijo. Vstavljanje pokriva zahteve na ravni formata datoteke, ki jih je mogoče vsiliti z naknadno obdelavo — XMP metapodatkovni tok s
pdfuaid:part = 1skupaj s pripadajočim opisom pdfaExtension:schemas, obveznidc:title, katalog/MarkInfo << /Marked true /Suspects false >>in/ViewerPreferences << /DisplayDocTitle true >>(samo kadar izvornik nima nobenega), katalog/Lang(ko klicatelj poda oznako BCP 47) ter polje/IDv trailerju - Dodana je TPdf.SaveAsPdfUaToStream za izpis PDF/UA v pomnilnik ter okrajšava s privzetimi možnostmi
TPdf.SaveAsPdfUa(FileName)za običajni primer - Dodana je TPdf.ValidatePdfUa: preveri odprt PDF za oznake skladnosti s PDF/UA-1 (obstoj StructTreeRoot, /Lang, /MarkInfo /Marked true z /Suspects = false, /ViewerPreferences /DisplayDocTitle true, identifikator XMP pdfuaid:part, prisotnost dc:title, trailer /ID, status šifriranja) in vrne strukturiran rezultat z zaznano stopnjo skladnosti in naborom najdenih težav
- Dodana je lastnost TPdf.PdfUaConformance: vrne stopnjo skladnosti trenutno odprtega dokumenta (puc1, pucNone ali pucUnknown), brez da bi bilo treba izrecno klicati ValidatePdfUa
- V novi enoti FPdfPdfua so izvoženi novi tipi: TPdfUaConformance, TPdfUaValidationResult, TPdfUaValidationIssue, TPdfUaSaveOptions
- Polja Title / Author / Subject / Keywords / Creator / Producer / CreationDate / ModDate / DocumentId / InstanceId / Language, puščena prazna v TPdfUaSaveOptions, se samodejno zapolnijo iz FPDF_GetMetaText / FPDF_GetFileIdentifier / FPDFCatalog_GetLanguage, tako da lahko obstoječi klicatelji shranijo z eno samo vrstico
- Zahteve na ravni vsebine (popolnost označevanja StructTreeRoot, Alt besedilo figur, ToUnicode CMaps, vdelava pisav itd.) ostajajo v odgovornosti avtorja dokumenta — SaveAsPdfUa pripne oznake na ravni formata datoteke, vendar ne spremeni vsebine strani in ne izmišlja oznak. ValidatePdfUa odsotnost StructTreeRoot prijavi kot
pvuaiMissingStructTreeRoot, tako da klicatelji neoznačene dokumente lahko usmerijo skozi ločen cevovod za označevanje - Posodobljen niz TPdf.AboutInfo poroča trenutno različico izdelka
Version 1.30.0
- Izpis PDF/A-1b zdaj izpolnjuje zahteve ISO 19005-1 (s Cor.1:2007) za enakovrednost slovarja Document Information Dictionary in XMP: vsak vnos slovarja Info, ki ga PDFium zapiše v osnovni PDF, se zrcali v XMP paket, vključno s Title (dc:title), Author (dc:creator), Subject (dc:description po Cor.1), Keywords (pdf:Keywords), Creator (xmp:CreatorTool), Producer (pdf:Producer), CreationDate (xmp:CreateDate) in ModDate (xmp:ModifyDate). Izda se tudi xmp:MetadataDate
- Trailer dokumenta PDF/A zdaj vedno vsebuje polje /ID (trda zahteva ISO 19005-1 6.1.3). Ko TPdf.SaveAsPdfA obdela dokument, katerega izvornik že ima identifikator datoteke, se obstoječi 16-bajtni trajni in spremenljivi ID ponovno uporabita; sicer se deterministični 16-bajtni rezervni ID izpelje iz izvornih bajtov
- Vstavljeni XMP zdaj vdeluje opis razširitvene sheme pdfaid, zahtevan z ISO 19005-1 6.7.8 (nadomeščen s Cor.1) — pdfaid se obravnava kot razširitvena shema relativno na XMP Specification 2004, zato morajo vse skladne datoteke deklarirati imena njegovih lastnosti, tipe vrednosti in kategorije v vsebniku pdfaExtension:schemas
- TPdfASaveOptions je dobil pet novih neobveznih polj: Producer, CreationDate, ModDate (PDF nizi datumov v obliki “D:YYYYMMDDHHmmSSOHH'mm'”), DocumentId in InstanceId (16-bajtni bajtni nizi za polje /ID v trailerju). TPdf.SaveAsPdfA / SaveAsPdfAToStream manjkajoča polja samodejno zapolnita iz FPDF_GetMetaText in FPDF_GetFileIdentifier, tako da obstoječi klicatelji delujejo naprej brez sprememb
- TPdf.ValidatePdfA / TPdf.PdfAConformance zdaj poročata tri dodatne težave: pvaiMissingTrailerId (brez /ID v trailerju), pvaiMissingXmpDates (manjka xmp:CreateDate ali xmp:ModifyDate) in pvaiMissingExtensionSchema (manjka opis razširitvene sheme pdfaid)
- Znaki, ki niso ASCII, v Title, Author, Subject, Keywords, Creator in Producer so zdaj v XMP paketu kodirani kot UTF-8 (XMP Specification zahteva UTF-8), kar ohrani večjezično kroženje metapodatkov skozi SaveAsPdfA
- Posodobljen niz TPdf.AboutInfo poroča trenutno različico izdelka
Version 1.29.0
- Osveženi priloženi DLL-i PDFium (Win32 in Win64, standardna in V8 gradnja) na stanje iz nadgradnje 2026-05-22, s čimer so prevzeti popravki poti zrušitve FPDFText_SetText / FPDFText_SetCharcodes in razna notranja utrjevanja iz projekta PDFium
- V FPdfPageOps.pas je izpostavljena nova zastavica shranjevanja PDFium FPDF_SUBSET_NEW_FONTS, ki klicateljem FPDF_SaveAsCopy omogoča zahtevati samodejno podskupinjenje vdelanih datotek pisav za novo dodane besedilne objekte. Obstoječi konstanti FPDF_INCREMENTAL, FPDF_NO_INCREMENTAL in FPDF_REMOVE_SECURITY sta zdaj definirani z izvirno obliko bitnega zamika (stara numerična vrednost 3 je ohranjena kot FPDF_REMOVE_SECURITY_DEPRECATED zaradi binarne združljivosti)
- Dodan je enum FPDF_FONT_BACKEND_TYPE (FREETYPE / FONTATIONS) in ustrezno polje m_FontLibraryType v FPDF_LIBRARY_CONFIG v FPdfView.pas, tako da lahko aplikacije, ki PDFium inicializirajo z upodabljalnikom Skia, ob zagonu izberejo zaledje pisav
- Podpis TFPDFPage_InsertObject je usklajen z izvirnikom: C funkcija zdaj vrača FPDF_BOOL (TRUE ob uspehu, FALSE če je page_object NULL ali prenos lastništva ne uspe) namesto void. Obstoječi klicatelji PDFium Delphi Component se še naprej prevedejo nespremenjeno, ker Delphi / FPC dovoljujeta ignoriranje vrnjene vrednosti funkcije
- Popravljen je niz TPdf.AboutInfo, da poroča trenutno različico izdelka (ostal je zastarel pri v1.27.0 od dokumentacijske izdaje v1.28.0)
Version 1.28.0
- Notranja dokumentacija na straneh je bila občutno razširjena po celotnem referenčnem vodniku API: vsak vnos za lastnost, metodo, dogodek in globalno funkcijo zdaj vsebuje opis iz treh odstavkov, seznam Remarks, večvrstični Delphi Example in bogatejši blok See Also — pokrite so več kot 200 prej skopo opisanih strani, vključno z vsemi števci TPdf, pridobivanjem metapodatkov, dostopi do pisav in znakov, lastnostmi na ravni strani, indeksiranimi zapisi, metodami na ravni dokumenta in celotnim površjem stanja / prikaza / dogodkov TPdfView
- Postavitev pomoči je bila natančno prilagojena skupni vizualni osnovi losLab: usklajene so velikosti h1/h2, slogi mreže za krmarjenje API so združeni v skupni StyleSheet, in odstranjeni so bili vdelani slogi CSS po posameznih straneh na Navigation.html
- Dokumentacija zdaj vključuje pomožni skript (Docs\Build-Expand-Entries.ps1), ki iz ene same podatkovne tabele znova ustvari obogatitev strani vnosov za ponovljivo vzdrževanje
Version 1.27.0
- Dodana je podpora za ustvarjanje PDF/A-1b: TPdf.SaveAsPdfA shrani vsak odprt dokument kot datoteko, skladno s PDF/A-1b, z naknadno obdelavo osnovnega PDF z inkrementalno posodobitvijo, ki vstavi XMP metapodatkovni tok, sRGB ICC OutputIntent in posodobljen katalog dokumenta — vse brez dodatnih API-jev DLL. Deluje na vsaki platformi, ki jo podpira PDFium Delphi Component
- Dodana je TPdf.SaveAsPdfAToStream za izpis PDF/A v pomnilnik
- Dodana je TPdf.ValidatePdfA: preveri odprt PDF za skladnost s PDF/A (oznake XMP pdfaid, OutputIntent z vdelanim ICC profilom, šifriranje) in vrne strukturiran rezultat z zaznano stopnjo skladnosti in naborom najdenih specifičnih težav
- Dodana je lastnost TPdf.PdfAConformance: vrne stopnjo skladnosti trenutno odprtega dokumenta (pac1b, pac1a, pac2b, pac3b, pacNone ali pacUnknown) brez izrecnega klica ValidatePdfA
- Izvoženi so novi tipi: TPdfAConformance, TPdfAValidationResult, TPdfAValidationIssue, TPdfASaveOptions (v novi enoti FPdfPdfa.pas)
- SaveAsPdfA prek TPdfASaveOptions.IccProfileData podpira prilagojen ICC profil; kadar je to polje prazno, se samodejno uporabi vgrajeni profil sRGB IEC61966-2.1 (HP/Microsoft, 3144 bytes)
- Monolitni HTML referenčni priročnik je zamenjan s preoblikovanim spletnim sistemom pomoči: 302 posameznih strani z vnosi API (ena na lastnost, metodo, dogodek in globalno funkcijo) za TPdf in TPdfView, vsaka z opisom, tabelo parametrov, Delphi primerom kode in povezavami See Also
- Dodana je Navigation.html: obsežen enostranski indeks za krmarjenje po API, razdeljen v šest odsekov (lastnosti/metode/dogodki TPdf, lastnosti/metode/dogodki TPdfView, globalne funkcije) s 5-stolpčno mrežo flex za hitro pregledovanje
- TPdf.html in TPdfView.html sta ponovno zgrajena kot zgoščeni strani s pregledom komponent, ki ohranjata odseke sklicev na tipe (Types, Constants, Global Variables) in povezujeta na posamezne strani vnosov za vse člane
- Dodano je celotno besedilno iskanje, ki ga poganja Search.js, z inkrementalnim ujemanjem na strani odjemalca čez vseh 312 indeksiranih strani
- Vse navigacijske vrstice po spletišču so posodobljene tako, da kažejo na Navigation.html
Version 1.26.0
- Dodan je Demo/Lazarus/BatchExport, LCL prenos Delphi demoja BatchExport iz v1.14.0. Enak nabor funkcij: izvoz več datotek PDF -> JPG z napredkom na ravni celotne datoteke, trenutnim napredkom na ravni strani, vnosi za DPI / kakovost / geslo in paketom, ki ga je mogoče sodelovalno preklicati, podprtim z IPdfCancellationToken. Ko se ekstrakcija uspešno konča, se izhodna mapa odpre v sistemskem upravljalniku datotek
Version 1.25.0
- Dodana je ponovna uporaba strani Form XObject v TPdf, kar omogoča poteke vodnih žigov, prekrivanja predlog in “žigosanje ene strani na več strani”: CreateXObjectFromPage izdela ponovno uporaben ročaj iz katere koli strani drugega dokumenta; InsertFormObjectFromXObject vstavi EN izvod zavite strani v trenutno stran. Vrne vstavljeni FPDF_PAGEOBJECT, tako da ga lahko klicatelj postavi / pomanjša / zavrti z FPDFPageObj_SetMatrix in pomočniki TPdfMatrix iz v1.9.0
- Nova razredna zgradba TPdfXObject v Pascalu ovije ročaj FPDF_XOBJECT iz PDFium in ga samodejno zapre v destruktorju, s čimer odpade ročno postopanje FPDF_CloseXObject
- Regresijski zbirki Delphi in Lazarus sta razširjeni na 147 primerov vsaka, zbirka C++Builder pa na 123 primerov, kar pokriva ustvarjanje ročajev in pogodbe vstavljanja page-objecta
Version 1.24.0
- Dodana je TPdf.RenderPageProgressive — preklicljiva različica RenderPage, ki poganja PDFiumov progresivni krog upodabljanja in med iteracijami preverja IPdfCancellationToken iz v1.7.0, tako da se dolgi visokoločljivi upodobitvi lahko prekinejo sredi strani namesto da bi klicatelja blokirali do konca
- Vrne vrednost TPdfProgressiveStatus: prsDone, prsCancelled ali prsFailed. AToken = nil pomeni, da se upodobitev izvede do konca brez premora (prsCancelled ni mogoč)
- Uporablja isto pot brez kopiranja, uvedeno v v1.21.0 — PDFium neposredno upodablja v DIB ciljnega TBitmap. Enaka stara rezerva velja, kadar DIB ni mogoče oviti
- Razširjeni regresijski zbirki Delphi in Lazarus na 145 primerov vsaka, zbirka C++Builder na 121 primerov, kar pokriva nil-token (konča), predhodno preklican token (prsCancelled) in slikovno enakost s sinhronim RenderPage na živem tokenu
Version 1.23.0
- Dodanih je šest novih metod TPdfView, ki aplikacijam razkrijejo PDFiumov izbor besedila v obrazčnem gradniku in Undo/Redo: GetSelectedFormText vrne trenutno izbrano besedilo v osredotočenem obrazčnem gradniku; SelectAllFormText izbere vsak znak; FormUndo / FormRedo / FormCanUndo / FormCanRedo upravljajo zgodovino urejanja osredotočenega gradnika. Osnovni PDFium API-ji so bili že vezani, vendar ni bilo vstopne točke na visoki ravni. Vseh šest se varno prekine, kadar pregledovalnik ni dejaven ali dokument nima osredotočenega AcroForm gradnika
- Razširjeni regresijski zbirki Delphi in Lazarus na 142 primerov vsaka, zbirka C++Builder na 119 primerov, kar pokriva pogodbo brez-obrazca-brez-osredotočenja za vsako novo metodo
Version 1.22.0
- Dodane so ovojnice za sestavljanje strani v TPdf: ImportPagesByIndex uporablja ničelno indeksirano polje, da kopira določene strani iz izvornega dokumenta; ImportNPagesToOne vrne povsem nov TPdf, katerega strani so N-up sestavljeni izvodi tega dokumenta; MovePages preuredi strani na mestu. Osnovni PDFium API-ji so bili že vezani, vendar ni bilo vstopne točke, prijazne Pascalu
- ImportPagesByIndex sprejme prazno polje, da uvozi vsako izvorno stran (kar je enakovredno posredovanju nil na ravni C ABI)
- Razširjeni regresijski zbirki Delphi in Lazarus na 136 primerov vsaka, zbirka C++Builder na 115 primerov, kar pokriva uvoz podmnožice, uvoz celotnega dokumenta, preurejanje strani in N-up sestavljeni izvod
Version 1.21.0
- Izboljšana je zmogljivost upodabljanja s preklopom TPdf.RenderPage / TPdf.RenderTile (in ustreznih pomočnikov TPdfView) na pot izpisa brez kopiranja. PDFium zdaj piše neposredno v DIB medpomnilnik ciljnega TBitmap namesto v notranji medpomnilnik, ki je bil nato kopiran vrstico za vrstico, kar pri vsaki upodobitvi prihrani en pomnilniški prenos širina x višina x 4 bajte. Izboljšava je najbolj opazna pri visoki DPI (sličicni paneli, izvoz za tiskarsko kakovost, paketni izvoz)
- Stara pot po posameznih vrsticah je ohranjena kot varnostna rezerva za malo verjeten primer, ko ciljnega DIB ni mogoče oviti (skrajne dimenzije, nenavadna širina koraka, OOM). Obnašanje je med obema potema bajtno enako, le rezerva je počasnejša
- Razširjeni regresijski zbirki Delphi in Lazarus na 132 primerov vsaka, zbirka C++Builder na 112 primerov, kar pokriva nadgradnjo klicateljevega bitmapa na pf32bit, kroženje dimenzij in preizkus zdrave širine koraka pri velikem bitmapu
Version 1.20.0
- Dodano je označevanje rezultatov iskanja v TPdfView: HighlightSearchText(Text, MatchCase, MatchWholeWord) pregleda trenutno stran pogleda in vrne število najdenih zadetkov, pri vsakem prerisu pa čez vsak zadetek nariše masko HighlightColor. ClearHighlight odstrani poudarke; preklop pogleda na drugo stran jih samodejno počisti, ker so zadetki vezani na stran
- HighlightColor je privzeto clYellow in je objavljen, tako da lahko aplikacije poudarek prilagodijo svoji UI paleti
- Razširjeni regresijski zbirki Delphi in Lazarus na 129 primerov vsaka, zbirka C++Builder na 109 primerov, kar pokriva privzeto barvo, kroženje barve, “resnične ujemajoče se besede vzorca” proti nizu sample.pdf in pogodbo “manjkajoča beseda vrne nič zadetkov”
Version 1.19.0
- Dodana je lastnost FitMode v TPdfView s štirimi vrednostmi: pfmNone (ročni zoom), pfmActualSize (100%), pfmFitPage (celotna stran se prilega v izrisno površino) in pfmFitWidth (širina strani se ujema s širino izrisne površine). Aktivni način prileganja se samodejno znova uporabi ob Resize in ob spremembi trenutne strani, zato dolgi dokumenti z mešanimi velikostmi strani ostanejo popolnoma uokvirjeni
- Neposredna nastavitev Zoom prekliče aktivni način prileganja (FitMode se vrne v pfmNone), kar sledi običajni konvenciji pregledovalnikov PDF, kjer vnos vrednosti zooma pomeni izhod iz Fit Page / Fit Width
- Privzeta vrednost je pfmNone, zato obstoječe aplikacije ohranijo svoje obnašanje z eksplicitnim zoomom
- Razširjeni regresijski zbirki Delphi in Lazarus na 124 primerov vsaka, zbirka C++Builder na 106 primerov, kar pokriva privzeto vrednost, kroženje načina, fit-page, ki na naloženem dokumentu ustvari pravi zoom, in ročni zoom, ki prekliče način prileganja
Version 1.18.0
- Dodana je lastnost PageColor v TPdfView, ki loči ozadje izrisane PDF strani od barve okoliškega kontrolnika Color. Privzeta je clWhite, zato se PDF strani zdaj izrisujejo kot papirnato bele ne glede na temo gostiteljske aplikacije. Pregledovalniki v temnem načinu lahko zdaj ohranijo drsno območje temno, medtem ko dejanska PDF stran ostane bela (ali katera koli barva, ki jo izbere aplikacija)
- Sprememba obnašanja: aplikacije, ki so prej nastavile TPdfView.Color za prebarvanje PDF strani, naj zdaj nastavijo PageColor. Privzeta izkušnja je boljša za običajen primer (bele strani na tematskih ozadjih kontrolnikov) brez kakršnekoli spremembe kode
- Razširjeni regresijski zbirki Delphi in Lazarus na 120 primerov vsaka, zbirka C++Builder na 103 primere, kar pokriva privzeto vrednost in kroženje barve
Version 1.17.0
- Dodani so preklopi za zaklepanje uporabniškega vnosa v TPdfView, tako da lahko aplikacije, ki pregledovalnik vgrajujejo v kioske, podokna za predogled ali samo-bralne kontekste, onemogočijo navigacijske geste brez podrazvrščanja: AllowUserPageChange upravlja nove tipkovne bližnjice PgUp / PgDn / Ctrl+Home / Ctrl+End; ChangePageOnMouseScrolling upravlja nove skoke strani z miškinim koleščkom navzgor / navzdol; AllowUserTextSelection je rezerviran za prihodnjo pot izbire besedila z vlečenjem miške. Vse tri so privzeto True, zato obstoječe aplikacije nadgradijo brez spremembe obnašanja
- Navigacija po straneh z miškinim koleščkom preskoči Ctrl+wheel, tako da lahko aplikacije Ctrl+wheel ohranijo za zoom
- Razširjeni regresijski zbirki Delphi in Lazarus na 118 primerov vsaka, zbirka C++Builder na 101 primer, kar pokriva privzete vrednosti in kroženje preklopov
Version 1.16.2
- Razširjeno je regresijsko pokritje TPdfView za klike na povezave opomb, kadar se stran pregledovalnika razlikuje od povezane strani TPdf, z uporabo resnične poti klika miške brez uporabniškega vmesnika čez Delphi, Lazarus in C++Builder
- Regresijski zbirki Delphi in Lazarus zdaj izvajata po 114 primerov, C++Builder pa 99 primerov
Version 1.16.1
- Popravljeno je obravnavanje klikov povezav v TPdfView, tako da samodejna dejanja za opombe in spletne povezave uporabljajo stran, ki jo pregledovalnik trenutno prikazuje, tudi kadar je povezani komponenti TPdf dodeljena druga stran
- TPdfThumbnailView je utrjen proti visečim referencam Pdf, ko je povezana komponenta TPdf uničena
- Dodano je regresijsko pokritje življenjske dobe reference sličice; zbirki Delphi in Lazarus zdaj izvajata po 113 primerov, C++Builder pa 98 primerov
- README, testna dokumentacija, vsebina iskanja/indeksa HTML Help in generirani izhodi paketov C++ so sinhronizirani s posodobitvami integracije v1.7.0 do v1.16.0
Version 1.16.0
- Dodan je nov Delphi demo PrintDialog (Demo/Delphi/PrintDialog), ki se osredotoča na N-up tiskanje (1 / 2 / 4 / 9 strani na list) s filtriranjem lihe / sode strani, sivinskim upodabljanjem in neobveznimi 1-pikselnimi robovi celic. Namenoma je majhen spremljevalec obstoječemu demu PrintPDF, ki že pokriva predogled, nedavne datoteke, povečavo in skaliranje
Version 1.15.0
- Dodan je nov komponent TPdfThumbnailView (enota FPdfThumbnail), ki v drsnem stranskem podoknu izriše eno sličico strani na vrstico z označevanjem ob prehodu miške in izbiri ter navigacijo s klikom. Zasnovan je tako, da stoji ob TPdfView, da lahko končni uporabniki po dolgih dokumentih brskajo po straneh
- Komponenta je registrirana na zavihku palete losLab skupaj s TPdf in TPdfView; ključne lastnosti so Pdf, CurrentPageIndex, ThumbnailWidth, ThumbnailHeight, TextColor, HoverColor, SelectionColor, BorderColor in dogodek OnPageClick
- Razširjeni regresijski zbirki Delphi in Lazarus na 112 primerov vsaka, zbirka C++Builder na 97 primerov, kar pokriva privzete vrednosti, kroženje velikosti sličice, omejevanje skrajnih vrednosti, kroženje barve in dodelitev obdelovalca dogodka
Version 1.14.0
- Dodan je nov Delphi demo BatchExport (Demo/Delphi/BatchExport), ki prikazuje, kako v enem prehodu pretvoriti številne datoteke PDF v JPG z uporabo TPdf.LoadCustomDocument za pretočno nalaganje, IPdfCancellationToken za sodelovalno preklicanje in vrstic napredka za posamezno datoteko ter posamezno stran. Demo uporablja eno instanco TPdf na datoteko (PDFium sam ni varen za niti) in ob uspešno končanem izvažanju odpre izhodno mapo v Raziskovalcu
Version 1.13.0
- V TPdfView je dodana UI prekrivna plast za asinhrono upodabljanje prek treh novih lastnosti: AsyncRendering, LoadingText in LoadingColor. Ko je AsyncRendering True, pot risanja ene strani čez izrisano stran nariše majhen kazalnik “Loading...”, tako da imajo aplikacije, ki za dolge upodobitve uporabljajo svojega delavca, enoten vizualni znak
- Privzete vrednosti ohranijo obstoječe obnašanje: AsyncRendering je False, zato aplikacije, ki te možnosti ne izberejo, ne opazijo vizualne spremembe
- Dokumentacija pojasnjuje, da PDFium sam ni varen za niti — dejansko prelaganje upodabljanja na delavca od klicatelja zahteva, da obdrži en TPdf na delavca; prihajajoči demo paketnega izvoza kaže ta vzorec
- Regresijski zbirki Delphi in Lazarus sta razširjeni na 106 primerov vsaka, zbirka C++Builder na 93 primerov, kar pokriva privzete vrednosti in kroženje treh lastnosti
Version 1.12.0
- V TPdfView je dodano obravnavanje povezav na klik. Nova lastnost LinkOptions nadzoruje samodejno obnašanje za štiri vrste dejanj povezav PDF: goto (skok na stran), URI (ShellExecute), launch (ShellExecute) in vdelani GotoR (rezerviran). Privzete vrednosti omogočijo loAutoGoto in loAutoOpenURI; loAutoLaunch in loAutoEmbeddedGoto ostaneta izklopljena, da naključni klik ne more zagnati poljubnega programa
- Dodana sta dogodka OnAnnotationLinkClick in OnWebLinkClick, ki se sprožita pred katerim koli samodejnim dejanjem in aplikacijam omogočita pregled povezave, označitev kot Handled ali preusmeritev, na primer v varnostni poziv
- Zaznavanje klika na povezavo teče samo, kadar je gib klik in ne vlečenje, pri čemer uporabi svežo sidrno točko MouseDown, tako da geste za premikanje še vedno tečejo skozi obstoječo pot drsenja nespremenjene
- Regresijski zbirki Delphi in Lazarus sta razširjeni na 102 primera vsaka, zbirka C++Builder na 91 primerov, kar pokriva privzete LinkOptions, kroženje nastavitev in dodelitev obdelovalca dogodka
Version 1.11.0
- TPdfView je vizualno dodelan: lastnosti PageShadowSize, PageShadowColor in PageBorderColor narišejo neobvezno senco pod pravokotnikom strani in enopikselni rob okoli njega. Privzete vrednosti ohranijo prejšnji raven videz (PageShadowSize = 0; rob je narisan v privzeti clBlack, vendar se zlije s privzetim belim ozadjem, dokler klicatelj ne spremeni barv)
- Dodana je lastnost SmoothScroll kot izbirni preklop za prihodnjo inkrementalno animacijo drsenja; lastnost se danes vrača iz kroženja in je priključena tako, da lahko aplikacije trajno shranijo to nastavitev, medtem ko stran za upodabljanje še naprej uporablja obstoječe takojšnje drsenje
- Regresijski zbirki Delphi in Lazarus sta razširjeni na 98 primerov vsaka, zbirka C++Builder na 89 primerov, kar pokriva privzete vrednosti, kroženje lastnosti in omejitev negativne velikosti sence
Version 1.10.0
- Dodan je neposreden vnos slike prek novih preobremenitev TPdf.AddImage in TPdfView.AddImage, ki sprejmeta bodisi pot do datoteke bodisi TBitmap, poleg obstoječega AddPicture na osnovi TPicture. AddImage(FileName) prepozna kateri koli zapis, registriran v grafičnih enotah VCL ali LCL (BMP, PNG prek enote PngImage, JPG itd.) in gre skozi isti cevovod kot AddPicture, zato je obnašanje enako
- AddImage(TBitmap) preskoči vmesni korak TPicture, kar poenostavi klicatelje, ki že imajo TBitmap iz upodabljanja ali paketnega ustvarjanja
- Regresijski zbirki Delphi in Lazarus sta razširjeni na 92 primerov vsaka, zbirka C++Builder na 84 primerov, kar pokriva vstavljanje bitne slike, meje page-objecta, zavrnitev nil bitmapa in nalaganje datoteke BMP
Version 1.9.0
- Dodana je podpora za transformacijsko matriko na višji ravni prek novega razreda TPdfMatrix v enoti FPdfMatrix. TPdfMatrix ovije PDFiumov FS_MATRIX z objektno usmerjenim API-jem za Translate, Scale, Rotate, HorizontalFlip, VerticalFlip, CentralFlip, Skew in Multiply, kar je primerno za sestavljanje transformacij pred predajo funkciji FPDFPageObj_SetMatrix in podobnim PDFium API-jem
- TPdfMatrix.Multiply pravilno posname vseh šest elementov matrike, preden izračuna nove vrednosti vrstic, s čimer popravi prikrito težavo, kjer alternativne Pascalove izvedbe med istim klicem prepišejo prejšnje elemente in ustvarijo napačne rezultate pri katerem koli sestavljanju, ki presega goli premik
- Regresijski zbirki Delphi in Lazarus sta razširjeni na 88 primerov vsaka, zbirka C++Builder na 81 primerov, kar pokriva identiteto, ponastavitev, translate / scale / flip, vrstni red post-multiplikativnega sestavljanja in regresijski primer Multiply
Version 1.8.0
- Dodano je nalaganje toka na zahtevo prek nove metode TPdf.LoadCustomDocument(AStream, AOwnsStream) in pomožnega razreda TPdfStreamAdapter, podprto s PDFiumovim FPDF_LoadCustomDocument. PDFium zdaj bere bloke iz podanega TStream le, kadar je to potrebno, zato zelo veliki ali oddaljeni PDF-ji ne potrebujejo več vnaprejšnje kopije v pomnilnik
- Dodan je neobvezni prevzem lastništva toka: posredovanje AOwnsStream = True prepusti življenjsko dobo TStream razredu TPdf, ki ga sprosti, ko se izvede UnloadDocument
- Regresijski zbirki Delphi in Lazarus sta razširjeni na 79 primerov vsaka, zbirka C++Builder na 75 primerov, kar pokriva pretočno nalaganje prek TFileStream, čiščenje toka v lasti in pogodbo, da tok v zunanjem lastništvu preživi UnloadDocument
Version 1.7.0
- Dodane so sodelovalne asinhrone preklicne gradnike v novi enoti FPdfAsync, ki izpostavlja IPdfCancellationToken / IPdfCancellationTokenSource in ponovno uporabljiv singleton PdfNoCancellationToken, tako da lahko dolgotrajni poteki upodabljanja in izvoza podpirajo čisto semantiko preklica iz uporabniškega vmesnika
- Dodan je lahek pomočnik TPdfFuture<T>, ki požene delavca v ozadju in ovojnico TPdfFutureResult<T> pošlje nazaj v glavno nit, pri čemer razlikuje primere uspeha, preklica in napake
- Regresijski zbirki Delphi in Lazarus sta razširjeni na 76 primerov vsaka, zbirka C++Builder na 73 primerov, s skupnim pokritjem stanja preklica, idempotentnega preklica, razpršitve povratnih klicev in registracije po preklicu
Version 1.6.10
- Dodan je visokonivojski dostop TPdf.PrintPageRanges do obsega strani za tiskanje iz nastavitve PDF pregledovalnika, ki za aplikacijsko kodo vrača obsege strani z enobaznim oštevilčenjem
- Dodani so TPdf.SetFormFieldFlags / SetFormFieldFlagsAt in ustrezni pomočniki TPdfView, tako da lahko aplikacije prek javnega API-ja posodabljajo zastavice polj AcroForm, vključno s pokritjem zastavic za geslo in večizbirnost
- Utrjeno je ABI pokritje vezav PDFium za FPDF_DWORD v velikosti Windows, povratne klice FPDF_FILEACCESS in polja reže vdelovalnika V8
Version 1.6.9
- Dodane so nizkonivojske vezave za izris Skia za novo izvožena API-ja FPDF_RenderPageSkia in FPDF_FFLDrawSkia v priloženih standardnih in V8 PDFium DLL-jih
- Razširjena so javna preverjanja pokritosti vezav, tako da nalaganje standardne in V8 DLL zdaj preverja vstopne točke za izris Skia poleg obstoječih preverjanj zmožnosti V8/XFA
Version 1.6.8
- Dodana sta TPdf.SetTextPositions in TPdfSingleArray za nastavitev položajev posameznih znakov na obstoječih besedilnih objektih prek novo izvoženega API-ja FPDFText_SetPositions
- FPDFText_SetPositions je povzdignjen v zahtevano vezavo za trenutne priložene DLL-je PDFium, hkrati pa je potrjeno, da vstopne točke za izris Skia ostajajo nedosegljive, ker jih DLL-ji še vedno ne izvažajo
- Regresijski zbirki Delphi, C++Builder in Lazarus sta razširjeni na 65 primerov vsaka s pokritjem položajev besedila
Version 1.6.7
- Dodan je visokonivojski dostop TPdf do dejanj JavaScript name-tree dokumenta, ki prek JavaScriptAction in JavaScriptActions vrača imena dejanj in skripte
- Dodan je TPdf.FileIdentifier za branje trajnih in spreminjajočih se trailer ID-jev kot binarnih TBytes brez PDFiumovega zaključnega bajta
- Dodani so TPdf.PageBox, GetPageBox in SetPageBox za MediaBox, CropBox, BleedBox, TrimBox in ArtBox na trenutni strani
- Potrjeno je, da v trenutnih priloženih DLL-jih PDFium v času izvajanja ostanejo nedosegljive le vstopne točke za izris Skia, ker ti izvozi niso prisotni
- Regresijski zbirki Delphi, C++Builder in Lazarus sta razširjeni na 64 primerov vsaka s pokritjem dokumentnega JavaScript, trailer ID in page-box
Version 1.6.6
- Dana je podpora med izvajanjem za priloženi V8-podprti DLL PDFium. Nastavitev EnableV8Engine pred nalaganjem zdaj izbere pdfium.v8.dll iz drevesa DLLs\Win32 ali DLLs\Win64 in razkrije vezave samo za V8/XFA, kadar jih naloženi DLL ponuja
- Dodani so V8FeaturesAvailable, XfaBStrHelpersAvailable, GetRecommendedV8Flags in nizkonivojske neobvezne vezave za FPDF_BStr_*, FPDF_GetRecommendedV8Flags in FPDF_GetArrayBufferAllocatorSharedInstance
- FPDFText_SetPositions je narejen neobvezen, tako da se PDFium Delphi Component še naprej nalaga s PDFium DLL-ji, ki tega eksperimentalnega nastavljalnika položajev besedila ne izvažajo
- Regresijski zbirki Delphi, C++Builder in Lazarus sta razširjeni na 61 primerov vsaka s pokritjem zmožnosti standardne DLL in V8 DLL