How do I determine PDF version of if a file is valid; developer license question

Q: I am working on a e-service project which requires users to upload
some files for submission. Users may upload PDF files for submission.
And the server need to identify the PDF files and may be converting
the PDF files into image files.

The followings are some questions regarding to PDFNetSDK

1. Does it provide method to identify whether the opening file is a
valid PDF file?
2. Does it provide method to retrieve PDF version of the PDF file?
3. Is there any type/special PDF file not supported by PDFNetSDK?
4. Developer License is free as stated on the website. If my project
has development server, does the development server requires
additional license?
--------------------
A:

➢ 1. Does it provide method to identify whether the opening file is a
valid PDF file?

PDFNet will try to gracefully handle both valid and invalid (corrupt/
damaged) files. This is done so that applications that use PDFNet can
process most of the files you will find in the wild (e.g. many PDF
creators are producing corrupt files which can still be opened in
Acrobat). If a file is damaged or corrupt PDFNet will try to
automatically repair the files (you can check if the file is repaired
using doc.IsModified() method). In case the file is damaged beyond
repair, PDFDoc constructor will throw an exception. After a file is
successfully opened, you can perform additional validation steps (e.g.
using PDFACompliance class or other API-s).

➢ 2. Does it provide method to retrieve PDF version of the PDF file?

It depends on what versioning information you are looking for.
Unfortunately many PDF files are confused regarding what is their
version. You can obtain the header string using
pdfdoc.GetSDFDoc().GetHeader().

To obtain version string from document catalog use:

Obj ver = pdfdoc.GetRoot().FindObj("Version");
if (ver != null) {
    string str = ver.GetName();
}

➢ 3. Is there any type/special PDF file not supported by PDFNetSDK?

PDFNet supports all versions of PDF specification as well as many
invalid/corrupt files.

4. Developer License is free as stated on the website. If my project has
development server, does the development server requires additional license?

As long as the development server is not used for production purposes
(e.g. accessed by anyone besides developers or used for any type of
production processing) you would not need additional licenses.