Run this command to install the SDK:

npm install cloudmersive-convert-api-client --save


Or add this snippet to your package.json:

  "dependencies": {
    "cloudmersive-convert-api-client": "^2.6.3"
  }


var CloudmersiveConvertApiClient = require('cloudmersive-convert-api-client');
var defaultClient = CloudmersiveConvertApiClient.ApiClient.instance;

// Configure API key authorization: Apikey
var Apikey = defaultClient.authentications['Apikey'];
Apikey.apiKey = 'YOUR API KEY';



var apiInstance = new CloudmersiveConvertApiClient.ConvertDocumentApi();

var inputFile1 = Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer); // File | First input file to perform the operation on.

var inputFile2 = Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer); // File | Second input file to perform the operation on.

var opts = { 
  'inputFile3': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer), // File | Third input file to perform the operation on.
  'inputFile4': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer), // File | Fourth input file to perform the operation on.
  'inputFile5': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer), // File | Fifth input file to perform the operation on.
  'inputFile6': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer), // File | Sixth input file to perform the operation on.
  'inputFile7': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer), // File | Seventh input file to perform the operation on.
  'inputFile8': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer), // File | Eighth input file to perform the operation on.
  'inputFile9': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer), // File | Ninth input file to perform the operation on.
  'inputFile10': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer) // File | Tenth input file to perform the operation on.
};

var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
apiInstance.convertDocumentPngArrayToPdf(inputFile1, inputFile2, opts, callback);

Run this command to install the SDK:

pip install cloudmersive-convert-api-client


from __future__ import print_function
import time
import cloudmersive_convert_api_client
from cloudmersive_convert_api_client.rest import ApiException
from pprint import pprint

# Configure API key authorization: Apikey
configuration = cloudmersive_convert_api_client.Configuration()
configuration.api_key['Apikey'] = 'YOUR_API_KEY'



# create an instance of the API class
api_instance = cloudmersive_convert_api_client.ConvertDocumentApi(cloudmersive_convert_api_client.ApiClient(configuration))
input_file1 = '/path/to/file' # file | First input file to perform the operation on.
input_file2 = '/path/to/file' # file | Second input file to perform the operation on.
input_file3 = '/path/to/file' # file | Third input file to perform the operation on. (optional)
input_file4 = '/path/to/file' # file | Fourth input file to perform the operation on. (optional)
input_file5 = '/path/to/file' # file | Fifth input file to perform the operation on. (optional)
input_file6 = '/path/to/file' # file | Sixth input file to perform the operation on. (optional)
input_file7 = '/path/to/file' # file | Seventh input file to perform the operation on. (optional)
input_file8 = '/path/to/file' # file | Eighth input file to perform the operation on. (optional)
input_file9 = '/path/to/file' # file | Ninth input file to perform the operation on. (optional)
input_file10 = '/path/to/file' # file | Tenth input file to perform the operation on. (optional)

try:
    # Convert PNG Array to PDF
    api_response = api_instance.convert_document_png_array_to_pdf(input_file1, input_file2, input_file3=input_file3, input_file4=input_file4, input_file5=input_file5, input_file6=input_file6, input_file7=input_file7, input_file8=input_file8, input_file9=input_file9, input_file10=input_file10)
    pprint(api_response)
except ApiException as e:
    print("Exception when calling ConvertDocumentApi->convert_document_png_array_to_pdf: %s\n" % e)

Run this command to install the SDK:

Install-Package Cloudmersive.APIClient.NET.DocumentAndDataConvert -Version 3.4.2


using System;
using System.Diagnostics;
using Cloudmersive.APIClient.NET.DocumentAndDataConvert.Api;
using Cloudmersive.APIClient.NET.DocumentAndDataConvert.Client;
using Cloudmersive.APIClient.NET.DocumentAndDataConvert.Model;

