Delphi HotPDF Hello World: Vaš prvi program PDF
Vsaka knjižnica PDF vsebuje primer »hello world« in HotPDF-jev je vreden podrobnejše obravnave. Že najmanjši program, ki naredi karkoli, vas namreč prisili v dve odločitvi, ki ju boste ponovili v…
Blog o razvoju programske opreme
Preberite inženirske zapise losLab o PDF, Delphi in dokumentni programski opremi v slovenščini
Vsaka knjižnica PDF vsebuje primer »hello world« in HotPDF-jev je vreden podrobnejše obravnave. Že najmanjši program, ki naredi karkoli, vas namreč prisili v dve odločitvi, ki ju boste ponovili v…
Napaka se glasiPlease load the document before using BeginDocin se skoraj vedno pojavi drugič. Prvi dokument se zapiše brez težav. Nato pa ista instancaTHotPDFprejme zahtevo za zagon drugega…
Dejanje AcroForm je slovar, priložen gradniku, ki pregledovalniku sporoči, kaj mora storiti, ko se s tem gradnikom nekaj zgodi. Kliknite gumb in pregledovalnik prebere njegov slovar dejanj: dejanje…
Zastavica dovoljenja PDF ni ključavnica. Gre za zahtevo, ki jo datoteka postavi vsakemu programu, ki jo odpre, pregledovalnik pa jo lahko prezre. To dejstvo določa, kako bi morali razmišljati o vseh…
Črtna koda ni le slika za okrasitev dokumenta. Gre za meritev, čitalnik pa je instrument, ki jo bere. Ta pogled določa skoraj vse o tem, kako jo morate izrisati v PDF. Črne črte same po sebi ne…
HotPDF riše vektorsko grafiko tako, da zgradi pot na trenutni strani in nato zahteva njen izris. Vmes ni koraka bitne slike. Črta, ki jo narišete zMoveToinLineTo, se v toku vsebine zaključi kot PDF…
HotPDF nima objekta grafikona. Ni razredaTPDFChart, ni metodeAddBarSeries, skratka ničesar, kar bi sprejelo polje številk in vrnilo izrisan grafikon. Namesto tega vam ponuja platno strani z istim…
Pošljite arabsko frazoيوضح ملف PDFvTextOutin odprite rezultat. Črke potekajo v napačno smeri, vsaka pa stoji v svoji izolirani obliki z vidnim razmikom pred naslednjo, kot bi nekdo tipkal angleščino…
Vsak viden niz v dokumentu HotPDF se izpiše prek enega klica:TextOut(X, Y, angle, Text). Primer Hello World ga uporablja v najbolj preprosti obliki, kjer je pisava nastavljena enkrat, štirje…
Če na stran postavite japonski roman, boste najprej opazili, da besedilo poteka navzdol po stolpcu in ne vodoravno čez vrstico ter da stolpci napredujejo od desnega roba lista proti levemu. Bralcu,…
Podpis PDF je večinoma računanje bajtov in ravno pri računanju bajtov gre pogosto kaj narobe. Kriptografija teče na kodi, ki je bila revidirana dve desetletji, in ta del skoraj nikoli ne odpove.…
Štetje strani v skeniranem arhivu velikosti 1,4 GB bi moralo biti procesno nezahtevno. Če pa na tej datoteki pokličeteLoadFromFile, to takoj postane potratno: HotPDF razčleni navzkrižne sklice…
Ustvarite poročilo, vgradite pisavo TrueType in izhod se pravilno odpre v vsakem pregledovalniku, ki ga poskusite. Glifi so pravilni, besedilo je mogoče izbrati, datoteka je veljavna. Edina težava je…
Funkcije PDF so eden bolj tihih kotov specifikacije. Večina razvijalcev se z njimi sreča le enkrat, kot s stvarjo, ki jo aksialno senčenje vrste 2 (Type 2 axial shading) potrebuje za prelivanje med…
Odprite datoteko PDF, ki jo je ustvaril Microsoft Word ali Excel, prelistajte jo in nič ne bo videti nenavadno. Naložite jo v program v Delphiju, preberite število strani in številka bo pravilna.…
Hiperpovezave PDF so anotacije URI: pravokotnik, ki pokriva določeno območje strani in ob kliku naroči pregledovalniku, naj odpre spletni naslov (URL). Anotacija in besedilo pod njo sta popolnoma…
Različica PDF 1.5 je uvedla dve shranjevalni strukturi, ki ju prejšnji format datoteke ni mogel izraziti: tok objektov (object stream) in tok navzkrižnih sklicev (cross-reference stream). Tok…
Oblikovalec izbere pisavo z enonivojsko črkoaza naslove, ali prečrtano ničlo za tabele, ali nabor okrašenih velikih začetnic (swash capitals) za naslovnico. Ti glifi so že v pisavi. Preprosto niso…
PDF/A, PDF/X in PDF/UA so trije različni standardi, ki rešujejo tri različne težave: dolgoročno arhiviranje, izmenjavo za tisk in dostopnost. To niso tri potrditvena polja na enem obrazcu o…
Ko podpisujete PDF, običajno mislite na podpisni ključ kot na nekaj, kar nadzorujete. Nahaja se v datoteki.pfx, ki ste jo ustvarili in zaščitili z izbranim geslom. Koda, ki bere to datoteko, se zdi…
Datoteka se na vašem računalniku odpre brez težav. Acrobat jo prikaže, predogled tiskanja je pravilen, vsaka stran je na svojem mestu. Nato pa jo pošljete v tiskarno ali v arhivski sistem, ki sprejme…
Ustvarjanje poročila se zvede na postavitev treh elementov na stran in njihovo medsebojno uskladitev: besedila na določenih koordinatah, pisav, ki se na strežniku izrišejo enako kot na vašem namizju,…
Nabor podatkov sestavljajo vrstice in stolpci, stran PDF pa je prazna koordinatna mreža brez kakršne koli tovrstne predstave. Premostitev tega razkoraka je glavna naloga tega članka. V knjižnici…
Dva obrazca lahko vsebujeta enaka polja, vendar delujeta popolnoma drugače. AcroForm ohranja svoja polja kot običajne predmete PDF na vrhu dejanske vsebine strani, zato jih izriše vsak skladen…
XFA (XML Forms Architecture) je zastarela. Standard ISO 32000-1 jo vsebuje v §12.7 z opombo, da je odstranjena iz PDF 2.0, sodobni pregledovalniki pa drug za drugim opuščajo svoje pogone XFA. Nič od…
Anotacija ni vsebina strani. Ko pokličete funkcijoTextOutali narišete pravokotnik, te oznake postanejo del toka vsebine strani, zapečene v bajte, ki jih upodabljalnik izriše. Anotacija je ločen…
Pošljite arabski stavekيوضح ملف PDF هذاv navadenTextOutin stran, ki jo dobite nazaj, bo napačna na dva načina hkrati. Besede tečejo od leve proti desni namesto od desne proti levi, črke pa stojijo…
Vsak viden znak v PDF-ju vsebuje sklic na pisavo, s katero je bil izrisan, in PDFium Component vam omogoča, da temu sklicu sledite nazaj do objekta pisave ter preberete, kaj ta ve. Enota za dostop je znak,…
PDF ni le papir. Je vsebnik, ki lahko nosi skripte, ki se zaženejo ob odprtju datoteke, povezave, ki zaženejo zunanje programe, povezave, ki dosežejo spletne strežnike, datoteke, gnezdene znotraj…
Bralnik PDF v Delphiju se v osnovi zanaša na dve komponenti in njuno medsebojno povezavo. KomponentaTPdfupravlja dokument: odpre datoteko, jo dešifrira in odgovarja na vprašanja o številu strani in…
Ekipa za obdelavo zahtevkov je imela trideset let papirnih spisov, ki so jih morali poslati skozi optični bralnik (skener). Skener je v mapo izvozil po eno sliko JPEG na stran z…
Izrisovanje strani PDF v sliko JPEG je sestavljeno iz dveh operacij, ki ju programerji pogosto združijo in nato ločeno odpravljajo napake. Najprej stran rasterizirate v bitno sliko (bitmap) pri…
PDFium ima sloves motorja za prikazovanje dokumentov (viewer engine), izrisovalnika za zavihkom PDF v brskalniku Chrome, zato je prva stvar, ki jo je treba razjasniti, ta, da lahko PDFium Component zgradi…
PDF shranjuje slike kot objekte prvega razreda (first-class objects) znotraj svojih vsebinskih strug. Ko se stran sklicuje na fotografijo, skenirano sliko ali diagram, slikovni podatki živijo v…
Črpanje besedila iz datotek PDF se zdi preprosto, dokler ne naletite na dokument, v katerem besedilna plast manjka, je poškodovana ali razdeljena na desetine majhnih nizov znakov brez smiselnega…
Povezava Pascal nad knjižnico C se bere kot običajen Pascal. Pokličete metodo, dobite zapis nazaj, sprostite tisto, kar ste dodelili. Težava je v tem, da je PDFium knjižnica C in C++ z lastno…
PDFium Component ponuja združevanje datotek PDF prek ene same metode:ImportPages. Vzorec je vedno enak: ustvarite prazen ciljni dokument, odprite vsako izvorno datoteko, pokličiteImportPages, da…
Združevanje (merge) in deljenje (split) sta dve operaciji s stranmi, po katerih vsi najprej posežejo, in pokrivata veliko področij. Vendar ne pokrivata vsega. Obstaja ločena družina opravil, ki…
Slepi uporabnik odpre četrtletno poročilo v vašem novem pregledovalniku Delphi, vklopi bralnik zaslona NVDA in zasliši nogo strani, nato stolpec s številkami, šele nato pa naslov, ki bi ga vsak…
PDF anotacija je slovar, priložen strani, in ne oznaka, narisana na njej. Standard ISO 32000-1 §12.5 opredeljuje približno dva ducata podtipov, od katerih vsak vsebuje /Subtype, pravokotnik v…
Pritisnite Tab v obrazcu PDF, ki ga je zgradila vaša koda, in kazalec bo pristal dve polji stran od mesta, kjer bi moral, ali pa bo popolnoma preskočil drugi stolpec oziroma skočil nazaj na vrh po…
Delphi in Lazarus prevajata isti Object Pascal, in prav ta zunanja podobnost je razlog, da je prenos pregledovalnika med njima varljiv. Orodni verigi se razhajata na treh mestih, pomembnih za delo s…
Slaboviden bralec ne more razločiti črnega besedila na beli strani pri privzetem kontrastu, zato potrebuje temen način. Preprost odgovor je inverzija vsake slikovne pike na izrisani strani. To sicer…
Delovno okolje za pregled prejetih PDF-jev je majhen program z eno samo nalogo: pregledati vsako datoteko, preden jo lahko obdelajo drugi sistemi v nadaljnjem procesu. Za opravljanje te naloge mora v…
Orodje za paketno predhodno preverjanje (preflight) je konzolni program brez okna, usmerjen v mapo z datotekami PDF, ki vsako datoteko preveri glede na določene standarde skladnosti in ustvari…
Pridržite gumb za približevanje v preprostem bralniku PDF in opazujte grafikon procesorja. En sam pritisk gumba za samodejno ponavljanje približevanja sproži ducat or več korakov povečave v sekundi.…
Predogled nezaupljivega PDF-ja znotraj vaše aplikacije je izvajalska odločitev, pri čemer ni pomemben vizualni okvir pregledovalnika, temveč to, česa področje za predogled samo po sebi noče storiti.…
Funkcija branja na glas ima poleg samega glasu še eno vidno nalogo: ko je posamezna beseda izgovorjena, jo mora na strani osvetliti in jo ohraniti v vidnem polju. Za to potrebujete očrtni okvir…
Koordinate PDF so v točkah (points), tiskalniške koordinate pa v enotah naprave (device units), oba sistema pa nimata nič skupnega, dokler ju namerno ne pretvorite. To neskladje je glavni razlog za…
Nanos vodnega znaka ali logotipa na vsako stran dokumenta je videti kot petminutno delo, dokler rezultata ne odprete v pregledovalniku velikosti datotek. Očitna pot je sprehod skozi strani in na…
PDFium Component ponuja eno metodo za razdeljevanje PDF-jev:ImportPages. Vse ostalo, naj gre za izločanje posamezne strani, rezanje na poljubnih mejah ali sledenje lastni strukturi zaznamkov dokumenta, so…
Skeniran arhiv lahko v enem samem PDF-ju obsega veg gigabajtov. Pregledovalnik, ki odpre takšno datoteko, običajno želi prikazati eno stran, morda kazalo vsebine ali stran, na katero je uporabnik…
Dva odprta dokumenta hrati, ista številka strani, vsak v svoji drsni plošči: to je jedro primerjalnega pregledovalnika. PDFium Component to omogoča prek preprostega objektnega modela, kjer jeTPdflastnik…
Napišete majhen validator. Odpre PDF, poišče konec, najdestartxref, prebere odmik in pričakuje, da bo pristal na ključni besedixrefs tabelo navzkrižnih sklicev fiksne širine pod njo. Iz te tabele…
Priloge datotek PDF so shranjene v drevesu vgrajenih datotek dokumenta, kar večina pregledovalnikov prikaže kot ploščo s sponko ali stransko vrstico s prilogami. V kodi Delphi komponenta PDFium Component…
Črtna koda na odpremno nalepki ali računu ima eno samo nalogo: bralnik jo mora prebrati v prvem poskusu. Ali bo ta poskus uspel, pa se odloči že dolgo preden paket prispe na nakladalno rampo. Odvisno…
Delovna miza, ki povezuje preverjanje skladnosti z digitalnim podpisovanjem, mora usklajevati štiri korake v tem vrstnem redu in jih ves čas ohranjati povezane z istim naborom bajtov. Izvede…
Tukaj je težava, ki se pojavi v trenutku, ko knjižnica za PDF zapusti svoj domači jezik. Imate vezavo, ki deluje popolnoma v C# na Windowsih. Potrebujete enake klicne funkcije v Pythonu na macOS, so…
Zastavica dovoljenja ni varnostni mehanizem. Bit, ki pravi "brez kopiranja", živi znotraj istega slovarja /Encrypt kot kriptografija, kar mu daje pridih uveljavljanja, ki ga nima, in ko ti dve stvari…
Večina razvijalcev si stran PDF predstavlja kot list papirja z besedilom in slikami. Georeferenciran PDF pa je več kot to. Vsebuje dovolj podatkov, da lahko vzamete točko na strani, izmerjeno v…
Polje obrazca PDF je samo po sebi le polje, ki vsebuje vrednost. Tisto, zaradi česar se obrazec obnaša kot majhna aplikacija, je nanj pripeto dejanje: klik, ki skrije razdelek, povleče shranjene…
Združevanje ali razdeljevanje dvogigabajtnega PDF-ja na očiten način vas stane dejavnosti hkrati: časa in naslovnega prostora. Očiten način je, da naložite vsak vhod, izvedete delo in zapišete izhod.…
Trije rastrirniki lahko preberejo isti PDF in se ne strinjajo o tem, kaj piše. Vgrajeni pogon v PDFlibPas je tisti, ki se pošlje brez dodatnih datotek in vse upodobi kompetentno, zato si zasluži…
Geodet odpre načrt lokacije in želi, da so plasti s konturami skrite, medtem ko instalacije ostanejo vidne. Ocenjevalec želi, da so rdeče korekturne pripombe vidne na zaslonu in odstranjene iz…
Potrjevanje enega podpisa PAdES pomeni preverjanje treh neodvisnih stvari, zelena kljukica v pregledovalniku pa vam pove le o tretji. Prvič, polje/ByteRangemora pokrivati prave bajte: razponi, ki jih…
PDF/A in PDF/UA odgovarjata na dve vprašanji, ki nista med seboj povezani, in njuno obravnavanje kot enotno potrditveno polje za dostopnost in arhiviranje je razlog, da poškodovane datoteke dosežejo…
Izrisovanje strani PDF v kontekst naprave (Device Context - DC) sistema Windows za predogled tiskanja postavi tri koordinatne sisteme v isto vrstico kode, ti pa se le redko ujemajo. Stran PDF se meri…
Dostopen dokument PDF temelji na strukturi, ki je vidna stran nikoli ne prikaže: strukturnem drevesu, določenem v standardu ISO 32000-1 §14.7. Gre za logično hierarhijo naslovov, odstavkov, tabel in…
Pridobivanje besedila, slik in pisav iz obstoječe datoteke PDF se morda zdi enostavna naloga, dokler skozi ta postopek ne spustite realnega niza podatkov. Če iskalni indeks usmerite na štirideset…
PDF ni le dokument, ki ga odprete. Je majhen program, ki ga zaženete. Vsaka vgrajena pisava je interpreter na podlagi sklada, ki čaka na nize znakov (charstrings), vsaka slika je dekodirnik, ki se…
Večina kode v Delphi, ki se dotika PDF, obravnava ta format kot vsebnik za dve stvari: nize besedila in nekaj postavljenih bitnih slik. Ta pogled je sicer pravilen, vendar pušča neuporabljen najbolj…
Skoraj vsak del dednega dvojiškega formata Excel je en sam zapis s čistim dvobajtnim tipom in dvobajtno dolžino. Celica jeLABELSSTaliNUMBER. Združeno območje jeMERGEDCELLS. Večino delovnega lista…
Vse, kar lebdi nad mrežo delovnega lista (grafikon, logotip, žig, oblaček z besedilom), je risani objekt (drawing object), ki ga določata dve stvari: kaj je in kje je zasidran. Sidro je del, pri…
Preimenujte delovni list iz "Summary" v "Overview" v ustvarjenem delovnem zvezku in vsaka notranja povezava, ki je kazala naSummary!A1, bo prenehala delovati. Brez sprožitve izjeme ob shranjevanju,…
Pravilo za pogojno oblikovanje v formatu OOXML sta dve ločeni zadevi pod enim imenom. Pogoj (primerjava, formula, ujemanje besedila) določa, katere celice izpolnjujejo pogoje. Izgled (zapis…
Predstavljajte si nočno opravilo, ki v kodi zgradi delovni zvezek za račune in ga izvozi kot datoteko CSV za uvoz v drug sistem. V Excelu so številke videti pravilne. Datoteka CSV se čisto odpre v…
Tri funkcije v HotXLS si delijo delovni list, vendar delujejo na povsem različnih objektih, težave pa se začnejo, ko predvidevate, da počnejo podobne stvari. Validacija podatkov prine pravilo na…
Pretvorba rezultatov poizvedbe v poročilo Excel predstavlja tri težave v enem paketu. Vsaka vrsta polja Delphi mora v celico priti kot ustrezna vrsta za Excel, vrstica z glavo mora izgledati kot…
Odprite preglednico, kliknite celico, ki prikazuje2026-06-19, in vrstica za formule bo še vedno prikazovala datum. Preberite isto celico iz Delphija in prejeli boste število46192. Oba pogleda sta…
Določeno ime (defined name) je oznaka, ki nadomešča konstanto, obseg celic ali izraz formule. Shranjeno je enkrat v delovnem zvezku, nanj pa se simbolično sklicujemo povsod, kjer je to potrebno. Če v…
Družina inženirskih funkcij v Excelu deluje kot najlažji del referenčnega seznama funkcij.DEC2BINspremeni število v dvojiški niz.HEX2DECga spremeni nazaj.IMSUMsešteje dve kompleksni števili. Vsaka od…
Knjižnica za preglednice, ki shranjuje le nize formul, in knjižnica z delujočim pogonom formul sta dve različni stvari, ki izgledata enako, dokler je ne vprašamo po številki. Večina kode za…
Ko izvoz s 300.000 vrsticami preseže pomnilniški proračun, navadno okrivimo število vrstic. Toda to število je navadno nedolžno. Dragi deli velikega delovnega zvezka so tisti, ki nastanejo kot…
Delovni zvezek, ki ga stranka želi natisniti, sledi drugačni logiki oblikovanja od tistega, ki ga bo obdelovala pivot tabela. Tiskano poročilo ima glave, ki se raztezajo čez več stolpcev, razdelilne…
Zaledje poročanja v Delphiju, ki je leta oddajalo .xlsx, dobi novo zahtevo: predpisi o javnem naročanju stranke v javnem sektorju zahtevajo izhod OpenDocument Spreadsheet, analitiki na tem računu pa…
Zapišete delovni zvezek, ga šifrirate z geslom, predate datoteko sodelavcu in sodelavec jo odpre v Excelu. Excel zahteva geslo. Sodelavec ga vpiše in Excel ga sprejme. Do te točke je šifriranje…
Če je edino opravilo strežnika oddajanje Excelovih datotek, nima razloga za poganjanje Excela. Nameščanje Officea na agenta za gradnjo ali poročevalsko storitev, da ga krmilite prek COM…
Tri skupine nastavitev delovnega lista nimajo ničesar skupnega z vrednostmi celic in imajo vse skupnega z načinom obnašanja datoteke, ko zapusti vašo kodo. Zaščita lista odloča, katere celice lahko…
Včasih je edino vprašanje, ki ga rutina za vnos potrebuje, strukturno: ali ta delovni zvezek ima list, imenovan "Mapping", ali koliko zavihkov nosi. Odgovor na to z klicemOpenje drogi način. Polno…
Vpišite=NORM.DIST(115,100,15,TRUE)v celico in Excel bo brez oklevanja vrnil 0.8413447. Klic deluje kot preprosto iskanje. Pa ni. Za to eno številko se skriva kumulativna normalna porazdelitev,…
Recimo, da nočna storitev Delphi generira en XLSX na stranko, nekaj sto datotek, nekatere od njih 400.000 vrstic. Profilirajte jo in presenečenje redko predstavlja zanka za polnjenje celic. To je…
Zanesljiv način za ustvarjanje stiliziranega Excel poročila iz Delphija je začetek z delovnim zvezkom, ki ga je oblikovalec že pripravil. Nekdo v finančnem oddelku oblikuje račun v Excelu: logotip,…
Preglednica vsebuje stolpec z imeni strank. Nekatera so v kitajščini, nekatera v cirilici, nekaj jih vsebuje nemške preglase ali francoski naglas. Izvozite jo v CSV in odprete rezultat – vsak znak je…
Predstavljajte si opravilo, ki skoraj ne naredi ničesar: odpre mesečni delovni zvezek, vpiše današnji datum v eno celico in ga shrani nazaj. Če to opravilo pogosto izvajate prek storitve v ozadju, se…
Skupinsko normalizacijsko opravilo preglednic je tri problemi v enem plašču. Imate arhiv mešanih formatov:.xlsiz ere BIFF, sodobni.xlsx, razpršeni.odsiz nekega eksperimenta z LibreOffice, in peščica…
Preglednica nosi dve plasti identitete. Obstaja mreža celic in obstajajo metapodatki dokumenta, ki jo spremljajo: naslov, avtor, podjetje, ključne besede in časovni žigi. Excel te druge plasti nikoli…
Excel izpostavlja dve stvari, ki se obe imenujeta "geslo", in samo ena od njiju je šifriranje. Geslo za odpiranje krmili pravo šifro: brez njega datoteke sploh ni mogoče prebrati. Gesla za zaščito…
PDF je v svojem jedru besedilni vsebnik. Če večino datotek odprete v heksadecimalnem urejevalniku, je začetek berljiv: komentar o različici, nato niz oštevilčenih objektov, na samem dnu pa majhno…
Simptom se je pojavil v pripomočku za kopiranje strani, zgrajenem na osnovi knjižniceHotPDF Component: zahteva za prvo stran dokumenta s tremi stranmi je dosledno vrnila drugo stran. Pregled logike…
Slovar kataloga PDF (PDF Catalog) ima natanko en zahtevan navigacijski ključ:/Pages. Ta ključ mora kazati na posredni objekt tipa/Pages, ki vsebuje polje/Kidsin skupno število strani/Count. Če ta…
Datoteka PDF je v svojem bistvu zbirka objektov, ki kažejo drug na drugaga. Če odstranimo stiskanje, vodenje navzkrižnih sklicev in bajtne odmike, ostane le graf: majhen nabor tipiziranih vrednosti,…
Če odstranimo opise strani, ostane le tanek sloj strukture, ki je nihče ne tiska, a so od nje odvisni vsi bralniki, iskalniki in arhivski sistemi. Objekt strani ne ve ničesar o poglavju, ki mu…
Če postavite 80 MB skenirano poročilo za spletno povezavo in ga odprete v brskalniku, se zgodi naslednje: pregledovalnik prikazuje prazno okno, dokler se ne prenese velik del bajtov, nato pa naenkrat…
Stran PDF ne shranjuje slikovnih pik in ne shranjuje drevesa geometrijskih objektov, kot to počne SVG. Shranjuje program. Vsaka črta, krivulja, polnilo in vstavljena slika na strani je rezultat…
Dokument PDF, ki na vašem računalniku izgleda odlično, na računalniku nekoga drugega pa se prikaže kot vrsta praznih kvadratkov, je najpogostejša napaka s pisavo v programski opremi za dokumente, pri…
Bralnik PDF ne začne brati datoteke na njenem začetku. Začne na koncu. Zadnjih nekaj bajtov vsebuje naslove vseh ostalih delov in parser, ki ne razume tega vrstnega reda, bo napačno prebral format že…
Objekt številka 1 ni prva stran. Ta razlika je najpogostejši vir napak z napačno izvoženo stranjo v parserjih za PDF, rešitev pa je v branju specifikacije in ne samih bajtov datoteke
Prva stran PDF-ja ni objekt številka 1. Ta razlika je najpogostejši vir napak z napačno izvoženo stranjo v parserjih za PDF, rešitev pa je v branju specifikacije in ne samih bajtov datoteke
PDF je zbirka oštevilčenih objektov, dostopnih prek navzkrižne tabele. Ta model določa vgradnjo pisav, obsege bajtov podpisov in inkrementalne posodobitve
Odprtokodna knjižnica za Delphi z WebRTC, GPU-predpomnjenimi kontrolami FireMonkey, JSON/BSON razčlenjevanjem in MongoDB. Pokriva združljivost z 11.1
Ko vzdržujete komponento VCL, napisano v Delphiju, ki pa jo uporabljajo uporabniki tako Delphija kot C++Builderja, hitro ugotovite, da oba sistema za gradnjo (build systems) povsem drugače…
Napake pri preverjanju obsega (range check errors) v knjižnicah Delphi PDF slovijo po tem, da jih je težko odkriti, saj ne sledijo doslednemu vzorcu vnosa. Isti dokument jih povzroči na enem…
TDateTimePickerje dobil lastnostFormatnekje med različicama Delphi 5 in Delphi 6. Točna meja različice je redko zanesljivo dokumentirana, in ko naletite nanjo, vam prevajalnik preprosto javi, da…
StrukturaLOGBRUSHima v Windows API dve različni življenji. Ena je aktivni opisovalec objekta GDI, ki ga sprejmeCreateBrushIndirect. Druga je njena serijska različica znotraj zapisa Enhanced Metafile,…
Postavitev komponenteTHotPDFna obrazec v času načrtovanja je primerna za hiter prototip, vendar poveže življenjsko dobo komponente z življenjsko dobo obrazca, kar je redko tisto, kar želimo v…
Ko v avtomatiziranem cevovodu obdelujete velike serije Excelovih preglednic, redkokdaj želite naložiti celoten dokument v pomnilnik samo zato, da bi ugotovili, za kaj gre. Pogosto zadostujejo…
Stari vzorec_ftolv 32-bitnem Delphi je pogosto videti kot majhen združljivostni trik: Pascal funkcija odpre inline assembler, se dotakne x87 FPU stanja in nato vrne celoštevilski rezultat. Ker je…
Spletne storitve za podpisovanje rešujejo specifičen logistični problem: pridobivanje podpisa na dokumentu, ko podpisnik nima programske opreme za PDF, nima časa za tiskanje in nima faks naprave.…
V podjetniškem tisku, arhiviranju in potekih dela za skladnost dokumentov datoteke PDF ni mogoče preprosto "upodobiti". Potrebno jo je revidirati. Datoteka PDF lahko vsebuje nesploščene skupine…
Dostopnost ni več neobvezna funkcija v sodobnem razvoju programske opreme. Po predpisih, kot sta ADA (Zakon o Američanih invalidih) in Direktiva EU o spletni dostopnosti, mora programska oprema, ki…
Ena sama stran formata A4, upodobljena pri udobni povečavi za branje, zavzame nekaj megabajtov 32-bitne bitne slike. Pomnožite to s 400-stransko pogodbo in računica preneha biti abstraktna: če…
Pri razvoju dokumentnih rešitev za podjetja boste neizogibno naleteli na PDF datoteke, ki jih ustvari ogromno različnih orodij, od vrhunske programske opreme Adobe do hroščate odprtokodne knjižnice…
V pravnem, finančnem in zdravstvenem sektorju je ustvarjanje velikih količin PDF dokumentov standardna praksa. Vendar pa je izdelava dokumentov le polovica bitke; njihovo varovanje je enako kritično.…
Tri knjižnice. Tri različna opravila. Izbira napačne vas stane tedne iskanja začasnih rešitev, izbira vseh treh, ko potrebujete le eno, pa prinaša stroške vzdrževanja, ki jih niste načrtovali. Tukaj…
Dokumenti PDF so neverjetno zmogljivi, vendar pa ta zmogljivost prinaša tudi inherentna varnostna tveganja. Ker datoteke PDF podpirajo vdelane datoteke, interaktivni JavaScript in kompleksne binarne…
Obdelava standardnih PDF dokumentov (od 1 MB do 10 MB) v Delphiju je preprosta z uporabo standardnih razredov tokov, kot staTFileStreamaliTMemoryStream. Vendar pa, ko imate nalogo obdelati gigabajtne…
Dve minuti za kopiranje treh strani iz 40-stranskega dokumenta PDF ni težava z optimizacijo delovanja. To je znak, da se uporablja napačna pot API. Ko sem prvič videl ta čas v primeru kopiranja…
Dimenzije strani PDF so določene ob ustvarjanju strani, zato vsebine ne morete preprosto pomanjšati na mestu, kot bi spremenili velikost slike. Model knjižnice, ki omogoča praktično pomanjševanje, je…
RTF je prisoten že dovolj dolgo, da se pojavlja na mestih, ki jih nihče ni načrtoval: v starejših generatorjih poročil, cevovodih za spajanje dokumentov in arhivih pravnih dokumentov, ki so starejši…