...add a background page

This section describes how one can easily add a background page in PDF format to the converted file.

Note

The provided code snippets have been written in JavaScript and can be found in the PDFCreator directory under “COMScripts/JS Scripts/How To”. The following code lines have been taken out ouf the BackgroundPage.js script and therefore can be found and executed there.

Getting started

  1. Get a reference to the job queue with the ActiveXObject(“ProgID”) method. Then call the Initialize() method with your COM Object(which is actually the job queue).

    var PDFCreatorQueue = new ActiveXObject("PDFCreatorBeta.JobQueue");
    PDFCreatorQueue.Initialize();
    
    //Sets up the path where the converted pdf file should be saved in
    var fullPath = objFSO.GetParentFolderName(WScript.ScriptFullname) + "\\TestPage.pdf";
    
  2. Call WaitForJob(int timeOut) if you are waiting for one print job to get in the queue. The parameter timeOut specifies the maximum time in seconds the queue waits for the print job to arrive. This method is very important because each newly triggered print job will take some time until it gets from the printer queue to the PDFCreator job queue. If you call the NextJob property without waiting for the job it may happen that you get null although the print job was triggered some lines before.

    if(!PDFCreatorQueue.WaitForJob(10))
    {
        WScript.Echo("The print job did not reach the queue within 10 seconds");
    }
    
  3. Now you are able to get the next job in the queue by using the property NextJob. With that you receive the topmost job of the queue.

    var job = PDFCreatorQueue.NextJob;
    
  4. Setup the profile of the job with SetProfileByGuid(guid). The guid parameter is a string type that is used to assign the appropriate conversion profile(see enumeration in Basics/SingleConversion section). Note: Alternatively, you can use SetProfileByName(“MyNameForACertainProfile”). For the standard profiles it holds that their guids are equal to their names.

    job.SetProfileByGuid("DefaultGuid");
    
  5. Set up the background page using the SetProfileSetting method of the job object. Be aware of the fact that the page you are about to put as background is in pdf-Format otherwise exceptions will be the result.

    //Since we want to add a background page, we have to enable it first
    job.SetProfileSetting("BackgroundPage.Enabled", "true");
    
    //We want the background page to show up on each page of the converted file
    job.SetProfileSetting("BackgroundPage.Repetition", "RepeatAllPages");
    
    //Notice: the first parameter says that we add a background page and the second specifies the file.
    //It is very important that the file is in pdf-Format otherwise exceptions will occur
    job.SetProfileSetting("BackgroundPage.File",
        objFSO.GetParentFolderName(WScript.ScriptFullname) + "\\BackgroundPage.pdf");
    

    For more information on background page settings see the Reference Manual/Settings section.

  6. Now the job is ready to be converted with the specific background.

    //fullPath was introduced above
    job.ConvertTo(fullPath);
    
  7. The property IsFinished informs about the conversion state. If the print job is done, IsFinished returns true. If you want to know whether the job was successfully done, consider the property IsSuccessful.

    It returns true if the job was converted successfully otherwise false.

    if(!job.IsFinished || !job.IsSuccessful)
    {
        WScript.Echo("Error in process");
    }
    
  8. After having used the COM object do not forget to release it by using ReleaseCom() otherwise no other PDFCreator instances will be able to work.

    PDFCreatorQueue.ReleaseCom();