Printanje iz htmla browser / JS

Evo upravo podesih i iglični POS printer da printa iz moje web aplikacije :slight_smile:
Vrijeme podešvanja: 2 minute (css sa marginama za ovaj format + dodavanje opcije u web aplikaciju za STAR POS iglični printer 63mm)

3 Likeova

Slazem se sa svime.

Ali tu je problem da svaki report ima drukcija polja u headeru i drukciji raspored, kako ce te to rijesit?

Isto tako, imas potrebu prikazat podatke gdje je vrijednost u nekoj koloni x , ili nije null, bez da diras query.

Funkcije: mogucnost ispisa broja stranice, mogucnost ispisa datuma i hrpa drugih stvari.

Isto tako generiranje crostab tablice iz obicnog query-a itd…

Ne kazem da se ne moze napraviti library, ali da ubacis sve mogucnosti koje ti u praksi trebaju i to samo jedan odredjeni postotak, treba ti barem 3 mj.

Tu su jos grafovi na reportima.

1 Like

Kada sam već utukao vremena, da se barem pohvalim s napravljenim :D.
Moj report builder može zapravo sve što si gore spomenuo (osim graphova), a i dosta više od spomenutog.
U suštini može odraditi sve što se pojavilo potrebno mojoj firmi. Hendla uspješno jedno 50-ak različitih reporta koji su se dosad pojavili…
…i to sve na jednostavan način odrađuje help desk.
Iako će se na prvu sintaksa učiniti kompliciranom, ali sam zato uz sintaksu kreirao i klikabilni builder …gdje se samo klikanjem kroz dostupne opcije kreira potrebna sintaksa. Nije spicanjeno ali služi svrsi.
Uglavnom, help desk služba je jako sretna koristeći se ovime…i rješavaju gotovo sve što zatreba.
Koga zanima baciti pogled na dokumentaciju, ovdje je:
https://bozoou.bit.ai/pwl/Lcl2jk7GZFdQzCnK

Ali caka je ipak u modularnosti, da se lako mogu nove značajke kačiti na osnovne. Za svaki alat koji ide u komercijalnu upotrebu, smatram da bi i sami korisnici trebali imati mogućnost dodavanja novih značajki.

E sada, onako kako ja vidim ovakav alat u budućnosti:

  1. Separirati ga na zaseban web site

  2. Klikabilni builder upakirati u elegantni vizualni designer, tako da sve bude još intuitivinije i fleksibilnije.

  3. Proširiti opcije sa odabirom gotovih template-a i mogućnosti kreiranja vlastitih. (Koji bi se pohranjivali na svoj korisnički račun)

  4. Zadržao bi DRY, (upravo tako kao što si mi spomenuo) …da se kroz designer kreira samo struktura templatea, a sve se u konačnici ispunjava sa podacima koji bi nahranili tu strukturu.
    -prema tome, template headera se i dalje mora nahraniti podacima koji će se ispisati unutar tog templeata. Na taj način se iz jedne točke mogu koregirati/updejtati ispisi unutar svih templatea koji su unaprijed kreirani.
    -a isto tako, updejtom templatea se može promjeniti vizualni dio tog templatea za sve reporte koji koriste isti.
    …e sada, ključ ideje …iako nemam pojma jel ima već takvih alata…

  5. Kako bi taj report designer bio zaseban web site, tako developer koji bi koristio taj report designer nebi bio uvjetovan da ugrađuje išta u svoj programski kod.
    -Što daleko pojednostavljuje korištenje, jer nema nikakve implementacije ni dependencya. Nema potrebe za različitim prilagodbama za .php, C#, javascript…i druge.

  6. Nakon što bi se kreirao neki report na tom web siteu, korisnik bi dobio samo ACCESS-KEY prema tom reportu…sve ostalo bi bilo zabilježeno na tom siteu vezano uz taj ACCESS-KEY

  7. Za kreiranje PDF izvještaja putem ACCESS-KEY, developer bi radio samo POST request prema tom siteu sa datasetom koji bi se prikazivao putem tog PDF reporta i sa ACCESS-KEYom koji bi bio instrukcija
    tom web siteu što da napravi sa dobivenim datasetom.

  8. Response tog websitea bi bio link prema PDF dokumentu gdje se nalazi spreman za download.

S obzirom da plaćaš report designer 700$, kako ti se čini ovaj pristup? Da je report builder separiran na zasebnom web siteu? Možda tako radi i taj koji koristiš?

Ako bi se report desingeru pristupalo putem weba, tu ima problem,a to je security. Neki podaci ne smiju van firme i nitko nece pristati na to. A takvih report desingera ima u ponudi kod aws-a, gdje si korisnici samo mogu kreirat reporte kakve hoce.

Report desinger koji sam spomenuo, mislim da se moze koristiti kroz web, inace je to desktop aplikacija. Ako si ikad koristio ms access i report desinger, onda znas kako se radi.

