Изображение воздушной печати, показывающее ненужные строки на странице

Я пытаюсь распечатать изображение с помощью воздушного принтера. Все работает нормально, за исключением того, что после печати страница содержит ненужную строку

Вот мой код для печати

UIPrintInteractionController *controller = [UIPrintInteractionController sharedPrintController];
    if(!controller){
        NSLog(@"Couldn't get shared UIPrintInteractionController!");
        return;
    }

    controller.delegate = self;
    UIPrintInfo *printInfo = [UIPrintInfo printInfo];
    printInfo.outputType = UIPrintInfoOutputPhoto;
    printInfo.orientation = UIPrintInfoOrientationLandscape;
    printInfo.jobName = @"AirPrintSample";
    controller.printInfo = printInfo;


    UIImage *printImage = [self imageWithView:self.printView];
    controller.printingItem = printImage;

    void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) {

        if(completed && error)
        {
            NSLog( @"Printing failed due to error in domain %@ with error code %lu. Localized description: %@, and failure reason: %@", error.domain, (long)error.code, error.localizedDescription, error.localizedFailureReason );
        }
        else
        {
            if(completed)
            {
               // Did Some Other[enter image description here][1] Stuff
            }
        }
    };

    if([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) {
        [controller presentFromRect:self.view.frame inView:self.view animated:YES completionHandler:completionHandler];
    }
    else {
        [controller presentAnimated:YES completionHandler:completionHandler];
    }

Вот код для преобразования UIView в UIImage

- (UIImage *) imageWithView:(UIView *)view
{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage * img = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return img;
}

Вот как это выглядит после печати. ​​Мы видим много горизонтальных линий. Но мне нужен был простой белый фон для моей этикетки. И я уверен, что не нарисую эти линии на изображении, и предварительный просмотр печати также не покажет никаких линий. Спасибо заранее, если кто-то может помочь.

Модель принтера — Brother ql-720nw


person Siam Biswas    schedule 05.06.2016    source источник
comment
Вот ссылка на печатную страницу ссылка   -  person Siam Biswas    schedule 05.06.2016


Ответы (1)


Окей, я нашел ответ сам. Я использовал светло-серый цвет фона для UIView, который я преобразовал в изображение. Когда я сделал цвет фона белым, он отлично работает. Я предполагаю, что этот тип принтера не может нарисовать полный фон другими цветами. Если кто-то использует воздушный принтер с этим типом принтера этикеток (брат ql 720nw), лучше использовать белый фон.

person Siam Biswas    schedule 05.06.2016