namespace Example
{
    public class ConvertDocumentPngArrayToPdfExample
    {
        public void main()
        {
            // Configure API key authorization: Apikey
            Configuration.Default.AddApiKey("Apikey", "YOUR_API_KEY");
            
            

            var apiInstance = new ConvertDocumentApi();
            var inputFile1 = new System.IO.FileStream("C:\\temp\\inputfile", System.IO.FileMode.Open); // System.IO.Stream | First input file to perform the operation on.
            var inputFile2 = new System.IO.FileStream("C:\\temp\\inputfile", System.IO.FileMode.Open); // System.IO.Stream | Second input file to perform the operation on.
            var inputFile3 = new System.IO.FileStream("C:\\temp\\inputfile", System.IO.FileMode.Open); // System.IO.Stream | Third input file to perform the operation on. (optional) 
            var inputFile4 = new System.IO.FileStream("C:\\temp\\inputfile", System.IO.FileMode.Open); // System.IO.Stream | Fourth input file to perform the operation on. (optional) 
            var inputFile5 = new System.IO.FileStream("C:\\temp\\inputfile", System.IO.FileMode.Open); // System.IO.Stream | Fifth input file to perform the operation on. (optional) 
            var inputFile6 = new System.IO.FileStream("C:\\temp\\inputfile", System.IO.FileMode.Open); // System.IO.Stream | Sixth input file to perform the operation on. (optional) 
            var inputFile7 = new System.IO.FileStream("C:\\temp\\inputfile", System.IO.FileMode.Open); // System.IO.Stream | Seventh input file to perform the operation on. (optional) 
            var inputFile8 = new System.IO.FileStream("C:\\temp\\inputfile", System.IO.FileMode.Open); // System.IO.Stream | Eighth input file to perform the operation on. (optional) 
            var inputFile9 = new System.IO.FileStream("C:\\temp\\inputfile", System.IO.FileMode.Open); // System.IO.Stream | Ninth input file to perform the operation on. (optional) 
            var inputFile10 = new System.IO.FileStream("C:\\temp\\inputfile", System.IO.FileMode.Open); // System.IO.Stream | Tenth input file to perform the operation on. (optional) 

            try
            {
                // Convert PNG Array to PDF
                byte[] result = apiInstance.ConvertDocumentPngArrayToPdf(inputFile1, inputFile2, inputFile3, inputFile4, inputFile5, inputFile6, inputFile7, inputFile8, inputFile9, inputFile10);
                Debug.WriteLine(result);
            }
            catch (Exception e)
            {
                Debug.Print("Exception when calling ConvertDocumentApi.ConvertDocumentPngArrayToPdf: " + e.Message );
            }
        }
    }
}

To install with Maven, add a reference to the repository in pom.xml:

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>


And add a reference to the dependency in pom.xml:

<dependencies>
<dependency>
    <groupId>com.github.Cloudmersive</groupId>
    <artifactId>Cloudmersive.APIClient.Java</artifactId>
    <version>v3.90</version>
</dependency>
</dependencies>


To install with Gradle, add it in your root build.gradle at the end of repositories:

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}


And add the dependency in build.gradle:

dependencies {
        implementation 'com.github.Cloudmersive:Cloudmersive.APIClient.Java:v3.90'
}


// Import classes:
//import com.cloudmersive.client.invoker.ApiClient;
//import com.cloudmersive.client.invoker.ApiException;
//import com.cloudmersive.client.invoker.Configuration;
//import com.cloudmersive.client.invoker.auth.*;
//import com.cloudmersive.client.ConvertDocumentApi;

ApiClient defaultClient = Configuration.getDefaultApiClient();

// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth) defaultClient.getAuthentication("Apikey");
Apikey.setApiKey("YOUR API KEY");
// Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null)
//Apikey.setApiKeyPrefix("Token");

