Merges a specific pages into another file and can be called with a POST Request to the following URL:
[POST] https://azure.leadtools.com/api/Conversion/Merge
The following parameters are required unless indicated otherwise, and are used by all Conversion and Recognition API calls:
Parameter | Description | Accepted Values |
---|---|---|
fileUrl (Optional) |
The URL to the file to be processed. For more information, refer to the Cloud Services Overview section. | A string or URI containing a valid URL to the file to be uploaded. |
firstPage |
The first page in the file to process. | An integer value between 1 and the total number of pages in the file. |
lastPage |
The last page in the file to process. | Passing a value of -1 or 0 will indicate to the service that all pages between the First Page parameter, and the last page in the file will be processed. Otherwise, an integer value between 1 and the total number of pages in the file must be passed, and the value must be greater than or equal to the value specified in the FirstPage parameter. |
guid (Optional) |
Unique identifier corresponding to an uploaded file. This value will be returned when a file is uploaded using the UploadFile service call. | A valid GUID |
filePassword (Optional) |
The password to unlock a password protected file. | A string containing the password for a secure PDF. |
callbackUrl (Optional) |
Passing a callbackURL to the service will allow us to notify you when your file has finished processing. If the callbackUrl is invalid or malicious, it will be ignored. The LEADTOOLS Cloud Services will send the request’s ID in the body of the message sent to the callbackUrl. | A string or URI containing a valid URL to message. |
ocrLanguage (Optional) |
The OCR Language to use when OCRing a Raster file. Defaults to en (English) if no languages are specified. | 0 - en 1 - bg 2 - hr 3 - cs 4 - da 5 - nl 6 - fr 7 - de 8 - el 9 - hu 10 - it 11 - pl 12 - pt 13 - sr 14 - es 15 - sv 16 - tr 17 - uk |
qualityTradeoff (Optional) |
The compression to quality ratio to use when saving out an Image PDF, TIF, or JPEG. Balanced is the default tradeoff option if none are specified. |
0 - Balanced 1 - Quality 2 - Size |
Additional parameters available are listed below.
Parameter | Description | Accepted Values |
---|---|---|
format |
The format to convert the file to. | 1 - Png 2 - Jpeg 3 - Tiff 4 - Pdf 5 - Pdfa 6 - PdfImage 7 - PdfImageOverText 8 - PdfaImageOverText 9 - Docx 10 - DocxFramed 11 - Rtf 12 - RtfFramed 13 - Txt 14 - TxtFramed |
MergeRequests (body) |
The JSON body of all the FileIDs and Pages to merge. If only a fileId is passed, then the entire file will be merged. The pages array precedes the firstPage and lastPage parameters. |
int firstPage int lastPage string fileId int[] pages |
Example JSON Body for Merge
[
{
"firstPage" : 1,
"lastPage" : -1,
"fileId" : "00000000-0000-0000-0000-000000000000"
},
{
"pages" : [5,4,3,2,1],
"fileId" : "00000000-0000-0000-0000-000000000000"
},
{
"firstPage" : 2,
"lastPage" : 4,
"fileId" : "00000000-0000-0000-0000-000000000000"
},
{
"fileId" : "00000000-0000-0000-0000-000000000000"
}
]
The following status codes will be returned when the method is called:
Status | Description |
---|---|
200 | The request has been successfully received. |
400 | The request was not valid for one of the following reasons: Required request parameters were not included. GUID value was not provided. File information provided was malformed. Attempting to queue a request on a file that has not yet been verified. |
401 | The AppID/Password combination is not valid or does not correspond with the GUID provided. |
402 | There are not enough pages left in the Application to process the request. |
500 | There was an internal error processing your request. |
If performing a single-service merge, a unique-identifier will be returned that can be used to query the progress of the conversion.
This method is available for free in our live Online Demo. You do not need an account and you can test out your own files to see the results.
//This sample uses the Request NodeJs library.
var FormatsEnum = {
"png":1, "jpeg":2, "tiff":3, "pdf":4, "pdfa":5,
"pdfImage": 6, "pdfImageOverText": 7, "pdfaImageOverText": 8,
"docx": 9, "docxFramed": 10, "rtf": 11, "rtfFramed": 12,
"txt":13, "txtFramed":14
};
var servicesUrl = "https://azure.leadtools.com/api/";
//Enum corresponding to the output format for the file. For the purposes of this script, we will be converting to tif.
var fileFormat = FormatsEnum.pdf;
//These ID's will be acquired by calling the Upload API command with the forMerge flag set to true.
var fileId1 = "";
var fileId2 = ""
mergeFile(fileId1, fileId2);
function mergeFile(firstFileId, secondFileId){
let mergeUrl = `${servicesUrl}Conversion/Merge?format=${outputFormat}`;
let options = getRequestOptions(mergeUrl);
options['json'] = [
{
'firstPage' : 1,
'lastPage' : -1,
'fileId' : firstFileId
},
{
'pages' : [5,1,2,4,3],
'fileId' : secondFileId
}
]
request.post(options, (error, response, body) =>{
if (!error && response.statusCode === 200) {
console.log("Merge command was successful");
} else {
console.log("Merge failed with HTTP code: " + response.statusCode);
console.log(body);
}
})
}
function getRequestOptions(url){
//Function to generate and return HTTP request options.
var requestOptions ={
url: url,
auth: {
user:"Enter Application ID",
password:"Enter Application Password"
}
};
return requestOptions;
}