0

PDFを描画して保存するコマンドラインアプリ(デスクトップ上のOS X)を作成するための良い方法を見つけようとしています。ビュー付きのGUIがある場合は、NSBezierPathオブジェクトを使用し、最後に[myView dataWithPDFInsideRect:r]を実行します。

CGPDFContextCreateWithURLで取得したCGContextRefを使用していますが、不格好です。2つのコントロールポイントを持つCGContextAddCurveToPointのような単純なものは、私が期待するようにレンダリングされません(途中で奇妙に見えます)。そして、スコット・スティーブンソン(パートII)のような洗練されたものは不可能のようです。

私は何か簡単なものが欠けていますか?ビューを作成してウィンドウなしで描画する方法はありますか?より洗練されたコアグラフィックスを作成する方法は?

更新:明確にするために、動作するmainのコードは次のとおりです。

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
4

1 に答える 1

2

AppKit をリンクし、ウィンドウのないスタンドアロン ビューで dataWithPDFInsideRect を使用するコマンド ライン ツールを作成し、それを terminal.app から手動で実行すると、期待どおりに動作します。ssh や launchd ジョブなどでログインしている場合、これは機能しない可能性があります。

于 2012-05-25T21:27:47.050 に答える