ConvertDocumentApi apiInstance = new ConvertDocumentApi();
File inputFile1 = new File("/path/to/file"); // File | First input file to perform the operation on.
File inputFile2 = new File("/path/to/file"); // File | Second input file to perform the operation on.
File inputFile3 = new File("/path/to/file"); // File | Third input file to perform the operation on.
File inputFile4 = new File("/path/to/file"); // File | Fourth input file to perform the operation on.
File inputFile5 = new File("/path/to/file"); // File | Fifth input file to perform the operation on.
File inputFile6 = new File("/path/to/file"); // File | Sixth input file to perform the operation on.
File inputFile7 = new File("/path/to/file"); // File | Seventh input file to perform the operation on.
File inputFile8 = new File("/path/to/file"); // File | Eighth input file to perform the operation on.
File inputFile9 = new File("/path/to/file"); // File | Ninth input file to perform the operation on.
File inputFile10 = new File("/path/to/file"); // File | Tenth input file to perform the operation on.
try {
    byte[] result = apiInstance.convertDocumentPngArrayToPdf(inputFile1, inputFile2, inputFile3, inputFile4, inputFile5, inputFile6, inputFile7, inputFile8, inputFile9, inputFile10);
    System.out.println(result);
} catch (ApiException e) {
    System.err.println("Exception when calling ConvertDocumentApi#convertDocumentPngArrayToPdf");
    e.printStackTrace();
}

Run this command to install the SDK:

composer require cloudmersive/cloudmersive_document_convert_api_client


<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Configure API key authorization: Apikey
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('Apikey', 'YOUR_API_KEY');



$apiInstance = new Swagger\Client\Api\ConvertDocumentApi(
    
    
    new GuzzleHttp\Client(),
    $config
);
$input_file1 = "/path/to/file"; // \SplFileObject | First input file to perform the operation on.
$input_file2 = "/path/to/file"; // \SplFileObject | Second input file to perform the operation on.
$input_file3 = "/path/to/file"; // \SplFileObject | Third input file to perform the operation on.
$input_file4 = "/path/to/file"; // \SplFileObject | Fourth input file to perform the operation on.
$input_file5 = "/path/to/file"; // \SplFileObject | Fifth input file to perform the operation on.
$input_file6 = "/path/to/file"; // \SplFileObject | Sixth input file to perform the operation on.
$input_file7 = "/path/to/file"; // \SplFileObject | Seventh input file to perform the operation on.
$input_file8 = "/path/to/file"; // \SplFileObject | Eighth input file to perform the operation on.
$input_file9 = "/path/to/file"; // \SplFileObject | Ninth input file to perform the operation on.
$input_file10 = "/path/to/file"; // \SplFileObject | Tenth input file to perform the operation on.

try {
    $result = $apiInstance->convertDocumentPngArrayToPdf($input_file1, $input_file2, $input_file3, $input_file4, $input_file5, $input_file6, $input_file7, $input_file8, $input_file9, $input_file10);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception when calling ConvertDocumentApi->convertDocumentPngArrayToPdf: ', $e->getMessage(), PHP_EOL;
}
?>

Add the Objective-C client to your Podfile:

pod 'CloudmersiveDocumentAndDataConvertApiClient', '~> 1.0'


CMDefaultConfiguration *apiConfig = [CMDefaultConfiguration sharedConfig];

// Configure API key authorization: (authentication scheme: Apikey)
[apiConfig setApiKey:@"YOUR_API_KEY" forApiKeyIdentifier:@"Apikey"];




NSURL* inputFile1 = [NSURL fileURLWithPath:@"/path/to/file"]; // First input file to perform the operation on.
NSURL* inputFile2 = [NSURL fileURLWithPath:@"/path/to/file"]; // Second input file to perform the operation on.
NSURL* inputFile3 = [NSURL fileURLWithPath:@"/path/to/file"]; // Third input file to perform the operation on. (optional)
NSURL* inputFile4 = [NSURL fileURLWithPath:@"/path/to/file"]; // Fourth input file to perform the operation on. (optional)
NSURL* inputFile5 = [NSURL fileURLWithPath:@"/path/to/file"]; // Fifth input file to perform the operation on. (optional)
NSURL* inputFile6 = [NSURL fileURLWithPath:@"/path/to/file"]; // Sixth input file to perform the operation on. (optional)
NSURL* inputFile7 = [NSURL fileURLWithPath:@"/path/to/file"]; // Seventh input file to perform the operation on. (optional)
NSURL* inputFile8 = [NSURL fileURLWithPath:@"/path/to/file"]; // Eighth input file to perform the operation on. (optional)
NSURL* inputFile9 = [NSURL fileURLWithPath:@"/path/to/file"]; // Ninth input file to perform the operation on. (optional)
NSURL* inputFile10 = [NSURL fileURLWithPath:@"/path/to/file"]; // Tenth input file to perform the operation on. (optional)

