Документ для печати и отправки по электронной почте, созданный на iPad

#ios #ipad #pdf #printing #document

#iOS #iPad #PDF #печать #документ

Вопрос:

Мне нужно изменить приложение для печати и отправки документа, созданного на iPad.

Я думаю, что мне следует создать документ в формате PDF, как показано в ссылке на учебник ниже:

http://www.raywenderlich.com/6818/how-to-create-a-pdf-with-quartz-2d-in-ios-5-tutorial-part-2

Однако после создания я хочу распечатать и / или отправить документ по электронной почте? Есть ли какие-либо другие предложения, для которых может не потребоваться документ pdf?

Мне нужно создать документ на основе данных, введенных в UIView, а затем либо распечатать и / или отправить его по электронной почте соответственно.

Любые предложения или помощь в этом были бы замечательными.

Ответ №1:

Возможно, вы захотите использовать UIDocumentInteractionController для этой цели. После того, как вы создали свой PDF-файл, вы можете представить его UIDocumentInteractionController , передав URL-адрес созданного / сохраненного PDF-файла. Это автоматически дает вам возможность печати / копирования и отправки по электронной почте.

Пример: (Предполагается, что вы сохранили свой PDF-файл в локальной папке Documents)

     NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *writableDBPath= [documentsDirectory stringByAppendingPathComponent:@"SAVED_PDF_NAME HERE"];
    NSURL *URL = [NSURL fileURLWithPath:writableDBPath];
    if (URL) {
        // Initialize Document Interaction Controller
        documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:URL];
    documentInteractionController.UTI = @"com.adobe.pdf";
    // Configure Document Interaction Controller
    [documentInteractionController setDelegate:self];
    [documentInteractionController presentPreviewAnimated:YES]; // This will present the PDF along with options like Mail, Print and Copy..
  

ПРИМЕЧАНИЕ: Это после создания вашего PDF.

Комментарии:

1. Спасибо за ответ, я изучу это и обновлю это после завершения. Приветствия.

2. Спасибо за решение, однако для того, чтобы оно работало, мне нужно было добавить в метод делегирования — (UIViewController *) documentInteractionControllerViewControllerForPrevie …{ return [self NavigationController];} но он работает хорошо и делает именно то, что мне нужно.

3. Это верно. Извините, я пропустил это .. Я думаю, XCode подсказал бы вам об этом .. : D Рад, что это помогло вам. 🙂

Ответ №2:

Комментарии:

1. Однако, спасибо, приятель, я уже видел эти ссылки на веб-сайте apple.