Reputation: 2855
I want to create a pdf document with full size page. It doesn't fill the whole page. How can I fix it.
class PDFAssortmentExporter: NSObject {
var metaDataPDF: PDFMetaData
lazy var pageWidth : CGFloat = {
return 11 * 72.0
}()
lazy var pageHeight : CGFloat = {
return 8.5 * 72.0
}()
lazy var pageRect : CGRect = {
CGRect(x: 0, y: 0, width: pageWidth, height: pageHeight)
}()
lazy var marginPoint : CGPoint = {
return CGPoint(x: 10, y: 10)
}()
lazy var marginSize : CGSize = {
return CGSize(width: self.marginPoint.x * 2 , height: self.marginPoint.y * 2)
}()
init(metaDataPDF: PDFMetaData) {
self.metaDataPDF = metaDataPDF
}
func prepareData() -> Data {
let pdfMetaData = [
kCGPDFContextCreator: metaDataPDF.contextCreatorPDF,
kCGPDFContextAuthor: metaDataPDF.authorPDF,
kCGPDFContextTitle: metaDataPDF.contextTitle
]
let format = UIGraphicsPDFRendererFormat()
format.documentInfo = pdfMetaData as [String: Any]
let renderer = UIGraphicsPDFRenderer(bounds: pageRect, format: format)
let data = renderer.pdfData { (context) in
}
return data
}
}
Upvotes: 0
Views: 839
Reputation: 1954
Change the displayMode to single page for pdfView
pdfView.displayMode = .singlePage
pdfView.displayDirection = .vertical
pdfView.autoScales = true
//pdfView.minScaleFactor = pdfView.scaleFactorForSizeToFit
pdfView.usePageViewController(true, withViewOptions: nil)
Upvotes: 2