2015-06-22 32 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進行智能排序,可以進一步提高性能。

我猜你會感到驚訝,當你做對了這件事可以有多快。