2017-02-22 1 views
0

Je convertis chaque diapositive PPT en images et en crée un PDF. Les images sont créées correctement avec leurs tailles originales. Maintenant, pour créer un fichier PDF, j'utilise le code ci-dessous.Créer un fichier PDF de format A4 avec des images de tailles originales

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

Qu'est-ce que cela fait exactement, dessiner l'image avec le format de papier et non sa taille d'origine. Je veux dessiner l'image avec la taille originale sur le papier de format A4. Toute aide serait appréciée.

+1

vous avez passé la taille de papier lorsque l'image dessiner vérifier cette ligne [Image drawInRect: rect] passe donc la taille d'origine quand tirage pdf –

+0

Il PDF créé avec la taille de l'image. –

+1

@kirtimali: vous avez raison. Passage de la taille A4 au recto travaillé. Merci beaucoup. Un de plus. Poster mon code de travail dans les réponses. –

Répondre

0

La suggestion de Kriti a fonctionné pour moi. Ci-dessous est le code de travail:

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