我正在团结工作,我的任务是从统一摄像头拍摄的一些快照中创建并打印pdf。
在创建pdf之后的窗口上,可以通过调用ShellExecute函数并将print作为参数传递或使用stackoverflow上发布的函数轻松完成,即:
private void SendToPrinter()
{
ProcessStartInfo info = new ProcessStartInfo();
info.Verb = "print";
info.FileName = @"c:\output.pdf";
info.CreateNoWindow = true;
info.WindowStyle = ProcessWindowStyle.Hidden;
Process p = new Process();
p.StartInfo = info;
p.Start();
p.WaitForInputIdle();
System.Threading.Thread.Sleep(3000);
if (false == p.CloseMainWindow())
p.Kill();
}
,但我完全不知道如何才能在OSX版本中实现相同目标?
任何帮助都将非常感激。
答案 0 :(得分:1)
您需要查看Apple"适用于Mac的打印编程指南"。 (https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Printing/osxp_aboutprinting/osxp_aboutprt.html)
要打印PDF页面,您需要一个CGContextRef。在您的视图drawRect:方法中,您可以获得正确的图形上下文:
CGContextRef myContext = [[NSGraphicsContext currentContext] graphicsPort];
用于将PDF页面绘制到上下文中的方法是CGContextDrawPDFPage(context,page);
打开PDF文档的最简单方法是使用CGPDFDocumentCreateWithURL
使用CGPDFDocumentGetPage获取页面。