MonoTouch: печать на сетевой принтер

Я действительно новичок в разработке iPhone.

Я оцениваю, использовать ли Monotouch или objC для потенциального приложения.

Приложение должно иметь возможность печатать изображения на сетевом принтере.

Я видел пару сообщений о том, как это сделать с помощью какао touch/objc.

Не удалось найти примеров выполнения этого с помощью монотач.

Это выполнимо/поддерживается с помощью MonoTouch?

Это обязательная функция.

Спасибо


person CF_Maintainer    schedule 25.04.2011    source источник
comment
Можете ли вы опубликовать код о том, как это сделать в Objective-C, если он не слишком длинный? Насколько мне известно, вся платформа Cocoa Touch открыта для приложений .NET в MonoTouch, поэтому она должна быть легко переносимой.   -  person onitake    schedule 25.04.2011
comment
Я наткнулся на эти примеры, оба в objC iphonedevsdk.com/forum/iphone-sdk-development/ и этот stackoverflow.com/questions/5690931/   -  person CF_Maintainer    schedule 25.04.2011
comment
похоже, что все классы UIPrint * доступны в MT, поэтому вы сможете это сделать.   -  person Jason    schedule 25.04.2011
comment
Джейсон, спасибо, что указали на это. У вас есть пример того, как это сделать в МТ. Если да, не могли бы вы опубликовать это, чтобы я мог пометить это как ответ.   -  person CF_Maintainer    schedule 25.04.2011
comment
Преобразование кода Obj-C в C# — это навык, который вам понадобится, если вы собираетесь использовать MonoTouch, поскольку Novell сохранила названия вещей точно такими же. По большей части это так же просто, как перевод синтаксиса. Если вы уже искали такие примеры печати в MonoTouch в Google, то я подозреваю, что такого примера не существует.   -  person jonathanpeppers    schedule 25.04.2011
comment
Спасибо за комментарий Джонатан. Это фактически означает изучение цитаты Objective-C. Теперь я не уверен, каково ценностное предложение моносенсорного экрана?   -  person CF_Maintainer    schedule 28.04.2011
comment
Не так уж сложно посмотреть и понять, что он делает. Я изучил базовый синтаксис и могу понять, что делает код ObjC, а затем проделал небольшую умственную гимнастику, чтобы преобразовать его в C#.   -  person Derreck Dean    schedule 25.10.2012


Ответы (1)


Это должно сделать это, я проверил это в:

http://github.com/migueldeicaza/monotouch-samples в папке "print":

void Print ()
{
    var printInfo = UIPrintInfo.PrintInfo;
    printInfo.OutputType = UIPrintInfoOutputType.General;
    printInfo.JobName = "My first Print Job";

    var textFormatter = new UISimpleTextPrintFormatter ("Once upon a time...") {
        StartPage = 0,
        ContentInsets = new UIEdgeInsets (72, 72, 72, 72),
        MaximumContentWidth = 6 * 72,
    };

    var printer = UIPrintInteractionController.SharedPrintController;
    printer.PrintInfo = printInfo;
    printer.PrintFormatter = textFormatter;
    printer.ShowsPageRange = true;
    printer.Present (true, (handler, completed, err) => {
        if (!completed && err != null){
            Console.WriteLine ("error");
        }
    });
}
person miguel.de.icaza    schedule 27.04.2011
comment
Мигель, я запустил образец (в эмуляторе), и он не нашел принтеров. Как найти список сетевых принтеров, которые предполагается использовать? - person CF_Maintainer; 27.04.2011
comment
Мигель, я заставил принтеры появиться. Другая проблема. Я получаю это каждый раз для каждого принтера Print -job failed: неподдерживаемый формат документа «application/pdf». Не знаю, где изменить выходной формат. - person CF_Maintainer; 27.04.2011