在OS X中打印4x6“卡(可可)

时间:2009-12-08 18:33:27

标签: cocoa macos printing

我正在尝试用Cx(故事卡)打印4x6卡片。我有一个视图,我放置数据,但当我打印时,它打印方向正确,只有8x11纸张(换句话说,它打印正确的字母大小纸张,原点在左上角 - 左下方,如果你在横向模式下持有输出)。当一张4x5卡通过打印机送入时,它似乎只是打印输出的最后一位(换句话说,如果4x6卡叠加在信纸上,如果看到纸张,它似乎在中间右侧居中在横向模式下。打印机似乎是为字母而不是4x6成像。它必须与我如何配置NSPrintInfo对象有关...但对于我的生活我无法理解。我'我在几台不同的打印机上试过它,并且我得到了相同的结果。

有什么想法吗?

执行打印的代码如下所示:

- (IBAction)printCard:(id)sender
{
    int i;
    for (i=0; i<[storyCards count]; i++)
    {
    StoryCard * card = [storyCards objectAtIndex:i];
    NSPrintInfo *printInfo = [[NSPrintInfo sharedPrintInfo] copy];

    [printInfo setPaperSize:NSMakeSize(4*72, 6*72)];
    [printInfo setOrientation:NSLandscapeOrientation];
    [printInfo setHorizontalPagination:NSFitPagination];
    [printInfo setVerticalPagination:NSFitPagination];
    [printInfo setLeftMargin:10.0];
    [printInfo setRightMargin:10.0];
    [printInfo setTopMargin:10.0];
    [printInfo setBottomMargin:10.0];

    StoryCardView *view = [[StoryCardView alloc] initWithFrame:[printInfo imageablePageBounds]];

    [view setStoryCard:card];

    NSPrintOperation *printOp = [NSPrintOperation printOperationWithView:view printInfo:printInfo];

    [printOp runOperation];

    [view release];

    }
}

1 个答案:

答案 0 :(得分:0)

问题与在OSX中为打印机使用通用postscript驱动程序有关。一旦我切换到打印机的特定驱动程序,自定义纸张尺寸就像一个魅力。

感谢所有帮助...

- 罗伯特