HotPDF 2.806.0 za Delphi i C++Builder

JSON poslovi i C ABI izvoze učitane stranice kao semantički HTML, XHTML, XML ili JSON i tipizirane tabele kao CSV, JSON ili XLSX, uz obradu izabranih stranica, ograničen izlaz, otkazivanje i čuvanje izvora

Vodič za izbor demo-a · Delphi primeri · C++Builder primeri

Verzionisani registri pravila za fakture podržavaju eksplicitnu CII XML i hibridnu validaciju faktura sa odvojenim slojevima profila i države, uključujući zvanične XRechnung i francuske CTC resurse kroz Saxon engine koji podešava host

Nativno generisanje, uređivanje, potpisivanje PDF-a, izlaz usklađen sa standardima, optimizacija fontova i rad sa slikama za RAD Studio aplikacije

HotPDF omogućava VCL aplikacijama da kreiraju, menjaju, obezbeđuju, potpisuju, optimizuju, uvoze, kompresuju i čuvaju PDF dokumente direktno iz Delphi ili C++Builder koda, bez potrebe za instaliranjem spoljnog PDF runtime okruženja

Pregled projekta

HotPDF je biblioteka PDF komponenti na nivou izvornog koda za Delphi i C++Builder; napravljena je za desktop softver kojem je potreban deterministički PDF izlaz, direktno iscrtavanje stranica, jaka RAD Studio integracija i kompaktna distribucija

Ova komponenta pokriva svakodnevno generisanje PDF-a, napredno spajanje dokumenata, uređivanje PDF-a, rad sa dokumentima sa puno slika, obrasce, anotacije, šifrovanje, procese potpisivanja, optimizaciju fontova i rad sa tokovima podataka iz jedinstvenog nativnog API okruženja

Komplet alata za učitane dokumente dodaje brisanje opsega stranica, spajanje svestno nacrta i AcroForm-a, ograničenja za vidžete sa više polja, izvođenje šifrovanih dokumenta zasnovano nacretskim tokovima, izvoz zasnovan na prikazu, brisanje anotacija, upravljanje slojevima (OCG), pamtljive iseci pretrage teksta, izvoz teksta u CSV/JSON/XML/HTML, ponovnu upotrebu učitanih slika, prepisivanje boje stranice, dekodiranje barkoda, bezbednosno sanitizovanje i XML metapodatke zasnovane na tokovima, uz deklarativna ograničenja koja čuvaju izlaz predvidljivim

Nedavna izdanja biblioteke proširila su HotPDF iz klasičnog PDF pisača u širi nativni PDF komplet alata koji pokriva kontrolu funkcija specifičnu za verzije PDF 1.3 / 1.4 / 1.5 / 1.6 / 1.7, nativni PDF 2.0 izlaz, usklađenost sa standardima PDF/A-1 / -2 / -3 / -4 + PDF/X-1a / -3 / -4 + PDF/UA-1 / -2, digitalne potpise PAdES baseline / extended / dugotrajna validacija, pipeline za PFX / PKCS#12 potpisivanje u procesu sa nativnim RSA i ECDSA plus opcionim OpenSSL 3 Ed25519 i Ed448, inkrementalna ažuriranja šifrovana standardnim ili javnim ključem koja čuvaju akreditive sa stabilnim trajnim ID-jevima, rotirajućim ID-jevima izmena, bajt-ekzaktnim izvornim prefiksima i bajt-ekzaktnim no-op čuvanjima, podskupove fontova CFF / OpenType / CID-keyed CFF, i PDF adaptere za izvoz za FastReport, QuickReport, ReportBuilder i DevExpress ExpressPrinting koji postojeće izveštaje usmeravaju kroz HotPDF kao jedinstveni PDF backend. Direct File API obrađuje višegigabajtne PDF-ove sa milionima objekata direktno iz datoteke u datoteku - broj stranica, kopije, prepisivanje informacija o dokumentu te AES-256 šifrovanje ili dešifrovanje - u sekundama, dok ograničeni loader za oporavak može da preseli validnu xref sekciju ili da ponovo izgradi ofsete direktnih objekata nakon oštećenih startxref i xref podataka bez verovanja u ugnježđeni tekst sličan objektima ili binarne podatke, i objavljuje oporavak po bajt-opsezima sa eksplicitnim nivoima poverenja

Opt-in pisac LinearizeOutput dodaje izlaz za brzi web prikaz sa sekcijom zavisnosti prve stranice, grupisanjem deljenih objekata, tabelama hintova za primarnu stranicu i deljene objekte i ranom tabelom unakrsnih referenci za kompatibilnost, uz zadržavanje direktnih datotečnih i tokovnih odredišta

Filteri učitanih tokova prolaze kroz višekratno upotrebljiv pipeline čiji završni steg piše direktno u tokove u vlasništvu pozivaoca, a međustegni se prelivaju kroz nezavisno kompresovane blokove i ograničen asinhroni red paketa, sa strogim završnim markerima ASCII85 i ASCIIHex, nezavisnim plafonima dekodovanih bajtova po lancu i na nivou dokumenta, ograničenjima broja filtera i dubine pipeline-a, detekcijom ciklusa indirektnih referenci, odbijanjem rekurzije istog toka i strukturisanom dijagnostikom za svaki uspeh ili neuspeh

Predictor kodiranje sada izlaže stroge višekratno upotrebljive TIFF i fiksne ili adaptivne PNG putanje za pakovane, 8-bitne i 16-bitne rastre; učitane slike mogu da kopiraju nativne ili generički dekodovane sadržaje direktno u tokove pozivaoca, dok selektivna optimizacija koristi prelivne bafere memorija-disk, determinističku četvorostrategijsku zlib osnovu praćenu budžetiranim Zopfli deljenjem blokova i ograničene paralelne poslove sa slikama koje prihvataju samo manje sadržaje u izvornom redosledu

Rekompresija učitanih JPEG i JPEG 2000 slika može da pokreće ograničene probne kvalitete i bira deterministički izlaz združnim ocenjivanjem uzorkovane perceptualne greške i relativnog bajtnog troška kodovanja, podložno eksplicitnim granicama vizuelne greške i minimalne uštede

Veliki lokalni dokumenti koriste ograničeno prozorsko mapiranje memorije sa deljenim LRU kešom za čitanja parsera i nepromenljive lenjive tokovne opsege, dok pragovi mapiranja i geometrija prozora ostaju podešavi i greške se automatski preusmeravaju na rezervni put; sirovi kompresovani opsezi, dekodovane slike, kompajlirani prikazni spisci i renderovane rasterske stranice imaju nezavisne limite broja unosa, ukupnih bajtova i prijema po unosu, kombinuju skorašnjost sa starenjem prijema po fiksnoj memoriji da bi odoleli zagađivanju skeniranjem i izlažu statistike zauzeća, saobraćaja i frekvencije; pošten procesni rasporedivač vršne memorije odlaže međusobno konkurentna učitavanja dokumenata, renderovanja, optimizaciju tokova i paralelnu optimizaciju slika pre nego što se njihovi glavni radni skupovi preklope, uz očuvano otkazivanje i prijavu pritiska na prijem; serijalizacija nešifrovanih tokova i prenosi koje usmerava pozivalac pišu bajtove memorije, mapirane datoteke, lenjive datoteke, adaptivnog keša i keša opsega bez međusobnog kopiranja celog toka; kratkotrajni tokeni i baferi parsera koriste zadržanu blok-arenu kroz učitavanja, jednostavni rečnici i nizovi skeniraju nepromenljive opsege sa direktnom numeričkom konverzijom i jedno-prolaznim ugnježđavanjem, podešavi budžeti bajtova, zbirnih tokena, unosa kontejnera i neispravnih tokena zaustavljaju neprijateljski ulaz sa tipiziranom telemetrijom, ključevi rečnika više ne zahtevaju privremene objekte-imena, a ponovljena imena, sadržajni operatori i nepromenljivi kratki stringovi dele ograničen bazen obuhvata dokumenta; izmenjeni učitani tokovi koriste LoadedStreamMemoryThreshold za izbor memorije ili sopstvenog kompresovanog privremenog toka čiji sirovi i kompresovani blokovi dele ograničen asinhroni red upisa; članovi object-stream indeksiraju se brojem objekta i parsiraju se tek kad se navedu, dok LoadFromRandomAccessSource povezuje HTTP range čitače i prilagođene skladišta, spaja susedna čitanja kroz ograničen keš, adaptivno povećava asinhrono čitanje-unapred tokom postojanog unaprednog parsiranja, suzbija spekulativni transport nakon slučajnih skokova, kooperativno otkazuje poslove u letu radi pretraživanja u prvom planu, oporavlja ključeve lozinki iz ograničenih opsega trailera, xref-a, dokument-ID-ja i rečnika šifrovanja bez zahtevanja kompletnog izvora, beleži egzaktne binarne unose security handler-a sa autoritativnog ofseta objekta tako da odloženo dešifrovanje ne traži ponovno čitanje izvora, izlaže prvu linearizovanu stranicu iz svog samostalnog prefiksa i planira ograničene minimalne opsege bootstrap-a, hintova, stranica, deljenih objekata i unakrsnih referenci za bilo koju kasniju stranicu prihvatajući legalna kraća čitanja i interoperabilne kao i hint rasporede iz Aneksa F pod strogim ograničenjima memorije i strukture

Mapirane lokalne datoteke sada se prilagođavaju unutar podešenog bajtnog plafona: postojana unapredna čitanja koriste veće poglede da smanje remapiranje, postojana dalja ili unazadna čitanja zadržavaju do 16 manjih MRU pogleda, promene režima traže ponovljene dokaze, a THPDFMappedFileStatistics izveštava o aktivnoj geometriji, vršnoj mapiranoj veličini, brojačima obrazaca pristupa i prelazima

HotPDFABI.dll izlaže verzionisan ravni C ABI sa strukturno proverenim Win32 i Win64 povratnim strukturama, validiranim neprozirnim ručkama, fiksnim kodovima statusa, 64-bitnim čitanjima slučajnog pristupa direktno u bafere parsera, ponovljivim tokovnim upisima, eksplicitnim dužinama u bajtovima, otkazivanjem, napretkom i dijagnostikom; build-HotPDF-ABI.cmd proizvodi DLL i import biblioteku za svaku platformu

JSON i C ABI operacije nad dokumentima dele otkrivanje mogućnosti, renderovanje, Unicode tekst i obrasce, OCR slojeve, redigovanje, PFX potpisivanje i ograničenu rastersku arhivsku konverziju u PDF/A-4 kroz verzionisanu šemu, budžete resursa, vraćanje povratnih poziva i atomski izlaz u datoteku; arhivski zahtevi eksplicitno prihvataju gubitak informacija i čuvaju svoj učitani izvor

FPC nativni backendi obezbeđuju TIFF, JPEG/JPX, ICC, JBIG2 i Zopfli kroz validirani Windows most kodeka, zajedno sa stvarnim paralelnim renderovanjem stranica, uređenih stranica, pločica, traka i JPEG 2000 pločica

Determinističke diferencijalne regresione sonde porede imenovane motore kroz domene parsiranja, renderovanja, teksta i čuvanja, ponavljaju svaki rezultat da otkriju nestabilnost, izoluju izuzetke, sprovode ograničenja ulaza i izlaza, obezbeđuju ugrađene SHA-256 HotPDF otiske i emituju uredenu hotpdf.differential.v1 JSON shemu

