我正在尝试用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];
}
}
答案 0 :(得分:0)
问题与在OSX中为打印机使用通用postscript驱动程序有关。一旦我切换到打印机的特定驱动程序,自定义纸张尺寸就像一个魅力。
感谢所有帮助...
- 罗伯特