1

ページコントロール付きのスクロールビューを使用する iPad アプリケーションを作成しています。すべてのページの PDF を 1 つの PDF ファイルとして作成する必要があります。これまでのところ、すべてのサブビュー (ページ) をループして、それぞれの PDF ファイルを (CGPDFContext を使用して) 作成する必要があると考えました。しかし、すべてのファイルを 1 つの PDF ドキュメントに結合する必要があります。そうするのを手伝ってもらえますか??

または、このスクロールビューから複数のページを含む PDF ドキュメントを作成するためのより良い方法があれば、それはさらに良いでしょう!!

助けてください。どこでも検索したところ、Mac OS には PDFDocument、insertPage 関数を使用するものがあることがわかりました。iOS用の同様の方法が見つかりませんか??

4

1 に答える 1

2

マルチパート PDF を作成するには:

-(CGContextRef) createPDFContext:(CGRect)inMediaBox path:(NSString *) path
{
    CGContextRef myOutContext = NULL;
    NSURL * url;

    url = [NSURL fileURLWithPath:path];
    if (url != NULL) {
        myOutContext = CGPDFContextCreateWithURL (url,// 2
                                                  &inMediaBox,
                                                  NULL);
    }
    return myOutContext;// 4
}

-(void)createPdfFromScrollview:(UIScrollView *)scrollview
{

    CGContextRef pdfContext = [self createPDFContext:CGRectMake(0, 0, WIDTH, HEIGHT) path:outputFilePath];

    for(UIView * view in scrollview.subviews)
    {
        CGContextBeginPage (pdfContext,nil);
        CGAffineTransform transform = CGAffineTransformIdentity;
        transform = CGAffineTransformMakeTranslation(0, HEIGHT);
        transform = CGAffineTransformScale(transform, 1.0, -1.0);
        CGContextConcatCTM(pdfContext, transform);            
        //Draw view into PDF
        [view.layer renderInContext:pdfContext];

        CGContextEndPage (pdfContext);         
    }

    CGContextRelease (pdfContext);
}

お役に立てれば。

于 2011-05-17T08:47:47.800 に答える