1

我知道如何将 uiview 保存为 PDF,但我的问题是如何将整个 uiview 保存为 PDF,例如,如果您有一个比 iPad 显示更长的页面并且您需要滚动它,我只能将活动视图保存在PDF 文件,但其他文件不存在。我正在寻找帮助或任何对我有帮助的教程。

提前致谢。

4

1 回答 1

1

您可以像这样将视图呈现为 PDF:

#define kDefaultPageHeight 1024
#define kDefaultPageWidth  768
#define kMargin 5

CGRect origframe = someView.frame;
NSString *heightStr = origFrame.size.height;
int height = [heightStr intValue];

// Size of the view in the pdf page
CGFloat maxHeight   = kDefaultPageHeight - 2*kMargin;
CGFloat maxWidth    = kDefaultPageWidth - 2*kMargin;
int pages = ceil(height / maxHeight); // or use 1 if you only have 1 page.

UIGraphicsBeginPDFContextToFile(@"some/full/path.pdf", CGRectZero, nil);
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, kDefaultPageWidth, kDefaultPageHeight), nil);
CGContextRef currentContext = UIGraphicsGetCurrentContext();
CGContextTranslateCTM(currentContext, kMargin, kMargin);

/* this is the view that you will render to the PDF */
[someView.layer renderInContext:currentContext];

UIGraphicsEndPDFContext();

当然这是一个粗略的代码片段,您需要根据自己的需要进行调整

于 2012-04-13T23:49:38.070 回答