Nativna statistička regresiona travnica za performanse izoluje Win32 i Win64 radna opterećenja učitavanja, čuvanja, renderovanja i ekstrakcije, beleži zagrevanja plus 30 sirovih uzoraka sa p50, p95, varijansom uzorka, RSS, procesnim I/O, determinističkim identitetom fiksnog uzorka i metapodacima okruženja, i ne uspeva u odnosu na verzionisane JSON pragove

Kontinuirano skladište korpusa neispravnih PDF-ova ponovo validira i ponovo minimizira svaki slučaj neuspeha pod podešenim granicama, zadržava najmanji unos ekvivalentan potpisu kroz pokretanja, serijalizuje konkurentne pisce procesno-bezbednim bravom i atomski objavljuje PDF adresiran SHA-256 i metapodatke hotpdf.corpus.case.v1

Objedinjena telemetrija operacija razdvaja rezervaciju rasporeda i kašnjenje reda, vreme zida od CPU vremena tekuće niti, prenosivu memoriju zadržanu komponentom od uzorkovanog radnog skupa procesa i kodovani ulaz od konačnog dekodovanog izlaza, a takođe izveštava o vršnim dodatnim živim alokacijama, deltas procesnog I/O u bajtovima, aktivnosti keša, zbirnom radu filtera i širenju dekodovanja

Ograničeni deterministički logovi replike beleže kontrolne tačke otkazivanja, dostupnost opsega slučajnog pristupa i boolean ili celobrojne ishode povratnih poziva u uredenoj JSON shemi; stroga replika validira potpis svakog događaja i zamenjuje zabeležene odluke tako da se povremeno spoljašnje vreme i ponašanje povratnih poziva mogu reprodukovati bez menjanja operacija nad dokumentom

Učitavanje svesno revizija sada validira slobodne liste xref-a i prelaze generacija uz zadržavanje ograničenih detalja za duplikate i zasenčene definicije objekata; destruktivne inkrementalne izmene spajaju postojeće i novo oslobođene objekte u kompletan deterministički lanac slobodnih objekata, pomeraju generacije sa saturacijom, čuvaju generacije prljavih objekata i izlažu statistike ponovne izgradnje; eksplicitna stanja čisto, prljavo, oslobođeno i mora-se-upisati podržavaju oslobađanje keša object-stream posle čuvanja uz malu memoriju, dok deterministički redosled rečnika, strimovani JSON snimci verzionisanog grafa objekata i inkrementalna ažuriranja, uredivi QDF dijagnostički izlaz sa ograničenom popravkom dužine toka i xref-a, ograničene ivice zavisnosti i atribucija zadržane memorije zasnovana na dominatorima čine strukturni uvid reproduktivnim

Pretraživi OCR tekstualni slojevi povezuju prepoznavač kojeg bira aplikacija sa ograničenim renderovanjem stranice, validiraju pouzdanost, Unicode i piksel geometriju, obrću rotaciju stranice za poravnat nevidljivi tekst, opciono vezuju izlaz za jedan OCG i prihvataju svaku izabranu stranicu kroz jednu transakciju grafa; označene HotPDF OCR slojeve možemo bezbedno zameniti nakon čuvanja i ponovnog učitavanja, susedne latinične i ćiriličke reči dobijaju eksplicitne Unicode razmake, a SearchableOCR console primer generiše uzorke skenova i pretvara izabrane stranice ugrađenim OCR-om, RapidOCR-om ili Tesseract DLL/CLI engine-ima, uz podešive limite i statistiku konverzije

Ugrađeni OCR engine prepoznaje regular, bold, italic i bold italic ASCII tekst, uključujući izbledela slova i svetao tekst na pretežno tamnoj stranici; reči s nesigurnim zadržanim glifovima izostavljaju se u celini da se znakovi ne izgube neprimetno, prazne ili neprepoznate stranice uspešno se završavaju, a Windows FPC čuva 24-bitne i 32-bitne ulazne piksele

Opcioni nativni Tesseract DLL adapter obezbeđuje konfigurabilnu segmentaciju stranice i režime engine-a, višejezično Unicode prepoznavanje, pouzdanost, granice reči i osnovne linije kroz HPDFCreateTesseractDLLOCREngine u Delphi, C++Builder i Windows FPC/Lazarus buildovima

Lokalni Tesseract CLI adapter takođe prihvata THPDFTesseractOptions za single-line, single-word, sparse-text i vertical-block rasporede, sa eksplicitnim režimom engine-a, tajmautom i limitima ulaznih piksela; nativni DLL adapter koristi smer osnovne linije da dužina vertikalnih reči ne naduje veličinu pretraživog teksta

RapidOCR adapter za lokalne modele dodaje eksplicitne putanje ONNX modela, opcionu klasifikaciju ugla, lokalne rečnike i fontove, kontrole CPU niti, offline preflight, tačne razmake prepoznatih linija i ograničeno Unicode prepoznavanje kroz THPDFRapidOCROptions u Delphi, C++Builder i Windows FPC/Lazarus buildovima

Nativni RapidOCR DLL adapter drži CPU ONNX modele unutar procesa i prepoznaje snimke memorije kroz HPDFCreateRapidOCRDLLOCREngine, sa THPDFRapidOCRDLLOptions.ForLanguage preset postavkama za pojednostavljeni i tradicionalni kineski, engleski, japanski, korejski, ruski, uobičajene latinične jezike, arapski i hindi, proverenim lokalnim paketima modela, horizontalnim redosledom čitanja, opcionom klasifikacijom ugla, Unicode tekstom, ograničenim izlazom i kooperativnim otkazivanjem u Delphi, C++Builder i Windows FPC/Lazarus buildovima

Opcioni lokalni adapteri za Tesseract i RapidOCR obezbeđuju otkazivo kinesko OCR prepoznavanje sa eksplicitnim putanjama izvršnog programa i modela; ugrađeni podrazumevani motor ostaje nepromenjen, a spoljni motori, Python paketi, modeli i RapidOCR-ov lokalni preduslov Arial moraju se obezbediti posebno

SetLoadedFreeTextPlainText eksplicitno zamenjuje izgled podržane učitane FreeText anotacije levoporeknatim ASCII Helvetica tekstom radi prepisa ili inkrementalnog čuvanja, dok SetLoadedAnnotationContents menja samo sačuvani sadržaj

SetLoadedFreeTextText ponovo izgrađuje učitane Unicode i rich FreeText izglede sa ugrađenim fontovima, prelamanjem, poravnanjem, neprozirnošću, rotacijom i atomskim rukovanjem prekoračenjem; SetLoadedFreeTextRichText sada ažurira i vidljivi izgled i sačuvani sadržaj

Dekodiranje barkoda učitane stranice renderuje kompletnu stranicu ili region unutar media-box-a u progresivnim ograničenim isečcima, pozajmljuje svaki originalni ili četvrtinski okrenuti raster dekoderu kojeg bira aplikacija, validira Unicode, sirove bajtove, pouzdanost i granice, vraća rotacije rastera i stranice u PDF korisnički prostor i uklanja duplikate preklapajućih sadržaja

Detekcija redigovanja sa pregledom pre primene kombinuje ugrađene PII obrasce svesne kontrolnih zbirova sa detektorima entiteta i lica kojeg bira aplikacija, preslikava svaki prihvaćeni opseg ili rasterski pravougaonik u PDF prostor stranice, svaki nalaz pokreće kao na čekanju i atomski priprema samo nalaze koji nose i eksplicitno odobrenje i identitet pregledaoca, bez trajnog upisa u sadržaj

Prepisivanje boje učitane stranice pretvara izabrane boje u DeviceGray, DeviceRGB ili DeviceCMYK, zadržava običan tekst i putanje uređajskih boja kao pretražive vektore, renderuje slike, Forms, obrasce, senčenja, transparentnost, ICC i Type 3 boju kroz jedan bes gubitka procesni prikaz slike kad je potrebno, podrazumevano čuva stranice sa spot bojama i atomski prihvata kompletnu ograničenu seriju

Strukturisani izvoz učitane stranice upisuje izabrane stranice kao UTF-8 HTML, XHTML, XML ili JSON iz jednog pristupačnog modela čitanja, dajući prednost označenom redosledu i čuvajući jezik i naslov dokumenta, naslove, liste, tabele, slike, alternative, nacrte, oznake stranica, bezbedne veze, anotacije i neosetljive kontrole obrazaca pod atomskim otkazivanjem i bajtnim budžetima

Tipizirana ekstrakcija tabela pretvara otkrivenu geometriju tabele u javnu kanoničku mrežu, spaja kompatibilne fragmente i susedne stranice, označava ponovljene zaglavlje i spojene kolone, izvodi vrednosti celih brojeva, brojeva, boolean, datuma, datum-vremena, valuta i procenata pod kontrolom lokala sa pouzdanosti i atomski upisuje ograničeni CSV ili JSON bogat metapodacima

Opcioni rukovaoci dokumentima prepoznaju XPS, EPUB i CBZ iz ispitivanog sadržaja, čuvaju redosled fiksne stranice, kičme ili prirodnih slika, pretvaraju XPS skraćene putanje i čvrste, višestopen linearne ili eliptične radijalne gradijentske četkice iz propertij elemenata u nativne PDF vektore i obrasce senčenja, popunjavaju putanje iz keširanih JPEG, PNG, TIFF ili JPEG XR ImageBrush resursa paketa sa ograničenim mapiranjem viewbox i viewport, transformacijama lokalnim za četkicu, nativnim obrascima ponovljenih ili reflektovanih slika i PNG soft-mask alfom, primenjuju čvrste, gradijentske ili slikovne vrednosti Path.OpacityMask kroz savijenu alfu ili deljene DeviceGray grupe transparentnosti, kompozituju preklapajuće Canvas potomke jednom kroz izolovane DeviceRGB grupe za Opacity i Canvas.OpacityMask, kompajliraju inline ili resursima podržana XPS VisualBrush stabla u višekratno upotrebljive Form XObject-e i ograničene tiling obrasce, preslikavaju ograničenu transformisanu i strukturisanu Canvas.Clip geometriju u ugnježđene nativne PDF putanje isecanja, čuvaju ograničene XPS Glyphs klastere, egzaktne font programe paketa i ID-jeve glifova, eksplicitna pomeranja, ofsete, RTL porekla, neprozirnost, ponovnu upotrebu resursa, Unicode ekstrakciju, transformisane HTTP, HTTPS, mail, package-page i LinkTarget navigacije kroz isecene nativne PDF anotacije, nasleđuju Canvas-obuhvaćenu navigaciju kroz potomke vizuela sa ugnježđenim premošćenjima, emituju pozicionirane TJ nizove, sprovode deljene budžete arhive, resursa, preusmeravanja, stranice, veze, URI, geometrije, sadržaja grupe, piksela, izlaza i otkazivanja i ponovo koriste jedan nepromenljiv PDF keš za atomski izvoz i renderovanje

CUD daljinsko potpisivanje (CSC) povezuje postojeći pipeline CMS provajdera sa servisima CSC API v2 kroz HTTP transport u vlasništvu aplikacije, sa OAuth osvežavanjem, otkrivanjem lanca akreditiva, egzaktnim rukovanjem SAD vezanim za heš, ograničenim uredenim serijama višestrukog potpisivanja, sinhronim ili asinhronim potpisivanjem, ograničenim ispitivanjem, vremenskim pečatima RFC 3161, otkazivanjem, SHA-256 sadržajno adresiranim ključevima idempotencije i konačnim kešom završenih operacija

Ugnježđene copy-on-write transakcije grafa objekata prave snimak svakog dodirnutog indirektnog korena jednom po savepoint-u, čuvaju adrese korena tokom vraćanja, obnavljaju alokaciju brojeva objekata, uklanjaju dopisane korene, prelivaju istoriju velikih tokova preko podešenog praga i izlažu statistike snimaka u rezidentnoj memoriji i podržanih datotekom

