Overcoming the ‘End of File Error’ Exception in PDF Validation with Katalon Studio

Hello, Katalon users and software testing enthusiasts! Today, we’re going to delve into a common issue that has been discussed in our vibrant Katalon Community: the ‘End of File Error’ exception when validating PDFs.

The Issue at Hand

One of our community members, ragrawal, recently encountered an issue while validating PDFs using Katalon Studio. They were getting an ‘End of File, expected Line Error’ despite downloading the necessary JARs through External Libraries in Katalon Studio.

Debugging the Issue

The first step suggested by Timo_Kuisma, another community member, was to debug and print out what was being passed to PDFStripper. However, ragrawal was still getting the 'End of File Error’.

The Root Cause

Upon further investigation, it was discovered that the issue was due to the dynamic URL of the PDF. The last ID in the URL kept changing whenever the script was run. This led to the PDF file not being read properly.

The Solution

Timo_Kuisma suggested a workaround: download the PDF first to the local machine, then load it from the path where it’s downloaded. This approach ensures that the PDF file is read properly, thus avoiding the 'End of File Error’.

Implementing the Solution in Code

Here’s a sample code snippet that implements the solution:

String value1 = WebUI.getUrl ()

WebUI.comment (value1)

URL url = new URL (value1);

InputStream is= url.openStream ();

BufferedInputStream fileParse = new BufferedInputStream (is);

PDDocument document = null;

document = PDDocument.load (fileParse);

String pdfContent = new PDFTextStripper ().getText (document);

System.out.println (pdfContent);

This code downloads the PDF file first, then loads it from the path where it’s downloaded.


We hope this blog post has provided you with a deeper understanding of how to handle the ‘End of File Error’ exception when validating PDFs with Katalon Studio. Remember, our Katalon Community is a great resource for troubleshooting and learning from the experiences of other Katalon users.

The information in this blog post is based on a real-life scenario shared by a user on our Katalon Community forum and is intended to inspire peer-to-peer discussion and collaboration. Please always test solutions thoroughly before implementing them in a production environment.

Feel free to continue the discussion here