2012-03-28 13 views
0

Ich erstelle eine Anwendung (ab 10.5 und höher, könnte es sich aber leisten, bei Bedarf 10.6 zu gehen), die eine Datenbank mit Wörtern enthält (mit Core Data). Ich würde gerne in der Lage sein, dem Benutzer zu erlauben, ein Blatt Kartenschablonen mit verschiedenen Wörtern darauf auszudrucken - ähnlich wie bei Flash-Karten.Programmgesteuertes Erzeugen von druckerfreundlichen Ausgaben

Schon das Erzeugen eines druckerfreundlichen PDF-Dokuments wäre ausreichend. Ich weiß einfach nicht, wo ich nach so etwas suchen soll ... Danke!

Antwort

2

Wenn Sie diese Karten bereits in einer Ansicht zeichnen, sollte es ziemlich einfach zu drucken sein, da Quartz PDF zum Zeichnen verwendet (deshalb können Sie "An PDF senden" überall im Betriebssystem drucken).

  • Printing Programming Guide for Mac:

    Vielleicht eines dieser Dokumente können Sie helfen (Update: Link seit ursprünglichen Beitrag geändert) - Ich denke, das ist, was Sie (vor allem die Cocoa Printing Architecture) benötigen. Hier ein Auszug:

    NSView generiert die zu druckenden Daten. Da das Cocoa-Zeichnen geräteunabhängig ist, generiert eine Ansicht Druckbefehle, indem sie sich selbst mit den regulären Zeichnungsbefehlen von Application Kit und Core Graphics zeichnet, nachdem das Anzeigegerät in einen Drucker geändert wurde. Eine Ansicht kann angewiesen werden, sich selbst auszudrucken, indem sie ihre print: -Methode aufruft.

  • PDF Kit - Dies ist mehr, wenn Sie PDFs direkt generieren/bearbeiten möchten.

    PDF Kit ist eine Technologie, mit der Sie PDF-Dokumente in Ihren Anwendungen anzeigen und bearbeiten können. Durch die Implementierung von Aspekten der PDF-Spezifikation von Adobe für Sie minimiert PDF Kit die Entwicklungszeit. Selbst Apples eigene Anwendungen wie Safari und Vorschau verwenden PDF Kit zum Anzeigen von PDF-Inhalten.

+0

Danke für die Antwort! Ich bin ziemlich neu in Cocoa, daher bin ich mir nicht sicher, wie ich diese NSView-Objekte erstellen würde ... Ich zeichne sie momentan nicht anders als die Wörter/Beschreibungen in einem NSTableView zu zeigen, das in Interface erstellt wurde Erbauer. – idolize

+0

'NSTableView' und alle anderen Ansichten sind Unterklassen von' NSView'. Da es sich um Unterklassen handelt, erben sie alle druckbezogenen Methoden. –

+0

Ok, ich denke, das macht Sinn, aber in meinem Fall würde ich gerne die Wörter in einem Layout auf einer Seite haben (einfach in Karten schneiden), anstatt wie das 'NSTableView' aussehen würde, wenn es gedruckt wird (würde es aussehen genau wie es in der Anwendung tut?). Ich nehme es an Ich muss diese neue Ansicht dynamisch erstellen und dann * das * ... – idolize

0

Sie könnten einen Internet-Web-Service wie Docmosis verwenden, das bedeutet, dass Sie viel weniger Codierung müssen lernen/tun. Die Nachteile dieses Ansatzes sind, dass es nicht kostenlos ist und Sie müssen netzverbunden sein.