Ali jos uvijek se za svaki report mora napraviti export i ugraditi u php, na nacin da se u bazu stavi path i ime reporta i doda report na odgovarajucu lokaciju.

Prednost report desingera je ta, da si brzo gotov i jednostavan deploy, a to je ono sto firme trebaju.

Nema cestih potreba za izmjenama na reportima, tako da je taj problem rijesen, a svi podaci idu iz baze. Podaci o firmi, podaci o kupcu , stavke, path do logotipa i sl., a ako treba sumarno, to se odradi na reportu.

Ovo sto ti hoces napraviti klikabilni builder , dobit ces isto sto je i report desinger.

Klikabilni builder već imam. Doduše ograničen je sa potrebama koje su se nametnule unutar firme. Ali nije mi ga problem proširivati.

Ono što bi htio, napraviti iz klikabilnog buildera, vizualni builder. A da lako bude primjenjiv CROSS platform.
Ok je ovo što spominješ securty problem, ali koliko je to u praksi ograničenje…nisam baš siguran. Https garantira enkripciju podataka u razmjeni…a sustav koji bi to pucao u pdf, njemu bi se trebalo vjerovati. A uvijek nekome moramo vjerovati…ako ćemo gledati uz hijerarhiju, onda treba vjerovati svima do samih tvoraca čipova, heh.

Ono što me više muči, koliko to stvarno nekome treba i jel ima smisla ulagat vrijeme u takav alatić. Jer ako ne, u firmi već odlično služi ovaj klikabilni builder…i bilo bi waste of time.

S druge strane maštam da si financijsku neovisnost napravim upravo pomoću tako nekog alatića kojeg bi dilao globalno :smiley: …samo je pitanje, kojem alatu se posvetit.

Pardon, Report desinger je vizualni builder.

Alat koji bi htio napravit i prodavat, nema smisla.

Podaci nekih firmi ne smiju van firme, bez obzira da li je na https-u i sl., posebno u financijskom sektoru.

1 Like

Ovo ne negiram. :wink: Samo kažem da bi svoj klikabilni volio dići na tu razinu…kada bi vidio opravdani razlog tomu. (da se financijski isplati, jel…)

Ovog djela očito nisam bio svjestan. Uvažavam.
Jedino mi nije jasno što je to zaista generalno zaeb? Nečiji podaci ne smiju van, nečiji smiju. … tako da nije svaki alat za svakoga.

U konačnici, problem je rješiv tako da se omogući i da se taj eksterni web site instalira lokalno i onda upogoni na taj način da podaci uvijek ostaju lokalno. Doduše, to više nije toliki plug&play …ali nije niti instalacija bauk.

Ovo mi nije uvjerljivo dok ti plaćaš takav alat 700$. Mislim, to nije mala cijena za licencu…i meni odaje dojam da nije zasićeno tržište, bez obzira što nisam radio ikakvu tržišnu analizu.
Ako je tvoj alat razvijen opcijama u rangu Catia, Photoshop-a i sličnih … ok, onda mi je jasno. Ali ne osjećam da tolika kompleksnost stoji iza report buildera… Moguće griješim, ali to bi značilo da si ti imao opciju kupiti jednostavniji i jeftiniji alat po nižoj cijeni?

$700 je kiri riki za takav alat, pogledaj devexpress komponente za .net, i reci da li bi se isplatilo radit i koliko vremena je potrebno?

Napraviti slican alat za reporting je komplicirano
, ne kazem da je nemoguce.

Ako radis desktop, moras podrzati sve tri platforme, ako radis web, mora biti brz itd.

Problem na balkanu je placanje bilo kakvog alata.

Ali ako se s time zaradjuje, onda vecina alata vrijede svaku lipu.

Sto recimo ne bi platio, npr. ms sql server i win za isti, koristio bi postgresql na linuxu.

Ako bi radio asp.net, firma bi morala osigurat web server ili kod sebe ili u cloudu.

Hej

Ovo bas i nije istina jer sam se uvjerio drugacije. U (@media print) se postavi sav content hidden, a print content visible.

Ono sto mene sada muci je kako koristiti print @page pa unutra Margin rules poput 1.

@top-left-corner
2. @top-left
3. @top-center
4. @top-right
5. @top-right-corner
6. @right-top
7. @right-middle
8. @right-bottom
9. @bottom-right-corner
10. @bottom-right
11. @bottom-center
12. @bottom-left
13. @bottom-left-corner
14. @left-bottom
15. @left-middle
16. @left-top

Ne uspjevam napraviti verziju koja radi.

@media print{
@page{
@left-top{
Pa tu neko pravilo dok skuzim logiku
}
}

}

Izracunaj koliko si do sada izgubio vremena u satima x 40 eura.

Sa 18 sati si prosao onih $ 700 za alat. Jos koji sat i prosao si vrijeme koje bi utrosio na izradu reporta.

Racunica moze biti jednostavna, ali ogranicena.

