【发布时间】:2010-11-20 21:10:31
【问题描述】:
在我的 cocoa 应用程序中,我需要将 pdf 的每一页保存为 jpg .. 我怎样才能继续使用 Objective C
【问题讨论】:
在我的 cocoa 应用程序中,我需要将 pdf 的每一页保存为 jpg .. 我怎样才能继续使用 Objective C
【问题讨论】:
使用纯Objective-C(Cocoa和PDF Kit),迭代PDF文档的页面,并为每个页面创建一个大小与页面媒体框大小相同的NSImage,锁定焦点在它上面,告诉页面绘制,创建一个带有焦点视图(图像)的 NSBitmapImageRep,解除对图像的焦点,然后向位图图像代表询问 JPEG 数据并将该数据写入文件。 (这个解决方案很烂;不要使用它。)
另一种方式是Core Graphics 和ImageIO。创建一个与文档的媒体框和颜色空间匹配的位图上下文,然后为每个页面,为 JPEG 文件创建一个图像目标,从文档中获取页面,在上下文中绘制页面,从上下文中创建一个 CGImage,使用CGContextClearRect 清除上下文,将图像添加到目的地,并最终确定目的地。
【讨论】: