Ghost4J PDF to image conversion
I see that you're using Java 7, you could use the try-with-resource for all you're IO operation. It will close the stream you're using in your application. 

 try{
            File newFile = new File("C:\\Media\\" + directory + "\\" + filename);

            inStream = new FileInputStream(originalFile);
            outStream = new FileOutputStream(newFile);

            byte[] buffer = new byte[1024];

            int length;
            //copy the file content in bytes 
            while ((length = inStream.read(buffer)) &gt; 0){

                outStream.write(buffer, 0, length);

            }

            inStream.close();
            outStream.close();

            System.out.println("Original PDF has been copied successfully!");

        }catch(IOException e){
            e.printStackTrace();
        }


You're not closing your streams if there is an IOException. This could lead to some potential problem in a future application. To get ride of the problem you could use the try-with-resource syntax. Your code could look like : 

File newFile = new File("C:\\Media\\");
try ( InputStream inStream = new FileInputStream(newFile);
      OutputStream outStream = new FileOutputStream(newFile);) {

    byte[] buffer = new byte[1024];

    int length;
    // copy the file content in bytes
    while ((length = inStream.read(buffer)) &gt; 0) {

        outStream.write(buffer, 0, length);

    }

    System.out.println("Original PDF has been copied successfully!");

} catch (IOException e) {
    e.printStackTrace();
}


Argument name should not start with an uppercase letter : public static void convertPDFtoPNG(String PDFFileName). Do you need to capitalize pdf ?

I would revise some of you comments. Comments should be helpful, you don't need to repeat the code. Example : 

 // load PDF document
 PDFDocument document = new PDFDocument();
 File baseFile = new File(PDFFileName);
 document.load(baseFile);


Does //load PDF document is really needed ? You're already using document.load. One liner comment are most of time just repeating what you are doing in code. Other readers don't need to know what you are doing, but rather why are you doing it. I am always wondering myself when I am adding a comment : Does my code is clear enough by itself ? Do I really to add a comment or could I change the method name or variable to better express myself. Comments are hard to maintain when the code is changing.

I know you're not in a production environment yet, but don't forget to change all the e.printStackTrace for a logging of some sort.

It is worth to know that you can use / for all of you path, instead of escaping \. Java will manage the one you need for the OS you're using.

You're saying that your converting a PDF to an image, but it's not quite true. In fact, you are converting a PDF to a jpeg, which is quite different IMHO. You are hard coding the creation of the image as an jpeg, you will probably want to change in the future to support more formats. You will probably extract the writing code of the image into his own method or interface so that you have multiple implementation for each format (if needed, I am not good in image at all).