Višekratno upotrebljivi elementi rasporeda podržavaju merenje bez popratnih efekata, proverene podeljene zaglavlje i sopstvene nastavke prelivanja za pasuse, redove, kontejnere i prilagođeni sadržaj; deklarativne povratne pozive stranice sastavljaju pozadine, zaglavlja, sadržaj dokumenta, podnožja i prednje planove u stabilnom redosledu, dok neoganičeni izveštaji zadržavaju pripremu stranica podržanu datotekom, ograničenja pasusa, ograničenu dijagnostiku, semantičke pomoćnike i kontrolu bidi smera

Renderovanje učitane stranice izvršava obojene i neobojene tiling obrasce plus aksijalna, radijalna, free-form i lattice Gouraud, Coons patch i tensor-product patch senčenja za popune i poteze, poštuje matrice obrazaca u podrazumevanom koordinatnom sistemu roditeljskog sadržaja, podržava sve tri tiling vrste i označene korake, izoluje putanju svake ćelije, primenjuje bazne tine neobojenih obrazaca na operacije popune i poteza i ograničava dubinu rekurzivnih obrazaca, izvršavanje pločica, dekodovanje mreža i adaptivnu teselaciju za neprijateljske resurse

Produkcioni bitmap, direktni-DC, Form i replay prikaznog spisa sada dele jednog tumača sadržajnih tokena sa otkazivanjem po operatoru; kompajlirani prikazni spisi keširaju indekse operatora za replay bez skeniranja operanada i izlažu broj komandi kroz THPDFPageDisplayList.OperatorCount i THPDFDisplayListInfo.OperatorCount, dok renderer zadržava svoju kompletnu mašinu stanja grafike i resursa

Izolovane i knockout grupe transparentnosti renderuju se kroz ograničene pločice od 768 piksela sa apsertnom kontinuitetom uređajskih koordinata, alfom i soft-mask skladištenjem lokalnim za pločicu, jedno-prolaznim dekodovanjem i tokenizacijom Form-a, determinističkom obnovom stanja ugnježdenih grupa i statistikama vršnog radnog skupa dostupnim kroz GetLastTransparencyGroupTileStats

Opt-in overprint provera ploča čuva procesne ploče koje boja ne imenuje, primenjuje /OPM 1 zaštitu nulte komponente za DeviceCMYK, tretira DeviceGray kao crnu procesnu ploču i kombinuje spot tine Separation i DeviceN kroz njihove alternativne transformacije boja

Ponovljeni Type 3 glifovi ponovo koriste ograničene CharProc prikazne spise ključane fontom, glifom, linearnom matricom i stanjem boje, izbegavajući ponovno dekodovanje i tokenizaciju tokova uz očuvano prevođenje, isecanje, ugnježđene resurse, pravila boje d0/d1 i limite rekurzije

Progresivne sesije učitane stranice dekoduju podobne progresivne DCTDecode slike jednim skenom po ograničenoj nastavku za ranije vidljive preglede, izlažu brojače skenova i slika kroz THPDFLoadedPageRenderSession i obezbeđuju otkaziva THPDFProgressiveJPEGScanEvent obaveštenja uz zadržavanje rezervnog puta celokupne slike za nepodržano stanje boje ili neuspehe dekodovanja

Progresivne sesije regiona alociraju samo zahtevani prozor u korisničkom prostoru, čuvaju stanje grafike i teksta kroz ograničene nastavke, koriste konzervativne granice prikaznog spisa da iseku nespovezane putanje, tekst, slike, Forms i senčenja i izlažu brojače vidljivih i isečenih boja za telemetriju

Dekodovanje JPEG 2000 validira pojedinačne codestream pločice, kombinuje rekonstrukciju izvornog regiona i rezolucije od interesa i konkurentno dekoduje nezavisne vidljive pločice sa privatnim stanjem kodeka, otkazivanjem, CPU i korisničkim granicama radnika, determinističkom kompozicijom i automatskim rezervnim putem budžeta vršne memorije

Keš pogoci učitanih slika sada vraćaju nepromenljive reference-brojačem brojane dekodovane bitmap ručke koje preživljavaju isterivanje i uništenje dokumenta, podržavaju direktno crtanje bezbedno za niti, čuvaju izolovane promenljive kopije na zahtev i uklanjaju ponovljena kopiranja piksela iz toplih putanja renderera

Paralelno renderovanje učitanih stranica sada preklapa kompajliranje prikaznog spisa sa reprodukcijom kroz dinamički balansirane radnike, kompajlira nespovezane stranice van brave keša, počinje izlaz pre nego što je kompletan ulazni skup kompajliran, čuva redosled ulaza i izveštava o konkurenciji stegova, upotrebi keša, završenicima i latenciji kroz THPDFParallelRenderPipelineInfo; RenderLoadedPagesParallelOrdered dodaje povratne pozive pozivaocue niti sa ograničenim redom završenih bitmapa, povratnim pritiskom urenog prozora, kooperativnim otkazivanjem povratnih poziva i pozajmljenim vekovima bitmapa za poslove čiji kompletan rasterski izlaz ne sme ostati rezidentan

Oba paralelna API-ja stranice sada koriste procesno-rašireni rasporedivač vršne memorije da smanje zahtevane radnike iz konzervativnih procena stranica, rezervišu svaku traženu stranicu, pošteno odlažu poslove pod pritiskom i izveštavaju o konkurenciji izvedenoj iz memorije, vršnoj rezervisanoj veličini, prijemima, odlaganjima i vremenu čekanja; uređeni povratni pozivi drže izlazne rezervacije aktivnim do otpuštanja bitmape tako da se zakazani rastri i aktivni radnici dele jedan budžet

RenderLoadedPageTilesParallel i RenderLoadedPageBandsParallel provlače jednu stranicu kroz izolovane radnike sa isporukom pločica po redovima ili traka odozgo nadole, pozajljenim vekovima bitmapa, kooperativnim otkazivanjem, memorijom u letu pod kontrolom pozivaoca i ograničenim nepromenljivim kešom za sekvence tokena Type 3 glifova i polutonske pragovske ekrane

SaveLoadedPageToPng, SaveLoadedPageToPngStream, SaveLoadedPagesToTiffBanded i SaveLoadedPagesToTiffStreamBanded hrane isti render traka u strimovane PNG ili TIFF enkodere, emitujući kompresovane redove bez kompletnog frejm-bafera i izveštavajući o traci, redu, radniku, memoriji, izlazu, vremenu i otkazivanju

Priključivi backendi za render učitane stranice primaju kompajlirane prikazne spise i pristup resursima dokumenta, najavljuju mogućnosti konkurencije i upravljanja bojama, učestvuju u sinhronom i paralelnom renderovanju, poništavaju zastarele rasterske keševe kad budu zamenjeni i izlažu deterministički neuspeh, rezervni put i statistike izvršavanja; ugrađeni nativni GDI backend čuva postojeći izlaz bez prisvajanja ubrzanja uređaja

Priprema učitanih stranica unapred sada kompajlira i renderuje van brave keša sa kooperativnim kontrolnim tačkama otkazivanja, odmah ustupa mesto renderovanju stranice u prvom planu i izveštava o napretku zahteva, upotrebi keša, neuspesima, broju preotimanja i latenciji otkazivanja kroz THPDFLoadedPagePrefetchInfo

Validacija grafa segmenata JBIG2 sada proverava i tokove slika i globalne tokove pre nativnog ili spoljnog dekodovanja, odbija neispravne zavisnosti i nevalidno ugrađeno organizovanje unutar eksplicitnih budžeta segmenata, ivica, dubine i simbola i sprečava nevalidne deljene rečnike da uđu u keš globala

Serialno JBIG2 kodovanje sada obučava simbole kroz kompletan skup stranica kroz spoljni statički backend, deli jedan globalni rečnik između svakog image XObject-a, sabija egzaktne duplikate stranica, vraća se na nativni akumulator kad je to dozvoljeno i objavljuje telemetriju backend-a, veličine, simbola i budžeta

ICC-bazirano vektorsko i slikovno renderovanje primenjuje kompletne izvorne, proof, izlazne i sRGB pipelines boja sa biranim rendering intent-om i kompenzacijom crne tačke, dok nitno-bezbedan ograničen LRU keš ponovo koristi transformacije kroz instance dokumenata i renderera

Rekompresija učitanih slika i downsampling prema efektivnom DPI čuvaju kalibrisane definicije izlaza, dok ravnanje transparentnosti emituje kalibrisan RGB i čuva stranice sa Separation ili DeviceN bojama kao vektorski sadržaj umesto da odbaci identitet spot boja

Izračunavanje i validacija učitanih AcroForm obrazaca mogu koristiti ograničeni tipizirani podskup izraza sa boolean vrednostima, brojevima, stringovima, null, undefined, nizovima, uslovnim i short-circuit operatorima, determinističkim UTC datumima i dozvoljenim pomoćnicima za stringove, nizove, konverziju i Math, dok nepodržano aktivno skriptovanje otkazuje zatvaranjem bez pokretanja JavaScript motora

Opcioni QuickJS runtime veziv izvršava šire JavaScript aplikacijske kontrole kroz statičke objekte ili ABI-neutralni most DLL na Win32 i Win64, sa podešenim limitima memorije, steka, skripte, vremena i prekida plus eksplicitnom semantikom statusa i oporavka

Skriptovanje XFA obrazaca proširuje ograničeni FormCalc uslovnom logikom, ponovljenim numeričkim nizovima i validiranim povratnim pozivima instanci, dok eksplicitno uključena QuickJS peskovnica dodaje kompletnu kontrolu toka i nativne tipizirane nizove bez izlaganja objekata datoteke, procesa, pregledača ili mreže; interaktivni dinamički XFA runtime dodaje fokus neutralan za domaćina, Unicode uređivanje, hit testiranje, validaciju i izračunavanje svesno instanci, atomsko vraćanje i ograničeno preusmeravanje bez ravnanja

SanitiseLoadedDocument primenjuje politike samo-JavaScript, aktivnog-sadržaja ili stroge nedoverljivog dokumenta na učitane PDF-ove, uklanja nedostižne objekte sadržaja, sabija žive brojeve objekata i bezbedno prepisuje na mestu kroz atomsku zamenu datoteke

Preflight JSON, HTML i nalazi u stilu veraPDF izlažu stabilne identifikatore pravila sa imenskim prostorima i strukturisane PDF lokacije sa logičkim obuhvatom, putanjom, ključem i egzaktnim koordinatama objekta, stranice ili bajta kad su dostupne, dok tekstualna i CSV kompatibilnost ostaju nepromenjeni

Višekratno upotrebljive politike validacije sada kombinuju strukturni preflight sa strogim ili WTPDF zahtevima prijema, izvlače kanoničke deklaracije i metapodatke tvrdnji, provlače uredene serije datoteka kroz ograničene limite radnika i reda, čuvaju greške svesne izvora i nude režime inspect, add-missing i synchronize za popravku XMP nezavisno od strukturne popravke PDF-a

Prijem Factur-X i ZUGFeRD sada unakrsno proverava MIME tip primarnog priloga fakture i imena FileSpec u odnosu na EmbeddedFiles i Catalog AF registracije, izlaže dekodovani MIME tip i URI imenskog prostora XMP i odbija nepodudarne tipove XMP dokumenata ili imenske prostore ekstenzija

