3 berichten aan het bekijken - 1 tot 3 (van in totaal 3)
  • Q:

    Bijdrager
    Mikey NL

    Printen in cocoa

    Ik heb een kleine applicatie gemaakt in cocoa waarmee een adressenbestand bijgehouden kan worden in een mysql database. Nou wil ik graag de mogelijkheid om deze adressen op een nette manier uit te printen, bijvoorbeeld:

    Naam van eerste persoon
    adres van eerste persoon
    telefoon van eerste persoon
    ——————————————–
    Naam van tweede persoon
    adres van tweede persoon
    telefoon van tweede persoon

    etc…

    Tevens wil ik dat er boven aan de pagina (alleen de eerste pagina) een bedrijfslogo (links uitgelijnd) komt en het adres van het bedrijf (rechts uitgelijnd).

    Nou heb ik al flink wat rondgezocht met google, maar het enige wat ik daar tegen kom zijn berichten dat het zo makkelijk is om met cocoa te printen… Nou, dat vind ik dus (nog) helemaal niet

    Ik heb dus geprobeerd om een custom view te maken, maar ik denk niet dat dat de juiste oplossing is, want volgens mij moet dan zoiezo eerst een voorbeeld in beeld komen (de view), terwijl ik dat eigenlijk helemaal niet wil. Er moet gewoon op print gedrukt worden en dan moet ie uit je printer rollen.

    Ik heb de documentatie van apple al doorgelezen, maar ik kan niet echt een goed voorbeeld vinden van wat ik wil. Het enige wat ik kan vinden zijn mogelijkheden om bijvoorbeeld een NSTextView uit te printen, maar dat is volgens mij niet helemaal wat ik wil.

    Iemand een idee om mij op weg te helpen?


    Bijdrager
    TGV

    Ik heb het nog nooit in Cocoa geprobeerd, maar het idee is dat je een (subclass van) NSView neemt, daarop tekent wat je geprint wilt hebben (dus net zoals het op het scherm zou verschijnen) en dan de juiste calls doet om de printer te activeren. Het verstandigst is dus een view te maken die je de gewenste data meegeeft en die dat goed afbeeldt. Dan plak je daar de code omheen zoals die in het NSTextView voorbeeld wordt gebruikt en dan maar tweaken.

    De preview en Save as PDF helpen je daarbij overigens om te voorkomen dat je in dat proces grote hoeveelheden bos nodig hebt om alles te laten kloppen…


    Bijdrager
    rvamerongen

    Geef een window een achtergrond kleur b.v grijs ( dit laat je even zien wat je NSBox is als de borders weg zijn).
    Plaats een NSBox in je window. Geef het de maat die je wilt. Maak achtergrond wit. Haal de border en title weg. Het verander de maten iets n.l.
    Connect deze NSBox met een print menu item of plaats een button onder of boven de box en roep [myBox print] ( lees even de documentatie).

    Plaats in de NSBox je velden ( met of zonder borders ) en tekst, plaatjes etc.
    zorg dat tijdens het openen van de window of via een button of via welke manier dan ook dat de velden gevuld worden
    compileer
    run en click op print

    Testen en uitrichten van de velden en plaatjes.
    Dit is een quicky om je op gang te brengen.

    Meer info is te halen uit textedit in je appkit sample folder, met name Multiview of pageview class of zoiets voor een printer dialoog.

    ( ik zag net pas tijdens het plaatsen dat TGV je al gepost had. De tip van hem m.b.t voorvertoning en pdf is erg handig. Zorg er wel voor dat je papier maat goed is tijdens het instellen )

3 berichten aan het bekijken - 1 tot 3 (van in totaal 3)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.