ByteScout Cloud API Server - PDF Merging API - PowerShell - Merge PDF Documents From Uploaded Files - ByteScout
Announcement
Our ByteScout SDK products are sunsetting as we focus on expanding new solutions.
Learn More Open modal
Close modal
Announcement Important Update
ByteScout SDK Sunsetting Notice
Our ByteScout SDK products are sunsetting as we focus on our new & improved solutions. Thank you for being part of our journey, and we look forward to supporting you in this next chapter!

ByteScout Cloud API Server – PDF Merging API – PowerShell – Merge PDF Documents From Uploaded Files

  • Home
  • /
  • Articles
  • /
  • ByteScout Cloud API Server – PDF Merging API – PowerShell – Merge PDF Documents From Uploaded Files

How to merge PDF documents from uploaded files for PDF merging API in PowerShell and ByteScout Cloud API Server

What is ByteScout Cloud API Server? It is API server that is ready to use and can be installed and deployed in less than 30 minutes on your own Windows server or server in a cloud. It can save data and files on your local server-based file storage or in Amazon AWS S3 storage. Data is processed solely on the API server and is powered by ByteScout engine, no cloud services or Internet connection is required for data processing..

On-demand (REST Web API) version:
 Web API (on-demand version)

On-premise offline SDK for Windows:
 60 Day Free Trial (on-premise)

MergePdfDocumentsFromUploadedFiles.ps1

      
# Please NOTE: In this sample we're assuming Cloud Api Server is hosted at "https://localhost". # If it's not then please replace this with with your hosting url. # Source PDF files $SourceFiles = ".\sample1.pdf", ".\sample2.pdf" # Destination PDF file name $DestinationFile = ".\result.pdf" $uploadedFiles = @() try { foreach ($pdfFile in $SourceFiles ) { # 1a. RETRIEVE THE PRESIGNED URL TO UPLOAD THE FILE. # Prepare URL for `Get Presigned URL` API call $query = "https://localhost/file/upload/get-presigned-url?contenttype=application/octet-stream&name=" + ` [IO.Path]::GetFileName($pdfFile) $query = [System.Uri]::EscapeUriString($query) # Execute request $jsonResponse = Invoke-RestMethod -Method Get -Uri $query if ($jsonResponse.error -eq $false) { # Get URL to use for the file upload $uploadUrl = $jsonResponse.presignedUrl # Get URL of uploaded file to use with later API calls $uploadedFileUrl = $jsonResponse.url # 1b. UPLOAD THE FILE TO CLOUD. $r = Invoke-WebRequest -Method Put -Headers @{ "content-type" = "application/octet-stream" } -InFile $pdfFile -Uri $uploadUrl if ($r.StatusCode -eq 200) { # Keep uploaded file URL $uploadedFiles += $uploadedFileUrl } else { # Display request error status Write-Host $r.StatusCode + " " + $r.StatusDescription } } else { # Display service reported error Write-Host $jsonResponse.message } } if ($uploadedFiles.length -gt 0) { # 2. MERGE UPLOADED PDF DOCUMENTS # Prepare URL for `Merge PDF` API call $query = "https://localhost/pdf/merge?name={0}&url={1}" -f ` $(Split-Path $DestinationFile -Leaf), $($uploadedFiles -join ",") $query = [System.Uri]::EscapeUriString($query) # Execute request $jsonResponse = Invoke-RestMethod -Method Get -Uri $query if ($jsonResponse.error -eq $false) { # Get URL of generated PDF file $resultFileUrl = $jsonResponse.url; # Download PDF file Invoke-WebRequest -OutFile $DestinationFile -Uri $resultFileUrl Write-Host "Generated PDF file saved as `"$($DestinationFile)`" file." } else { # Display service reported error Write-Host $jsonResponse.message } } } catch { # Display request error Write-Host $_.Exception }

run.bat

      
@echo off powershell -NoProfile -ExecutionPolicy Bypass -Command "& .\MergePdfDocumentsFromUploadedFiles.ps1" echo Script finished with errorlevel=%errorlevel% pause

VIDEO

ON-PREMISE OFFLINE SDK

Get 60 Day Free Trial

See also:

ON-DEMAND REST WEB API

Get Your API Key

See also:

Tutorials:

prev
next