Ugrađena validacija poslovnih pravila e-faktura izvršava sve Schematron provere specifične za profil sa pregledanom XPath 2 kompatibilnošću, spoljnim bazama kodova, stabilnim identifikatorima pravila, eksplicitnim greškama evaluacije, bezbednim XML parsiranjem i objedinjenim presudama koje otkazuju zatvaranjem

Rasterska arhivska konverzija učitanog dokumenta u PDF/A-4 ponovo izgrađuje vidljivi sadržaj stranica kao ograničene sRGB slike u novo validiranom PDF/A-4 dokumentu, normalizujući fontove, transparentnost i nacrtane boje kroz strog nativni renderer; file API priprema i atomski objavljuje rezultat, dok izveštaj identifikuje uklonjene anotacije, obrasce i priloge. Ovaj opt-in vizuelni arhivski put odbacuje originalni vektorski tekst, tekst koji se može pretraživati, potpise i interaktivni sadržaj

PDF 2.0 izlaz sada podržava identifikaciju i validaciju za PDF/A-4, PDF/A-4e, PDF/A-4f, PDF/UA-2, PDF/X-6, PDF/X-6p i PDF/X-6n, uključujući XMP svesan revizija razrešen po URI imenskog prostora, transakcionu PDF/A-4 popravku za bezbedno normalizovanje zaglavlja, trailera, metapodataka, Catalog-a i prezentacionih normalizacija sa bajt-ekzaktnim vraćanjem i očuvanim sadržajem stranica, birane skupove pravila PDF/X-6 prema ISO 15930-9:2020 i razrešenim errata, stvarne provere ICC zaglavlja i kanala, izlazne namere dokumenta i stranice, stvarno naslikanu boju i overprint kroz nizove sadržaja, ugnježđene forme, tiling i senčenja obrasce, slike, maske slika, senčenja, Type 3 glifove, soft maske i izglede anotacija, nasleđeno stanje grafike i transparentnosti, objedinjeno kompozitovanje popune-i-poteza, CIDFont i CMap odnose, ograničen rad dekodovanih bajtova i sadržajnih tokena, strukturne elemente svesne imenskih prostora, provere metapodataka dokumenta i stringova, opcionog sadržaja, fizičko vlasništvo anotacija, semantiku obrazaca, strukturna odredišta, nacrte, ugnježđene oznake stranica, autorstvo pridruženih datoteka, nasleđene produkcijske okvire stranica, dijagnostiku svesnu klauzula sa poreklom skupa pravila, automatsku validaciju generisanja koja otkazuje zatvaranjem i transakcionu PDF/UA-2 popravku za imenske prostore, atribute, liste, tabele, Ruby, Warichu, izgovor, alternativni tekst, nasleđivanje jezika, redosled naslova i Artifact tagove

Tagged PDF 2.0 tabele dobijaju ograničeno širenje mreže, provere preseka i grupa redova, asocijaciju zaglavlja lokalnu za tabelu i detekciju ciklusa, dok liste dobijaju kompletne provere numeracije i lanaca nastavka; egzaktni Ruby i Warichu redosledi se sprovode, a aplikacije mogu upisivati hintove izgovora po elementu ili uredene ugrađene PLS leksikone kroz SetStructurePronunciation i AddPronunciationLexicon

Ciklus v2.119.32-51 dodao je oblikovanje arapskog / persijskog / urdu pisma na strani generatora (obavezna ligatura LAM-ALEF, arapski prezentacioni oblici Forms-A 9 slova), potpuno funkcionalan OpenType GSUB mehanizam supstitucije koji pokriva svaki LookupType 1-8 sa Script / LangSys selekcijom i zatvaranjem TTF subsetera za zamenske glifove, podršku za XFA (XML Forms Architecture) kontejnere (AddXFAPacket / ClearXFAPackets / XFAPacketCount), AcroForm /AA /K + /F + /V + /C familiju okidača polja obrasca, multi-Unicode /DR registraciju fontova preko RegisterAcroFormFont, postavljače atributa pristupačnosti strukturnih elemenata (/Lang / /E / /T) sa Table 333 enumom standardnih tipova struktura i tipiziranim preopterećenjem AddStructureElement, kao i svojstva sekvence označenog sadržaja na BeginTaggedContent

Ciklus v2.119.52-68 zaokružio je Phase 8 automatsku liniju za oblikovanje i proširio pokrivenost pisama: Arabic Extended-A (uključujući U+0750-077F Arabic Supplement i U+08A0-08FF Arabic Extended-A) i Persian / Urdu Form-B prošireni su na punu U+0672-06D5 tabelu klasa spajanja uz 26 novih Forms-A mapiranja, sa post-pass spajanjem za LAM-ALEF, YEH-HAMZA + parove samoglasnika (8 ligatura u U+FBEA-FBFB), samostalnu ligaturu Allah (U+FDF2) i frazu Bismillah od 22 kodne tačke (U+FDFD); novo opt-in svojstvo ShapingFeatures + THPDFShapingFeature enum (sfArabicGSUB / sfStandardLigatures / sfContextualLigatures / sfContextualAlternates / sfIndicShaping) omogućava generatoru da automatski emituje GSUB-vođene zamene rlig / liga / clig / rclt specifične za font, pri čemu se ista linija primenjuje na Latin Standard Ligatures (ff / fi / fl / ffi / ffl / ſt / st preko U+FB00-FB06) i Devanagari indijsko preraspoređivanje slogova (Repha + pre-base I-matra); nove metode mogućnosti oblikovanja za sirijski (GetSyriacJoiningClass / GetSyriacPosition), mongolski (GetMongolianJoiningClass / GetMongolianPosition) i Devanagari (GetDevanagariCategory / ApplyDevanagariReorder) omogućavaju pozivaocima da vode ne-arapska složena pisma kroz isti GSUB mehanizam; GetCodepointAdvance izlaže keširanu /W em-frakciju za proračune prelamanja, a AssignSyntheticCodepointForGID / GetSyntheticCodepointForGID omogućavaju generatoru da emituje bilo koji GSUB zamenski GID (oblici Devanagari klastera, stilističke alternative, CJK sekvence varijacija) kroz kodne tačke u Private-Use-Area sa potpunom integracijom /CIDToGIDMap + /ToUnicode + /W; kumulativni ToUnicode CMap sada isporučuje 35 unosa za povratno mapiranje ligatura (8 LAM-ALEF + 18 iz familije YEH-HAMZA + 1 Allah + 1 Bismillah + 7 latiničnih) tako da kopiranje i lepljenje u čitaču daje izvorne kodne tačke; skeleti dokumentacije za ChangeLog sada se isporučuju na 11 jezika (EN / CN / AR / DE / ES / FR / IT / JA / KO / PT / RU) sa interfejsom za biranje jezika; limit zadržavanja ChangeLog-a povećan je sa 250 na 500 verzijskih odeljaka

Ciklus v2.152-v2.190 izgradio je kompletan OpenType GPOS mehanizam za pozicioniranje i proširio pokrivenost složenih pisama; opt-in opcije oblikovanja sada primenjuju sopstveni kerning fonta (parni, kontekstualni i desno-nalevo), postavljanje kombinovanih oznaka (oznaka-na-bazu, oznaka-na-oznaku i oznaka-na-ligaturu po komponenti), sidra za kurzivno povezivanje i vertikalni kerning za vertikalni tekst, sve zapisano kao standardni PDF tekstualni operatori tako da svaki čitač prikazuje isti rezultat; oblikovanje na strani generatora sada pokriva arapski (uključujući Supplement, Extended-A i Extended-B blokove), sirijski, mongolski, N'Ko, Adlam, Hanifi Rohingya, tibetansko slaganje suglasnika, Devanagari i druga indijska pisma kroz lanac Indijskih funkcija fonta, javanski, redosled oznaka u tajlandskom i lao pismu, redosled samoglasnika u hebrejskom, kmerski, mijanmarski, Tai Viet i Meetei Mayek; familija opcionih OpenType tipografskih funkcija – standardne, diskrecione i istorijske ligature, mala velika slova, oldstyle / lining / proporcionalne / tabularne cifre, eksponenti, indeksi, redni brojevi, razlomci, naučni indeksi, brojioci, imenioci, stilističke i kontekstualne alternative, lokalizovane oblike, oblike osetljive na velika/mala slova, precrtana nula i vertikalne alternative – mogu se primeniti automatski tokom ispisa teksta; kopiranje, lepljenje i pretraga teksta vraćaju originalne karaktere u svim oblikovanim izlazima, uključujući ligature i ulančane zamene funkcija; izlaz fontova je takođe postao manji: ugrađeni programi fontova su uvek Flate-kompresovani, font korišćen na više stranica ugrađuje se jednom po dokumentu, oznake podskupa se generišu deterministički za ponovljiv izlaz, a opcioni kompaktni režim ispisuje običan ASCII tekst sa standardnim fontovima kao neugrađeni WinAnsi tekst

Pokrivenost PDF standarda

HotPDF uključuje podršku specifičnu za verzije za praktične funkcije kreiranja dokumenata u PDF 1.3, PDF 1.4, PDF 1.5, PDF 1.6 i PDF 1.7 koje koriste aplikacije za poslovanje, obradu slika, izdavaštvo i automatizaciju dokumenata; javni API-ji se proveravaju u odnosu na izabranu verziju PDF-a, tako da generisane datoteke izbegavaju novije unose kada je zahtevana stroga kompatibilnost

Trenutna matrica pokriva filtere i prediktore, XRef tokove, lance inkrementalnih ažuriranja, AES šifrovanje, bezbednost sa javnim ključem, DeviceCMYK i ICCBased boje, šare popunjavanja (tiling patterns), aksijalna/radijalna senčenja i senčenja sa više tačaka, inline slike, slojeve, grupe providnosti, prelaze stranica, anotacije, AcroForm vidžete, spoljne kuke za potpisivanje, XMP metapodatke, stabla strukture označenog PDF-a, OutputIntents, proizvodne okvire stranica, ViewerPreferences, UserUnit, redosled tabulatora (Tabs order) i ugradnju/podskupove fontova za TrueType, Type 3, CFF, OpenType-CFF i CID-keyed CFF fontove

Ovo predstavlja široku pokrivenost usklađenu sa standardima za površinu za kreiranje dokumenata u HotPDF-u koja je podržana, a ne opštu tvrdnju da je svaki granični slučaj u ISO 32000-1 implementiran

Zašto izabrati HotPDF

Prilagođene pipeline-i toka filtera

Registar IHPDFCustomStreamFilter-a spaja dekodere push/pull definirane aplikacijom sa ugrađenim filterima pod jednim zbirnim bajtnim budžetom, eksplicitnim ugovorima pretraživanja, kooperativnim otkazivanjem, izolovanim privremenim izlazom, tipiziranim statusima neuspeha i telemetrijom izvršavanja

RunLength dekodiranje validira kodovane nizove pre rezervisanja tačne veličine dekodovanog izlaza, a direktno čitanje unapred iz datoteke odbacuje nepotpune dopune keša nakon I/O grešaka

Nativno uklapanje u RAD Studio

Koristite poznate Delphi i C++Builder projekte, pakete, tokove, obrasce i šablone za crtanje umesto da omotavate zaseban PDF mehanizam

Moderne PDF funkcije

Kreirajte PDF-ove sa obrascima, anotacijama, slojevima, providnošću, prelazima stranica, označenom strukturom, šifrovanjem, rezervisanim mestima za potpis i inkrementalnim ažuriranjima

Kompaktan, brz izlaz

Smanjite veličinu PDF-a pomoću zlib-ng kompresije, libjpeg-turbo obrade slika, TrueType subsetinga, OpenType-CFF subsetinga i CID-keyed CFF podrške za velike CJK fontove

