Hi all I tried in many ways to print a pdf according with the size of the pdf book.i also searched in many links and many codes like apple codes,github and many such type of
Why not just use the UIDocumentInteractionController to display the PDF? It would be much easier then trying to render the PDF the way you are? I have used UIDocumentInteractionController on several instances to preview PDFs, word docs, powerpoints, etc.
Check it out HERE.
This may give you what you need (Fill the whole screen with the PDF). It will also allow you to print the document and open it in another app if needed...
Pages in PDF files don't have a standard size. And since you are computing the scale to retain the correct aspect ratio, not all of your PDF files will take up the entire screen.
Based on your code above, you can make all PDF files fit the entire screen by changing
CGContextConcatCTM(ctx, CGAffineTransformMakeScale(scaleToApply, scaleToApply));
to
CGContextConcatCTM(ctx, CGAffineTransformMakeScale(xScale, yScale));
This will screw up the aspect ratio, though.
There is a simple way to read a PDF in iPhone/iPad: 1.Take one UIwebView (name:pdfView). 2.Give Iboutlet connection to it & Delegate it to FilesOwner 3.In Viewdidload
[self.pdfView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"ObjC" ofType:@"pdf"]]]];
4.ObjC.pdf should be in resource folder.. Now to Fit the pdf page of different size to the screen of the iPad just open respective .xib file then go to inspector of UIwebView then web view attributes and there tick mark scales page to fit option.