CMConvertDocumentApi*apiInstance = [[CMConvertDocumentApi alloc] init];

// Convert PNG Array to PDF
[apiInstance convertDocumentPngArrayToPdfWithInputFile1:inputFile1
              inputFile2:inputFile2
              inputFile3:inputFile3
              inputFile4:inputFile4
              inputFile5:inputFile5
              inputFile6:inputFile6
              inputFile7:inputFile7
              inputFile8:inputFile8
              inputFile9:inputFile9
              inputFile10:inputFile10
          completionHandler: ^(NSData* output, NSError* error) {
                        if (output) {
                            NSLog(@"%@", output);
                        }
                        if (error) {
                            NSLog(@"Error calling CMConvertDocumentApi->convertDocumentPngArrayToPdf: %@", error);
                        }
                    }];

Add the Ruby client to your Gemfile:

gem 'cloudmersive-convert-api-client', '~> 2.1.6'


# load the gem
require 'cloudmersive-convert-api-client'
# setup authorization
CloudmersiveConvertApiClient.configure do |config|
  # Configure API key authorization: Apikey
  config.api_key['Apikey'] = 'YOUR API KEY'
  # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
  #config.api_key_prefix['Apikey'] = 'Bearer'
end

api_instance = CloudmersiveConvertApiClient::ConvertDocumentApi.new

input_file1 = File.new('/path/to/inputfile') # File | First input file to perform the operation on.

input_file2 = File.new('/path/to/inputfile') # File | Second input file to perform the operation on.

opts = { 
  input_file3: File.new('/path/to/inputfile'), # File | Third input file to perform the operation on.
  input_file4: File.new('/path/to/inputfile'), # File | Fourth input file to perform the operation on.
  input_file5: File.new('/path/to/inputfile'), # File | Fifth input file to perform the operation on.
  input_file6: File.new('/path/to/inputfile'), # File | Sixth input file to perform the operation on.
  input_file7: File.new('/path/to/inputfile'), # File | Seventh input file to perform the operation on.
  input_file8: File.new('/path/to/inputfile'), # File | Eighth input file to perform the operation on.
  input_file9: File.new('/path/to/inputfile'), # File | Ninth input file to perform the operation on.
  input_file10: File.new('/path/to/inputfile') # File | Tenth input file to perform the operation on.
}

begin
  #Convert PNG Array to PDF
  result = api_instance.convert_document_png_array_to_pdf(input_file1, input_file2, opts)
  p result
rescue CloudmersiveConvertApiClient::ApiError => e
  puts "Exception when calling ConvertDocumentApi->convert_document_png_array_to_pdf: #{e}"
end

Download and copy the /client folder into your Apex project:

Download Apex Client

SwagConvertDocumentApi api = new SwagConvertDocumentApi();
SwagClient client = api.getClient();

// Configure API key authorization: Apikey
ApiKeyAuth Apikey = (ApiKeyAuth) client.getAuthentication('Apikey');
Apikey.setApiKey('YOUR API KEY');