Konkurentske prednosti

Sledeće mogućnosti predstavljaju jasne tehničke razlike u korist HotPDF-a u poređenju sa tipičnim Delphi PDF komponentama; većini konkurentskih komercijalnih komponenti ove funkcije ili potpuno nedostaju ili su znatno slabije u produkciji; svaki red odgovara proverljivoj implementaciji i javnoj API površini unutar biblioteke

Kompletno OpenType oblikovanje + pozicioniranje

Potpuni GSUB mehanizam supstitucije koji pokriva svaki LookupType 1-8 (Single, Multiple, Alternate, Ligature, Contextual, Chained Contextual, Extension, Reverse Chained Contextual), uparen sa GPOS mehanizmom pozicioniranja koji pokriva svih 9 LookupTypes (parni / pojedinačni / kontekstualni kerning, oznaka-na-bazu, oznaka-na-oznaku, oznaka-na-ligaturu po komponenti ligature, kurzivno povezivanje, rastojanje, vertikalni vkrn/vpal); celokupno pozicioniranje se emituje pomoću standardnih PDF tekstualnih operatora, tako da svaki čitač prikazuje tekst na identičan način

Oblikovanje složenih pisama na strani generatora

Više od 20 pisama oblikovanih na strani generatora, vođenih sopstvenim GSUB lancem funkcija fonta: arapsko (uklj. Supplement / Extended-A / Extended-B), sirijsko, mongolsko, N'Ko, Adlam, Hanifi Rohingya, tibetansko slaganje, Devanagari i indijska familija pisama, javansko, redosled oznaka u tajlandskom / lao pismu, redosled samoglasnika u hebrejskom, kmersko, mijanmarsko, Tai Viet, Meetei Mayek; izlaz nosi kompletno /ToUnicode povratno mapiranje tako da kopiranje / lepljenje vraća izvorne kodne tačke

In-process stek za potpisivanje, bez spoljnih zavisnosti

ASN.1, RSA, AES, PBES2 PKCS#12 raspakivanje sa AES-128 / AES-192 / AES-256 CBC i HMAC-SHA-1 / SHA-256 / SHA-384 / SHA-512 PBKDF2 profilima, legacy PBE-SHA1-3DES PFX raspakivanje i CMS SignedData (RFC 5652) obrađuju se unutar HotPDF-a. SignPDFWithPFX potpisuje RSA i ECDSA identitete kroz nativni kod i koristi opcion OpenSSL 3 libcrypto za Ed25519 ili Ed448 PureEdDSA; PFX datoteke sa više identiteta izlažu deterministički izbor localKeyId i automatski ugrađuju odgovarajući dostupan lanac sertifikata sa egzaktnom DER deduplikacijom, CMS potpisnici mogu koristiti issuer-and-serial ili kompaktne X.509 SubjectKeyIdentifier identitete, višepotpisnički CMS kontejneri čuvaju nezavisne atribute, algoritme, sertifikate, provajdere i rezultate validacije, validacija PAdES politike potpisa podržava eksplicitne identifikatore politika, strukturisane kvalifikatore, hešovanje dokumenata politika i prikivanje od strane pozivaoca, a PAdES preflight profila izveštava o svakom baseline ili proširenom zahtevu sa klauzulom, objektom i dokazima revizije, dok verifikacija učitanih potpisa podržava RSA PKCS#1 v1.5, RSA-PSS sa validiranim parametrima, NIST i Brainpool ECDSA, Ed25519, Ed448, SHA-2, SHA3 i SHAKE256 politike sažetaka, vremenske pečate RFC 3161, lance sertifikata pod kontrolom pozivaoca, offline OCSP ili CRL validaciju i brze mašinski-čitljive dijagnostike za nekonzistentne CMS sažetke algoritama

PAdES dugotrajna validacija, od početka do kraja

Radni procesi PAdES B-B, B-T, B-LT i B-LTA su u potpunosti pokriveni: vremenski pečati prema RFC 3161, DSS / VRI rečnici za dugotrajnu validaciju, potpisi vremenskog pečata dokumenta, ograničenja vrednosti semena (Seed Value) i XAdES-in-PDF; ovo predstavlja strogi zahtev za elektronske potpise usklađene sa EU eIDAS regulativom, gde se većina konkurentskih komponenti zaustavlja na osnovnom CMS potpisivanju

Troosovinska usklađenost + prethodna provera (Preflight)

Nezavisna kontrola profila za PDF/A-1/-2/-3, PDF/X-1a/-3/-4 i PDF/UA-1 istovremeno – neusaglašeni pozivi podižu dijagnostičke izuzetke umesto da tiho upisuju neusaglašene PDF-ove. CreatePreflightReport emituje tekstualne / JSON / HTML / CSV / XML izveštaje sa stabilnim ID-jevima pravila i lokacijama, dok CreatePreflightMRR dodaje determinističke ograničene pluginove funkcija i validacije za prilagođene CI politike

Multi-gigabajtni Direct File API

Radi sa PDF-om na disku bez izgradnje grafikona objekata u memoriji; na dokumentu od 2 GB sa 1.67 miliona objekata: AES-256 šifrovanje traje ~14 s, dešifrovanje ~16 s, kompletno prepisivanje ~6 s; čitanje broja stranica dokumenta od 1.25 GB traje milisekunde; klasične xref tabele, XRef tokovi, datoteke sa hibridnim referencama i inkrementalno ažurirani dokumenti ostaju na direktnoj putanji

Ograničen oporavak oštećenih PDF-ova

Preseli netaknute xref tabele ili tokove nakon pokvarenog startxref-a, pa se po potrebi vraća na skener 1 MiB blokova svestan tokena koji ponovo gradi ofsete direktnih objekata sa podešenim bajtnim i objektnim budžetima, prednošću najnovije definicije, filtriranjem lažnih pozitiva u telima tokova, ograničenim događajima poverenja po bajt-opsezima i obaveznim kompletnim prepisivanjem pri čuvanju

CFF / OpenType-CFF / CID subsetting

TrueType, OpenType-CFF i CID-keyed CFF fontovi mogu se podeliti na podskupove uz očuvanje ID-jeva glifova za Type0 / Identity-H tekst; CJK dokumenti koji su ranije ugrađivali CID-keyed CFF programe od 14 MB sada se isporučuju sa veličinom od 500 KB do 2 MB bez gubitka prikazanih glifova; ugrađeni programi fontova su uvek Flate-kompresovani, višestranični fontovi se ugrađuju jednom po dokumentu, a oznake podskupova su determinističke za ponovljiv izlaz. Opcioni kompaktni TrueType podskupovi ponovo numerišu glifove koje zadrže, pa je za nekoliko CJK znakova dovoljno nekoliko kilobajta podataka fonta, a jedan prekidač CompressDocument kombinuje ih sa Flate kompresijom i object streamovima za najmanji mogući izlaz; učitani PDF-ovi dobijaju isti tretman bez gubitaka kroz CompressLoadedDocument

Jedinstvena fasada za logovanje u vreme izvršavanja

THPDFLogger + globalni HPDFLog pružaju dijagnostičku fasadu koja se može uključiti u vreme izvršavanja: filtriranje po ozbiljnosti Error / Warning / Info / Debug, istovremeno usmeravanje na datoteku + OutputDebugString + konzolu, bezbedno za višenitni rad, rotacija datoteka na 10 MB sa jednom rezervnom kopijom, brza putanja bez opterećenja kada je isključena; LoadFromFile, preflight izveštaji i rezervna putanja toka objekata su već povezani sa strukturiranom dijagnostikom koja se može uključiti u vreme izvršavanja bez ponovnog kompajliranja – operativna mogućnost koja većini konkurentskih komponenti potpuno nedostaje

Četiri adaptera za mehanizme izveštavanja

Ubacivi PDF backendi za FastReport (TfrxHotPDFExport), QuickReport (TQRHotPDFExportFilter), ReportBuilder (TppHotPDFDevice) i DevExpress ExpressPrinting (pokriva cxGrid / cxRichEdit / cxScheduler / cxPivotGrid). Postojeći rasporedi izveštaja nastavljaju da rade – zamenjen je samo PDF emiter, sa FastReport nativnim tekst / slika / oblik / linija / veza / barkoda izlazom uključujući isecanje i okvire slika, FastReport registracijom palete u dizajn vremenu, filtriranjem opsega stranica od jedan, ReportBuilder nativnim tekst / vektor / slika / veza / barkoda izlazom i opt-in PDF/A i PDF/X kontrolama usaglašenosti kroz sva četiri adaptera izveštaja

Ovo su isporučene mogućnosti, a ne obećanja iz razvojnog plana. Svaka gore navedena stavka je implementirana u trenutnoj biblioteci, kompajlira se bez grešaka i prolazi DUnitX testove kao i end-to-end veraPDF validaciju; prilikom procene konkurentskih komponenti, tražite dokaz o potpunoj pokrivenosti GSUB/GPOS LookupType-a, in-process PAdES B-LTA lancu i izmerenoj propusnosti šifrovanja za višegigabajtne datoteke

