SimplePDF is a wrapper of UIGraphics PDF context written in Swift.
You can:
- add texts, images, spaces and lines, table
- set up page layout, adjust content alignment
- generate PDF data/file.
In summary, you can create a simple PDF effortlessly. 😄
let A4paperSize = CGSize(width: 595, height: 842)
let pdf = SimplePDF(pageSize: A4paperSize)
pdf.addText("Hello World!")
pdf.addImage( anImage )
let dataArray = [["Test1", "Test2"],["Test3", "Test4"]]
pdf.addTable(rowCount: 2, columnCount: 2, rowHeight: 20.0, columnWidth: 30.0, tableLineWidth: 1.0, font: UIFont.systemFontOfSize(5.0), dataArray: dataArray)
let pdfData = pdf.generatePDFdata()
// save as a local file
try? pdfData.writeToFile(path, options: .DataWritingAtomic)
See the result example.pdf, which is generated from ExampleCode.swift.
via Cocoapods
use_frameworks!
pod 'SimplePDF'
import SimplePDF
let A4paperSize = CGSize(width: 595, height: 842)
let pdf = SimplePDF(pageSize: A4paperSize, pageMargin: 20.0)
pdf.addText( "some text" )
pdf.addImage( UIImage )
pdf.addAttributedText( NSAttributedString )
pdf.addLineSeparator(height: 30) // or pdf.addLineSeparator() default height is 1.0
pdf.addLineSpace(20)
pdf.beginNewPage() // Begin a new page
These following commands will affect everything you write after you call.
pdf.setContentAlignment(.Center) // .Left, .Center, .Right
pdf.setFont( UIFont ) // only affect pdf.addText(...) command
let pdfData = pdf.generatePDFdata()
// write to file
try? pdfData.writeToFile(path, options: .DataWritingAtomic)
// or upload to Internet
// For example, Alamofire.upload(...)
SimplePDF is available under the MIT License.
Nutchaphon Rewik