2015-06-22 34 views
0

我想在Objective-C中的Mac OS X应用程序中创建一个无限PDF上下文,然后在保存之前对其进行裁剪,一旦我知道生产的大小。用CGPDFContextCreateWithURL创建一个无限的PDFContext很容易,但之后不能用Preview来显示。Crop ObjectiveConcept in Objective C

回答

0

在类似的情况下,我用另一种方法解决了类似的问题。

在第一步中,我计算了一些(自定义)元文件,其中我只注意到图形将具有哪些图形元素及其属性和坐标(无限的世界坐标,与任何输出设备或格式无关)。 通过这样做,我抓住了以前使用的最大x和y coodrinates。

我没有在iOS上这样做,但如果我愿意,那么我肯定会使用一些核心数据或只是一个普通的SQLite表。

接下来的步骤是将元坐标分解成合理的拼贴,其中每个拼贴都与您的案例中的pdf页面相关。这些瓷砖会考虑目标纸张格式,风景或肖像等的x/y比率。您可能希望用户选择并提供预览页面。

然后我终于按页面呈现pdf页面。如果忽略完全超出当前页面范围的所有图形对象,则渲染速度应该很快。通过x对元项目进行智能排序,然后对每个对象的左上角坐标y进行智能排序,可以进一步提高性能。

我猜你会感到惊讶,当你做对了这件事可以有多快。