Blog o razvoju softvera

Srpski članci (latinica)

Pročitajte inženjerske beleške losLab-a o PDF-u, Delphi-ju i softveru za dokumente na srpskom (latinica)

Software Development Blog

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…

Software Development Blog

Kreiranje AcroForm polja i akcija sa HotPDF-om u Delphi-ju

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…

Software Development Blog

CJK vertikalni tekst u PDF-u sa Delphi-jem i HotPDF-om

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…

Software Development Blog

Digitalni PDF potpisi i PAdES u Delphi-ju uz HotPDF

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…

Software Development Blog

EndDoc bag koji je tiho onemogućio podskupove fontova

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…

Software Development Blog

Konverzija XFA u AcroForm u Delphi-ju pomoću HotPDF-a

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…

Software Development Blog

RtLTextOut u HotPDF-u: PDF tekst zdesna nalevo u Delphi-ju

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…

Software Development Blog

N-up nametanje i reorganizacija stranica sa PDFium-om

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…

Software Development Blog

PDF čitač za Lazarus i Free Pascal pomoću PDFium-a

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…

Software Development Blog

Bar-kodovi u PDF-u sa Delphi-jem: QR, PDF417, DataMatrix

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.…

Software Development Blog

Interaktivni PDF obrasci u Delphi-ju: Akcije i JavaScript

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…

Software Development Blog

PDF slojevi u Delphi-ju: Opcione grupe sadržaja (OCG)

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…

Software Development Blog

PDF/A i PDF/UA preflight u Delphiju pomoću PDFlibPas

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…

Software Development Blog

Upisivanje BIFF8 PivotTables u Delphi-ju: SXDB i SXLI

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…

Software Development Blog

HotXLS grafikoni, slike i objekti za crtanje u Delphi-ju

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…

Software Development Blog

Otvaranje i čuvanje ODS datoteka u Delphi-ju uz HotXLS

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…

Software Development Blog

Unicode-bezbedan izvoz tabela u Delphi-ju: RTF i HTML

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…

Software Development Blog

PDF metapodaci, obeleživači i napomene

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…

Software Development Blog

Linearizacija PDF-a i Fast Web View: Kako funkcioniše

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…

Software Development Blog

Struktura PDF datoteke: Zaglavlje, telo, xref i trailer

Č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…

Software Development Blog

Delphi Excel komponente kompatibilne sa C++Builder

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.…

Software Development Blog

Greške provere opsega u Delphi PDF bibliotekama: Uzroci

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…

Software Development Blog

TDateTimePicker format u Delphi 5: DateTime_SetFormat

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…

Software Development Blog

Brzo AES-256 PDF šifrovanje za masivne dokumente

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…

Software Development Blog

Performanse ekstrakcije stranica HotPDF-om u Delphi-ju

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…

Software Development Blog

Skaliranje PDF stranica na 70% uz losLab PDF biblioteku

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…