Osnovne mogućnosti

  • Izgradite Linux prenosivo jezgro sa nativnim POSIX mapiranjem datoteka, dekodovanjem PDF objekata i sadržaja, deljenim sfnt podacima fontova, kompresijom, kriptografijom i klasičnom PDF serijalizacijom; puna implementacija Linux komponente je još u integraciji
  • Poredite formulacije ugovora po pasusima i tokenima reči ili rečenica, čuvajte dvosmerne izvorne pozicije, otkrivajte preuređivanje klauzula, isključujte eksplicitne šablonske delove i kreirajte HTML ili anotirani PDF pregledni izlaz
  • Kreirajte PDF datoteke, dodajte stranice, ispisujte tekst, crtajte vektorsku grafiku i čuvajte u datoteke ili tokove u vlasništvu pozivaoca
  • Pretvarajte i renderujte XPS, EPUB i CBZ kroz opcione rukovaoce ocenjene sadržajem sa ograničenim radom arhive i konverzije
  • Uvozite HTML5 paged media sa tolerantnim DOM-om, print CSS kaskadom, tabelama, ugnježđenim flex/grid poslovnim panelima, omotavajućim redovima, rasponima kolona, slikama i opcionim AcroForm kontrolama u paralelnim kutijama, sfnt resursima fontova pod kontrolom callback-a i ograničenim budžetima parsera, rasporeda, resursa i dekodovanih slika
  • Uvozite SVG kao višekratno upotrebljive Form XObject-e sa nativnom geometrijom, CSS-om, gradijentima, maskama, Base 14 tekstom, vezama svesnima postavljanja i strogim budžetima parsera i resursa
  • Paginirajte RichEdit i RTF sadržaj kroz Windows mehanizam formatiranja uz očuvan vektorski tekst, fontove, slike, podržane OLE prezentacije i eksplicitne budžete resursa
  • Renderujte nativne vektorske grafikone sa linija, stub, površina, torte i raspršenim serijama, automatskim ili ručnim osama, temama, legendama, oznakama, ograničenim podacima i opcionim PDF/UA alternativama za Figure
  • Ispitujte vizuelnu dijagnostiku rasporeda sa ograničenom detekcijom preklapanja, putanjama elemenata, opt-in mapiranjem na izvor, nativnim vektorskim preklopkama, statistikama i sinhronim povratnim pozivima pregleda
  • Kontrolirajte semantiku Y-koordinate teksta stranice sa THPDFPage.TextFromBaseLine, sadržajte ekspertske sirove PDF operatore sa AppendScopedRawContent i ispitujte izlaz teksta u okviru sa prelamanjem preko TextOutBoxEx / WideTextOutBoxEx
  • Radite sa Unicode tekstom, tekstom pisanim zdesna nalevo, vertikalnim tekstom Identity-V, rezervnim fontovima svesnim pisama, dijagnostikom nerešenih glifova, ugrađenim fontovima, TrueType podskupovima, CFF/OpenType-CFF podskupovima, metrikom teksta i pasusima
  • Primenite OpenType kerning fonta, pozicioniranje kombinovanih oznaka, kurzivno povezivanje, oblikovanje složenih pisama i tipografske funkcije tokom ispisa teksta kroz opt-in opcije oblikovanja
  • Dodajte metapodatke, anotacije, iskačuće komentare, hiperlinkove, priloge, željene postavke čitača, svih šest standardnih rasporeda stranica uključujući dvostanične naslovnice, ponašanje pri štampanju, slojeve i prelaze stranica
  • Uvozite i upisujte JPEG, bitmap, TIFF, JPEG2000, JBIG2, WMF i EMF radne tokove slika, uz ponovnu upotrebu kodovanih image XObject-a, pomoćnike za maske slika, pomoćnike za soft-mask transparentnost, prekoračenja JPEG kvaliteta po slici, opcije EMF/WMF renderovanja po pozivu, kontrolu slaganja platna, kontrolu ponovnog iscrtavanja, isecanje okvira, očuvanje obrazaca hatch-četkice, dijagnostiku null-pen i null-brush i opt-in automatski izbor monohromne kompresije
  • Dekodujte JPEG 2000 codestream pločice i regione rezolucije od interesa kroz ograničene nativne i izolovane-od-urušavanja putanje, sa automatskim izborom rezolucije renderera i paralelnom rekonstrukcijom pločica svesnom budžeta
  • Kodujte JBIG2 serije stranica sa unutar-straničnim obučavanjem simbola, jednim deljenim globalnim rečnikom, ponovnom upotrebom duplikata stranica, ograničenim ulaznim budžetima, nativnim rezervnim putem i eksplicitnom telemetrijom kompresije; dekodujte refinement i agregatne rečnike simbola i raffined tekst instance kroz nativni Pascal rezervni put za aritmetičke i standardno-Huffman tokove, uz zadržane kontekste, ograničene tabele dugih referenci, ulančane globalne rečnike i dekodovanje vidljivih pločica
  • Dekodujte učitane CCITT Group 3 i Group 4 slikovne tokove sa jedno- i dvodimenzionalnim redovima, T.4/T.6 nekompresovanim ekstenzijama, strogim prepoznavanjem EOFB, kompletnim rukovanjem DecodeParms i ograničenom resinhronizacijom oštećenih redova
  • Učitavajte postojeće PDF-ove, kopirajte stranice, dodajte stranice, brišite stranice, spajajte dokumente, ažurirajte informacije, uređujte metapodatke i izglede anotacija, stavljajte pečate na stranice, ispitujte, popunjavajte ili pretvarajte u statički oblik (flatten) obrasce i transcodingujte učitane tokove sa Flate kompresijom svesnom nivoa kompresije ili dekompresijom bezbednom za predictore
  • Obrađujte višegigabajtne PDF-ove preko Direct File API-ja: čitajte broj stranica, kopirajte, prepisujte informacije o dokumentu i primenjujte ili uklanjajte AES-256 zaštitu direktno iz datoteke u datoteku u roku od nekoliko sekundi, bez učitavanja grafikona objekata dokumenta
  • Primenite lozinke, AES-128, AES-256, PDF 2.0 AES-256 R6, šifrovanje javnim ključem, kontrolu šifrovanja metapodataka, bezbednosne zastavice i kontrolu dozvola
  • Kreirajte AcroForm polja, automatske tokove izgleda obrazaca, polja za potpis, spoljna rezervisana mesta za CMS potpis i inkrementalna ažuriranja sa više potpisa

Prednosti za programere

  • Integracija na nivou izvornog koda drži otklanjanje grešaka i distribuciju pod vašom kontrolom
  • Zajednički Delphi i C++Builder primeri olakšavaju proveru ponašanja u oba jezička steka
  • Integracija statičkih C biblioteka trećih strana održava zavisnosti za kompresiju i obradu slika ponovljivim
  • Fokusirani pomoćni API-ji pokrivaju PDF filtere, FlateDecode, LZW, CCITT, maske slika, bar-kodove, podskupove fontova i radne tokove sadržaja stranica
  • Kontrolori PDF verzije mogu automatski unaprediti izlaznu verziju ili nametnuti strogu usaglašenost sa PDF 1.3/1.4/1.5/1.6/1.7 verzijama kroz StrictVersionLock
  • Projekti paketa za Delphi i C++Builder spremni za upotrebu pokrivaju trenutne generacije RAD Studio okruženja, uključujući 13.1 Florence

Nedavni najvažniji delovi biblioteke

Besgubitno uređivanje sadržajnih tokova

THPDFContentStreamAST zadržava svaki bajt praznina, komentar, razdelnik, pravopis operanada i sadržaj inline slika uz izlaganje povezanih čvorova operacija i kontejnera, ograničenog parsiranja, sortiranih preklapajućih izmena i serijalizacije u memoriju ili tok; posetioci sadržajnih operatora dodaju ograničene inspect, measure, replace, delete, stop i reject povratne pozive sa determinističkim snimcima stanja i validiranim atomskim ažuriranjima učitane stranice; semantičko poređenje kanonizuje brojeve, stringove, inline slike, efektivne matrice, redundantna postavljanja i save/restore stanja grafike pre egzaktnog poređenja događaja; zamena teksta učitane stranice menja samo poklaponé opsege operanada

Multi-gigabajtni Direct File API

Familija funkcija DAOpenFileReadOnly / DACopyFile / DASetDocumentInfo / DASaveAsFile i pozivi EncryptFile / DecryptFile direktno iz datoteke u datoteku rade sa PDF datotekom neposredno, umesto da grade grafikon objekata u memoriji; na benchmark dokumentu od 2 GB sa 1.67 miliona objekata, AES-256 šifrovanje traje oko 14 sekundi, dešifrovanje oko 16 sekundi, a kompletno prepisivanje oko 6 sekundi; otvaranje dokumenta od 1.25 GB radi očitanja broja stranica traje milisekunde; klasične tabele, tokovi unakrsnih referenci (cross-reference), datoteke sa hibridnim referencama i inkrementalno ažurirani dokumenti u potpunosti ostaju na direktnoj putanji

Izveštaji prethodne provere (Preflight)

CreatePreflightReport i CreatePreflightReportWithProfile vrše autitorsku proveru PDF-a u odnosu na podržane PDF/A, PDF/X i PDF/UA provere i emituju tekstualne, JSON, HTML, CSV ili XML izveštaje. ValidatePDFWithPluginBundle kombinuje iste ugrađene politike sa ograničenim pouzdanim pluginovima funkcija i pravila u jednom determinističkom XML MRR

Komplet alata za obrasce u učitanim dokumentima

Razmena FDF datoteka i tokova i XFDF razmena više vrednosti čuvaju odvojene izabrane stavke u višestrukom izboru (multi-select) poljima, uključujući vrednosti opcija koje sadrže prelome redova, i obnavljaju indekse selekcije pri uvozu

HasFormFields i FormFieldExists daju odgovore na pitanja o obrascima za učitani PDF pre bilo kakvog rada na njemu, kreiranje učitanih polja odbija duplikate korenskih imena pre registracije vidžeta, vrednosti polja se mogu čitati i pisati prema indeksu ili nazivu, a FlattenFormFields trajno upisuje interaktivna AcroForm polja u sadržaj stranice i izveštava o tome koliko je polja pretvorio u statički oblik – paralelno sa pretvaranjem XFA-u-AcroForm koje čuva ugnježđene, omotane, fiksno-kolone i auto-kolone tabelarne XFA obrasce upotrebljivim u bilo kom čitaču

In-process PFX / PKCS#12 potpisivanje

THotPDF.SignPDFWithPFX(InputPDF, OutputPDF, PFXFile, Password) potpisuje postojeće rezervisano mesto u PDF-u jednim pozivom. Radni tokovi datoteke, toka, spoljnog potpisnika i provajdera biraju SHA-256, SHA-384, SHA-512, SHA3-256, SHA3-384, SHA3-512 ili SHAKE256 512-bitni sažetak koji zahteva Ed448, kopiraju sa ograničenim baferima od 256 KB, zakrpljuju pretragom fiksne širine /ByteRange i /Contents polja i podržavaju potpisivanje istog toka bez zadržavanja kompletnog drugog PDF-a u memoriji. ASN.1, AES i PBES2 PKCS#12 stek prihvata RSA, ECDSA sa imenovanim krivama, Ed25519 i Ed448 privatne ključeve plus AES-128 / AES-192 / AES-256 CBC sa HMAC-SHA-1 / SHA-256 / SHA-384 / SHA-512 PBKDF2; RSA i ECDSA potpisivanje koristi nativne putanje, dok Ed25519 i Ed448 potpisivanje koristi opcion OpenSSL 3 libcrypto. HPDFEnumeratePFXIdentities, HPDFParsePFXByLocalKeyID i THPDFCMSSignOptions.PFXLocalKeyID deterministički biraju akreditive sa više identiteta i prenose njihov odgovarajući dostupan lanac sertifikata u CMS; nekonzistentni identifikatori potpisnika, kontejnera, dužine ključa, mehanizma potpisa ili RFC 6211 algoritama otkazuju pre hešovanja dokumenta ili rada provajdera

PAdES dugotrajna validacija

Radni tokovi PAdES B-B, B-T, B-LT i B-LTA su pokriveni od početka do kraja: kreiranje potpisa sa vremenskim pečatima prema RFC 3161, DSS / VRI rečnici za dugotrajnu validaciju, potpisi vremenskog pečata dokumenta i ograničenja vrednosti semena (Seed Value); primena XAdES-in-PDF i vrednosti semena za potpis su deo iste površine

Usaglašenost sa PDF/A, PDF/X i PDF/UA standardima

HotPDF kontroliše metode funkcija u odnosu na profile PDF/A-1 / -2 / -3, PDF/X-1a / -3 / -4 i PDF/UA-1; pozivi koji bi prekršili izabrani profil (providnost u PDF/A-1, JavaScript u PDF/A, spoljne anotacije u PDF/X, neoznačena struktura u PDF/UA) podižu dijagnostičke izuzetke umesto da tiho proizvedu neusaglašene PDF-ove

Adapteri za mehanizme izveštavanja trećih strana

Zamenjivi PDF backendi za četiri najčešća Delphi mehanizma za izveštavanje: TfrxHotPDFExport (FastReport 4 / FastReport VCL, uključujući nativni objektni izlaz za tekst, slike, oblike, linije, veze i podržane barkode plus filtriranje opsega stranica, kontrole ugradnje fontova, bezbednost lozinkom, opt-in PDF/A ili PDF/X kontrole usaglašenosti i frxHotPDFDesign jedinicu za registraciju u dizajn vremenu), TQRHotPDFExportFilter (QuickReport sa opt-in PDF/A ili PDF/X kontrolama usaglašenosti), TppHotPDFDevice (ReportBuilder, uključujući opt-in nativni izlaz naredbi za crtanje za tekst, vektorske primitive, slike, veze, podržane barkode i opt-in PDF/A ili PDF/X kontrole usaglašenosti) i dxHotPDFExportReportLinkToFile/Stream (DevExpress ExpressPrinting sistem koji pokriva cxGrid / cxRichEdit / cxScheduler / cxPivotGrid sa opt-in PDF/A ili PDF/X kontrolama usaglašenosti). Postojeći izveštaji nastavljaju da rade – zamenjen je samo PDF emiter

