Преобразование UIImage в PDF-файл - PullRequest
8 голосов
/ 15 марта 2010

Я пытаюсь сохранить UIImage в PDF-файл. Как я могу это сделать? Как я могу сохранить и изображение в PDF-файл, а затем экспортировать этот PDF-файл? Пожалуйста, предложите решение проблемы, с которой я столкнулся.

Спасибо.

Ответы [ 4 ]

15 голосов
/ 07 октября 2010

Здравствуйте, я обнаружил, что это работает, Надеюсь, поможет!

-(void)createPDFfromUIView:(UIView*)aView saveToDocumentsWithFileName:(NSString*)aFilename
    {
        // Creates a mutable data object for updating with binary data, like a byte array
        NSMutableData *pdfData = [NSMutableData data];

        // Points the pdf converter to the mutable data object and to the UIView to be converted
        UIGraphicsBeginPDFContextToData(pdfData, aView.bounds, nil);
        UIGraphicsBeginPDFPage();

        // draws rect to the view and thus this is captured by UIGraphicsBeginPDFContextToData
        [aView.layer renderInContext:UIGraphicsGetCurrentContext()];

        // remove PDF rendering context
        UIGraphicsEndPDFContext();

        // Retrieves the document directories from the iOS device
        NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);

        NSString* documentDirectory = [documentDirectories objectAtIndex:0];
        NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:aFilename];

        // instructs the mutable data object to write its context to a file on disk
        [pdfData writeToFile:documentDirectoryFilename atomically:YES];
        NSLog(@"documentDirectoryFileName: %@",documentDirectoryFilename);
    }
3 голосов
/ 15 марта 2010

Насколько я понимаю, вы должны создать CGPDFContext , нарисовать в нем свой UIImage и сохранить его в файл. Хотя сам этого не сделал.

0 голосов
/ 20 декабря 2011

Вы можете запустить графический контекст PDF, а затем нарисовать в нем изображение, используя:

[UIImage drawInRect: someRect];

Вы можете посмотреть документы, они дают хорошее объяснение создания PDF. Хороший учебник по генерации PDF здесь .

0 голосов
/ 03 мая 2011

Я также получил пустой PDF. Теперь все заработало. Попробуйте изменить:

//[aView drawRect:aView.bounds]; // <- This

[aView.layer renderInContext:UIGraphicsGetCurrentContext()]; // <- To This
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...