Link

Access the FormVu Microservice using C#

Table of contents

  1. Introduction
  2. Prerequisites
  3. Code Example
  4. Return result to a callback url
  5. Configuration Options
  6. Upload by URL
  7. Using Authentication
  8. Further details

Introduction

The following tutorial shows you how to convert PDF forms to HTML using a hosted FormVu cloud API, such as:

Whilst the above services can be accessed with plain old HTTP requests, this tutorial uses our open source C# IDRCloudClient which provides a simple C# wrapper around the REST API.

Prerequisites

Using nuget, install the idrsolutions-csharp-client package with the following command:

nuget install idrsolutions-csharp-client

Code Example

Here is a basic code example to convert PDF forms to HTML. Configuration options and advanced features can be found below.

using System;
using System.Collections.Generic;
using idrsolutions-csharp-client;

class ExampleUsage
{
    static void Main(string[] args)
    {
        
        var client = new IDRCloudClient("https://cloud.idrsolutions.com/cloud/" + IDRCloudClient.FORMVU);

        try
        {
            Dictionary<string, string> parameters = new Dictionary<string, string>
            { 
                //["token"] = "Token", //Required only when connecting to the IDRsolutions trial and cloud subscription service
                ["input"] = IDRCloudClient.UPLOAD,
                ["file"] = "path/to/input.pdf"
            };

            Dictionary<string, string> results = client.Convert(parameters);

            String outputUrl = results.GetValueOrDefault("downloadUrl", "No download URL provided");
            
            client.DownloadResult(results, "path/to/output/dir");

            Console.WriteLine("Converted: " + outputUrl);
        }
        catch (Exception e)
        {
            Console.WriteLine("Conversion failed: " + e.Message);
        }
    }
}

Return result to a callback url

The FormVu Microservice accepts a callback url to send the status of a conversion on completion. Using a callback url removes the need to poll the service to determine when the conversion is complete.
The callback url can be provided to the convert method as shown below.

Dictionary<string, string> parameters = new Dictionary<string, string>
{ 
    //["token"] = "Token", //Required only when connecting to the IDRsolutions trial and cloud subscription service
    ["callbackUrl"] = "http://listener.url",
    ["input"] = IDRCloudClient.UPLOAD,
    ["file"] = "path/to/input.pdf"
};

Configuration Options

The FormVu API accepts a stringified JSON object containing key value pair configuration options to customise your conversion. The settings should be added to the parameters array. A full list of the configuration options to convert PDF forms to HTML can be found here.

["settings"] = "{\"key\":\"value\",\"key\":\"value\"}"

Upload by URL

As well as uploading a local file you can also provide a URL which the FormVu Microservice will download and then perform the conversion. To do this you should replace the input and file values in the parameters variable with the following.

["input"] = IDRCloudClient.DOWNLOAD
["url"] = "http://exampleURL/exampleFile.pdf"

Using Authentication

If you have deployed your own FormVu Microservice that requires a username and password to convert PDF forms to HTML, you will need to provide them with each conversion. These are provided by passing two variables named username and password to the convert method as shown below.

var client = new IDRCloudClient("http://exampleURL.com/" + IDRCloudClient.FORMVU, "username", "password");

Further details

IDRCloudClient on GitHub
IDRCloudClient on Nuget
FormVu Microservice API
FormVu Microservice Use