Convert Scanned PDF into Searchable PDF in JavaScript using PDF.co Web API
In this tutorial, we will demonstrate how to convert a scanned PDF into a searchable PDF in JavaScript using PDF.co Web API. The asynchronous processing approach ensures scalability, faster response times, and improved efficiency when handling large files or multiple tasks simultaneously.
Below is the image of the input file

Step 1: Prerequisites and Source Code
Begin by setting up your environment in Visual Studio Code and saving the following files:
Step 2: Install Axios Module
Install Axios, a modern HTTP client for making API requests. Run the following command in your terminal:
npm install axios
Step 3: Add PDF.co API Key
Replace the placeholder with your PDF.co API Key in the source code. You can obtain your API Key from the PDF.co Dashboard.

Step 4: Specify Source PDF File
Provide the path to the scanned PDF file you want to convert.

Step 5: Set Destination File Name
Specify your desired output file name in the source code.

Step 6: Execute the Program
- Save your JavaScript file as
index.js
. - Open a terminal, navigate to the project directory, and run:
node index.js
How It Works
Initiating an Asynchronous Conversion:
- The code sends a request to the PDF.co API to start converting the PDF files, with the async option set to
true
to enable asynchronous processing. - The API response contains a job ID and a URL to monitor the conversion status.
Checking Job Status:
- The code uses the job ID to periodically query the job's status by sending requests to the API.
- Once the status changes to "
success
", it indicates that the conversion process is complete, and the result file is ready for download.
Downloading the Result:
- After the conversion is successfully completed, the code retrieves the converted PDF files from the provided URLs and saves them with the name specified in the
destinationFile
variable to the specified location on the local system.
OUTPUT FILE

By following this tutorial, you’ve learned how to:
- Upload a scanned PDF file to PDF.co.
- Use asynchronous processing with Axios to convert it into a searchable PDF efficiently.
- Download and save the output file.
For more details on asynchronous processing, visit the PDF.co Asynchronous Processing Documentation.
Related Tutorials