Naime prije nikada nisam radio print modul, nosam se sreo sa print css-om iako css u ostalim segmentima znam odlicno. Frontend developer sam pa znanje koje sam usvojio i koje cu usvojiti proucavajuci i izrađujući modul je vrijednije od tih 700$.
Bas zato jer zelim poboljsati svoje vjestine svakako to zelim iskoristiti.

Ponekada, slazem se treba kupiti nesto, ali i ja zelim biti bolji developer ne samo biznismen.

Slazem se sa svime sto si napisao, a sad cu komentirati ovo izdvojeno.

Treba biti obadvoje i kvalitetan developer i biznismen, jer ako nisi i biznismen, radis za kiki riki, a opet od necega moras zivjeti.

Sve to stoji @jorgovan ali nije zeljeni predmet rasprave. Otvorio sam temu u kategoriji programiranje, bas iz tog razloga je u toj kategoriji zato jer razvijam nesto i trazim savjete. Koliko god bilo realno odlazi u offtopic.

Predmet je kako razviti i koje alate koristiti u js, css i html za printanje izvjestaja. Da podrzavaju ispis tablice koja je dugacka na vise stranica i header i footer na svakoj stranici.

*Koliko vidim sve se svodi na HTML i CSS. ispunjavanje tablice ide kroz JS, ali print je HTML i CSS sa time se sada zanimam.

Pa sa stajališta kupnje alata, možda jest kikiriki, ako je kupnja isplativa.
Ali sa stajališta kada drugi od tebe kupuju alat, o čemu ja ovdje maštam, …onda 700$ nikako nije kikiriki ako ti to iskešira ccca 1000 ljudi. Nije kikiriki ni ako je licenca 10 - 50$, ako će biti dobra kvantiteta prodaje. :slight_smile:

A također suportam i @costlyDeveloper a u nastojanju da napravi svoje. Nema slađeg od toga, a dobiveno znanje je od neprocjenjive vrijednosti. I sam si radio MVC frameworke i komentirao da nema do toga, nego kada na svoje oči skužiš kako stvari funkcioniraju…

U konačnici opet završimo na nekom općeprihvaćenom alatu, ali smo barem bili dio evolucije i dobili nešto od toga. :slight_smile:

Da bi napravio report desinger kvalitetan ili bilo kakav alat i da bude prihvaćen, moraš imati pozadinu.

O čemu se radi , firme žele stabilnost i kad kupuju alat hoće imat podršku i da iza alata netko stoji.

Što je tu problem:
Firme koje su dugo prisutne sa nekim alatom na tržištu, manja je vjerojatnost da će propasti.
Ako ti napraviš svoj alat i propadneš, a firma je na tvojem alatu izgradila reporte ili bilo što drugo, za prelazak na neki drugi alat je jako veliki trošak za firmu, ok možda dobiju imaju code, dokumentaciju i sl., ali nemaju vremena još i održavati alat. Zamisli d aimaju takvih 15 alata, koje moraju usput i održavati, nitko nema toliko resursa.

Firme si ne mogu dozvoliti igranje zbog nekoliko stotina $, iz perspektive tko nezna kako enterprise tržište funkcionira, može imati svakakve ideje za razvoj nekog proizvoda i prodavanje istog.
Onaj tko zna kako enterprise tržište funkcionira, reći će da novi alati na tržištu nemaju šanse, osim ako nisu brutalno dobri i ako iza njih stoji veća firma.

Onaj tko treba obaviti zadatak i da bude kvalitetno i brzo, tu nema prostora niti za razvoj in house alata , a ni za išta drugo.

To je isto kao da kažete meni ne treba visual studio, pisat ću C# code u notepadu i compilirat u consoli ili da netko kaže napravit ću svoj alat kao što je visual studio.
Ima takvog alata
http://www.icsharpcode.net/OpenSource/SD/Download/Default.aspx
postavlja se pitanje čemu, osim ako se ne želi učiti , nešto naučiti i to je to, a alat će prije ili poslije vjerojatno propasti, kao i mnogo alata, zato što iza njega ne stoji ni jedna velika firma ili ogroman comunnity.

Vidi recimo ovo

Da se vratimo na temu, evo ti primjera

https://developers.hp.com/print-developers/doc/generating-pdfs-html-non-web-applications-book-layout

1 Like

Sve to stoji, samo kažem 700$ nije kikiriki kada tebi kapa u džep sa N strana.

…a da je lako, pravio bi svatko. :slight_smile:

Fakat ste mi zaspamali temu… :stuck_out_tongue:

Inače riješio sam problem sa prikazivanjem header i footer na svakoj stranici.

    <table>
      <thead>
        <tr>
          <th></th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td></td>
        </tr>
      </tbody>
      <tfoot>
        <tr>
          <td></td>
        </tr>
      </tfoot>
    </table>

thead - prikazuje se u zaglavlju (na svakom papiru).
tfoot - Prikazuje se u podnožju (na svakom papiru).

1 Like