2012-03-28 2 views
0

Я создаю приложение (с таргетингом 10,5 и выше, но при необходимости может пойти 10.6, если это необходимо), который содержит базу данных слов (используя основные данные). Я хотел бы иметь возможность разрешить пользователю распечатывать листы карточных шаблонов с разными словами на них - подобно флеш-картам.Программно создающий вывод для принтера

Достаточно просто создать документ PDF для печати. Я просто не знаю, где искать такие вещи ... спасибо!

ответ

2

Если вы уже рисуете эти карты в режиме просмотра, это должно быть достаточно простым для печати, поскольку Quartz использует PDF для рисования (именно поэтому вы можете «Отправить в PDF» в любом месте, где вы можете печатать на всей ОС).

Возможно, один из этих документов может помочь вам:

  • Printing Programming Guide for Mac(обновление: ссылка изменилось с тех пор исходное сообщение) - Я думаю, что это то, что вам нужно (особенно какао Printing Architecture). Вот выдержка:

    NSView генерирует данные для печати. Поскольку чертеж Cocoa не зависит от устройства, представление генерирует команды печати просто путем рисования с помощью обычных команд чертежа приложений и основной графики после того, как устройство отображения было изменено на принтер. Можно сказать, что просмотр можно распечатать, вызвав его метод print :.

  • PDF Kit - Это больше, если вы хотите напрямую создавать PDF-файлы.

    PDF Kit - это технология, позволяющая отображать и обрабатывать документы PDF в ваших приложениях. Внедряя аспекты спецификации Adobe Adobe для вас, PDF Kit минимизирует время разработки с вашей стороны. Даже собственные приложения Apple, такие как Safari и Preview, используют PDF Kit для отображения содержимого PDF.

+0

Благодарим за отзыв! Я довольно новичок в Cocoa, поэтому на самом деле я не знаю, как бы я хотел создать эти объекты NSView ... Я в настоящее время не рисую их каким-либо образом, кроме отображения слов/описаний в NSTableView, созданных в интерфейсе Builder. – idolize

+0

'NSTableView', а все другие представления - подклассы' NSView'. Поскольку они являются подклассами, они наследуют все связанные с печатью методы. –

+0

Ок, я думаю, это имеет смысл, но в моем случае я бы хотел иметь слова в макете на странице (легко разрезать на карты), а не то, что будет выглядеть «NSTableView» при печати (будет ли это выглядеть точно так же, как это делается в приложении?). Я полагаю, мне нужно создать это новое представление динамически, а затем напечатать *, что ... – idolize

0

Вы можете использовать веб-сервис интернет как Docmosis, что означает, у вас есть много меньше кодирования, чтобы узнать/сделать. Недостатки этого подхода заключаются в том, что он не является бесплатным и вам необходимо подключиться к сети.