Some test text!

Loading...
Guides
Convert to PDF

Convert documents to PDF on iOS

Saving annotations back to non-PDF formats is not supported. You can instead save the annotated PDFDoc to a PDF file.

PDFTron has a powerful conversion system which allows you to convert many file formats to PDF. The PTConvert class handles the conversion process and supports the following file types:

  • Office files: .docx, .pptx, .xlsx, .doc (with the office conversion Add-On module)
  • Images: .bmp, .jpg, .tif, .png, .gif
  • Image collections (zip archives with any type of image listed above)
  • Markdown files: .md (with the office conversion Add-On module)

Open a non-PDF file

The simplest way to convert and view any file format that PDFTron supports is to use the PTDocumentController (or PTTabbedDocumentViewController) method openDocumentWithURL:. This method supports local files, files opened from remote cloud services and "raw" http URLs.

Convert a non-PDF file

Another way is to convert a file with the PTConvert class's +ToPDF:in_filename: method. The following code shows how to convert a non-PDF file using PDFTron's internal conversion:

// Create empty PDFDoc.
let doc = PTPDFDoc()

// Convert non-PDF file at "my_file_path"
PTConvert.toPdf(doc, in_filename: "my_file_path")

The result of the conversion will be contained in the provided PTPDFDoc, which can then be displayed .

Convert other non-PDF files

In addition to the file types supported by PDFTron's internal conversion, it is also possible to convert many other file types with an iOS-specific API. The PTConvert class's +convertOfficeToPDF:paperSize:completion: method can convert any file type supported by WKWebView to PDF. Some of the supported file types include:

  • iWork files: .pages, .key, .numbers
  • Binary office files: .doc, .ppt, .xls
  • Rich Text Format files: .rtf

The following code shows how to convert a file with the iOS-specific API:

PTConvert.convertOffice(toPDF: "my_file_path", paperSize: .zero) { (pathToPDF) in
    guard let pathToPDF = pathToPDF else {
        // Failed to convert file to PDF.
        return
    }
    
    // Copy temporary PDF to persistent location.
    let documentDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, false)[0]
    
    let urlToPDF = URL(fileURLWithPath: pathToPDF)
    let destinationURL = URL(fileURLWithPath: documentDirectory).appendingPathComponent(urlToPDF.lastPathComponent)
    
    do {
        try FileManager.default.copyItem(at: urlToPDF, to: destinationURL)
    } catch {
        // Failed to copy item to persistent location.
    }

    // Do something with PDF output.
}

Convert HTML to PDF

Please see this guide about Web/HTML to PDF.

Get the answers you need: Support

UPCOMING WEBINAR: Live tech update and run-through. October 21 @ 11am PDT