UIImagePlusPDF icon indicating copy to clipboard operation
UIImagePlusPDF copied to clipboard

UIImage PDF extensions.

UIImagePlusPDF

Swift 4.2 CocoaPods compatible Packagist

UIImage extensions to use PDF files. Using UIImagePlusPDF you can avoid a lot png images files (1x, 2x, 3x sizes) and simply replace each of them with only one pdf file.

Installation

CocoaPods:

pod 'UIImagePlusPDF'
import UIImagePlusPDF

Usage

Simple example:

let imageView = UIImageView()
let image = UIImage.pdfImage(with: "imageName")
imageView.image = image

Other options

//with custom width 
UIImage.pdfImage(with: "imageName", width: 350)

//with custom height
UIImage.pdfImage(with: "imageName", height: 350)

//with custom size
UIImage.pdfImage(with: "imageName", size: CGSize(width: 300, height:  400))

//with page number
UIImage.pdfImage(with: "multipage pdf file", width: 300, pageNumber: 2)

//same options with resource url
UIImage.pdfImage(with: URL(string: "path"))

Cache

Memory cache:

//using NSCache
//default is true
UIImage.pdfCacheInMemory = true

Disk cache:

//default is false
UIImage.pdfCacheOnDisk = true

Cache deleting:

//all cache
UIImage.removeAllPDFCache()

//all memory cache
UIImage.removeAllPDFMemoryCache()

//all disk cache
UIImage.removeAllPDFDiskCache()

//memory cached pdf with name
UIImage.removeMemoryCachedPDFImage(
    with: "pdf name", 
    size: imageSize, 
    pageNumber: 1 /*optional, default is 1*/
)

//memory cached pdf with url
UIImage.removeMemoryCachedPDFImage(
    with: URL(string: "path"), 
    size: imageSize, 
    pageNumber: 1 /*optional, default is 1*/
)

//disk cached pdf with name
UIImage.removeDiskCachedPDFImage(
    with: "pdf name", 
    size: imageSize, 
    pageNumber: 1 /*optional, default is 1*/
)

//disk cached pdf with url
UIImage.removeDiskCachedPDFImage(
    with: URL(string: "path"), 
    size: imageSize, 
    pageNumber: 1 /*optional, default is 1*/
)

License

UIImagePlusPDF is under MIT license. See the LICENSE file for more info.