• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Problem printing offscreen PDFViews
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Problem printing offscreen PDFViews


  • Subject: Problem printing offscreen PDFViews
  • From: Waldo Lee Sharvey <email@hidden>
  • Date: Wed, 13 Jan 2010 11:35:01 -0500

I have a situation where I want to print a multi-page PDF. While I
could use the PDFKit utility classes and/or quartz functions to get
the information to manually write drawing/pagination code for a NSView
subclass, I had thought that quicker alternative would be to create an
off-screen PDFView and tell it to print itself. When I tried this
solution, the print dialog didn't go away, all of the print settings
controls on the right half of the print dialog disappeared, and the
application froze.

I then wrote a tiny test application with the following method that
illustrates the problem. When the test program is compiled without the
USE_PDF_VIEW preprocessor macro defined, the blank view displays fine.
If USE_PDF_VIEW is defined, the document doesn't print, most of the
print dialog controls disappear, and the app freezes. While I have
other ways of accomplishing my goal, I'm curious as to why this
shortcut doesn't work. Is there something about Cocoa drawing I still
don't understand? Am I banging into Apple Voodoo Magic(tm) behind the
scenes that makes PDFView behave in a completely different way than
other NSViews?

- (void)printMyStuff:(id)sender {

NSPrintInfo *currInfo = [NSPrintInfo sharedPrintInfo];

#ifdef USE_PDF_VIEW


	PDFView *pdfView = [[PDFView alloc] init];
	PDFDocument *pdfDoc = [[PDFDocument alloc] initWithURL:[NSURL
fileURLWithPath:@"/Users/wls/Documents/my_document.pdf"]];
	[pdfView setDocument: pdfDoc];
	[pdfView printWithInfo:currInfo autoRotate:YES];


#else

	NSView *myView = [[NSView alloc] initWithFrame:NSMakeRect(0, 0, 500, 500)];
	NSPrintOperation *myop = [NSPrintOperation
printOperationWithView:myView printInfo:currInfo];
	[myop runOperation];


#endif

}
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Problem printing offscreen PDFViews
      • From: Kyle Sluder <email@hidden>
  • Prev by Date: Re: Cocoa-dev Digest, Vol 7, Issue 57
  • Next by Date: Re: iPhone: CATransition done (get the key?)
  • Previous by thread: Re: Cocoa-dev Digest, Vol 7, Issue 57
  • Next by thread: Re: Problem printing offscreen PDFViews
  • Index(es):
    • Date
    • Thread