2012-05-25 44 views
0

我想弄清楚一个制作绘制并保存pdf的命令行应用程序(桌面上的OS X)的好方法。如果我有一个带有视图的GUI,那么我会使用NSBezierPath对象,并在最后执行[myView dataWithPDFInsideRect:r]。在OS X中绘制pdf的命令行应用程序

我一直在使用CGPDFContextCreateWithURL获得的CGContextRef,但它很笨重。像两个控制点CGContextAddCurveToPoint简单的东西不会像我所期望的那样渲染(它在中间看起来很奇怪)。像Scott Stevenson的(part II)这样复杂的东西似乎不可能。

我是否缺少一些简单的东西?有没有办法构建一个视图并在没有窗口的情况下绘制它?一种更好的核心图形?

UPDATE:只要是明确的,在主,工程代码为:

int main(int argc, char * argv[]) { 
    MyView *myView; 
    NSRect f = NSMakeRect(0,0,300,300); 
    myView = [[MyView alloc] initWithFrame:f]; 
    NSData *data = [myView dataWithPDFInsideRect:f]; 
    [data writeToFile:@"x.pdf" atomically:YES]; 
    return 0; 
} 

从终端:

clang prog.m -o prog -framework Cocoa -fobjc-gc-only 
./prog 

回答

2

如果你犯了一个命令行工具,链接了AppKit和使用dataWithPDFInsideRect上一个没有窗口的独立视图,并从terminal.app手动运行它,这将会像你期望的那样工作。如果您是通过ssh登录的,或者其他类似launchd的任务,则可能无法正常工作。

+0

以为我试过这个,但我想我搞砸了B/C这个工作。 – telliott99

相关问题