Mitkä muuten olisivat hyvät korkeus- ja pituusmäärittelyt noille viivakoodin viivoille?
Oma tulostin näet tekee tuosta viivakoodista uskomattoman suttuisen.
Tässä oppaassa sanotaain ainakin että, viivakoodin korkeuden pitää olla 10,0 – 12,7 millimetriä.
Käytän pdf-tiedostojen tekoon reportlabia, että jos joku on sitä käyttänyt ja saanut aikaan hyvän viivakoodin, niin apu olisi tarpeen.
En sitten tiedä olenko laittanut viivakoodiin tiedot väärin, mutta käytin ainakin tätä merkkijonoa kun kokeilin tulostaa laskua:
[105] 55 81 01 71 00 00 00 12 20 00 48 29 90 60 00 00 05 59 58 22 43 29 46 71 10 01 31 [31] [stop]
Tässä vielä viivakoodin määrittely:
code_list = ['[105] 55 81 01 71 00 00 00 12 20 00 48 29 90 60 00 00 05 59 58 22 43 29 46 71 10 01 31 [31] [stop]'] for code in code_list: barcode = code128.Code128(code,barHeight=12.7*mm,barWidth=0.12*mm)
Joo ei noin. Tulostat tuossa 98 kpl viivakoodeja, kun pitäisi tulostaa vain yksi koodi.
En osaa sanoa osaako reportlab tehdä c-tyypin koodia, mutta jos osaa niin se menisi jotakuinkin:
code = '558101710000001220004829906000000559582243294671100131' barcode = code128.Code128(code,barHeight=12.7*mm,barWidth=0.12*mm)
Itse olen tulostanut PDF:iin tarkkuudella 100 yksikköä tuumalle, jolloin tulostuu suht optimaalisesti lasertulostimilla jotka yleensä ovat 600 dpi tms.
Grez kirjoitti:
Joo ei noin. Tulostat tuossa 98 kpl viivakoodeja, kun pitäisi tulostaa vain yksi koodi.
Muutin koodin tähän muotoon:
from reportlab.graphics.barcode import code128 from reportlab.lib.units import mm from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import A4 c = canvas.Canvas("test.pdf" ,pagesize=A4) barcode = code128.Code128('558101710000001220004829906000000559582243294671100131',barHeight=12.7*mm,barWidth=0.12*mm) barcode.drawOn(c, 2*mm, 20*mm) c.showPage() c.save()
ja silti viivakoodi on melko suttuinen, että en sitten tiedä onko vika koodin viivojen mitoissa vai tulostimessa. Ongelma voi olla myös reportlabissa.
Ideoita ongelman ratkaisuun otetaan vastaan. Tässä on tullut tulosteltua jo jokunen paperi enkä ole toivottua lopputulosta itse löytänyt.
Vai pitäiskö minun vaihtaa reportlabin tilalle joku toinen työkalu pdf-tiedostojen tekoon?
Olisiko ongelmana se, kun teet koodin niin pieneksi? Standardissa määritellään leveyskin (70 - 105 mm) koodille. Kokeile laitaa barWidth=0.254*mm. Ainakin itselläni se tuotti toimivan n. 84mm leveän pankkiviivakoodin.
Puhelimessani oleva viivakoodiskanneri luki viivakoodin sisällön tietokoneen näytöltä oikein, mutta paperilta ei, eli ongelma voi olla tulostimessa joka ei tulosta tarpeeksi tarkkaa viivakoodia.
Kokeillitko vaihtaa viivanleveyttä Grezin ohjeen mukaan? Olikos näytöllä viivakoodi samankokoinen kuin paperilla? Pistäs viivakoodista pdf jakoon niin saa paremmin selville onko tulostimesta johtuvaa vai vääristä asetuksista.
http://grez.info/putka/multigamerr85/test.pdf
Tuossa on tuolla 0.254*mm koolla tuon koodin tuottama.
Mites minulla näyttää tältä?
Ja kyllä, laitoin tuon koon minkä Grez sanoi:
from reportlab.graphics.barcode import code128 from reportlab.lib.units import mm from reportlab.pdfgen import canvas from reportlab.lib.pagesizes import A4 c = canvas.Canvas("test.pdf" ,pagesize=A4) barcode = code128.Code128('558101710000001220004829906000000559582243294671100131',barHeight=12.7*mm,barWidth=0.254*mm) barcode.drawOn(c, 2*mm, 20*mm) c.showPage() c.save()
No mutta toi sun laittama PDF:hän on visuaalisesti identtinen tuon äsken laittamani PDF:n kanssa?
Et kai tulosta tuota docdroidin ruudulla katselemiseen renderoitua sivua, vaan lataat PY:n tekemän PDF:n ja tulostat sen? Ruudulle tarkoitetun kuvan tulostaminen varmaan tuottaisikin vain suttua.
Ei en ole tulostanut tuota docdroidin sivua, vaan kun ohjelma on tehnyt viivakoodiin niin avaan sen
koneellani tulostuksen esikatseluun ja tulostan sitten.
"Tulostuksen esikatselu" kuulostaa epäilyttävältä. Kokeile avata se PDF acrobat readeriin ja tulostaa. Vai onko siis mäkki käytössä? Siinähän on sisäänrakennettu PDF-tuki, jolloin tuo kai on se "oikea" tapa.
multigamerr85 kirjoitti:
Mites minulla näyttää tältä?
Tästä sai käsityksen että sinulla näyttää jotenkin erilaiselta kuin tuo pdf minkä itse laitoin edeltävässä viestissä.
Käytössä Ubuntu 14.04
Voisiko siinä olla jokin ongelma?
Lisäys:
Grez kirjoitti:
Tästä sai käsityksen että sinulla näyttää jotenkin erilaiselta kuin tuo pdf minkä itse laitoin edeltävässä viestissä.
Se johtui siitä että docdroidin pdf:ssä oleva viivakoodi näytti minun näytöllä huonommalta kuin tuo sinun linkkaama.
Tai siis se ei tuntunut minusta niin tarkalta.
No periaatteessa sanoisin että jos PDF:n viivakoodi ruudulla näyttää skarpilta mutta tulostettaessa tulee suttua, niin sitten on jokin ongelma :D
Ehkäpä joku ubuntua aktiivisesti käyttävä osaa kommentoida paremmin.
Veikkaan itse tulostinta joka on jo melko vanha :)
Tämä tulostin siis käytössä minulla.
Ja sitäpaitsi kun tulostin tuon sinun linkkaamasi pdf:n niin yhtä huono siitä viivakoodista tuli, että se taitaa olla tulostimen vika.
Eli skanneriohjelma kyllä tunnistaa sen 128-tyypin viivakoodiksi, mutta sisältö on ihan eri kuin pitäisi.
Millä tavalla sisältö on eri kuin pitäisi? Itse testasin mobiiliverkkopankilla ja hienosti meni tiedot maksulomakkeelle. (Eli toimiva kuten kommentoin jo tuossa aamulla.) Kokeilin myös viivakoodinlukusovelluksella ja tuosta laittamastani PDF:stä tulee 558101710000001220004829906000000559582243294671
Aika huono kirjoitin kyllä jos ei saa tuollaista koodia tulostettua vaikka olisikin vanha. Tosin jos se tulostaa sekoittamalla mustaa kaikista sävyistä, niin sitten saattaa suttaantua - siihen voisi auttaa valita että tulostetaan mustavalkoisena.
multigamerr85 kirjoitti:
Se johtui siitä että docdroidin pdf:ssä oleva viivakoodi näytti minun näytöllä huonommalta kuin tuo sinun linkkaama.
Katsoit varmaan ruudulla docdroidin esikatselusivua, jossa viivakoodi näkyy suttuisempana kuin itse PDF-tiedostossa (kuvakaappaus). Katso PDF-tiedostoa, niin näet, että se on ihan sama kuin Grezillä.
multigamerr85 kirjoitti:
taitaa olla tulostimen vika.
Vanhoilla printtereillä voi tulla huonoa jälkeä ainakin, jos asetukset eivät ole optimaaliset. Tulosta mustavalkoisena ja riittävällä tarkkuudella.
Metabolix kirjoitti:
Katsoit varmaan ruudulla docdroidin esikatselusivua, jossa viivakoodi näkyy suttuisempana kuin itse PDF-tiedostossa (kuvakaappaus). Katso PDF-tiedostoa, niin näet, että se on ihan sama kuin Grezillä.
Juuri näin.
Kyllä se kuulkaas on tulostimessa vika.
Aihe on jo aika vanha, joten et voi enää vastata siihen.