Map<String, Object> params = new Map<String, Object>{
    'inputFile1' => Blob.valueOf('Sample text file\nContents'),
    'inputFile2' => Blob.valueOf('Sample text file\nContents'),
    'inputFile3' => Blob.valueOf('Sample text file\nContents'),
    'inputFile4' => Blob.valueOf('Sample text file\nContents'),
    'inputFile5' => Blob.valueOf('Sample text file\nContents'),
    'inputFile6' => Blob.valueOf('Sample text file\nContents'),
    'inputFile7' => Blob.valueOf('Sample text file\nContents'),
    'inputFile8' => Blob.valueOf('Sample text file\nContents'),
    'inputFile9' => Blob.valueOf('Sample text file\nContents'),
    'inputFile10' => Blob.valueOf('Sample text file\nContents')
};

try {
    // cross your fingers
    Blob result = api.convertDocumentPngArrayToPdf(params);
    System.debug(result);
} catch (Swagger.ApiException e) {
    // ...handle your exceptions
}

Install libcurl in your C/C++ project:

libcurl/7.75.0
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
     curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
     curl_easy_setopt(curl, CURLOPT_URL, "https://api.cloudmersive.com/convert/png/to/pdf");
     curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
     curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
     struct curl_slist *headers = NULL;
     headers = curl_slist_append(headers, "Content-Type: multipart/form-data");
     headers = curl_slist_append(headers, "Apikey: YOUR-API-KEY-HERE");
     curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
     curl_mime *mime;
     curl_mimepart *part;
     mime = curl_mime_init(curl);
     part = curl_mime_addpart(mime);
     curl_mime_name(part, "inputFile1");
     curl_mime_filedata(part, "/path/to/file");
     part = curl_mime_addpart(mime);
     curl_mime_name(part, "inputFile2");
     curl_mime_filedata(part, "/path/to/file");
     part = curl_mime_addpart(mime);
     curl_mime_name(part, "inputFile3");
     curl_mime_filedata(part, "/path/to/file");
     part = curl_mime_addpart(mime);
     curl_mime_name(part, "inputFile4");
     curl_mime_filedata(part, "/path/to/file");
     part = curl_mime_addpart(mime);
     curl_mime_name(part, "inputFile5");
     curl_mime_filedata(part, "/path/to/file");
     part = curl_mime_addpart(mime);
     curl_mime_name(part, "inputFile6");
     curl_mime_filedata(part, "/path/to/file");
     part = curl_mime_addpart(mime);
     curl_mime_name(part, "inputFile7");
     curl_mime_filedata(part, "/path/to/file");
     part = curl_mime_addpart(mime);
     curl_mime_name(part, "inputFile8");
     curl_mime_filedata(part, "/path/to/file");
     part = curl_mime_addpart(mime);
     curl_mime_name(part, "inputFile9");
     curl_mime_filedata(part, "/path/to/file");
     part = curl_mime_addpart(mime);
     curl_mime_name(part, "inputFile10");
     curl_mime_filedata(part, "/path/to/file");
     curl_easy_setopt(curl, CURLOPT_MIMEPOST, mime);
     res = curl_easy_perform(curl);
     curl_mime_free(mime);
}
curl_easy_cleanup(curl);
curl --location --request POST 'https://api.cloudmersive.com/convert/png/to/pdf' \
--header 'Content-Type: multipart/form-data' \
--header 'Apikey: YOUR-API-KEY-HERE' \
--form 'inputFile1=@"/path/to/file"' \
--form 'inputFile2=@"/path/to/file"' \
--form 'inputFile3=@"/path/to/file"' \
--form 'inputFile4=@"/path/to/file"' \
--form 'inputFile5=@"/path/to/file"' \
--form 'inputFile6=@"/path/to/file"' \
--form 'inputFile7=@"/path/to/file"' \
--form 'inputFile8=@"/path/to/file"' \
--form 'inputFile9=@"/path/to/file"' \
--form 'inputFile10=@"/path/to/file"'
import Foundation
#if canImport(FoundationNetworking)
import FoundationNetworking
#endif

var semaphore = DispatchSemaphore (value: 0)