OpenType GPOS mehanizam za pozicioniranje

Opt-in pozicioniranje teksta vođeno sopstvenim GPOS podacima fonta: parni i kontekstualni kerning za tekst pisan sleva nadesno i zdesna nalevo, postavljanje oznaka-na-bazu, oznaka-na-oznaku i oznake po komponenti ligature, kurzivno ulazno/izlazno poravnanje, pozicioniranje po rastojanju i vertikalni kerning za vertikalne fontove; pozicioniranje se emituje pomoću standardnih PDF tekstualnih operatora, tako da svaki čitač PDF-a prikazuje isti rezultat

Pokrivenost oblikovanja složenih pisama

Oblikovanje na strani generatora prikazuje ispravno povezan i preraspoređen tekst za arapsko (uključujući Supplement, Extended-A i Extended-B blokove), sirijsko, mongolsko, N'Ko, Adlam, Hanifi Rohingya, tibetansko, Devanagari i druga indijska pisma, javansko, tajlandsko, lao, hebrejsko, kmersko, mijanmarsko, Tai Viet i Meetei Mayek bez oslanjanja na mehanizam za oblikovanje na strani čitača; svako pismo je opt-in prekidač, tako da postojeći izlaz ostaje bajt-identičan sve dok se ne omogući, a kopiranje/lepljenje vraća izvorne karaktere

Automatske OpenType tipografske funkcije

Opcioni prekidači oblikovanja automatski primenjuju standardne, diskrecione i istorijske ligature fonta, mala velika slova, oldstyle / lining / proporcionalne / tabularne cifre, eksponente, indekse, redne brojevi, razlomke, naučne indekse, brojioce, imenioce, stilističke i kontekstualne alternative, lokalizovane oblike, oblike osetljive na velika/mala slova, precrtanu nulu i vertikalne alternative tokom ispisa teksta, sa ekstrakcijom teksta koja se vraća na izvorne karaktere

Kompaktan izlaz fonta

Ugrađeni programi fontova su uvek Flate-kompresovani, font korišćen na više stranica ugrađuje se jednom za ceo dokument, a oznake podskupova se generišu deterministički na osnovu glifova koji se stvarno koriste tako da ponovljena izvršavanja daju identičan izlaz; opcioni režim ispisuje običan ASCII tekst sa standardnim fontovima kao kompaktan neugrađeni WinAnsi tekst, čime se stranica običnog teksta smanjuje sa stotina kilobajta na svega nekoliko kilobajta

Oblikovanje više pisama na strani generatora

Oblikovanje na strani generatora prevodi Unicode unose u njihove prezentacione oblike pre emitovanja PDF teksta; arapsko pismo pokriva punu U+0672-06D5 tabelu klasa spajanja uz više od 40 Forms-A mapiranja, sa automatskim spajanjem ligatura u dodatnom prolazu za LAM-ALEF, YEH-HAMZA + samoglasnike (U+FBEA-FBFB), Allah (U+FDF2) i Bismillah (U+FDFD); površine mogućnosti za sirijski (GetSyriacJoiningClass), mongolski (GetMongolianJoiningClass) i Devanagari (GetDevanagariCategory / ApplyDevanagariReorder) omogućavaju pozivaocima da vode ne-arapska složena pisma kroz isti GSUB mehanizam

Automatska linija za oblikovanje (Phase 8)

Opt-in svojstvo ShapingFeatures + THPDFShapingFeature enum (sfArabicGSUB / sfCursiveAttachment / sfStandardLigatures / sfContextualLigatures / sfContextualAlternates / sfIndicShaping) podiže OpenType GSUB i GPOS mehanizme u automatsku liniju na strani generatora; nativni arapski init / medi / fina / isol, rlig, calt, rclt, GPOS kurzivno povezivanje, latinična liga / clig i Devanagari indijsko preraspoređivanje se dešavaju tokom emitovanja teksta, uz kompletno /ToUnicode povratno mapiranje radi ispravnosti kopiranja i lepljenja

Standardne latinične ligature (Latin Standard Ligatures) + PUA sintetička kodna tačka

Standardne latinične ligature (ff / fi / fl / ffi / ffl / ſt / st preko U+FB00-FB06) se emituju automatski kroz ApplyLatinLigatureRefinement kada je uključeno sfStandardLigatures; za GSUB zamenske GID-ove bez prirodne Unicode kodne tačke – oblike Devanagari klastera, stilističke alternative, CJK ideografske sekvence varijacija – AssignSyntheticCodepointForGID dodeljuje kodnu tačku iz Private-Use-Area (U+E000-F8FF) sa preslikanom /CIDToGIDMap + /W + /ToUnicode integracijom

OpenType GSUB mehanizam supstitucije

Svaki OpenType GSUB LookupType 1-8 (Single, Multiple, Alternate, Ligature, Contextual, Chained Contextual, Extension, Reverse Chained Contextual) je implementiran kao upitna površina samo za proveru mogućnosti (GetSingleSubstituteGlyph, ApplyLigatureSubstitution, ApplyContextualSubst, ApplyReverseChainedContextualSubst i pomoćne funkcije za Multiple / Alternate / Script / LangSys / Feature); MarkUnicodeGlyphUsed uvlači svaki zamenski glif u TTF subseter kako bi ugrađeni podskupovi fontova ostali samostalni

Akcije stranice + XFA obrasci + AcroForm okidači + Unicode /DR

Dodatne akcije životnog ciklusa PDF dokumenta izlažu okidače kataloga /AA /WC, /AA /WS, /AA /DS, /AA /WP i /AA /DP kroz pomoćnike za postavljanje i brisanje zasnovane na graditelju, dok dodatne akcije na nivou stranice izlažu otvarajući /AA /O i zatvarajući /AA /C okidače kroz THPDFPage i stranici-indeksirane THotPDF omotače. PDF 1.7 §12.7.6 / §12.7.8 XFA kontejnerski paketi se nalaze uporedo sa (ili umesto) statičkim /Fields putem AddXFAPacket. Kompletna familija okidača AcroForm polja (/AA /K Keystroke, /F Format, /V Validate, /C Calculate) izložena je kao metode omotača, okidači miša, fokusa i vidljivosti vidžeta (/E, /X, /D, /U, /Fo, /Bl, /PO, /PC, /PV, /PI) sada se postavljaju po imenu polja, a odgovarajući pomoćnici za brisanje drže rečnike okidača lakim za zamenu. THPDFActionBuilder obuhvata akcije životnog ciklusa dokumenta, stranice, obrasca, anotacije, sloja, multimedije, prelaza, 3D prikaza i GoToE ugrađene navigacije, dok API grafa učitanih akcija bezbedno ispituje svih 18 standardnih tipova akcija i uredene /Next lance

Oznake stranica + niti članaka

THotPDF.SetPageLabel i njegovi pomoćnici specifični za stilove upisuju unose brojevnog stabla /PageLabels kataloga za decimalno, rimsko i alfabetsko numerisanje stranica, dok RegisterArticleThread plus THPDFPage.AddArticleBead emituje rečnike niti članaka i lance perli za vođenu navigaciju čitaoca

Kreiranje podskupova fontova i CJK PDF dokumenti

THotPDF.EnableFontSubsetting kreira podskupove TrueType, OpenType-CFF, CID-keyed CFF i CFF2 fontova uz očuvanje ID-jeva glifova za Type0 / Identity-H tekst. TrueType gvar konture i fantomske tačke, CFF2 blend vrednosti, mapirane ose te horizontalna, vertikalna i globalna metrika upečene su u statički sfnt sa ispravnim kontrolnim zbirom pre ugradnje

Sertifikacioni potpisi i brave polja

AddCertificationSignatureField, ConfigureCertificationSignature i AttachSignatureFieldLock kreiraju DocMDP i FieldMDP strukture dozvola sa vezom na Catalog i politikama bravica polja, dok GetLoadedSignaturePermissions ispituje svaki standardni metod transformacije uključujući prava korišćenja UR/UR3 i Identity opsege, AnalyzeLoadedSignatureRevisions klasifikuje kasnije izmene validacije, obrazaca, potpisa, anotacija, ugrađenih datoteka i druge u odnosu na politike rekonstruisane iz potpisanog snimka, a SaveIncrementalUpdateAuthenticated autentifikuje svaki kontrolni potpis pre atomskog objavljivanja dozvoljene revizije

