Software Development Blog
Kiekviena PDF biblioteka pateikia „hello world“ pavyzdį, o HotPDF pavyzdį verta panagrinėti išsamiau. Net ir mažiausia veikianti programa reikalauja priimti du sprendimus, kuriuos kartosite kurdami…
Software Development Blog
Klaidos pranešimas „Please load the document before using BeginDoc“ beveik visada pasirodo antrąjį kartą. Pirmasis dokumentas įrašomas sėkmingai. Tada to patiesTHotPDFegzemplioriaus prašoma pradėti…
Software Development Blog
„AcroForm“ veiksmas yra prie valdiklio (widget) pridėtas žodynas, kuris nurodo peržiūros programai, ką daryti atlikus tam tikrą veiksmą su tuo valdikliu. Spustelėjus mygtuką, peržiūros programa…
Software Development Blog
PDF leidimų vėliavėlė nėra užraktas. Tai tėra failo prašymas peržiūros programai, kurią atidarantis asmuo gali lengvai ignoruoti. Šis vienintelis faktas nulemia, kaip turėtumėte vertinti bet kurį…
Software Development Blog
Brūkšninis kodas nėra tik paveikslėlis, kuriuo puošiamas dokumentas. Tai yra matmuo, o skeneris yra prietaisas, kuris jį nuskaito. Šis požiūrio pakeitimas lemia beveik viską, kaip turėtumėte jį…
Software Development Blog
HotPDF braižo vektorinę grafiką sukurdamas kelią dabartiniame puslapyje, o tada nurodydamas jį nupiešti. Tarp šių žingsnių nėra jokio taškinio paveikslėlio (bitmap) kūrimo etapo. Linija, kurią…
Software Development Blog
HotPDF neturi diagramų objekto. Čia nėra neiTPDFChart, neiAddBarSeries, nei nieko kito, kas priimtų skaičių masyvą ir grąžintų paruoštą grafiką. Vietoj to jis suteikia puslapio drobę su ta pačia žemo…
Software Development Blog
Perduokite arabišką frazęيوضح ملف PDFmetoduiTextOutir atidarykite rezultatą. Raidės bus surašytos neteisinga kryptimi, o kiekviena iš jų bus izoliuotos formos su matomu tarpu prieš kitą, tarsi kas…
Software Development Blog
Kiekviena matoma eilutė HotPDF dokumente atsiranda per vieną iškvietimą:TextOut(X, Y, angle, Text). Hello World pavyzdyje jis naudojamas paprasčiausiu būdu: šriftas nustatomas vieną kartą, o keturi…
Software Development Blog
Paimkite japonišką romaną ir pirmas dalykas, kurį pastebėsite – tekstas eina žemyn stulpeliu, o ne išilgai eilutės, o patys stulpeliai slenka nuo dešiniojo lapo krašto kairiojo link. Tokioje…
Software Development Blog
PDF parašas iš esmės yra baitų apskaita, o būtent joje dažniausiai ir daromos klaidos. Kriptografija veikia pagal kodą, kuris buvo audituojamas du dešimtmečius, ir ši dalis beveik niekada nesugenda.…
Software Development Blog
Puslapių skaičiavimas nuskaitytame 1,4 GB archyve turėtų būti pigi operacija. Tačiau iškvietusLoadFromFilešiam failui, ji tokia nebėra: HotPDF apdoroja kryžminių nuorodų duomenis ir sukuria atmintyje…
Software Development Blog
Sugeneruokite ataskaitą, įterpkite TrueType šriftą, ir gautas rezultatas bus teisingai atidaromas bet kurioje peržiūros programoje. Glifai rodomi teisingai, tekstą galima pažymėti, o failas yra…
Software Development Blog
PDF funkcijos yra viena tylesnių specifikacijos sričių. Dauguma programuotojų su jomis susiduria tik kartą, kai Type 2 ašiniam šešėliavimui reikia pereiti tarp dviejų spalvų, ir daugiau į jas…
Software Development Blog
Atidarykite Microsoft Word arba Excel sukurtą PDF failą, pereikite per jo puslapius ir niekas neatrodys neįprasta. Įkelkite jį į Delphi programą, perskaitykite puslapių skaičių ir skaičius bus…
Software Development Blog
PDF hipersaitai (angl. hyperlinks) yra URI anotacijos: tai puslapio sritį dengiantis stačiakampis, kurį spustelėjus peržiūros programa atidaro URL adresą. Anotacija ir po ja esantis tekstas yra…
Software Development Blog
PDF 1.5 pristatė dvi saugojimo struktūras, kurių ankstesnis failo formatas negalėjo išreikšti: objektų srautą ir kryžminių nuorodų srautą. Objektų srautas yra vienas „Flate“ algoritmu suspaustas…
Software Development Blog
Dizaineris pasirenka šriftą su vieno aukštoaantraštėms, perbrauktu nuliu lentelėms arba dekoratyvinių didžiųjų raidžių rinkiniu viršeliui. Šie glifai jau yra šrifte. Jie tiesiog nėra numatytieji.…
Software Development Blog
PDF/A, PDF/X ir PDF/UA yra trys skirtingi standartai, sprendžiantys tris skirtingas problemas: ilgalaikį archyvavimą, spaudos mainus ir prieinamumą (angl. accessibility). Tai nėra trys varnelės…
Software Development Blog
Kai pasirašote PDF dokumentą, paprastai manote, kad pasirašymo raktą valdote patys. Jis saugomas jūsų sugeneruotame.pfxfaile, apsaugotame jūsų pasirinktu slaptažodžiu. Kodas, nuskaitantis tą failą,…
Software Development Blog
Failas jūsų kompiuteryje atsidaro be jokių problemų. „Acrobat“ jį rodo, spaudinio peržiūra atrodo tinkama, visi puslapiai yra savo vietose. Tačiau vėliau jis išsiunčiamas į spaustuvę arba archyvavimo…
Software Development Blog
Ataskaitos generavimas iš esmės susideda iš trijų elementų išdėstymo puslapyje: teksto nurodytose koordinatėse, šriftų, kurie serveryje atvaizduojami taip pat kaip ir jūsų kompiuteryje, ir tinkamo…
Software Development Blog
Duomenų rinkinį (dataset) sudaro eilutės ir stulpeliai, o PDF puslapis yra tiesiog tuščias koordinačių tinklelis, neturintis jokio supratimo apie lenteles. Mūsų užduotis yra užpildyti šią spragą.…
Software Development Blog
Dvi formos gali turėti tuos pačius laukus, tačiau veikti visiškai skirtingai. „AcroForm“ savo laukus saugo kaip įprastus PDF objektus, esančius virš tikrojo puslapio turinio, zodžiu, bet kuri…
Software Development Blog
Atidarykite XML formų architektūros (angl. XML Forms Architecture arba XFA) specifikaciją skyriuje apie turinį, ir greitai suprasite, kad interaktyvios formos projektavimas yra labiau susijęs su HTML…
Software Development Blog
Anotacija nėra puslapio turinys. Kai iškviečiateTextOutarba nubrėžiate stačiakampį, šie objektai tampa puslapio turinio srauto dalimi, įrašoma tiesiai į baitus, kuriuos piešia atvaizdavimo variklis.…
Software Development Blog
Nusiųskite arabišką sakinįيوضح ملف PDF هذاįprastamTextOutir gautas puslapis bus klaidingas dviem būdais iškart. Žodžiai bus rašomi iš kairės į dešinę, o ne iš dešinės į kairę, o raidės bus atskirtos…
Software Development Blog
Kiekvienas matomas PDF simbolis turi nuorodą į šriftą, kuriuo jis buvo nupieštas, o PDFium Component leidžia sekti šią nuorodą iki šrifto objekto ir perskaityti jo duomenis. Prieigos vienetas yra simbolis,…
Software Development Blog
PDF yra ne tik popierius. Tai konteineris, kuris gali nešti scenarijus, paleidžiamus atidarius failą, nuorodas, paleidžiančias išorines programas, nuorodas, pasiekiančias žiniatinklio serverius,…
Software Development Blog
PDF peržiūros programa Delphi susideda iš dviejų komponentų ir jų tarpusavio sujungimo.TPdfvaldo dokumentą: jis atidaro failą, jį iššifruoja ir pateikia informaciją apie puslapių skaičių bei…
Software Development Blog
Draudimo žalų apdorojimo komanda turėjo trisdešimties metų popierinių bylų archyvą, kurį reikėjo nuskenuoti lapiniu skeneriu. Skeneris į aplanką išsaugojo po vieną JPEG vaizdą kiekvienam puslapiui,…
Software Development Blog
PDF puslapio atvaizdavimas į JPEG yra dvi skirtingos operacijos, kurias programuotojai linkę sujungti į vieną ir vėliau derinti atskirai. Pirmiausia atliekamas puslapio rasterizavimas į pikselių…
Software Development Blog
„PDFium“ yra žinomas kaip PDF peržiūros variklis, naudojamas, pavyzdžiui, „Chrome“ naršyklėje. Tačiau pirmiausia verta patikslinti, kad „PDFium Component“ taip pat leidžia kurti visiškai naujus dokumentus.…
Software Development Blog
PDF formatas saugo vaizdus kaip savarankiškus objektus savo turinio srautuose. Kai puslapyje pateikiama nuotrauka, nuskenuotas vaizdas ar diagrama, pikselių duomenys saugomiXObjectžodyne šalia…
Software Development Blog
Teksto išgavimas iš PDF atrodo paprastas tol, kol nesusiduriate su dokumentu, kuriame tekstinis sluoksnis neegzistuoja, yra sugadintas arba išbarstytas po dešimtis smulkių simbolių eilučių be jokios…
Software Development Blog
Pascal susiejimas C bibliotekai skaitomas kaip įprastas Pascal kodas. Iškviečiate metodą, gaunate įrašą atgal, atlaisvinate tai, ką priskyrėte. Bėda ta, kad PDFium yra C ir C++ biblioteka su sava…
Software Development Blog
„PDFium Component“ leidžia sujungti PDF failus naudojant vieną metodą:ImportPages. Veiksmų seka visada ta pati: sukuriate tuščią tikslinį dokumentą, atidarote kiekvieną šaltinio failą,…
Software Development Blog
Sujungimas ir padalijimas yra dvi puslapių operacijos, kurių visi griebiasi pirmiausia, ir jos apima daug sričių. Tačiau jos neapima visko. Yra atskira darbų grupė, kuri pertvarko puslapius, o ne…
Software Development Blog
Neregys naudotojas atidaro ketvirčio ataskaitą jūsų naujoje „Delphi“ peržiūros programoje, įjungia NVDA ekrano skaitytuvą ir išgirsta puslapio poraštę, tada skaičių stulpelį ir tik pačioje pabaigoje…
Software Development Blog
PDF anotacija yra prie puslapio prisegtas žodynas, o ne ant jo nupieštas ženklas. ISO 32000-1 §12.5 apibrėžia maždaug du tuzinus potipių, ir kiekvienas iš jų turi /Subtype, stačiakampį puslapio…
Software Development Blog
Paspauskite Tab klavišą jūsų kodo sukurtoje PDF formoje, ir žymeklis atsidurs per du laukus nuo ten, kur turėtų, arba visiškai praleis antrąjį stulpelį, arba po trečiojo lauko grįš į viršų, o ne…
Software Development Blog
Delphi ir Lazarus kompiliuoja tą patį Object Pascal kodą, ir būtent šis išorinis panašumas daro peržiūros programos perkėlimą tarp jų apgaulingą. Abi įrankių grandinės išsiskiria trijose PDF darbui…
Software Development Blog
Silpnaregis skaitytojas negali įskaityti juodo teksto baltame puslapyje esant numatytajam kontrastui, todėl prašo tamsiojo režimo. Paprasčiausias sprendimas – invertuoti kiekvieną sugeneruoto…
Software Development Blog
PDF priėmimo peržiūros darbo aplinka (intake review workbench) yra nedidelė programa, atliekanti vieną užduotį: patikrinti kiekvieną failą prieš leidžiant bet kokioms vėlesnėms sistemoms jį apdoroti.…
Software Development Blog
Paketinis patikros (preflight) įrankis yra konsolinė programa be lango, nukreipta į PDF failų aplanką, kuri patikrina kiekveno failo atitiktį jūsų nurodytiems standartams ir palieka mašininiu būdu…
Software Development Blog
Laikykite nuspaudę mastelio keitimo mygtuką paprastoje PDF peržiūros programoje ir stebėkite procesoriaus (CPU) apkrovos grafiką. Vienas automatiškai besikartojantis mygtuko paspaudimas sukelia…
Software Development Blog
Nepatikimo PDF failo peržiūra jūsų programoje yra svarbus sprendimas, ir čia svarbiausia ne peržiūros programos išvaizda, o tai, ko šis skydelis atsisako daryti. Neįrašykite failo į diską. Neleiskite…
Software Development Blog
Skaitymo balsu funkcija turi vieną matomą užduotį be paties balso: ištariant kiekvieną žodį, ji privalo paryškinti tą žodį puslapyje ir išlaikyti jį matomą ekrane. Norint tai padaryti, jums reikia…
Software Development Blog
PDF koordinatės matuojamos taškais (points), spausdintuvo koordinatės – įrenginio vienetais (device units), ir šios dvi sistemos neturi nieko bendro, kol jų apgalvotai nekonvertuojate. Šis…
Software Development Blog
Vandens ženklo ar logotipo užspaudimas ant kiekvieno dokumento puslapio atrodo kaip penkių minučių darbas, kol neatidarote rezultato failo dydžio inspektoriuje. Akivaizdus būdas yra vaikščioti per…
Software Development Blog
„PDFium Component“ suteikia vieną PDF skaidymo metodą:ImportPages. Visa kita – nesvarbu, ar išskiriate vieną puslapį, karpote pagal pasirinktas ribas, ar sekate paties dokumento žymių (angl. bookmark)…
Software Development Blog
Nuskenuotas archyvas gali užimti kelis gigabaitus viename PDF faile. Peržiūros programa, atidaranti tokį failą, dažniausiai nori parodyti tik vieną puslapį – galbūt turinį, o gal puslapį, į kurį…
Software Development Blog
Du vienu metu atidaryti dokumentai, tas pats puslapio numeris, kiekvienas atskirame slenkamame skydelyje – tai yra palyginimo peržiūros programos esmė. „PDFium Component“ tai užtikrina naudodama paprastą…
Software Development Blog
Atidarykite PDF dokumentą teksto rengyklėje, ir pamatysite, kad didžioji dalis failo yra ne tekstas, o dideli dvejetainių duomenų blokai, prasidedantysstreamir besibaigiantysendstream. Šie srautai…
Software Development Blog
PDF failų priedai (attachments) yra saugomi dokumento įterptųjų failų medyje (embedded-file tree) – struktūroje, kurią dauguma peržiūros programų atvaizduoja kaip sąvaržėlės skydelį arba priedų…
Software Development Blog
Brūkšninis kodas siuntimo etiketėje arba sąskaitoje faktūroje turi vienintelį darbą – būti nuskaitytas skeneriu iš pirmo karto. Ar jis sėkmingai praeis šį nuskaitymą, nusprendžiama gerokai prieš…
Software Development Blog
Darbo aplinka (workbench), sujungianti atitikties patvirtinimą su skaitmeniniu pasirašymu, turi suderinti keturis žingsnius būtent šia tvarka ir visą laiką dirbti su tuo pačiu baitų rinkiniu. Ji…
Software Development Blog
Štai problema, kuri iškyla tą akimirką, kai PDF biblioteka palieka savo gimtąją kalbą. Turite susiejimą (binding), kuris puikiai veikia su C# „Windows“ aplinkoje. Jums reikia tų pačių iškvietimų su…
Software Development Blog
Teisių vėliavėlė (permission flag) nėra saugumo mechanizmas. Bitas, kuris nurodo „kopijavimas draudžiamas“, yra tame pačiame/Encryptžodyne kaip ir šifravimo nustatymai, o tai sukuria apgaulingą…
Software Development Blog
Daugelis kūrėjų mano, kad PDF puslapis yra tik popieriaus lapas su tekstu ir paveikslėliais. Geografiškai susietas (georeferenced) PDF yra daugiau nei tai. Jis turi pakankamai informacijos, kad…
Software Development Blog
PDF formos laukas pats savaime yra tik langelis, kuriame saugoma reikšmė. Tai, kas priverčia formą veikti kaip nedidelę programą, yra prie jos pridėtas veiksmas: spustelėjimas, kuris paslepia…
Software Development Blog
Didelio (pavyzdžiui, 2 gigabaitų) PDF failo sujungimas arba skaidymas įprastu būdu kainuoja du dalykus vienu metu: vykdymo laiką ir adresų erdvę. Įprastas būdas yra įkelti kiekvieną įvesties failą,…
Software Development Blog
Trys skirtingi rastravimo varikliai gali perskaityti tą patį PDF failą ir nevienodai jį atvaizduoti. Integruotas „PDFlibPas“ variklis platinamas be jokių papildomų failų ir viską atvaizduoja…
Software Development Blog
Matininkas atidaro sklypo planą ir nori, kad kontūrai būtų paslėpti, o komunalinės paslaugos liktų matomos. Recenzentas nori, kad raudonos linijos anotacijos būtų matomos ekrane, bet dingtų iš…
Software Development Blog
Vieno PAdES parašo patvirtinimas reiškia trijų nepriklausomų dalykų patikrinimą, o žalias varnelis (check mark) peržiūros programoje praneša tik apie trečiąjį. Pirma, masyvas/ByteRangeprivalo apimti…
Software Development Blog
PDF/A ir PDF/UA atsako į du visiškai skirtingus klausimus, todėl elgesys su jais kaip su vienu bendru prieinamumo ir archyvavimo varnelės langeliu yra priežastis, kodėl sugadinti failai patenka į…
Software Development Blog
PDF puslapio atvaizdavimas „Windows” įrenginio kontekste (angl.device context, DC) spaudinio peržiūrai sujungia tris skirtingas koordinačių sistemas vienoje kodo eilutėje, kurios retai sutampa. PDF…
Software Development Blog
Prieinamas (angl.accessible) PDF remiasi viena struktūra, kurios matomas puslapis niekada nerodo: struktūros medžiu (angl.structure tree), apibrėžtu ISO 32000-1 §14.7. Tai yra loginė antraščių,…
Software Development Blog
Teksto, vaizdų ir šriftų išgavimas iš esamo PDF failo skamba kaip išspręsta problema, kol nepradedate dirbti su realiu dokumentų rinkiniu. Nukreipkite paieškos indeksavimo sistemą į keturiasdešimt…
Software Development Blog
PDF nėra dokumentas, kurį tiesiog atidarote. Tai nedidelė programa, kurią paleidžiate. Kiekvienas įterptas šriftas yra dėklu pagrįstas interpretatorius, laukiantis charstring eilučių, kiekvienas…
Software Development Blog
Dauguma Delphi kodų, susijusių su PDF, vertina šį formatą kaip konteinerį dviem dalykams: teksto atkarpoms ir keliems patalpintiems taškiniams paveikslėliams. Šis požiūris yra teisingas tiek, kiek…
Software Development Blog
Beveik kiekviena senojo dvejetainio Excel formato dalis yra vienas įrašas su aiškiu dviejų baitų tipu ir dviejų baitų ilgiu. Langelis yraLABELSSTarbaNUMBER. Sujungtas regionas yraMERGEDCELLS.…
Software Development Blog
Viskas, kas plūduriuoja virš darbalapio tinklelio (diagrama, logotipas, antspaudas ar paaiškinimo laukelis), yra grafinis objektas (angl.drawing object), kurį apibrėžia du dalykai: kas tai yra ir kur…
Software Development Blog
Pakeiskite darbalapio pavadinimą iš „Summary“ į „Overview“ sugeneruotoje knygoje, ir kiekviena vidinė nuoroda, rodanti įSummary!A1, nustos veikti. Nėra jokių klaidų pranešimų nei išsaugant failą, nei…
Software Development Blog
Sąlyginio formatavimo taisyklė OOXML formate yra du skirtingi dalykai, turintys vieną pavadinimą. Sąlyga (palyginimas, formulė, teksto atitikmuo) nusprendžia, kurie langeliai atitinka reikalavimus.…
Software Development Blog
Įsivaizduokite kasdienę užduotį, kuri sugeneruoja sąskaitos-faktūros failą ir įrašo jį kaip CSV formato failą, skirtą importuoti į kitą sistemą. Skaičiai „Excel” programoje atrodo teisingi. CSV…
Software Development Blog
Šios trys „HotXLS“ funkcijos dalijasi darbalapiu, tačiau veikia su visiškai skirtingais objektais. Problemos prasideda tada, kai darote prielaidą, kad jos atlieka panašius dalykus. Duomenų tikrinimas…
Software Development Blog
Užklausos rezultato pavertimas „Excel“ ataskaita yra trys problemos po vienu apsiaustu. Kiekvienas „Delphi“ lauko tipas turi patekti į langelį kaip tinkamas „Excel“ tipas, antraštės eilutė turi…
Software Development Blog
Atidarykite skaičiuoklę, spustelėkite langelį, kuriame rodoma2026-06-19, ir formulių juosta vis tiek rodys datą. Perskaitykite tą patį langelį Delphi aplinkoje, ir gausite skaičių46192. Abu vaizdai…
Software Development Blog
Pavadinta sritis (angl.defined name) yra etiketė, atstovaujanti konstantą, langelių rėžį ar formulės išraišką, įrašyta vieną kartą darbo knygoje ir naudojama kaip simbolinė nuoroda visur, kur jos…
Software Development Blog
Inžinerinė funkcijų šeima Excel programoje atrodo kaip lengviausia funkcijų žinyno dalis.DEC2BINpaverčia skaičių dvejetaine eilute.HEX2DECpaverčia jį atgal.IMSUMsudeda du kompleksinius skaičius.…
Software Development Blog
Skaiciuokliniu lenteliu biblioteka, kuri tik issaugo formules kaip teksta, ir biblioteka su veikiancio formuliu varikliu yra du skirtingi produktai, kurie atrodo identiski tol, kol nepaklausite vieno…
Software Development Blog
Kai 300 000 eiluciu eksportas virsija savo atminties biudzeta, paprastai kaltinamas eiluciu skaicius. Eiluciu skaicius paprastai yra nekaltas. Brangios dideliu darbaknyges dalys yra tos, kurios…
Software Development Blog
Perkelkite lasteles is prasta atidaryto ataskaitos sablono ir sujungtas pavadinimas elgiasi kaip nuotekis. Jusu skaitoteA1ir gaunate "Quarterly Statement"; jusu skaitoteB1ikiF1, kurios matomai sedi…
Software Development Blog
Delphi ataskaitavimo uzpakaline dalis, kuri daugelI metu isleido .xlsx, gauna nauja reikalavima: viesojo sektoriaus kliento pirkimo taisykles igpareigoja OpenDocument skaiciuokliniu lenteliu isvestu,…
Software Development Blog
Jūs įrašote darbaknygę, užšifruojate ją slaptažodžiu, perduodate failą kolegai ir kolega jį atidaro Excel programoje. Excel paprašo slaptažodžio. Kolega jį įveda ir Excel jį priima. Kol kas…
Software Development Blog
Jei serverio vienintelis darbas yra iskleisti Excel failus, jam nereikia veikti Excel. Office instaliacij i kurybos agento arba ataskaitu tarnybos, siekiant vairuoti ja per COM automatizavima, yra…
Software Development Blog
Trys grupes darbalakio nustatymu nieko bendra su lasteleiu reiksmemis ir viska apie tai, kaip failas elgiasi, kai palieka jusu koda. Lapu apsauga nusprendzia, kurias lasteles vartotojas gali…
Software Development Blog
Kartais vienintelis klausimas, i kuri gavimo rutinai reikia atsakymo, yra struktūrinis: ar turi ši darbaknygė lapu, vadinamu "Mapping", arba kiek korteliu ji nesha. Atsakant tai istatymuOpenyra…
Software Development Blog
Įveskite=NORM.DIST(115,100,15,TRUE)į langelį ir Excel grąžina 0.8413447 be jokių ceremonijų. Iškvietimas atrodo kaip paieška. Taip nėra. Už to vieno skaičiaus slepiasi sukauptas normalusis…
Software Development Blog
Tarkime, nakties Delphi tarnyba generuoja viena XLSX kiekvienam klientui, keleta simitų failų, kai kurie is ju 400 000 eiluciu ploto. Profilizuokite ji ir nuostaba paprastai nera lasteleiu-pildymo…
Software Development Blog
Patikimas budas generuoti stilizuota Excel ataskaitą is Delphi yra pradeti nuo darbaknyges, kuria dizaineris jau sukure. Finansu komandos narys sudaro saskaita faktura Excel: logo, stulpeliu…
Software Development Blog
Skaičiuoklė turi klientų vardų stulpelį. Kai kurie yra kinų kalba, kai kurie – kirilica, keli turi vokiečių kalbos umlautus arba prancūzišką kirtį. Eksportuojate jį į CSV ir atidarote rezultatą –…
Software Development Blog
Įsivaizduokite užduotį, kuri beveik nieko nedaro: atidaryti mėnesio darbaknygę, įrašyti šios dienos datą į vieną langelį ir išsaugoti. Vykdant tai per paslaugą pakankamai dažnai, vis tiek sulaukiama…
Software Development Blog
Masinis skaičiuoklių normalizavimo darbas yra trys problemos, paslėptos po vienu apsiaustu. Turite mišrių formatų archyvą: BIFF eros.xls, modernų.xlsx, keletą.odsfailų iš kažkokio „LibreOffice“…
Software Development Blog
Skaičiuoklė turi du identiteto sluoksnius. Yra langelių tinklelis ir dokumento metaduomenys, keliaujantys kartu su juo: pavadinimas, autorius, įmonė, raktiniai žodžiai, laiko žymos. „Excel“ niekada…
Software Development Blog
Excel atskleidzia du dalykus, abu vadinamus "slaptažodžiu", ir tik vienas iš jų yra sifracija. Atidarymo slaptažodis rakina tikrą šifrą: be jo failas iš viso negali buti skaitytas. Darbalakio ir…
Software Development Blog
Iš esmės PDF yra paprastojo teksto konteineris. Atidarykite daugumą failų šešioliktainiu redaktoriumi (angl. hex editor) ir viršutinė dalis bus lengvai įskaitoma: versijos komentaras, sunumeruotų…
Software Development Blog
Simptomas pasireiškė puslapių kopijavimo programoje, sukurtoje naudojantHotPDF Componentkomponentą: prašant pirmojo puslapio (indeksas 1) trijų puslapių dokumente, programa nuolat pateikdavo antrąjį…
Software Development Blog
PDF katalogo (Catalog) žodynas turi tiksliai vieną privalomą navigacijos raktą:/Pages. Šis raktas privalo rodyti į netiesioginį/Pagestipo objektą, kuris savo ruožtu turi/Kidsmasyvą ir bendrą puslapių…
Software Development Blog
Iš esmės PDF failas yra vienas į kitą nurodančių objektų rinkinys. Atmetus suspaudimą, kryžminių nuorodų apskaitą ir baitų poslinkius, lieka grafas – nedidelis tipizuotų reikšmių rinkinys, sujungtas…
Software Development Blog
Atmetus puslapių aprašymus, lieka plonas struktūros sluoksnis, kurio niekas nespausdina, tačiau nuo kurio priklauso kiekvienas skaitytuvas, paieškos indeksuotojas ir archyvavimo sistema. Puslapio…
Software Development Blog
Patalpinkite 80 MB nuskenuotą ataskaitą už nuorodos, atidarykite ją naršyklėje ir stebėkite, kas vyksta: peržiūros programa rodo tuščią ekraną, kol atkeliauja didžioji dalis baitų, o tada iškart…
Software Development Blog
PDF puslapyje nesaugomi pikseliai ir nesaugomas figūrų objektų medis, kaip yra SVG atveju. Jame saugoma programa. Kiekviena puslapio linija, kreivė, užpildas ir įterptas vaizdas yra operatorių sekos…
Software Development Blog
Dokumentas, kuris jūsų kompiuteryje atrodo puikiai, o kito asmens įrenginyje atvaizduojamas kaip tuščių kvadratėlių eilutė, yra dažniausia šriftų klaida dirbant su PDF. Tai beveik niekada nereiškia,…
Software Development Blog
PDF skaitytuvas nepradeda darbo nuo failo pradžios. Jis pradeda nuo pabaigos. Paskutiniuose keliuose baituose yra visų kitų elementų adresai, o sintaksės analizatorius (parser), kuris nesupranta šios…
Software Development Blog
Objektas numeris 1 nėra 1 puslapis. Šis vienintelis faktas sukelia daugiau sunkumų PDF apdorojimo programiniam kodui nei bet kuris kitas šio formato aspektas. Norint suprasti, kodėl taip yra, reikia…
Software Development Blog
PDF dokumento 1 puslapis nėra objektas 1. Šis skirtumas yra dažniausia klaidingo puslapių išgavimo klaida PDF analizatoriuose, o sprendimas yra specifikacijos skaitymas, o ne tiesioginis failo baitų…
Software Development Blog
PDF yra numeruotų objektų, surandamų pagal kryžminių nuorodų lentelę, rinkinys. Šis modelis valdo šriftų įterpimą, parašų baitų rėžius ir prieauginį atnaujinimą
Software Development Blog
Atvirojo kodo Delphi biblioteka su WebRTC, GPU buferizuotais FireMonkey valdikliais, JSON/BSON apdorojimu ir MongoDB. Aprašomas suderinamumas su Alexandria 11.1
Software Development Blog
Prižiūrint VCL komponentą, parašytą „Delphi” kalba, bet naudojamą tiek „Delphi”, tiek „C++Builder” vartotojų, greitai suprantate, kad abi kūrimo sistemos priklausomybes vertina labai skirtingai.…
Software Development Blog
Rėžio (arba diapazono) tikrinimo klaidos „Delphi“ PDF bibliotekose garsėja tuo, kad jas sunku tiksliai nustatyti, nes jos neseka nuoseklaus įvesties šablono. Tas pats dokumentas viename kompiuteryje…
Software Development Blog
TDateTimePickergavo savybęFormatkažkur tarp „Delphi 5“ ir „Delphi 6“ versijų. Tiksli versijų riba retai kada dokumentuojama taip, kad būtų galima pasitikėti, o kai su tuo susiduriate, kompiliatorius…
Software Development Blog
LOGBRUSHstruktūra „Windows“ API sąsajoje atlieka du skirtingus vaidmenis. Vienas iš jų yra aktyvus GDI objekto aprašas, kurį priimaCreateBrushIndirect. Kitas yra jo nuosekliai išdėstytas atitikmuo…
Software Development Blog
THotPDFkomponento užmetimas ant formos projektavimo metu (design time) tinka greitam prototipų kūrimui, tačiau tai susieja komponento gyvavimo ciklą su pačia forma, o gamybiniame kode to retai kada…
Software Development Blog
Apdorojant dideles „Excel“ skaičiuoklių partijas automatizuotame procese, retai kada norima įkelti visą dokumentą į atmintį vien tam, kad sužinotumėte, kas tai yra. Dažnai faile įterptų metaduomenų…
Software Development Blog
Senas 32 bitų Delphi sprendimas su _ftol dažnai atrodė kaip nedidelis pagalbinis triukas: Pascal funkcijos kūnas trumpam pereina į inline asm, paliečia x87 FPU būseną ir grąžina sutrumpintą sveikąjį…
Software Development Blog
Internetinio pasirašymo paslaugos išsprendžia konkrečią logistikos problemą: kaip gauti parašą ant dokumento, kai pasirašantis asmuo neturi PDF programinės įrangos, neturi laiko spausdinti ir neturi…
Software Development Blog
Įmonių spausdinimo, archyvavimo ir dokumentų atitikties darbo eigose PDF failo negalima tiesiog „atvaizduoti“. Jį būtina audituoti. PDF faile gali būti nesuplokštintų skaidrumo grupių, kurios…
Software Development Blog
Prieinamumas nebėra pasirenkama funkcija šiuolaikinėje programinės įrangos kūrimo aplinkoje. Pagal tokius reglamentus kaip ADA (Amerikiečių su negalia aktas) ir ES interneto prieinamumo direktyva,…
Software Development Blog
Vienas A4 formato puslapis, atvaizduotas patogiu skaitymo masteliu, užima kelis megabaitus 32 bitų taškinio vaizdo (bitmap) atminties. Padauginkite tai iš 400 puslapių sutarties ir skaičiavimai…
Software Development Blog
Kuriant verslo dokumentų sprendimus, neišvengiamai susidursite su PDF failais, sugeneruotais pačių įvairiausių įrankių, pradedant aukštos klasės „Adobe“ programine įranga ir baigiant klaidų…
Software Development Blog
Teisės, finansų ir sveikatos priežiūros sektoriuose didelių PDF dokumentų kiekių generavimas yra standartinė praktika. Tačiau dokumentų sukūrimas yra tik pusė darbo; ne mažiau svarbu juos apsaugoti.…
Software Development Blog
Trys bibliotekos. Trys skirtingos užduotys. Pasirinkus netinkamą, prarasite kelias savaites kurdami aplinkinius sprendimus, o pasirinkus visas tris, kai reikia tik vienos, patirsite nenumatytų…
Software Development Blog
PDF dokumentai yra nepaprastai galingi, tačiau ši galia atneša būdingą saugumo riziką. Kadangi PDF failai palaiko įterptuosius failus, interaktyvų „JavaScript“ ir sudėtingus dvejetainius srautus, jie…
Software Development Blog
Standartinių PDF failų (nuo 1 MB iki 10 MB) apdorojimas „Delphi“ aplinkoje yra paprastas naudojant standartines srautų klases, tokias kaipTFileStreamarTMemoryStream. Tačiau, kai tenka apdoroti…
Software Development Blog
Dvi minutės trijų puslapių nukopijavimui iš 40 puslapių PDF failo nėra našumo derinimo problema. Tai ženklas, kad naudojamas netinkamas API kelias. Kai pirmą kartą pamačiau tokį rezultatąHotPDF…
Software Development Blog
PDF puslapio matmenys yra užfiksuojami jo sukūrimo metu, todėl negalite tiesiog pakeisti turinio mastelio vietoje taip, kaip keičiamas paveikslėlio dydis. Šios bibliotekos modelis, leidžiantis…
Software Development Blog
RTF formatas gyvuoja pakankamai ilgai, todėl jis vis dar naudojamas ten, kur niekas to neplanavo: senose ataskaitų generavimo sistemose, laiškų suliejimo procesuose ar teisinių dokumentų archyvuose,…