let parameters = [
     [
          "key": "inputFile1",
          "src": "/path/to/file",
          "type": "file"
     ],
     [
          "key": "inputFile2",
          "src": "/path/to/file",
          "type": "file"
     ],
     [
          "key": "inputFile3",
          "src": "/path/to/file",
          "type": "file"
     ],
     [
          "key": "inputFile4",
          "src": "/path/to/file",
          "type": "file"
     ],
     [
          "key": "inputFile5",
          "src": "/path/to/file",
          "type": "file"
     ],
     [
          "key": "inputFile6",
          "src": "/path/to/file",
          "type": "file"
     ],
     [
          "key": "inputFile7",
          "src": "/path/to/file",
          "type": "file"
     ],
     [
          "key": "inputFile8",
          "src": "/path/to/file",
          "type": "file"
     ],
     [
          "key": "inputFile9",
          "src": "/path/to/file",
          "type": "file"
     ],
     [
          "key": "inputFile10",
          "src": "/path/to/file",
          "type": "file"
     ]] as [[String : Any]]

let boundary = "Boundary-\(UUID().uuidString)"
var body = ""
var error: Error? = nil
for param in parameters {
     if param["disabled"] == nil {
          let paramName = param["key"]!
          body += "--\(boundary)\r\n"
          body += "Content-Disposition:form-data; name=\"\(paramName)\""
          if param["contentType"] != nil {
               body += "\r\nContent-Type: \(param["contentType"] as! String)"
          }
          let paramType = param["type"] as! String
          if paramType == "text" {
               let paramValue = param["value"] as! String
               body += "\r\n\r\n\(paramValue)\r\n"
          } else {
               let paramSrc = param["src"] as! String
               let fileData = try NSData(contentsOfFile:paramSrc, options:[]) as Data
               let fileContent = String(data: fileData, encoding: .utf8)!
               body += "; filename=\"\(paramSrc)\"\r\n"
                 + "Content-Type: \"content-type header\"\r\n\r\n\(fileContent)\r\n"
          }
     }
}
body += "--\(boundary)--\r\n";
let postData = body.data(using: .utf8)

var request = URLRequest(url: URL(string: "https://api.cloudmersive.com/convert/png/to/pdf")!,timeoutInterval: Double.infinity)
request.addValue("multipart/form-data", forHTTPHeaderField: "Content-Type")
request.addValue("YOUR-API-KEY-HERE", forHTTPHeaderField: "Apikey")
request.addValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

request.httpMethod = "POST"
request.httpBody = postData

let task = URLSession.shared.dataTask(with: request) { data, response, error in 
     guard let data = data else {
          print(String(describing: error))
          semaphore.signal()
          return
     }
     print(String(data: data, encoding: .utf8)!)
     semaphore.signal()
}

task.resume()
semaphore.wait()

This code snippet uses the built-in JavaScript XHR request capability

var data = new FormData();
data.append("inputFile1", fileInput.files[0], "file");
 data.append("inputFile2", fileInput.files[0], "file");
 data.append("inputFile3", fileInput.files[0], "file");
 data.append("inputFile4", fileInput.files[0], "file");
 data.append("inputFile5", fileInput.files[0], "file");
 data.append("inputFile6", fileInput.files[0], "file");
 data.append("inputFile7", fileInput.files[0], "file");
 data.append("inputFile8", fileInput.files[0], "file");
 data.append("inputFile9", fileInput.files[0], "file");
 data.append("inputFile10", fileInput.files[0], "file");
 
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function() {
     if(this.readyState === 4) {
          console.log(this.responseText);
     }
});

xhr.open("POST", "https://api.cloudmersive.com/convert/png/to/pdf");
xhr.setRequestHeader("Content-Type", "multipart/form-data");
xhr.setRequestHeader("Apikey", "YOUR-API-KEY-HERE");

xhr.send(data);
package main

import (
     "fmt"
     "bytes"
     "mime/multipart"
     "os"
     "path/filepath"
     "io"
     "net/http"
     "io/ioutil"
)

