1

我正在尝试使用 iPhone 创建一个字母大小的报告。为此,我创建了一个大的 nib 文件并在其中布置了我需要的所有报告小部件。

现在我正在尝试将视图转换为 PDF。这是我的代码,但它只绘制了屏幕上可见的视图部分。

我缩小了在我的测试 iPhone3GS 中,640x960 视图的框架在调用 viewWillAppear 时变为 320x460 的问题。如果我在将视图另存为 PDF 之前将框架重置为 640x960,则文件将正确显示。什么可能导致视图的框架被切割成可见矩形的大小?我知道对于 iPhone 3GS,视图比例因子是 1,所以这不是缩放问题。

+(NSMutableData *)createPDFDatafromUIView:(UIView*)aView 
{
    // Creates a mutable data object for updating with binary data, like a byte array
    NSMutableData *pdfData = [NSMutableData data];

    // Points the pdf converter to the mutable data object and to the UIView to be converted
    UIGraphicsBeginPDFContextToData(pdfData, aView.frame, nil);
    UIGraphicsBeginPDFPage();
    CGContextRef pdfContext = UIGraphicsGetCurrentContext();


    // draws rect to the view and thus this is captured by UIGraphicsBeginPDFContextToData

    [aView.layer renderInContext:pdfContext];

    // remove PDF rendering context
    UIGraphicsEndPDFContext();

    return pdfData;
}

谢谢!

4

0 回答 0