Pokrivenost naprednih PDF funkcija

  • API kontrolori specifični za verzije PDF 1.3 / 1.4 / 1.5 / 1.6 / 1.7 + odabrane PDF 2.0 opcije za Catalog, ViewerPreferences, anotacije, JavaScript, Type0 fontove, ToUnicode mape, providnost, slojeve i šifrovanje
  • Kontrolori usaglašenosti sa PDF/A-1 / -2 / -3 / -4 / -4e / -4f, PDF/X-1a / -3 / -4 i PDF/UA-1 / -2 standardima plus ograničena strukturna validacija PDF/A-4 koji odbijaju neusaglašene pozive funkcija ili izlaz umesto da prekrše profil bez obaveštenja
  • Stabla strukture označenog PDF-a sa mapama uloga, StructParents, ParentTree izlazom i strukturnim elementima za radne tokove orijentisane ka pristupačnosti
  • OutputIntents, ICC profili, okviri stranica, rotacija, UserUnit, redosled tabulatora (Tabs order), šare popunjavanja (tiling patterns), ExtGState alfa, režimi blendovanja, soft maske luminoziteta pod upravom boja kroz ICCBased, Lab, Separation i DeviceN sadržaj, izvršivi polutonovi Type 1 / 5 / 6 / 10 / 16 sa nezavisnim ekranima bojnih komponenti, kompaktini keširani pragovski nizovi, kompletni nizovi funkcija prenosa, keširane uzorkovane funkcije sa svakim standardnim pakovanim dubinama i redosledom interpolacije i reference funkcija za generisanje crne boje / uklanjanje podboja
  • Inline slike, aksijalni gradijenti sa više tačaka, radijalni gradijenti, trougaone mreže osenčene po Guroovom metodu slobodne forme / mrežaste forme, mreže sa Kunsovom zakrpom i zakrpom tenzorskog proizvoda, slike sa mekom maskom za alfa kanal po pikselu u PNG stilu i višekratna popunjavanja šarama
  • Imenovana odredišta, sličice stranica (thumbnails), stilizovanje strukture dokumenta na nivou stranice (boja, polucrno, kurziv), JavaScript registar imenovan na nivou dokumenta i kompletna familija Line / PolyLine / Polygon dodataka (naslov, završeci linija, namena, efekat ivice)
  • Oblikovanje arapskog pisma na strani generatora pokriva punu U+0672-06D5 tabelu klasa spajanja uz više od 40 statičkih Arabic Presentation Forms-A mapiranja, sa spajanjem ligatura u dodatnom prolazu za LAM-ALEF, YEH-HAMZA + parove samoglasnika (U+FBEA-FBFB), ligaturu Allah (U+FDF2) i frazu Bismillah (U+FDFD)
  • Površine mogućnosti oblikovanja više pisama: sirijski (GetSyriacJoiningClass / GetSyriacPosition), mongolski (GetMongolianJoiningClass / GetMongolianPosition), Devanagari (GetDevanagariCategory / ApplyDevanagariReorder) – pokreću isti GSUB mehanizam za složena ne-arapska pisma
  • Automatska Phase 8 linija za oblikovanje vođena opt-in svojstvom ShapingFeatures: sfArabicGSUB primenjuje nativni arapski init / medi / fina / isol uz rlig / calt / rclt za emitovanje kontekstualnih ID-jeva glifova specifičnih za font, sfCursiveAttachment primenjuje GPOS kurzivna sidra, sfStandardLigatures / sfContextualLigatures emituju latiničnu liga / clig (FB00-FB06: ff / fi / fl / ffi / ffl / ſt / st), a sfIndicShaping preraspoređuje Devanagari klastere (Repha + pre-base I-matra) pre emitovanja
  • Potpuno funkcionalan OpenType GSUB mehanizam supstitucije (LookupType 1-8) sa selekcijom Script / LangSys, zatvaranjem TTF subsetera (MarkUnicodeGlyphUsed), Cmap format 12 SMP pokrivenošću, GDEF parsiranjem, automatskim emitovanjem ToUnicode CMap-a sa 35 unosa za povratno mapiranje ligatura i pretragom preko GetUnicodeGlyphForCodepoint za pozivaoce koji upravljaju emitovanjem glif po glif
  • Emitovanje PUA sintetičkih kodnih tačaka (AssignSyntheticCodepointForGID / GetSyntheticCodepointForGID) omogućava generatorima da emituju bilo koji GSUB zamenski GID (oblici Devanagari klastera, stilističke alternative, CJK ideografske sekvence varijacija) kroz U+E000-F8FF Private Use Area sa preslikanom /CIDToGIDMap + /W integracijom; GetCodepointAdvance izlaže keširanu /W em-frakciju za proračune prelamanja
  • OpenType GPOS mehanizam za pozicioniranje iza opt-in prekidača oblikovanja: parni, pojedinačni i kontekstualni (Context / Chained Context) kerning za tekst pisan sleva nadesno i zdesna nalevo, postavljanje oznaka-na-bazu / oznaka-na-oznaku / oznaka-na-ligaturu sa tačnošću po komponenti na ligaturama, kurzivno ulazno-izlazno povezivanje, pozicioniranje po rastojanju i vertikalni kerning vkrn / vpal primenjen na izlaz vertikalnog teksta
  • Oblikovanje složenih pisama na strani generatora za Arabic Supplement / Extended-A / Extended-B, sirijsko, mongolsko, N'Ko, Adlam, Hanifi Rohingya, tibetansko slaganje, familiju indijskih pisama kroz lanac indijskih funkcija fonta, javansko, redosled oznaka u tajlandskom / lao pismu, redosled samoglasnika u hebrejskom, kmersko, mijanmarsko, Tai Viet i Meetei Mayek, svako iza sopstvenog opt-in prekidača sa ToUnicode povratnim mapiranjem za kopiranje / lepljenje
  • Automatske OpenType tipografske funkcije tokom ispisa teksta: liga / clig / dlig / hlig ligature, smcp / c2sc mala velika slova, onum / lnum / pnum / tnum stilovi cifara, sups / subs / ordn / frac / sinf / numr / dnom, salt stilističke alternative, calt / rclt kontekstualne alternative, locl lokalizovani oblici, case oblici, zero precrtana nula i vert / vrt2 vertikalne alternative, sa ulančanim zamenama koje se razrešavaju nazad u izvorni tekst u ToUnicode CMap-u
  • Optimizacija ugradnje fontova: ugrađeni programi fontova koji su uvek kompresovani, jedna ugrađena kopija po dokumentu za fontove korišćene na više stranica, determinističke oznake podskupova za ponovljiv izlaz i opcioni neugrađeni WinAnsi režim za običan ASCII tekst sa standardnim fontovima
  • AcroForm tekstualna polja, liste (list boxes), kombinovani okviri (combo boxes), polja za potvrdu (check boxes), radio dugmad, akcije dugmeta (uključujući proširene Named / Hide / Show / ImportData / SubmitForm sa korisnički kontrolisanim zastavicama /Flags i napredne lance akcija THPDFActionBuilder-a), polja za potpis i generisane tokove izgleda (multi-line + comb + rich-text Tx + CID-font /AP)
  • Familija okidača AcroForm polja (/AA /K Keystroke, /F Format, /V Validate, /C Calculate) sa jednom metodom omotača po JavaScript okidaču, ograničenim tipiziranim evaluatorom za uslovne, string, datum i niz izraze, imenovanim THPDFActionBuilder pomoćnicima za postavljanje i brisanje, omotačima po imenu polja za okidače miša i fokusa vidžeta (/E, /X, /D, /U, /Fo, /Bl), registracijom više Unicode /DR fontova preko RegisterAcroFormFont, podrškom za XFA (XML Forms Architecture) kontejnere (PDF 1.7 §12.7.6 / §12.7.8) sa AddXFAPacket / ClearXFAPackets / XFAPacketCount, DOM upitima i izmenama XDP toka i niza paketa koji čuvaju egzaktne bajtove sa ograničenom kanoničkom serijalizacijom imenskih prostora, CDATA i entiteta, kontrolama usaglašenosti PDF/A + PDF/X, plus pretvaranjem XFA-u-AcroForm (ApplyXFAAsAcroForm za sirove XDP bajtove, FlattenLoadedXFA za ugrađeni obrazac učitanog PDF-a) koje pretvara statički XFA u nativna AcroForm polja, stilove, flow-merena ugnježđena layout="tb", omotana layout="lr-tb", fiksno-kolone i auto-kolone tabelarna tekstualna polja i grafiku stranice tako da obrazac ostane vidljiv i popunljiv u čitačima bez XFA mehanizma
  • Metapodaci navigacije generisanog dokumenta: opsezi /PageLabels kataloga kroz THPDFPageLabelStyle, SetPageLabel i decimalne / rimske / alfabetske pomoćne metode, plus /Threads kataloga i perle članaka po stranici kroz RegisterArticleThread i THPDFPage.AddArticleBead
  • Dodatne akcije životnog ciklusa dokumenta u katalogu /AA /WC, /AA /WS, /AA /DS, /AA /WP i /AA /DP kroz THotPDF pomoćnike, plus dodatne akcije na nivou stranice /AA /O i /AA /C kroz THPDFPage.SetPageAdditionalAction i THotPDF.SetPageAdditionalAction, uključujući /Next lance THPDFActionBuilder-a i pomoćnike za brisanje
  • PDF/UA-1 površina za pristupačnost označenog PDF-a: svojstva sekvence označenog sadržaja u §14.8.4 na BeginTaggedContent (/Lang / /Alt / /ActualText / /E), postavljači atributa strukturnih elemenata (/Lang / /E / /T), Table 333 standardni enum tipova struktura (THPDFStandardStructureType) uz preopterećenje tipa AddStructureElement
  • Podrška za anotacije za isticanje, slobodan tekst, veze (links), priloge datoteka, iskačuće prozore, redigovanje, vodene žigove, bogate medije (rich media), 3D / U3D / PRC, stilove ivica i povezane iskačuće komentare
  • Standardna bezbednost lozinkom, AES-128 / AES-256 bezbednosni rukovaoci, PDF 2.0 R6 heširanje, šifrovanje javnim ključem primaoca sertifikata preko PKCS#7 koverti koje obezbeđuje pozivalac, eksplicitno čišćenje kopija lozinki, izvedeni ključevi datoteke i objekta, keširani AES rasporedi, PKCS#12 u čistom tekstu i privremeni čisti tekst tokovno na svakom putu uspeha ili neuspeha, i binarno bezbedno rukovanje ne-ASCII imenima boja / fontova
  • Digitalni potpisi PAdES B-B, B-T, B-LT i B-LTA sa SHA-2 ili SHA3 RFC 3161 verifikacijom vremenskih pečata, append-only LTA obnavljanjem sa DSS sertifikatom i dokazima opoziva koje dostavlja pozivalac, deduplikacijom dokaza kroz revizije, DSS / VRI validacijom, poverljivim tačkama poverenja koje dostavlja pozivalac, ograničenjima Seed Value, ISO 32001 deklaracijama i XAdES-in-PDF
  • In-process PFX / PKCS#12 potpisivanje: bibliotekom isporučen ASN.1, RSA, AES, PBES2 AES-128 / AES-192 / AES-256 CBC i HMAC-SHA-1 / SHA-256 / SHA-384 / SHA-512 PBKDF2 profili, legacy PBE-SHA1-3DES PFX, deterministički izbor localKeyId za više identiteta, očuvanje odgovarajućeg dostupnog lanca sertifikata i CMS SignedData stek koji potpisuje RSA i ECDSA nativno, a Ed25519 i Ed448 kroz opcion OpenSSL 3 libcrypto
  • Ubacivi PDF backendi za FastReport 4 / FastReport VCL, QuickReport, ReportBuilder i DevExpress ExpressPrinting System, plus VCL TDBGrid izvoznik tabela sa opt-in kontrolama usaglašenosti PDF/A i PDF/X

Visokoperformansni stek za kompresiju i obradu slika

Trenutne verzije HotPDF-a koriste zlib-ng u zlib-kompatibilnom režimu za ugrađeni Flate backend; tokovi stranica, tokovi ugrađenih fontova, ToUnicode CMap-ovi, Flate tokovi slika, izlazi povezani sa TIFF-om i FlateDecode pomoćne funkcije usmeravaju se kroz zlib sloj HotPDF-a

Win64x i dijagnostičke MSVC Win64 zlib-ng verzije uključuju raspoređivanje CPU-a u vreme izvršavanja za SSE2, SSSE3, SSE4.1, SSE4.2, PCLMULQDQ i AVX2 putanje sa zadržavanjem generičkih rezervnih opcija; Win32 ostaje na generičkom zlib-ng OMF skupu objekata preko bcc32c, dok Win32 JPEG i TIFF objekti nastavljaju da koriste klasičnu bcc32 OMF putanju

Standardni JPEG radni tokovi koriste ugrađeni libjpeg-turbo 3.1.90 skup objekata kroz libjpeg-kompatibilan API koji izlaže HPDFJpeg.pas; Win32, Win64 i Win64x nativne verzije sada uključuju odgovarajuće NASM SIMD skupove objekata, a isti nativni JPEG backend je dostupan integracionom sloju za TIFF radi rukovanja JPEG-kompresovanim TIFF-om

C runtime most u HPDFCLibs.pas sada razrešava malloc, free, realloc, calloc, memcpy, memmove i memset kroz jedan Pascal sloj, sa 32-bajtnom poravnatom alokacijom za nativne bafere pogodne za SIMD

Repozitorijum sadrži skripte za ponovljivu izgradnju objekata: Lib\thirdparty\build-bcc32.bat, Lib\thirdparty\build-bcc64x.bat i Lib\thirdparty\build-vc64.bat za kompletan nativni C skup biblioteka, kao i skripte samo za zlib-ng za fokusiranu ponovnu izgradnju kompresije

Brz Delphi primer

program HelloHotPDF;

uses
  System.SysUtils,
  HPDFDoc;

var
  PDF: THotPDF;
begin
  PDF := THotPDF.Create(nil);
  try
    PDF.AutoLaunch := False;
    PDF.FileName := 'HelloHotPDF.pdf';
    PDF.Compression := cmFlateDecode;
    PDF.EnableFontSubsetting := True;
    PDF.BeginDoc;
    PDF.CurrentPage.SetFont('Arial', [], 18);
    PDF.CurrentPage.TextOut(50, 50, 0, 'Hello HotPDF');
    PDF.EndDoc;
  finally
    PDF.Free;
  end;
end.

Sadržaj paketa

Tipični slučajevi upotrebe