0

私のアプリケーションには、HTML コンテンツを含む WebView があります。コンテンツは WebView の 3 ページです。今、私は WebView コンテンツを PDF に変換したいと考えています。WebView コンテンツから 3 つの画像を作成しました。これら3つの画像を使用してpdfを作成したいと思います。各画像は PDF の 1 ページである必要があります。しかし、それは単一のページの画像になります。だから私が印刷物を取っているとき、コンテンツは途切れます。私はこれを使用しています、

CGSize pageSize = CGSizeMake(612, 2324);
NSString *fileName = @"Demo.pdf";
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];

UIGraphicsBeginPDFContextToFile(pdfFileName, CGRectZero, nil);

// Mark the beginning of a new page.
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, pageSize.width, pageSize.height), nil);

double currentHeight = 0.0;

for (int index = 1; index <= imageName ; index++)
{
    NSString *pngPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%d.png", index]];
    UIImage *pngImage = [UIImage imageWithContentsOfFile:pngPath];

    [pngImage drawInRect:CGRectMake(0, currentHeight, pageSize.width, pngImage.size.height)];        
    currentHeight += pngImage.size.height;
}

UIGraphicsEndPDFContext();

このコードで私が間違っていること。

ありがとう

4

3 に答える 3

-1
CGSize pageSize = CGSizeMake(612, 2324);
NSString *fileName = @"Demo.pdf";
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *pdfFileName = [documentsDirectory stringByAppendingPathComponent:fileName];

UIGraphicsBeginPDFContextToFile(pdfFileName, CGRectZero, nil);       

double currentHeight = 0.0;

for (int index = 1; index <= imageName ; index++)
{
    NSString *pngPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%d.png", index]];
    UIImage *pngImage = [UIImage imageWithContentsOfFile:pngPath];

// TODO: See Here
// Mark the beginning of a new page.
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, pageSize.width, pngImage.size.height), nil);

    [pngImage drawInRect:CGRectMake(0, currentHeight, pageSize.width, pngImage.size.height)];        
    //currentHeight += pngImage.size.height;
}

UIGraphicsEndPDFContext();
于 2012-11-27T05:50:54.427 に答える