func main() {

     url := "https://api.cloudmersive.com/convert/png/to/pdf"
     method := "POST"

     payload := &bytes.Buffer{}
     writer := multipart.NewWriter(payload)
     file, errFile1 := os.Open("/path/to/file")
     defer file.Close()
     part1,
         errFile1 := writer.CreateFormFile("inputFile1",filepath.Base("/path/to/file"))
     _, errFile1 = io.Copy(part1, file)
     if errFile1 != nil {
          fmt.Println(errFile1)
          return
     }
     file, errFile2 := os.Open("/path/to/file")
     defer file.Close()
     part2,
         errFile2 := writer.CreateFormFile("inputFile2",filepath.Base("/path/to/file"))
     _, errFile2 = io.Copy(part2, file)
     if errFile2 != nil {
          fmt.Println(errFile2)
          return
     }
     file, errFile3 := os.Open("/path/to/file")
     defer file.Close()
     part3,
         errFile3 := writer.CreateFormFile("inputFile3",filepath.Base("/path/to/file"))
     _, errFile3 = io.Copy(part3, file)
     if errFile3 != nil {
          fmt.Println(errFile3)
          return
     }
     file, errFile4 := os.Open("/path/to/file")
     defer file.Close()
     part4,
         errFile4 := writer.CreateFormFile("inputFile4",filepath.Base("/path/to/file"))
     _, errFile4 = io.Copy(part4, file)
     if errFile4 != nil {
          fmt.Println(errFile4)
          return
     }
     file, errFile5 := os.Open("/path/to/file")
     defer file.Close()
     part5,
         errFile5 := writer.CreateFormFile("inputFile5",filepath.Base("/path/to/file"))
     _, errFile5 = io.Copy(part5, file)
     if errFile5 != nil {
          fmt.Println(errFile5)
          return
     }
     file, errFile6 := os.Open("/path/to/file")
     defer file.Close()
     part6,
         errFile6 := writer.CreateFormFile("inputFile6",filepath.Base("/path/to/file"))
     _, errFile6 = io.Copy(part6, file)
     if errFile6 != nil {
          fmt.Println(errFile6)
          return
     }
     file, errFile7 := os.Open("/path/to/file")
     defer file.Close()
     part7,
         errFile7 := writer.CreateFormFile("inputFile7",filepath.Base("/path/to/file"))
     _, errFile7 = io.Copy(part7, file)
     if errFile7 != nil {
          fmt.Println(errFile7)
          return
     }
     file, errFile8 := os.Open("/path/to/file")
     defer file.Close()
     part8,
         errFile8 := writer.CreateFormFile("inputFile8",filepath.Base("/path/to/file"))
     _, errFile8 = io.Copy(part8, file)
     if errFile8 != nil {
          fmt.Println(errFile8)
          return
     }
     file, errFile9 := os.Open("/path/to/file")
     defer file.Close()
     part9,
         errFile9 := writer.CreateFormFile("inputFile9",filepath.Base("/path/to/file"))
     _, errFile9 = io.Copy(part9, file)
     if errFile9 != nil {
          fmt.Println(errFile9)
          return
     }
     file, errFile10 := os.Open("/path/to/file")
     defer file.Close()
     part10,
         errFile10 := writer.CreateFormFile("inputFile10",filepath.Base("/path/to/file"))
     _, errFile10 = io.Copy(part10, file)
     if errFile10 != nil {
          fmt.Println(errFile10)
          return
     }
     err := writer.Close()
     if err != nil {
          fmt.Println(err)
          return
     }


     client := &http.Client {
     }
     req, err := http.NewRequest(method, url, payload)

     if err != nil {
          fmt.Println(err)
          return
     }
     req.Header.Add("Content-Type", "multipart/form-data")
     req.Header.Add("Apikey", "YOUR-API-KEY-HERE")

     req.Header.Set("Content-Type", writer.FormDataContentType())
     res, err := client.Do(req)
     if err != nil {
          fmt.Println(err)
          return
     }
     defer res.Body.Close()

     body, err := ioutil.ReadAll(res.Body)
     if err != nil {
          fmt.Println(err)
          return
     }
     fmt.Println(string(body))
}