gpt4 book ai didi

ios - 无法在 iOS 上创建 400 多页的 PDF 文档

转载 作者:IT王子 更新时间:2023-10-29 08:20:21 25 4
gpt4 key购买 nike

我正在使用以下伪代码生成 PDF 文档:

CGContextRef context = CGPDFContextCreateWithURL(url, &rect, NULL);

for (int i = 1; i <= N; i++)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
CGContextBeginPage(context, &mediaBox);

// drawing code

CGContextEndPage(context);
[pool release];
}

CGContextRelease(context);

它适用于小型文档(N < 100 页),但它使用太多如果文档超过 400 页(它收到崩溃前有两个内存警告。)我已经确保没有泄漏使用仪器。对于在 iOS 上创建大型 PDF 文档,您有何建议?非常感谢。

编辑:pdf 创建是在后台线程中完成的。

最佳答案

由于您是通过 CGPDFContextCreateWithURL 创建单个文档,因此整个文档必须保存在内存中并附加到,这很常见(尽管我不能肯定 iOS 和 CGPDFContextCreateWithURL) 需要保留文档的完整之前之后副本。即使没有前后问题,也不需要泄漏来造成问题。

如果您不想捕获一堆现有的 UIKit 绘制的东西——在您的示例中似乎您没有——使用操作系统的打印方法,它提供 built-in support for printing to a PDF UIGraphicsBeginPDFContextToFile 在添加页面时将页面写出到磁盘,因此不必立即将整个页面保存在内存中。您应该能够以这种方式生成一个巨大的 PDF。

关于ios - 无法在 iOS 上创建 400 多页的 PDF 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5878538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com