Some test text!



More languages

More languages
C# (.NET Core)
JS (Node.js)

These samples shows how to integrate PDFNet WebViewer into any HTML5, Silverlight, or Flash web application. The sample is using 'pdftron.PDF.Convert.ToXod()' to convert/stream PDF, XPS, MS Office, RTF, HTML and other document formats to WebViewer 'pdftron.PDF.Convert.ToXod()' is an optional Add-On to the Core SDK and is part of PDFNet WebViewer Publishing Platform.

Get Started Samples Download

To run this sample, get started with a free trial of PDFTron SDK.

// Copyright (c) 2001-2019 by PDFTron Systems Inc. All Rights Reserved.
// Consult legal.txt regarding legal and license information.

import PDFNet
import Foundation

// The following sample illustrates how to convert PDF, XPS, image, MS Office, and
// other image document formats to XOD format.
// Certain file formats such as PDF, generic XPS, EMF, and raster image formats can
// be directly converted to XOD. Other formats such as MS Office
// (Word, Excel, Publisher, Powerpoint, etc) can be directly converted via interop.
// These types of conversions guarantee optimal output, while preserving important
// information such as document metadata, intra document links and hyper-links,
// bookmarks etc.
// In case there is no direct conversion available, PDFNet can still convert from
// any printable document to XOD using a virtual printer driver. To check
// if a virtual printer is required use Convert::RequiresPrinter(filename). In this
// case the installing application must be run as administrator. The manifest for this
// sample specifies appropriate the UAC elevation. The administrator privileges are
// not required for direct or interop conversions.
// Please note that PDFNet Publisher (i.e. 'pdftron.PDF.Convert.ToXod') is an
// optionally licensable add-on to PDFNet Core SDK. For details, please see

func runWebViewerConvertTest() -> Int {
    return autoreleasepool {
        var err: Int = 0
        do {
            try PTPDFNet.catchException {
                // Sample 1:
                // Directly convert from PDF to XOD.
                PTConvert.toXod(Bundle.main.path(forResource: "newsletter", ofType: "pdf"), out_filename: URL(fileURLWithPath: NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]).appendingPathComponent("from_pdf.xod").path)
                // Sample 2:
                // Directly convert from generic XPS to XOD.
                PTConvert.toXod(Bundle.main.path(forResource: "simple-xps", ofType: "xps"), out_filename: URL(fileURLWithPath: NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]).appendingPathComponent("from_xps.xod").path)
                // Sample 3:
                // Convert from MS Office (does not require printer driver for Office 2007+)
                // and other document formats to XOD.
        } catch let e as NSError {
            err = 1
        return err

func BulkConvertRandomFilesToXod() {
    let testFiles = ["butterfly.png", "numbered.pdf", "dice.jpg", "simple-xps.xps"]
    let inputPathURL: URL! = Bundle.main.resourceURL
    let outputPathURL = URL(fileURLWithPath: NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0])
    var err: Int = 0
    for testFile: String in testFiles {
        do {
            try PTPDFNet.catchException {
                let inputFilePath: String = inputPathURL.appendingPathComponent(testFile).path
                let outputFilePath: String = outputPathURL.appendingPathComponent(testFile).appendingPathExtension("xod").path

                PTConvert.toXod(inputFilePath, out_filename: outputFilePath)
                print("Converted file: \(inputFilePath)\n            to: \(outputFilePath)")
        } catch let e as NSError {
            print("Unable to convert file \(testFile)")
            err = 1
    if err != 0 {
        print("ConvertFile failed")
    } else {
        print("ConvertFile succeeded")

Upcoming Webinar: Customer Experience and Retaining Control: Boosting Document Automation and Efficiency in Financial Services | Sept 15, 2022 at 11 am PT


The Platform


© 2022 PDFTron Systems Inc. All rights reserved.


Terms of Use