我有一個測試應用程序,做了一堆東西,但最終產品是一個.pdf,上傳到數據庫。不幸的是,我的一個最終用戶不喜歡長.pdf是一頁的事實。生成的頁面長度變化很大,所以無論如何我只是生成一個頁面。我知道的Adobe Acrobat將瓷磚大文件到打印多個頁面,但客戶關注的是,這可能是太困難了一些人-_-渲染多頁PDF
下面是我如何創建一個PDF現在
- (void)exportAsPDF:(NSString *)filename
{
int restorer = mineTable.frame.size.height;
CGRect temp = CGRectMake(mineTable.frame.origin.x, mineTable.frame.origin.y, mineTable.frame.size.width, 200*formDataStorage.cake.count);
[self resizeTheTable:temp];
int addNumber = temp.size.height - temp.origin.y;
CGRect mediaBox = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height + addNumber);
NSString *tmpFile = filename;
CGContextRef ctx = CGPDFContextCreateWithURL((__bridge CFURLRef)[NSURL fileURLWithPath:tmpFile], &mediaBox, NULL);
//turn PDF upside-down
CGAffineTransform transform = CGAffineTransformIdentity;
transform = CGAffineTransformMakeTranslation(0, mediaBox.size.height);
transform = CGAffineTransformScale(transform, 1.0, -1.0);
CGPDFContextBeginPage(ctx, NULL);
CGContextConcatCTM(ctx, transform);
[self.view setNeedsLayout];
[self.view setNeedsDisplay];
[self.view.layer renderInContext:ctx];
CGPDFContextEndPage(ctx);
CGPDFContextClose(ctx);
CFRelease(ctx);
}
正如您所看到的,我調整了視圖的大小以顯示我正在呈現的表格中的所有單元格,然後將該視圖的截圖分類爲.pdf。用戶從不會看到調整大小的視圖(它無論如何都不適合在屏幕上)。
有誰知道如何將創建的.pdf的不同部分與不同的頁面關聯?謝謝。