Delphi HotPDF Hello World: Vaš prvi PDF program
Svaka PDF biblioteka sadrži „hello world“ primer, a onaj iz HotPDF-a zaslužuje detaljniju analizu. Najmanji program koji radi bilo šta već zahteva dve odluke koje ćete ponavljati u svakom dokumentu…
Blog o razvoju softvera
Pročitajte inženjerske beleške losLab-a o PDF-u, Delphi-ju i softveru za dokumente na srpskom (latinica)
Svaka PDF biblioteka sadrži „hello world“ primer, a onaj iz HotPDF-a zaslužuje detaljniju analizu. Najmanji program koji radi bilo šta već zahteva dve odluke koje ćete ponavljati u svakom dokumentu…
Greška glasiPlease load the document before using BeginDoc, i skoro uvek se pojavljuje drugi put. Prvi dokument se uspešno kreira. Zatim se od iste instanceTHotPDFtraži da započne drugi dokument,…
AcroForm akcija je rečnik zakačen za vidžet (widget) koji govori pregledaču šta da radi kada se nešto desi sa tim vidžetom. Kliknite na dugme i pregledač čita njegov rečnik akcija: URI akcija otvara…
Zastavica za dozvole (permission flag) u PDF-u nije brava. To je zahtev koji fajl postavlja pred bilo šta što ga otvori, a čitač je slobodan da ga ignoriše. Ta jednostavna činjenica određuje kako…
Bar-kod nije slika kojom ukrašavate dokument. To je merenje, a skener je instrument koji ga čita. To redefinisanje određuje skoro sve o tome kako bi trebalo da ga nacrtate u PDF-u. Linije ne nose…
Svaki raspored u PDF-u na kraju ostane bez prostora za tekst i zahteva liniju, okvir ili osenčano zaglavlje. U HotPDF-u ti elementi ne prolaze kroz neku komponentu oblika visokog nivoa. Crtate ih…
PDF izveštaju je često potreban grafikon, a ako pregledate HotPDF paletu u potrazi za komponentom grafikona, nećete je naći. U biblioteci ne postoji objekat grafikona. Da biste postavili stubičasti,…
Pisma koja se pišu zdesna nalevo (RTL), kao što su arapski i hebrejski, ne ponašaju se kao latinični tekst kada ih upisujete u PDF, a razlika nije samo u smeru u kom se kreću oči čitaoca. U arapskom…
Hello World program postavlja tekst na stranicu, ali produkcionim dokumentima je potrebno više. U HotPDF-u, stilizovanje i pozicioniranje teksta se ne vrše preko svojstava kontrola. Ne postoji…
Vertikalni raspored je tradicionalni smer čitanja za kineski, japanski i korejski (CJK) tekst, gde se karakteri slažu od vrha do dna, a kolone teku zdesna nalevo. Implementacija ovog rasporeda u…
PDF potpis je uglavnom računanje bajtova, a računanje bajtova je mesto gde stvari kreću po zlu. Kriptografija se oslanja na kod koji je revidiran već dve decenije, i taj deo gotovo nikada ne…
Brojanje stranica u skeniranoj arhivi od 1.4 GB trebalo bi da bude računski jeftino. PozoviteLoadFromFileza taj fajl i to prestaje da bude jeftino: HotPDF parsira podatke o unakrsnim referencama i…
Generišite izveštaj, ugradite TrueType font, i izlazni dokument se otvara ispravno u svakom pregledaču koji probate. Glifovi su tačni, tekst se može selektovati, datoteka je validna. Jedina stvar…
PDF funkcije su jedan od mirnijih delova specifikacije. Većina programera ih sretne samo jednom, kao stvar koja je potrebna aksijalnom senčenju tipa 2 da bi izbledelo između dve boje, i nikada više…
Otvorite PDF koji je proizveo Microsoft Word ili Excel, prelistajte ga i ništa ne izgleda neobično. Učitajte ga u Delphi program, pročitajte broj stranica nazad i broj je tačan. Zatim ga ponovo…
PDF hiperlinkovi su URI anotacije: pravougaonik koji pokriva određenu oblast stranice i koji, kada se na njega klikne, govori programu za pregled da otvori URL. Anotacija i tekst ispod nje su potpuno…
PDF 1.5 je uveo dve strukture za skladištenje koje prethodni format fajla nije mogao da izrazi: tok objekata (object stream) i tok unakrsnih referenci (cross-reference stream). Tok objekata je…
Dizajner bira font sa jednostavnim znakomaza naslove, ili nulu sa kosom crtom za tabele, ili set dekorativnih velikih slova za koricu. Ti glifovi su već u fontu. Oni jednostavno nisu podrazumevani.…
PDF/A, PDF/X i PDF/UA su tri različita standarda koja rešavaju tri različita problema: dugoročno arhiviranje, pripremu za štampu i pristupačnost. To nisu tri kućice za potvrdu na jednom obrascu o…
Kada potpisujete PDF, obično mislite o ključu za potpisivanje kao o nečemu što kontrolišete. On živi u.pfxdatoteci koju ste generisali, zaštićen lozinkom koju ste izabrali. Kod koji čita tu datoteku…
Fajl se čisto otvara na vašem računaru. Acrobat ga prikazuje, pregled pre štampe izgleda ispravno, svaka stranica je tu. Zatim odlazi u štamparski biro ili u arhivski sistem koji prihvata vašu…
Generisanje izveštaja se svodi na postavljanje tri stvari na stranicu i njihovo usklađivanje: tekst na poznatim koordinatama, fontovi koji se na serveru renderuju isto kao i na vašem desktopu, i…
Skup podataka se sastoji od redova i kolona; PDF stranica je prazna koordinatna mreža koja nema predstavu ni o jednom ni o drugom. Premošćavanje tog jaza je ceo zadatak ovde. U HotPDF-u ne postoji…
Dve forme mogu sadržati ista polja, ali se ponašati potpuno različito. AcroForm čuva svoja polja kao obične PDF objekte koji se nalaze na vrhu stvarnog sadržaja stranice, pa ih svaki kompatibilni…
XFA, odnosno XML Forms Architecture, je zastarela. ISO 32000-1 je navodi u §12.7 sa napomenom da je uklonjena iz PDF 2.0 standarda, a moderni čitači gase svoje XFA mehanizme jedan po jedan. Ništa od…
Anotacija nije deo sadržaja stranice. Kada pozoveteTextOutili nacrtate pravougaonik, te oznake postaju deo toka sadržaja stranice i ugrađuju se u bajtove koje renderer iscrtava. Anotacija je zaseban…
Pošaljite arapsku rečenicuيوضح ملف PDF هذاobičnoj funkcijiTextOuti stranica koja se vrati biće pogrešna na dva načina odjednom. Reči idu sleva nadesno umesto zdesna nalevo, a slova stoje odvojeno u…
Svaki vidljivi karakter u PDF-u nosi referencu na font koji ga je nacrtao, a PDFium Component vam omogućava da pratite tu referencu nazad do objekta fonta i pročitate šta on zna. Jedinica pristupa je…
PDF nije samo papir. To je kontejner koji može nositi skripte koje se pokreću kada se datoteka otvori, linkove koji pokreću spoljne programe, linkove koji se obraćaju veb serverima, datoteke…
PDF čitač (viewer) u Delphi-ju svodi se na dve komponente i njihovo međusobno povezivanje.TPdfposeduje dokument: otvara datoteku, dešifruje je i odgovara na pitanja o broju stranica i…
Tim za obradu zahteva imao je trideset godina papirnih dosijea koji su prolazili kroz skener sa uvlačenjem listova. Skener je izbacivao jedan JPEG po stranici u fasciklu, pod…
Pretvaranje PDF stranice u JPEG predstavlja dve operacije koje ljudi imaju tendenciju da spoje, a zatim da ih otklanjaju odvojeno. Prvo rasterizujete stranicu u piksel bitmapu u rezoluciji koju…
PDFium ima reputaciju mehanizma za prikaz (viewer engine), odnosno renderera iza Chrome-ove PDF kartice, tako da je prva stvar koju treba razjasniti to da PDFium Component takođe može da izgradi dokument…
PDF čuva slike kao objekte prvog reda unutar svojih tokova sadržaja (content streams). Kada stranica referencira fotografiju, skeniranu sliku ili dijagram, podaci o pikselima žive u XObject rečniku…
Ekstrakcija teksta iz PDF-a izgleda jednostavno sve dok ne naiđete na dokument u kojem tekstualni sloj nedostaje, oštećen je ili je podeljen na desetine sićušnih segmenata karaktera bez ikakvog…
Pascal povezivanje (binding) preko C biblioteke čita se kao običan Pascal. Pozovete metod, dobijete zapis (record) nazad, oslobodite ono što ste alocirali. Problem je u tome što je PDFium C i C++…
PDFium Component omogućava spajanje PDF datoteka kroz jednu metodu:ImportPages. Šablon je uvek isti: kreirajte prazan odredišni dokument, otvorite svaku izvornu datoteku, pozoviteImportPagesda kopirate…
Spajanje i deljenje su dve operacije nad stranicama za koje svi prvo posežu, i one pokrivaju mnogo toga. Ipak, one ne pokrivaju sve. Postoji posebna grupa zadataka koja menja raspored stranica umesto…
Slepa osoba otvara kvartalni izveštaj u vašem novom Delphi čitaču, uključuje NVDA i čuje podnožje stranice, zatim kolonu sa ciframa, pa tek onda naslov koji bi svaki videći čitalac pročitao prvi. Ili…
PDF anotacija je rečnik (dictionary) pridružen stranici, a ne oznaka nacrtana na njoj. ISO 32000-1 §12.5 definiše otprilike dvadesetak podtipova, od kojih svaki sadrži /Subtype, pravougaonik u…
Pritisnite taster Tab u PDF obrascu koji je vaš kod napravio, i kursor će sleteti dva polja dalje od mesta gde bi trebalo, ili će potpuno preskočiti drugu kolonu, ili će se nakon trećeg polja vratiti…
Delphi i Lazarus kompajliraju isti Object Pascal, i ta prividna sličnost je upravo ono što portovanje čitača između njih čini varljivim. Ova dva lanca alata se razlikuju na tri mesta koja su važna za…
Čitalac sa slabim vidom ne može da razazna crni tekst na beloj stranici pri podrazumevanom kontrastu, pa traži tamni režim. Naivno rešenje je invertovati svaki piksel iscrtane stranice. To se…
Radni sto za pregled prihvata PDF-a je mali program sa jednim zadatkom: pregledati svaku datoteku pre nego što bilo šta dalje u lancu obrade dobije priliku da je dodirne. Da bi obavio taj posao, on…
Alat za grupni preflight je konzolni program bez prozora, usmeren na fasciklu sa PDF-ovima, koji proverava svaki od njih u odnosu na standarde usklađenosti koje navedete i ostavlja za sobom mašinski…
Držite pritisnuto dugme za zumiranje u jednostavnom PDF čitaču i posmatrajte grafikom CPU-a. Jedan pritisak na kontrolu zumiranja sa automatskim ponavljanjem ispaljuje desetak ili više koraka…
Pregledanje nepouzdanog PDF-a unutar sopstvene aplikacije je izvršna odluka, a deo koji je važan nije izgled čitača već ono što panel odbija da uradi sam. Ne upisujte datoteku na disk. Ne dozvolite…
Funkcija čitanja naglas ima jedan vidljiv zadatak pored glasa: kako se svaka reč izgovori, ona mora da osvetli tu reč na stranici i drži je u vidu. Da biste to uradili, potreban vam je okvir koji…
PDF koordinate su u tačkama (points), koordinate štampača su u jedinicama uređaja, i to dvoje nemaju ništa zajedničko dok ih namerno ne konvertujete. To neslaganje je koren većine loših rezultata…
Utiskivanje vodenog žiga ili logotipa na svaku stranicu dokumenta izgleda kao posao od pet minuta dok ne otvorite rezultat u inspektoru veličine datoteke. Očigledan pristup jeste proći kroz stranice…
PDFium Component nudi jednu metodu za deljenje PDF dokumenata:ImportPages. Sve ostalo, bilo da izdvajate pojedinačnu stranicu, sečete na proizvoljnim granicama ili pratite sopstvenu strukturu obeleživača…
Skenirana arhiva može dostići nekoliko gigabajta u jednom PDF-u. Pregledač koji otvara takvu datoteku obično želi da prikaže jednu stranicu, možda sadržaj, možda stranicu na koju je korisnik skočio…
Dva otvorena dokumenta istovremeno, isti broj stranice, svaki u svom panelu sa skrolovanjem: to je suština uporednog čitača. PDFium Component to omogućava kroz jednostavan objektni model gdeTPdfposeduje…
Napišete mali validator. On otvara PDF, traži kraj, pronalazistartxref, čita pomak i očekuje da sleti na ključnu rečxrefsa tabelom unakrsnih referenci fiksne širine ispod nje. Iz te tabele sakuplja…
PDF prilozi (attachments) se čuvaju u stablu ugrađenih datoteka u dokumentu, što je struktura koju većina čitača prikazuje kao panel sa spajalicom ili bočnu traku sa prilozima. Iz Delphi koda, PDFium…
Bar-kod na otpremnoj nalepnici ili fakturi ima jedan posao, a to je da ga skener pročita iz prvog pokušaja. Da li će preživeti taj prolaz odlučuje se mnogo pre nego što paket stigne do rampe.…
Radno okruženje koje povezuje validaciju usaglašenosti sa digitalnim potpisivanjem mora da koordinira četiri koraka, tačno ovim redosledom, i da ih drži vezanim za jedan isti skup bajtova tokom celog…
Evo problema koji se pojavljuje onog trenutka kada PDF biblioteka napusti svoj izvorni jezik. Imate povezivanje (binding) koje radi savršeno iz C#-a na Windows-u. Potrebni su vam isti pozivi iz…
Fleg dozvole nije sigurnosni mehanizam. Bit koji kaže „zabranjeno kopiranje” živi unutar istog /Encrypt rečnika kao i sama kriptografija, što mu daje privid sprovođenja koji zapravo nema, a onog…
Većina programera posmatra PDF stranicu kao list papira sa tekstom i slikama. Georeferencirani PDF je više od toga. On nosi dovoljno informacija da uzme tačku na stranici, izmerenu u običnim…
PDF polje obrasca samo po sebi je samo okvir koji sadrži vrednost. Ono što čini da se obrazac ponaša kao mala aplikacija je akcija koja mu je pridružena: klik koji skriva odeljak, preuzima sačuvane…
Spajanje ili deljenje PDF datoteke veličine dva gigabajta na očigledan način košta vas dve stvari istovremeno: vremena izvršavanja i adresnog prostora. Očigledan način podrazumeva učitavanje svakog…
Tri rasterizatora mogu čitati isti PDF dokument i ne slagati se oko toga šta na njemu piše. Ugrađeni motor u PDFlibPas-u je onaj koji se isporučuje bez dodatnih datoteka i kompetentno renderuje sve,…
Geometar otvara situacioni plan i želi da konture budu skrivene dok instalacije ostaju prikazane. Recenzent želi da crvene oznake za korekciju budu vidljive na ekranu, ali uklonjene sa odštampanog…
Validacija jednog PAdES potpisa podrazumeva proveru tri nezavisne stvari, a zelena oznaka potvrde u pregledaču govori vam samo o trećoj. Prvo, niz/ByteRangemora da pokriva ispravne bajtove: opsezi…
PDF/A i PDF/UA ne rešavaju isti problem. PDF/A pita da li će dokument verno izgledati za dvadeset godina, bez zavisnosti od fontova, skripti ili spoljnog okruženja. PDF/UA pita da li pomoćna…
Renderovanje PDF stranice na Windows kontekst uređaja (device context) za prikaz pre štampe postavlja tri koordinatna sistema u istu liniju koda, a oni se retko podudaraju. PDF stranica se meri u…
Pristupačan PDF se oslanja na strukturu koju vidljiva stranica nikada ne prikazuje: stablo strukture definisano u ISO 32000-1 §14.7. To je logička hijerarhija naslova, pasusa, tabela i slika,…
Izvlačenje teksta, slika i fontova iz postojećeg PDF dokumenta zvuči kao rešen problem sve dok kroz taj proces ne provučete stvarne dokumente. Usmjerite indeksator pretrage na četrdeset hiljada…
PDF nije dokument koji samo otvorite. To je mali program koji pokrećete. Svaki ugrađeni font je stekovni interpretator koji čeka definicije karaktera (charstrings), svaka slika je dekoder koji se…
Većina Delphi koda koji radi sa PDF-om tretira taj format kao kontejner za dve stvari: delove teksta i nekoliko postavljenih bitmapa. To viđenje je tačno koliko i nepotpuno, i ostavlja najmoćniji deo…
Skoro svaki deo nasleđenog Excel binarnog formata je pojedinačni zapis sa čistim dvobajtnim tipom i dvobajtnom dužinom. Ćelija jeLABELSSTiliNUMBER. Spojeni region jeMERGEDCELLS. Možete pročitati…
Sve što lebdi iznad mreže radnog lista (grafikon, logo, pečat, okvir sa tekstom) jeste objekat za crtanje, a objekat za crtanje je definisan dvema stvarima: time šta je i gde je usidren. Sidro…
Preimenujte list iz "Summary" u "Overview" u generisanoj radnoj svesci, i svaki interni hiperlink koji je ukazivao naSummary!A1prestaje da vodi bilo gde. Nema izuzetaka pri čuvanju, niti pri…
Pravilo uslovnog formatiranja u OOXML formatu čine dve odvojene stvari koje nose jedno ime. Uslov (poređenje, formula, podudaranje teksta) odlučuje koje ćelije se kvalifikuju. Izgled (zapis…
Zamislite noćni posao koji u kodu gradi radnu svesku faktura i zapisuje je kao CSV kako bi je uvezao sistem u kasnijoj fazi. Brojevi izgledaju ispravno u Excel-u. CSV se uredno otvara u uređivaču…
Tri funkcije u HotXLS-u dele radni list ali operišu nad 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 izveštaj predstavlja tri problema u jednom. Svaki tip polja iz Delphi-ja mora završiti u ćeliji kao odgovarajući Excel tip, red zaglavlja mora izgledati kao…
Otvorite tabelu, kliknite na ćeliju koja prikazuje2026-06-19i traka za formule i dalje prikazuje datum. Pročitajte istu ćeliju iz Delphi-ja i dobićete broj46192. Oba prikaza su ispravna, jer Excel…
Definisano ime je oznaka koja zamenjuje konstantu, opseg ćelija ili izraz formule, sačuvana jednom u radnoj svesci i referencirana simbolički svuda gde je to potrebno. NapišiteTaxRateu formuli i…
Porodica inženjerskih funkcija u Excel-u deluje kao najlakši deo referenci funkcija.DEC2BINpretvara broj u binarni tekstualni niz.HEX2DECga vraća nazad.IMSUMsabira dva kompleksna broja. Svaki od njih…
Biblioteka za radne tabele koja samo čuva stringove formula i biblioteka sa funkcionalnim mehanizmom za formule su dva različita proizvoda koja izgledaju identično sve do trenutka kada od jednog od…
Kada izvoz sa 300.000 redova prekorači memorijski budžet, obično se krivi broj redova. Taj broj je uglavnom nevin. Skupi delovi velike radne sveske su oni koji nastaju kao nuspojava: skup stilova…
Prođite kroz ćelije tek otvorenog šablona izveštaja i spojeni naslov će se ponašati kao curenje podataka. ČitateA1i dobijate "Quarterly Statement"; čitate odB1doF1, koji vidljivo stoje pod istim…
Delphi pozadinski sistem (backend) za izveštaje koji godinama emituje .xlsx dobija nov zahtev: pravila javnih nabavki kupca iz javnog sektora nalažu OpenDocument Spreadsheet izlaz, a analitičari sa…
Napišete radnu svesku, šifrujete je lozinkom, predate datoteku kolegi, i kolega je otvori u Excel-u. Excel traži lozinku. Kolega je ukuca, i Excel je prihvati. Za sada šifrovanje izgleda ispravno.…
Ako je jedini posao servera da emituje Excel datoteke, onda nema razloga da pokreće Excel. Instaliranje Office-a na agentu za izgradnju (build agent) ili servisu za izveštaje radi upravljanja putem…
Tri grupe podešavanja radnih listova nemaju nikakve veze sa vrednostima ćelija, već isključivo sa tim kako se datoteka ponaša kada napusti vaš kod. Zaštita lista (sheet protection) odlučuje koje…
Ponekad je jedino pitanje na koje dolazna rutina treba da odgovori strukturno: da li ova radna sveska ima list pod nazivom "Mapping" ili koliko kartica (tabs) sadrži. Odgovaranje na to pozivanjem…
Ukucajte=NORM.DIST(115,100,15,TRUE)u ćeliju i Excel vraća 0.8413447 bez ceremonije. Poziv se čita kao obično traženje vrednosti. Ali nije. Iza tog jednog broja stoji kumulativna normalna raspodela,…
Pretpostavimo da noćni Delphi servis generiše jednu XLSX datoteku po klijentu – ukupno nekoliko stotina datoteka, od kojih su neke široke i po 400.000 redova. Profilišite taj proces i iznenađenje će…
Pouzdan način za kreiranje stilizovanog Excel izveštaja iz Delphi-ja jeste da počnete od radne sveske koju je dizajner već napravio. Neko u finansijama kreira izgled fakture u Excel-u: logo,…
Tabela sadrži kolonu sa imenima klijenata. Neka su na kineskom, neka na ćirilici, nekoliko nosi nemačke umlaute ili francuski akcenat. Izvezete je u CSV i otvorite rezultat, i svaki karakter je…
Zamislite posao koji skoro ništa ne radi: otvori mesečnu radnu svesku, upiše današnji datum u jednu ćeliju i sačuva je. Pokrenite to dovoljno puta kroz neku uslugu i sigurno će stići žalba. Makroi su…
Grupna normalizacija tabela predstavlja tri problema u jednom kaputu. Imate arhivu mešovitih formata:.xlsiz BIFF ere, moderni.xlsx, nekoliko.odsdatoteka iz nekog LibreOffice eksperimenta i šaku…
Tabela nosi dva sloja identiteta. Postoji mreža ćelija i postoje metapodaci dokumenta koji idu uz nju: naslov, autor, kompanija, ključne reči i vremenske oznake. Excel nikada ne prikazuje taj drugi…
Excel izlaže dve stvari koje se nazivaju „lozinka“, a samo jedna od njih predstavlja šifrovanje. Lozinka za otvaranje aktivira pravi šifarski algoritam: bez nje se datoteka uopšte ne može pročitati.…
PDF je u svojoj suštini kontejner sa običnim tekstom. Otvorite većinu datoteka u heksadecimalnom uređivaču (hex editor) i gornji deo je čitljiv: komentar o verziji, zatim niz numerisanih objekata, pa…
Simptom se pojavio u programu za kopiranje stranica napravljenom pomoću komponenteHotPDF Component: traženje prve stranice (indeks 0) dokumenta od tri stranice dosledno je davalo drugu stranicu.…
Rečnik PDF kataloga (PDF Catalog dictionary) ima tačno jedan obavezni navigacioni ključ:/Pages. Taj ključ mora ukazivati na indirektni objekat tipa/Pages, koji zauzvrat sadrži niz/Kidsi ukupan broj…
PDF datoteka je u svojoj suštini kolekcija objekata koji ukazuju jedni na druge. Kada uklonite kompresiju, vođenje evidencije unakrsnih referenci i ofsete bajtova, ono što preostaje jeste graf: mali…
Kada uklonite opise stranica, ostaje vam tanak sloj strukture koju niko ne štampa, ali od koje zavisi svaki čitač, indeksator i arhivski sistem. Objekat stranice ne zna ništa o poglavlju kojem…
Postavite skenirani izveštaj od 80 MB iza linka, otvorite ga u pregledaču i gledajte šta se dešava: čitač stoji na praznom ekranu sve dok ne stigne veliki deo tih bajtova, a zatim odjednom iscrtava…
PDF stranica ne čuva piksele niti čuva stablo objekata oblika na način na koji to radi SVG. Ona čuva program. Svaka linija, kriva, popunjavanje i postavljena slika na stranici rezultat su izvršavanja…
PDF koji izgleda savršeno na vašem računaru, a na tuđem se prikazuje kao niz praznih kvadratića, najčešći je defekt sa fontovima u softveru za dokumente, i to skoro nikada ne znači da je tekst…
Čitač PDF-a ne počinje od početka datoteke. On počinje od kraja. Poslednjih nekoliko bajtova sadrži adresu svega ostalog, i parser koji ne razume taj redosled pogrešno će protumačiti format već od…
Objekat broj 1 nije stranica 1. Ta jednostavna činjenica zbunjuje više koda za obradu PDF-a nego bilo koji drugi aspekt formata, a razumevanje zašto je to tako zahteva da pogledamo iza onoga što nam…
Stranica 1 u PDF-u nije objekat 1. Ta razlika je najčešći izvor grešaka sa izdvajanjem pogrešne stranice u PDF parserima, a rešenje je čitanje specifikacije umesto samih bajtova datoteke
PDF je kolekcija numerisanih objekata lociranih preko tabele unakrsnih referenci. Model upravlja ugradnjom fontova, potpisima i inkrementalnim ažuriranjima
Open-source Delphi biblioteka sa WebRTC, GPU baferovanim FireMonkey kontrolama, JSON/BSON parsiranjem i MongoDB. Pokriva kompatibilnost sa Alexandria 11.1
Kada održavate VCL komponentu napisanu u Delphiju koju koriste i korisnici Delphija i korisnici C++Buildera, brzo ćete shvatiti da ova dva sistema za izgradnju tretiraju zavisnosti veoma različito.…
Greške provere opsega (range check errors) u Delphi PDF bibliotekama imaju reputaciju teških za lociranje jer ne prate dosledan obrazac unosa. Isti dokument ih proizvodi na jednoj mašini, a na drugoj…
TDateTimePickerje dobio svojstvoFormatnegde između Delphi 5 i Delphi 6. Tačna granica verzije je retko dokumentovana na pouzdan način, a kada naiđete na nju, kompajler vam jednostavno javlja da…
StrukturaLOGBRUSHima dva različita oblika u Windows API-ju. Jedan je aktivni deskriptor GDI objekta kojiCreateBrushIndirectprihvata. Drugi je njegova serijalizovana verzija unutar Enhanced Metafile…
Postavljanje komponenteTHotPDFna formu u vreme dizajniranja (design-time) je sasvim u redu za brzi prototip, ali to povezuje životni vek komponente sa životnim vekom forme, što produkcioni kod retko…
Kada obrađujete velike serije Excel tabela u automatizovanom cevovodu, retko želite da učitate ceo dokument u memoriju samo da biste shvatili o čemu se radi. Često su metapodaci ugrađeni u datoteku,…
Originalni_ftolidiom u 32-bitnom Delphi-ju izgleda kao pametno rešenje u jednom redu: Pascal omotač funkcije koji koristi ugrađeni asembler za manipulaciju kontrolnom reči x87 FPU-a, iseca (skraćuje)…
Onlajn servisi za potpisivanje rešavaju specifičan logistički problem: dobijanje potpisa na dokumentu kada potpisnik nema softver za PDF, nema vremena za štampanje i nema faks mašinu. DigiSigner se…
U tokovima posla vezanim za štampanje u preduzećima, arhiviranje i usklađenost dokumenata, PDF datoteka se ne može jednostavno "prikazati". Ona se mora revidirati. PDF može sadržati neporavnate…
Pristupačnost više nije opciona funkcija u modernom razvoju softvera. Prema propisima kao što su ADA (Zakon o Amerikancima sa invaliditetom) i Direktiva EU o pristupačnosti veba, softver koji…
Jedna A4 stranica renderovana pri udobnom zumu za citanje zauzima nekoliko megabajta 32-bitne bitmape. Pomnozite to sa ugovorom od 400 stranica i aritmetika prestaje da bude apstraktna: renderujte…
Kada razvijate poslovna rešenja za dokumente, neizbežno ćete se susresti sa PDF-ovima generisanim od strane velikog broja različitih alata, od vrhunskog Adobe softvera do problematičnih open-source…
U pravnom, finansijskom i zdravstvenom sektoru, generisanje velike količine PDF dokumenata je standardna praksa. Međutim, proizvodnja dokumenata je samo pola bitke; njihovo obezbeđivanje je…
Tri biblioteke. Tri razlicita posla. Odabir pogresne kosta vas nedelje zaobilaznih resenja, a odabir sve tri kada vam je potrebna samo jedna kosta vas rezijskog odrzavanja za koji niste budzetirali.…
PDF dokumenti su neverovatno moćni, ali ta moć nosi inherentne bezbednosne rizike. Zato što PDF-ovi podržavaju ugrađene datoteke, interaktivni JavaScript i složene binarne tokove, često se koriste…
Obrada standardnih PDF-ova (od 1MB do 10MB) u Delphiju je jednostavna pomoću standardnih klasa tokova kao što suTFileStreamiliTMemoryStream. Međutim, kada dobijete zadatak da obradite PDF-ove…
Dva minuta za kopiranje tri stranice iz PDF-a od 40 stranica nije problem podesavanja performansi. To je signal da se koristi pogresan API put. Kada sam prvi put video ovo merenje vremena na primeru…
Dimenzije PDF stranice su fiksne u trenutku kreiranja stranice, pa sadrzaj ne mozete jednostavno prerazmерiti na mestu kao sto biste promenili velicinu slike. Model biblioteke koji cini smanjivanje…
RTF postoji dovoljno dugo da se pojavljuje na mestima koje niko nije planirao: legaсni generatori izvestaja, cevovodi za spajanje posta, pravni arhivi dokumenata koji prethode modernim procesorima…