2017-02-22 195 views
0

我將每個PPT幻燈片轉換爲圖像並從它們創建PDF。圖像使用原始尺寸正確創建。現在創建PDF,我使用下面的代碼。使用原始尺寸的圖像創建A4尺寸紙張的PDF

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(); 

它究竟是用紙張尺寸繪製圖像而不是原始尺寸。我想在A4尺寸的紙張上繪製原始尺寸的圖像。任何幫助將不勝感激。

+1

您通過複印紙尺寸圖像繪製檢查這一行[圖片drawInRect:RECT]所以通過原來的大小,當抽籤PDF –

+0

因此,它創建的PDF與圖像的大小。 –

+1

@kirtimali:你說得對。通過A4大小直到工作。非常感謝。加一。在回答中發佈我的工作代碼。 –

回答

0

Kriti的建議爲我工作。下面是工作代碼:

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();