ByteScout Cloud API Server - PDF To Image API - VB.NET - Convert PDF To PNG From URL Asynchronously - ByteScout

ByteScout Cloud API Server – PDF To Image API – VB.NET – Convert PDF To PNG From URL Asynchronously

  • Home
  • /
  • Articles
  • /
  • ByteScout Cloud API Server – PDF To Image API – VB.NET – Convert PDF To PNG From URL Asynchronously

How to convert PDF to PNG from URL asynchronously for PDF to image API in VB.NET and ByteScout Cloud API Server

Step-by-step tutorial:How to convert PDF to PNG from URL asynchronously to have PDF to image API in VB.NET

These source code samples are listed and grouped by their programming language and functions they use. ByteScout Cloud API Server was designed to assist PDF to image API in VB.NET. ByteScout Cloud API Server is the ready to deploy Web API Server that can be deployed in less than thirty minutes into your own in-house Windows server (no Internet connnection is required to process data!) or into private cloud server. Can store data on in-house local server based storage or in Amazon AWS S3 bucket. Processing data solely on the server using built-in ByteScout powered engine, no cloud services are used to process your data!.

VB.NET code snippet like this for ByteScout Cloud API Server works best when you need to quickly implement PDF to image API in your VB.NET application. This VB.NET sample code can be used by copying and pasting into your project. Once done,just compile your project and click Run. Want to see how it works with your data then code testing will allow the function to be tested and work properly.

Free! Free! Free! ByteScout free trial version is available for FREE download from our website. Programming tutorials along with source code samples are assembled.

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

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

Module1.vb
      
Imports System.IO Imports System.Net Imports System.Threading Imports Newtonsoft.Json.Linq ' 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. ' Cloud API asynchronous "PDF To PNG" job example. ' Allows to avoid timeout errors when processing huge or scanned PDF documents. Module Module1 ' Source PDF file Const SourceFileUrl As String = "https://bytescout-com.s3.amazonaws.com/files/demo-files/cloud-api/pdf-to-image/sample.pdf" ' Comma-separated list of page indices (or ranges) to process. Leave empty for all pages. Example: '0,2-5,7-'. Const Pages As String = "" ' PDF document password. Leave empty for unprotected documents. Const Password As String = "" ' (!) Make asynchronous job Const Async As Boolean = True Sub Main() ' Create standard .NET web client instance Dim webClient As WebClient = New WebClient() ' Prepare URL for `PDF To PNG` API call Dim query As String = Uri.EscapeUriString(String.Format( "https://localhost/pdf/convert/to/png?password={0}&pages={1}&url={2}&async={3}", Password, Pages, SourceFileUrl, Async)) Try ' Execute request Dim response As String = webClient.DownloadString(query) ' Parse JSON response Dim json As JObject = JObject.Parse(response) If json("error").ToObject(Of Boolean) = False Then ' Asynchronous job ID Dim jobId As String = json("jobId").ToString() ' URL of generated JSON file available after the job completion; it will contain URLs of result PNG files. Dim resultJsonFileUrl As String = json("url").ToString() ' Check the job status in a loop. ' If you don't want to pause the main thread you can rework the code ' to use a separate thread for the status checking and completion. Do Dim status As String = CheckJobStatus(jobId) ' Possible statuses: "working", "failed", "aborted", "success". ' Display timestamp and status (for demo purposes) Console.WriteLine(DateTime.Now.ToLongTimeString() + ": " + status) If status = "success" Then ' Download JSON file as string Dim jsonFileString As String = webClient.DownloadString(resultJsonFileUrl) Dim resultFilesUrls As JArray = JArray.Parse(jsonFileString) ' Download generated PNG files Dim page As Integer = 1 For Each token As JToken In resultFilesUrls Dim resultFileUrl As String = token.ToString() Dim localFileName As String = String.Format(".\page{0}.png", page) webClient.DownloadFile(resultFileUrl, localFileName) Console.WriteLine("Downloaded ""{0}"".", localFileName) page = page + 1 Next Exit Do ElseIf status = "working" Then ' Pause for a few seconds Thread.Sleep(3000) Else Console.WriteLine(status) Exit Do End If Loop Else Console.WriteLine(json("message").ToString()) End If Catch ex As WebException Console.WriteLine(ex.ToString()) End Try webClient.Dispose() Console.WriteLine() Console.WriteLine("Press any key...") Console.ReadKey() End Sub Function CheckJobStatus(jobId As String) As String Using webClient As WebClient = New WebClient() Dim url As String = "https://localhost/job/check?jobid=" + jobId Dim response As String = webClient.DownloadString(url) Dim json As JObject = JObject.Parse(response) Return Convert.ToString(json("status")) End Using End Function End Module

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Cloud API Server Home Page

Explore ByteScout Cloud API Server Documentation

Explore Samples

Sign Up for ByteScout Cloud API Server Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

packages.config
      
<?xml version="1.0" encoding="utf-8"?> <packages> <package id="Newtonsoft.Json" version="10.0.3" targetFramework="net40" /> </packages>

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Cloud API Server Home Page

Explore ByteScout Cloud API Server Documentation

Explore Samples

Sign Up for ByteScout Cloud API Server Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

VIDEO

ON-PREMISE OFFLINE SDK

60 Day Free Trial or Visit ByteScout Cloud API Server Home Page

Explore ByteScout Cloud API Server Documentation

Explore Samples

Sign Up for ByteScout Cloud API Server Online Training

ON-DEMAND REST WEB API

Get Your API Key

Explore Web API Docs

Explore Web API Samples

Tutorials:

prev
next