首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用数据生成PDF

使用数据生成PDF
EN

Stack Overflow用户
提问于 2009-12-08 12:30:35
回答 2查看 2.6K关注 0票数 1

在我的iPhone应用程序中,我有几个数据项。我想使用这些数据项生成一个PDF文件,并在电子邮件中附加PDF文件。据我所知,我需要使用Quartz 2D来绘制PDF文件。有没有关于绘制PDF的示例代码或建议?

EN

回答 2

Stack Overflow用户

发布于 2009-12-09 01:53:06

下面是我用来生成一个包含一些Quartz图形的NSData表示的对象:

代码语言:javascript
复制
NSMutableData *pdfData = [[NSMutableData alloc] init];
CGDataConsumerRef dataConsumer = CGDataConsumerCreateWithCFData((CFMutableDataRef)pdfData);

const CGRect mediaBox = CGRectMake(0.0f, 0.0f, self.bounds.size.width, self.bounds.size.height);
CGContextRef pdfContext = CGPDFContextCreate(dataConsumer, &mediaBox, NULL);

UIGraphicsPushContext(pdfContext);

CGContextBeginPage(pdfContext, &mediaBox);

// Your Quartz drawing code goes here   

CGContextEndPage(pdfContext);   
CGPDFContextClose(pdfContext);

UIGraphicsPopContext();

CGContextRelease(pdfContext);
CGDataConsumerRelease(dataConsumer);

然后,您可以将此PDF数据保存到磁盘或将其作为附件添加到您的电子邮件中,并记住在完成后释放它。

票数 3
EN

Stack Overflow用户

发布于 2011-10-06 15:50:24

下面是CGPDF函数的一个很好的(有效)示例:http://www.olivetoast.com/blog/hamish/simple_uiscrollview_catiledlayer_example.ot

它使用CATiledLayer + UIScrollView,这可能不适合各种阅读器,但它仍然向你展示了如何在没有UIWebView的情况下加载和绘制PDF文档(这严重限制了你的能力)。

将层类型改回层,然后使用CGPDFDocumentGetNumberOfPages和CGPDFDocumentGetPage添加页面处理,您就拥有了一个非常好的阅读器。

我不知道如何执行注释,我怀疑您需要在文档顶部使用自己的数据结构。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1864597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档