Delphi HotPDF Hello World: Vaš prvi PDF program
Svaka biblioteka za PDF dolazi s "hello world" primjerom, a HotPDF-ov je vrijedan detaljnijeg proučavanja jer najmanji program koji radi bilo što već zahtijeva dvije odluke koje ćete ponavljati u…
Blog o razvoju softvera
Pročitajte inženjerske bilješke losLaba o PDF-u, Delphiju i softveru za dokumente na hrvatskom
Svaka biblioteka za PDF dolazi s "hello world" primjerom, a HotPDF-ov je vrijedan detaljnijeg proučavanja jer najmanji program koji radi bilo što već zahtijeva dvije odluke koje ćete ponavljati u…
Pogreška glasiPlease load the document before using BeginDoci gotovo se uvijek pojavljuje drugi put. Prvi se dokument zapisuje bez problema. Zatim se od isteTHotPDFinstance traži da započne drugi…
AcroForm akcija je rječnik (dictionary) pridružen widgetu koji govori pregledniku što učiniti kada se nešto dogodi s tim widgetom. Kliknite gumb i preglednik čita njegov rječnik akcije: URI akcija…
Zastavica dopuštenja u PDF-u nije brava. To je zahtjev koji datoteka upućuje onome što je otvara, a preglednik ga može slobodno zanemariti. Ta jedna činjenica određuje kako biste trebali razmišljati…
Barkod nije samo slika kojom ukrašavate dokument. To je mjera, a skener je instrument koji je čita. Taj pristup odlučuje o gotovo svemu u vezi s načinom na koji biste ga trebali nacrtati u PDF-u.…
HotPDF crta vektorsku grafiku tako da izgradi stazu (path) na trenutnoj stranici i zatim zatraži njezino bojanje. Između toga nema koraka pretvorbe u bitmapu. Linija koju nacrtate pomoću MoveTo i…
HotPDF nema objekt grafikona. Ne postoji TPDFChart, niti AddBarSeries, ništa što prima niz brojeva i vraća iscrtani grafikon. Umjesto toga, nudi vam platno stranice s istim jednostavnim vokabularom…
Proslijedite arapsku frazu يوضح ملف PDF metodi TextOut i otvorite rezultat. Slova idu u pogrešnom smjeru i svako stoji u svom izoliranom obliku s vidljivim razmakom prije sljedećeg, kao da je netko…
Svaki vidljivi niz znakova u HotPDF dokumentu stiže kroz jedan poziv: TextOut(X, Y, kut, tekst). Hello World primjer koristi ga u njegovom najjednostavnijem obliku, s jednom postavljenim fontom i…
Otvorite japanski roman i prva stvar koju ćete primijetiti jest da tekst ide niz stupac, a ne preko retka, te da stupci napreduju od desnog ruba stranice prema lijevom. Čitatelju koji je odrastao uz…
PDF potpis je uglavnom obračun bajtova (byte accounting), a obračun bajtova je upravo ono gdje dolazi do pogrešaka. Kriptografija se izvodi na kodu koji je revidiran već dva desetljeća i taj dio…
Brojanje stranica u skeniranoj arhivi veličine 1,4 GB trebalo bi biti jeftino. PozoviteLoadFromFilena toj datoteci i to prestaje biti jeftino: HotPDF analizira unakrsne referentne podatke i gradi…
Generirajte izvje??e, ugradite TrueType font i izlaz se ispravno otvara u svakom pregledniku koji isprobate. Glifovi su ispravni, tekst se mo?e odabrati, datoteka je valjana. Jedino ?to nije u redu…
PDF funkcije su jedan od tiših kutova specifikacije. Većina programera susreće se s njima samo jednom, kao s nečim što je potrebno aksijalnom sjenčanju tipa 2 (Type 2 axial shading) kako bi prelazilo…
Otvorite PDF koji je proizveo Microsoft Word ili Excel, listajte kroz njega i ni?ta ne izgleda neobi?no. U?itajte ga u Delphi program, pro?itajte broj stranica i broj je to?an. Zatim ga ponovno…
PDF hiperveze su zapravo URI bilješke (annotations): pravokutnik koji pokriva određeno područje stranice i koji, kada se klikne, govori pregledniku da otvori URL. Bilješka i tekst ispod nje potpuno…
PDF 1.5 uveo je dvije strukture za pohranu koje raniji format datoteke nije mogao izraziti: tok objekata (object stream) i tok unakrsnih referenci (cross-reference stream). Tok objekata je jedan…
Dizajner bira font s jednokatnimaza naslove, ili prekriženom nulom za tablice, ili skupom ukrasnih velikih slova (swash capitals) za naslovnicu. Ti se glifovi već nalaze u fontu. Oni jednostavno nisu…
PDF/A, PDF/X i PDF/UA tri su različita standarda koji rješavaju tri različita problema: dugoročno arhiviranje, pripremu za ispis i pristupačnost. Oni nisu samo tri potvrdna okvira na jednom obrascu o…
Kada potpisujete PDF, obi?no mislite o klju?u za potpisivanje kao o ne?emu ?to kontrolirate. On ?ivi u.pfxdatoteci koju ste generirali, za?ti?en lozinkom koju ste odabrali. Kod koji ?ita tu datoteku…
Datoteka se čisto otvara na vašem računalu. Acrobat je prikazuje, pregled ispisa izgleda ispravno, svaka stranica je tu. Zatim odlazi u tiskaru ili u arhivski sustav koji preuzima vašu mjesečnu…
Generiranje izvješća svodi se na postavljanje tri stvari na stranicu i njihovo usklađivanje oko položaja: tekst na poznatim koordinatama, fontovi koji se na poslužitelju prikazuju isto kao i na vašem…
Skup podataka (dataset) sastoji se od redaka i stupaca; PDF stranica je prazna koordinatna mreža koja nema pojam ni o jednom ni o drugom. Premještanje tog jaza cijeli je posao ovdje. U HotPDF-u ne…
Dva obrasca mogu imati ista polja, a ponašati se potpuno različito. AcroForm čuva svoja polja kao obične PDF objekte koji se nalaze na vrhu stvarnog sadržaja stranice, pa ih svaki usklađeni…
XFA, arhitektura XML obrazaca (XML Forms Architecture), je zastarjela. ISO 32000-1 je navodi u §12.7 uz napomenu da je uklonjena iz PDF-a 2.0, a moderni preglednici jedan po jedan odbacuju svoje XFA…
Bilješka (annotation) nije sadržaj stranice. Kada pozoveteTextOutili nacrtate pravokutnik, oznake postaju dio toka sadržaja stranice, ugrađene u bajtove koje renderer iscrtava. Bilješka je zaseban…
Pošaljite arapsku rečenicuيوضح ملف PDF هذاu običniTextOuti stranica koja se vrati bit će pogrešna na dva načina odjednom. Riječi idu s lijeva na desno umjesto s desna na lijevo, a slova stoje…
Svaki vidljivi znak u PDF-u nosi referencu na font koji ga je nacrtao, a PDFium Component vam omogućuje da pratite tu referencu natrag do objekta fonta i pročitate što on zna. Jedinica pristupa je znak, a…
PDF nije samo papir. To je spremnik koji može nositi skripte koje se pokreću kada se datoteka otvori, veze koje pokreću vanjske programe, veze koje se obraćaju web poslužiteljima, datoteke…
Preglednik PDF-a u Delphiju svodi se na dvije komponente i njihovo međusobno povezivanje.TPdfupravlja dokumentom: otvara datoteku, dešifrira je i odgovara na upite o broju stranica i…
Tim za obradu zahtjeva imao je trideset godina papirnatih spisa koje je trebalo provući kroz skener s automatskim uvlačenjem listova. Skener je izbacivao jedan JPEG po stranici u mapu, s…
Renderiranje PDF stranice u JPEG sastoji se od dvije operacije koje programeri obično spajaju, a zatim odvojeno ispravljaju pogreške. Najprije rasterizirate stranicu u slikovnu bitmapu u odabranoj…
PDFium ima reputaciju mehanizma za pregledavanje (viewer engine), odnosno renderera koji stoji iza Chromeove PDF kartice, stoga najprije treba razjasniti da PDFium Component također može izgraditi dokument…
PDF pohranjuje slike kao objekte prve klase (first-class objects) unutar svojih tokova sadržaja (content streams). Kada stranica referencira fotografiju, skenirani dokument ili dijagram, pikselni…
Ekstrakcija teksta iz PDF-a izgleda jednostavno sve dok ne naiđete na dokument u kojem je tekstualni sloj odsutan, oštećen ili podijeljen na desetke sitnih blokova znakova bez ikakvog smislenog…
Pascal vezanje preko C knji?nice ?ita se kao obi?an Pascal. Pozovete metodu, dobijete zapis natrag, oslobodite ono ?to ste dodijelili. Nevolja je u tome ?to je PDFium C i C++ knji?nica s vlastitom…
PDFium Component omogućuje spajanje PDF-ova putem jedne metode:ImportPages. Uzorak je uvijek isti: stvorite prazan ciljni dokument, otvorite svaku izvornu datoteku, pozoviteImportPagesza kopiranje…
Spajanje i dijeljenje su dvije operacije sa stranicama koje svatko prvo isproba, i one pokrivaju puno toga. Me?utim, one ne pokrivaju sve. Postoji zasebna obitelj poslova koja preslaguje stranice…
Slijepi korisnik otvara tromjesečno izvješće u vašem novom Delphi pregledniku, uključuje NVDA i čuje podnožje stranice, zatim stupac brojki, a tek onda naslov koji bi svaki videći čitatelj pročitao…
PDF anotacija je rječnik (dictionary) pridružen stranici, a ne oznaka nacrtana na njoj. ISO 32000-1 §12.5 definira otprilike dva tuceta podtipova, a svaki od njih sadrži /Subtype, pravokutnik u…
Pritisnite Tab u PDF obrascu koji je stvorio vaš kod, i pokazivač će sletjeti dva polja dalje od mjesta na kojem bi trebao biti, ili će potpuno preskočiti drugi stupac, ili će se nakon trećeg polja…
Delphi i Lazarus kompajliraju isti Object Pascal, a ta površinska sličnost upravo je ono što portiranje preglednika između njih čini varljivim. Ova se dva lanca alata razilaze na tri mjesta koja su…
Slabovidni čitatelj ne može razaznati crni tekst na bijeloj stranici pri zadanom kontrastu, pa traži tamni način rada. Naivan odgovor je invertirati svaki piksel iscrtane stranice. To se isporuči za…
Radni stol za unos i pregled PDF-a (PDF intake review workbench) mali je program s jednim zadatkom: pregledati svaku datoteku prije nego što je bilo koji daljnji proces smije dotaknuti. Da bi obavio…
Alat za grupni preflight (grupnu provjeru prije slanja) je konzolni program bez prozora, usmjeren na mapu s PDF-ovima, koji provjerava usklađenost svakog dokumenta sa standardima koje navedete i…
Držite pritisnut gumb za zumiranje u naivnom PDF pregledniku i promatrajte grafikon procesora. Jedan pritisak na kontrolu zumiranja s automatskim ponavljanjem pokreće desetak ili više koraka…
Pregledavanje nepouzdanog PDF-a unutar vaše vlastite aplikacije je sigurnosna odluka, a ono što je važno nije izgled preglednika, već ono što prozor odbija učiniti sam od sebe. Nemojte pisati…
Značajka čitanja naglas ima jedan vidljiv zadatak osim samog glasa: kako se koja riječ izgovara, mora osvijetliti tu riječ na stranici i zadržati je u vidnom polju. Da biste to postigli, potreban vam…
PDF koordinate su izražene u točkama (points), koordinate pisača u jedinicama uređaja (device units), a te dvije vrste koordinata nemaju nikakve veze jedna s drugom sve dok ih namjerno ne pretvorite.…
Pečaćenje vodenog žiga ili logotipa na svaku stranicu dokumenta izgleda kao petominutni posao dok ne otvorite rezultat u pregledniku veličine datoteke. Očigledan pristup je proći kroz stranice i na…
PDFium Component pruža jednu metodu za dijeljenje PDF-a:ImportPages. Sve ostalo, bilo da izdvajate pojedinačnu stranicu, režete na proizvoljnim granicama ili pratite vlastitu strukturu oznaka dokumenta,…
Skenirani arhiv mo?e iznositi nekoliko gigabajta u jednom PDF-u. Preglednik koji otvara takvu datoteku obi?no ?eli prikazati jednu stranicu, mo?da tablicu sadr?aja ili stranicu na koju je korisnik…
Dva otvorena dokumenta odjednom, isti broj stranice, svaki u svojoj pomičnoj ploči: to je srž preglednika za usporedbu. PDFium Component to omogućuje kroz jednostavan objektni model gdje jeTPdfvlasnik…
Napišete mali validator. On otvori PDF, potraži kraj, pronađestartxref, pročita odmak i očekuje da će sletjeti na ključnu riječxrefs tablicom unakrsnih referenci fiksne širine ispod nje. Iz te…
PDF privitci datoteka pohranjeni su u stablu ugrađenih datoteka dokumenta, strukturi koju većina preglednika prikazuje kao ploču sa spajalicom ili bočnu traku s privitcima. Iz Delphi koda, PDFium Component…
Barkod na otpremnoj naljepnici ili ra?unu ima jedan zadatak, a to je da ga skener o?ita iz prvog poku?aja. Ho?e li pre?ivjeti taj poku?aj odlu?uje se mnogo prije nego ?to paket stigne na utovarnu…
Radno okruženje koje povezuje provjeru usklađenosti s digitalnim potpisivanjem mora koordinirati četiri koraka, ovim redoslijedom, i držati ih povezanim s jednim skupom bajtova cijelim putem. Pokreće…
Evo problema koji se pojavljuje u trenutku kada PDF knjižnica napusti svoj matični jezik. Imate povezivanje koje savršeno radi iz C#-a na Windowsima. Trebate iste pozive iz Pythona na macOS-u, pa…
Zastavica dopuštenja nije sigurnosni mehanizam. Bit koji kaže "zabranjeno kopiranje" živi unutar istog rječnika /Encrypt kao i kriptografija, što mu daje privid provođenja koji zapravo nema, i u…
Ve?ina programera misli o PDF stranici kao o listu papira s tekstom i slikama na njemu. Georeferencirani PDF je vi?e od toga. On nosi dovoljno informacija da uzme to?ku na stranici, izmjerenu u…
Polje PDF obrasca samo po sebi je samo okvir koji sadrži vrijednost. Ono što čini da se obrazac ponaša kao mala aplikacija je akcija koja mu je pridružena: klik koji skriva odjeljak, dohvaća…
Spajanje ili dijeljenje PDF-a od dva gigabajta na očigledan način košta vas dviju stvari odjednom: vremena izvođenja i adresnog prostora. Očigledan način je učitavanje svakog ulaza, obavljanje posla…
Tri rasterizatora mogu čitati isti PDF i razlikovati se u tome kako ga prikazuju. Ugrađeni mehanizam u PDFlibPas-u je onaj koji se isporučuje bez dodatnih datoteka i sve iscrtava kompetentno, zbog…
Geodet otvara situacijski nacrt i želi da konture budu skrivene dok komunalne instalacije ostaju prikazane. Recenzent želi da crvene bilješke (redline) budu vidljive na zaslonu, a uklonjene s ispisa.…
Validacija jednog PAdES potpisa znači provjeru triju neovisnih stvari, a zelena kvačica u pregledniku govori vam samo o trećoj. Prvo, polje/ByteRangemora pokrivati točne bajtove: rasponi koje imenuje…
PDF/A i PDF/UA odgovaraju na dva pitanja koja nemaju nikakve veze jedno s drugim, a njihovo tretiranje kao jedinstvenog okvira za provjeru pristupačnosti i arhiviranja razlog je zašto neispravne…
Renderiranje PDF stranice u Windows kontekst uređaja (device context) za pregled ispisa postavlja tri koordinatna sustava u istu liniju koda, a oni se rijetko podudaraju. PDF stranica se mjeri u…
Pristupačan PDF oslanja se na strukturu koju vidljiva stranica nikada ne prikazuje: stablo strukture definirano u normi ISO 32000-1 §14.7. To je logička hijerarhija naslova, odlomaka, tablica i…
Izvlačenje teksta, slika i fontova iz postojećeg PDF-a zvuči kao riješen problem sve dok kroz njega ne propustite stvarni korpus dokumenata. Usmjerite indeksator pretraživanja na četrdeset tisuća…
PDF nije dokument koji samo otvorite. To je mali program koji pokre?ete. Svaki ugra?eni font je interpreter temeljen na stogu koji ?eka znakovne nizove, svaka slika je dekoder koji se hrani poljima…
Većina Delphi koda koji dodiruje PDF tretira taj format kao spremnik za dvije stvari: dijelove teksta i nekoliko postavljenih bitmapa. Taj je pogled točan u onoj mjeri u kojoj ide, ali ostavlja…
Gotovo svaki dio naslije?enog Excel binarnog formata je jedan zapis s ?istim dvobajtnim tipom i dvobajtnom duljinom. ?elija jeLABELSSTiliNUMBER. Spojeno podru?je jeMERGEDCELLS. Ve?inu radnog lista…
Sve što pluta iznad mreže radnog lista (grafikon, logotip, pečat, oblačić) je objekt za crtanje, a objekt za crtanje definiran je dvjema stvarima: što je i gdje je usidren. Sidro (anchor) je dio u…
Preimenujte list iz 'Summary' u 'Overview' u generiranoj radnoj knjizi i svaka interna hiperveza koja je pokazivala naSummary!A1prestat će voditi bilo kamo. Bez iznimke pri spremanju, bez iznimke pri…
Pravilo uvjetnog oblikovanja (conditional formatting) u OOXML-u sastoji se od dviju zasebnih stvari koje nose jedno ime. Uvjet (usporedba, formula, podudaranje teksta) odlučuje koje ćelije…
Zamislite noćni posao koji u kodu gradi radnu knjigu računa i zapisuje je kao CSV kako bi je uvezao neki kasniji sustav. Brojevi izgledaju ispravno u Excelu. CSV se čisto otvara u uređivaču teksta.…
Tri značajke u HotXLS-u dijele radni list, ali rade na potpuno različitim objektima, a problemi nastaju kada pretpostavite da rade slične stvari. Validacija podataka (data validation) vezuje pravilo…
Pretvaranje rezultata upita u Excel izvješće sastoji se od triju problema u jednom. Svaki tip polja u Delphiju mora sletjeti u ćeliju kao ispravan tip u Excelu, redak zaglavlja mora izgledati kao…
Otvorite prora?unsku tablicu, kliknite na ?eliju koja prikazuje2026-06-19, i traka formule i dalje ?ita datum. Pro?itajte istu ?eliju iz Delphi-ju i dobit ?ete broj46192. Oba prikaza su to?na, jer…
Definirani naziv (defined name) je oznaka koja zamjenjuje konstantu, raspon ćelija ili izraz formule, pohranjena jednom u radnoj knjizi i simbolički referencirana svugdje gdje je potrebna.…
Obitelj inženjerskih funkcija u Excelu izgleda kao najjednostavniji kut referentnog priručnika funkcija.DEC2BINpretvara broj u binarni niz znakova.HEX2DECga vraća natrag.IMSUMzbraja dva kompleksna…
Biblioteka za proračunske tablice koja samo pohranjuje nizove formula i biblioteka s funkcionalnim mehanizmom za formule dva su različita proizvoda koji izgledaju identično sve do trenutka kada od…
Kada izvoz od 300.000 redaka premaši proračun memorije, obično se krivi broj redaka. Međutim, broj redaka je obično nevin. Skupi dijelovi velike radne knjige su oni koji se stvaraju kao nuspojava:…
Prođite kroz ćelije tek otvorenog predloška izvješća i spojeni naslov ponašat će se poput curenja. PročitateA1i dobijete "Quarterly Statement" (Tromjesečni izvještaj); pročitateB1doF1, koji vidljivo…
Delphi izvještajni backend koji godinama emitira .xlsx dobiva novi zahtjev: pravila javne nabave klijenta iz javnog sektora nalažu izlaz u obliku OpenDocument Spreadsheet (.ods) proračunskih tablica,…
Napi?ete radnu knjigu, ?ifrirate je lozinkom, predate datoteku kolegi, i kolega je otvori u Excelu. Excel tra?i lozinku. Kolega je utipka, i Excel je prihvati. Za sada ?ifriranje izgleda to?no. Zatim…
Ako je jedini posao poslužitelja emitiranje Excel datoteka, on nema nikakvog razloga pokretati Excel. Instaliranje Officea na agenta za izgradnju (build agent) ili uslugu izvješćivanja kako bi se…
Tri skupine postavki radnog lista nemaju nikakve veze s vrijednostima ćelija, ali imaju potpunu vezu s načinom na koji se datoteka ponaša nakon što napusti vaš kod. Zaštita lista odlučuje koje ćelije…
Ponekad je jedino pitanje na koje rutina za unos treba odgovoriti strukturno: ima li ova radna knjiga list pod nazivom "Mapping" ili koliko kartica sadrži. Odgovaranje na to pozivanjemOpenje skup…
Upišite=NORM.DIST(115,100,15,TRUE)u ćeliju i Excel vraća 0.8413447 bez ikakvih ceremonija. Poziv izgleda kao obično pretraživanje. Ali nije. Iza tog jednog broja krije se kumulativna normalna…
Recimo da noćna Delphi usluga generira jednu XLSX datoteku po kupcu, nekoliko stotina datoteka, od kojih su neke široke 400.000 redaka. Profilirajte to i iznenađenje je rijetko u petlji za…
Pouzdan način za izradu oblikovanog Excel izvješća iz Delphija je započeti s radnom knjigom koju je dizajner već izradio. Netko u financijama postavlja izgled računa u Excelu: logotip, zaglavlja…
Proračunska tablica sadrži stupac s imenima kupaca. Neka su na kineskom, neka na ćirilici, nekoliko ih nosi njemačke prijeglase (umlaut) ili francuski naglasak. Izvezete je u CSV i otvorite rezultat,…
Razmotrite posao koji ne radi gotovo ništa: otvara mjesečnu radnu knjigu, zapisuje današnji datum u jednu ćeliju i ponovno je sprema. Pokrenite to kroz uslugu dovoljno često i pritužba će ipak stići.…
Skupna normalizacija tabličnih dokumenata zapravo su tri problema u jednom. Imate arhivu miješanih formata:.xlsiz doba BIFF-a, moderni.xlsx, poneku.odsdatoteku iz nekog LibreOffice eksperimenta i…
Tablični dokument nosi dva sloja identiteta. Postoji mreža ćelija i postoje metapodaci dokumenta koji idu uz nju: naslov, autor, tvrtka, ključne riječi, vremenske oznake. Excel nikada ne prikazuje…
Excel izlaže dvije stvari koje se nazivaju 'lozinka', a samo je jedna od njih šifriranje. Lozinka za otvaranje aktivira pravi šifrant: bez nje se datoteka uopće ne može pročitati. Lozinke za zaštitu…
PDF je u svojoj biti kontejner običnog teksta. Otvorite većinu datoteka u heksadecimalnom uređivaču i vrh je čitljiv: komentar s verzijom, zatim niz numeriranih objekata, pa mali indeks i pokazivač…
Simptom se pojavio u uslužnom programu za kopiranje stranica izgrađenom na vrhukomponente HotPDF: traženje stranice 1 dokumenta od tri stranice dosljedno je proizvodilo stranicu 2. Provjera logike…
Katalog (Catalog) PDF-a ima točno jedan obvezan navigacijski ključ:/Pages. Taj ključ mora pokazivati na neizravni objekt tipa/Pages, koji pak sadrži polje/Kidsi ukupan broj stranica (/Count). Ako…
PDF datoteka je, u svojoj biti, zbirka objekata koji pokazuju jedni na druge. Uklonite kompresiju, vođenje evidencije unakrsnih referenci i pomake bajtova, i ono što ostaje jest graf: mali skup…
Uklonite opise stranica i ostat će vam tanak sloj strukture koji nitko ne ispisuje, ali o kojem ovisi svaki preglednik, indeksator i arhivski sustav. Objekt stranice ne zna ništa o poglavlju kojem…
Postavite skenirano izvješće od 80 MB iza poveznice, otvorite ga u pregledniku i gledajte što se događa: preglednik prikazuje prazan prozor sve dok ne stigne većina tih bajtova, a zatim odjednom…
PDF stranica ne pohranjuje piksele niti stablo objekata oblika na način na koji to radi SVG. Ona pohranjuje program. Svaka linija, krivulja, ispuna i postavljena slika na stranici rezultat su…
PDF koji na vašem računalu izgleda savršeno, a na tuđem se prikazuje kao niz praznih kvadratića najčešći je nedostatak s fontovima u softveru za dokumente, i to gotovo nikada ne znači da je tekst…
PDF čitač ne počinje od početka datoteke. Počinje od kraja. Posljednjih nekoliko bajtova sadrži adresu svega ostaloga, a parser koji ne razumije taj redoslijed pogrešno će pročitati format već od…
Objekt broj 1 nije stranica 1. Ta jedna činjenica zbunjuje više koda za obradu PDF-a od bilo kojeg drugog aspekta formata, a razumijevanje zašto zahtijeva pogled dalje od onoga što vam preglednik…
Stranica 1 PDF-a nije objekt 1. Ta razlika je najčešći izvor bugova s izdvajanjem pogrešne stranice u PDF parserima, a rješenje je čitanje specifikacije umjesto bajtova datoteke
PDF nije dokumentni format na način na koji su to Word ili RTF. Ti formati pohranjuju slijed sadržaja koji renderer interpretira u trenutku prikaza, pa izlaz ovisi o tome koji su fontovi i engine za…
Alcinoe je biblioteka komponenti otvorenog koda za Delphi i C++Builder, koju na GitHubu održava Zeus64. Pokriva područja koja VCL i FireMonkey RTL prepuštaju trećim stranama: video player s GPU…
Prilikom održavanja VCL komponente napisane u Delphiju koju koriste i korisnici Delphija i C++Buildera, brzo shvatite da ta dva sustava za izgradnju vrlo različito tretiraju ovisnosti. Jedinica…
Pogreške provjere raspona (range check errors) u Delphi PDF knjižnicama na glasu su kao teške za locirati jer ne prate dosljedan uzorak unosa. Isti ih dokument proizvodi na jednom računalu, a na…
TDateTimePickerje dobio svojstvoFormatnegdje između verzije Delphi 5 i Delphi 6. Točna granica verzije rijetko je dokumentirana na pouzdan način, a kada na nju naiđete, prevoditelj vam jednostavno…
StrukturaLOGBRUSHima dva različita života u Windows API-ju. Jedan je aktivni opisivač GDI objekta koji prihvaća funkcijaCreateBrushIndirect. Drugi je njegova serijalizirana kopija unutar zapisa…
Postavljanje komponenteTHotPDFna formu u fazi dizajna je u redu za brzi prototip, ali povezuje vijek trajanja komponente s vijekom trajanja forme, što produkcijski kod rijetko želi. Generator…
Prilikom obrade velikih serija Excel proračunskih tablica u automatiziranom cjevovodu, rijetko želite učitati cijeli dokument u memoriju samo kako biste shvatili o čemu se radi. Često su metapodaci…
Izvorni izraz_ftolu 32-bitnom Delphiju izgleda kao domišljata linija koda: Pascal omot funkcije (wrapper) koji prelazi u ugrađeni asembler (inline assembly) kako bi manipulirao kontrolnom riječi x87…
Internetske usluge potpisivanja rješavaju specifičan logistički problem: dobivanje potpisa na dokumentu kada potpisnik nema softver za PDF, nema vremena za ispis i nema faks uređaj. DigiSigner…
U poslovnim tijekovima rada za ispis, arhiviranje i usklađenost dokumenata, PDF datoteka ne može se jednostavno "prikazati" (renderirati). Ona mora biti revidirana. PDF može sadržavati neizravnate…
Pristupačnost više nije izborna značajka u modernom razvoju softvera. Prema propisima kao što su ADA (Zakon o Amerikancima s invaliditetom) i Direktiva EU o pristupačnosti weba, softver koji rukuje…
Jedna stranica formata A4 renderirana na ugodnoj razini zumiranja za čitanje zauzima nekoliko megabajta 32-bitne bitmape. Pomnožite to s ugovorom od 400 stranica i ta računica prestaje biti…
Prilikom razvoja poslovnih rješenja za dokumente, neizbježno ćete naići na PDF-ove koje generira mnoštvo različitih alata, od vrhunskog Adobe softvera do open-source biblioteka prepunih grešaka ili…
U pravnim, financijskim i zdravstvenim sektorima generiranje velikih količina PDF dokumenata standardna je praksa. Međutim, izrada dokumenata samo je pola bitke; njihovo osiguranje jednako je…
Tri biblioteke. Tri različita zadatka. Odabir pogrešne koštat će vas tjedana rada na zaobilaznim rješenjima, a odabir sve tri kada vam je potrebna samo jedna donosi troškove održavanja koje niste…
PDF dokumenti su nevjerojatno moćni, ali ta moć donosi inherentne sigurnosne rizike. Budući da PDF-ovi podržavaju ugrađene datoteke, interaktivni JavaScript i složene binarne tokove, često se koriste…
Obrada standardnih PDF-ova (od 1 MB do 10 MB) u Delphiju jednostavna je pomoću standardnih klasa tokova kao što suTFileStreamiliTMemoryStream. Međutim, kada dobijete zadatak obrade PDF-ova u…
Dvije minute za kopiranje tri stranice iz PDF-a od 40 stranica nije problem ugađanja performansi. To je jasan znak da se koristi pogrešan API put. Kada sam prvi put vidio ovo vrijeme na primjeru…
Dimenzije PDF stranica fiksiraju se u trenutku stvaranja stranice, pa sadržaj nije moguće jednostavno skalirati na licu mjesta kao što biste promijenili veličinu slike. Model biblioteke koji čini…
RTF je dovoljno dugo prisutan da se pojavljuje na mjestima za koja nitko nije planirao: zastarjeli generatori izvješća, procesi spajanja pošte, arhive pravnih dokumenata nastale prije modernih…