2017-02-22 43 views
0

Я конвертирую каждый слайд PPT в изображения и создаю PDF из них. Изображения создаются должным образом с их первоначальными размерами. Теперь для создания PDF я использую ниже код.Создайте PDF-документ формата A4 с изображениями оригинальных размеров

CGSize paperSize = CGSizeMake(595.2,841.8); 

    NSString *strPath = [[documentsPaths objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"slide%i.png", i]]; 
    NSData *imgData = [[NSData alloc] initWithContentsOfURL:[NSURL fileURLWithPath:strPath]]; 

    UIImage *image = [[UIImage alloc] initWithData:imgData]; 
    CGRect rect = CGRectMake(0, 0,paperSize.width ,paperSize.height); 
UIGraphicsBeginPDFPageWithInfo(rect, nil); 
       [image drawInRect:rect]; 

UIGraphicsEndPDFContext(); 

То, что он делает, это рисование изображения с размером бумаги, а не оригинальным размером. Я хочу нарисовать изображение с оригинальным размером на бумаге формата А4. Любая помощь будет оценена по достоинству.

+1

вы прошли размер бумаги, когда изображение начертить проверить эту строку [изображение drawInRect: Rect] так передать оригинальный размер, когда Жеребьевка PDF –

+0

Так он создал PDF с размером изображения. –

+1

@kirtimali: вы правы. Передача формата А4 для прямой обработки. Огромное спасибо. Плюс один. Проводка моего рабочего кода в ответах. –

ответ

0

Предложение Крити работало для меня. Ниже работает код:

UIGraphicsBeginPDFContextToData(pdfFile, CGRectMake(0, 0, kPaperSizeA4.width, kPaperSizeA4.height), nil); 

NSString *strPath = [[[appDelegate getDocumentDirectory] stringByAppendingPathComponent:@"EPC"] stringByAppendingPathComponent:[NSString stringWithFormat:@"slide%i.png", i]];   

NSData *imgData = [[NSData alloc] initWithContentsOfURL:[NSURL fileURLWithPath:strPath]]; 

image = [[UIImage alloc] initWithData:imgData]; 
    rect = CGRectMake((paperSize.width - image.size.width)/2, (paperSize.height - image.size.height)/2 ,image.size.width ,image.size.height); 

UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, kPaperSizeA4.width, kPaperSizeA4.height), nil); 

[image drawInRect:rect]; 


UIGraphicsEndPDFContext();