Configuring Automatic PDF Generation

You can configure the properties and features of PDF generation using the PDFRendering.xml file that is maintained as a Page Object within ENOVIA.

See Properties for Automatic PDF Generation.

  1. Open the PDFRendering.xml file located in .../Apps/DocumentControlCentral/V6R2021x/Modules/ENOPDFRendering/AppInstall/Programs, then follow these steps:
    1. Add or edit these lines:

      <ApplicationSettings>
      <RenderPDF>true</RenderPDF>
      <AdlibJobManagementServiceMachineName>server_name</AdlibJobManagementServiceMachineName>
      <AdlibPdfVersion>adlib_version</AdlibPdfVersion>
      <MachineId>machine_id</MachineId>
      <AdlibServiceLocation>selfHosted_location</AdlibServiceLocation>
      <InputDirectory>input_dir</InputDirectory>
      <OutputDirectory>output_dir</OutputDirectory>
      <GenerateJobTicket>true</GenerateJobTicket>
      <RepositoryId>00000000-0000-0000-0000-000000000000</RepositoryId>
      <TransformationWorkspaceId>PDF_transformation_engine</TransformationWorkspaceId>
      <ComponentVersion>1.0.0</ComponentVersion>
      <RemoteInputDirectory>remote_input_dir</RemoteInputDirectory>
      <RemoteOutputDirectory>remote_output_dir</RemoteOutputDirectory>
      <ConsoleUsername>sysadmin</ConsoleUsername> 
      <ConsolePassword>sysadmin_password</ConsolePassword>
      <TOCPageLocation>Start\End\Empty</TOCPageLocation>
      <ApproversPageLocation>Start\End\Empty</ApproversPageLocation>
      <QRCodeLocation>Start\End\Empty</QRCodeLocation>
      <RenditionMode>individual</RenditionMode>
      <ActivationMode>automatic</ActivationMode>
      <ControlledPrintRenditionMode>individual</ControlledPrintRenditionMode>
      <RenditionTemplate>
            <Enabled>true\false</Enabled>
        <DefaultRenditionTemplate>
              <Name>Internal Tech Doc Template</Name>
              <Rev>0<Rev>
        <DefaultRenditionTemplate>
      </RenditionTemplate>
      <Type name="type_QualitySystemDocument" mode="DCL" ServiceType="WebService">
           <Service>Generic</Service>
      </Type>
      </ApplicationSettings>
      
      where:
      • <RenderPDF> </RenderPDF> specifies whether to render PDFs or not: true to render PDF files or false to not render PDF files. The default value is false.
      • server_name is the name of the Adlib host server. It can be the hostname or the IP address.
      • adlib_version is the version of Adlib installed on the server. For example, <AdlibPdfVersion>6.0</AdlibPdfVersion>.
        Note: Do not use a version with a second decimal point, such as <AdlibPdfVersion>6.0.3</AdlibPdfVersion>, because it will cause an error.
      • machine_id is the MachineId of the server where the Adlib PDF Enterprise software is installed. This information is stored in the initsettings.xml file that contains the Adlib-specific system information. This file is typically located at C:\Program Files\Adlib\Generic Connector\initsettings.xml. The machine_id is stored as the value of Adlib.Configuration.MachineId.
      • machine_id is the MachineId of the server where the Adlib PDF Enterprise software is installed. If you do not set this value, it is defined as all zeroes, which means the system will generate this value and it can change the time the web service is restarted. We recommend that you generate a globally unique identifier (GUID) to use as the machine ID to ensure that a new machine ID is not generated each time the server is restarted.
      • selfHosted_location is the URL where the Adlib service is self-hosted, for example: http://${ADLIB_JOB_MANAGEMENT_SERVICE_MACHINE}:51051/Adlib/JobManagementService/JobManagementService.svc. If you installed the IIS web server for Adlib, you do not need to change this value.
      • input_dir is the share drive directory location referenced by the 3DSpace server where the input files will be checked out to, for example: /Adlib/FolderConnector/AAIInput. Specify the path from root for Linux servers.
      • output_dir is the share drive directory location referenced by the 3DSpace server where the input files will be checked in from, for example: /Adlib/FolderConnector/AAIOutput. Specify the path from root for Linux servers.
      • <GenerateJobTicket> </GenerateJobTicket> specifies if a job ticket is generated.
      • <RepositoryId> </RepositoryId> is the repository ID.
      • PDF_transformation_engine is GUID of the Adlib server. The PDF_transformation_engine is stored as the value of TransformationWorkspaceId on the Adlib server.
      • <ComponentVersion> </ComponentVersion> specifies the component version.
      • remote_input_dir is the share drive directory location referenced by the Adlib Windows server for where to find the input files to be processed into PDF. This can be either a UNC path or a Windows path if a drive letter has been allocated to the share drive. For example, P:\FolderConnector\AAIInput
      • remote_output_dir is the share drive directory location referenced by the Adlib Windows server for where to place the output files to be processed into PDF. This can be either a UNC path or a Windows path if a drive letter has been allocated to the share drive. For example, P:\FolderConnector\AAIOutput
      • sysadmin is the username used to log in to the Adlib Management Console.
      • sysadmin_password is the password for the username used to log in to the Adlib Management Console.
      • <TOCPageLocation> </TOCPageLocation> is the location of the Table of Contents in the rendered PDF file: Start is at the beginning of the PDF file, End is at the end of the PDF file, or blank means that it is not included anywhere in the PDF file. Select only one option and remove the other two.
      • <ApproversPageLocation> </ApproversPageLocation> s the location of the Approvers table in the rendered PDF file: Start is at the beginning of the PDF file, End is at the end of the PDF file, or blank means that it is not included anywhere in the PDF file. Select only one option and remove the other two.
      • <QRCodeLocation> </QRCodeLocation> is the location of the QR code in the rendered PDF file: Start is at the beginning of the PDF file, End is at the end of the PDF file, or blank means that it is not included anywhere in the PDF file. Select only one option and remove the other two.
        Note: For more information on configuring the placement of the Approvers page, the Table of Contents, and the QR code in the rendered PDF file, see About Specifying Page Elements in a Rendered PDF File.
      • <RenditionMode> </RenditionMode> specifies if the PDF is consolidated into a single PDF or the PDF is generated individually.
      • <ActivationMode> </ActivationMode> specifies if the PDF is generated manually or automatically.
      • <ControlledPrintRenditionMode> </ControlledPrintRenditionMode> specifies if the controlled print PDF is generated in a consolidated form or individually.
      • <RenditionTemplate> </RenditionTemplate> specifies if cover and overlay pages are enabled. If this setting is true, then cover and overlay pages are enabled with or without enabling file categories. Once this entry is true, the Rendition Document Template tab is available for the Leader or Document Center Administrator. Then the PDF format cover or overlay page template files can be checked in for each rendition document template that is created. When file categories are enabled and the file categories are listed, the administrator can choose a category for each rendition document template. If an active rendition document template does not exist, the default rendition template is used. If file categories are disabled, but the rendition template is enabled, the default rendition template is used whose Name and Revision are specified in the PDFRendering.xml. The first page after the Table of Contents is the cover or overlay page in the generated PDF file.
        Important: Restart the server after modifying the XML file.
      Note: You can find the TransformationWorkspaceId, and other important Adlib information, in the initsettings.xml file generated after the Adlib Generic Connector has connected to the Adlib server.

    2. Import the specified values into 3DSpace by running the following MQL command:

      mod page PDFRendering file …/Apps/DocumentControl/R2021x/Modules/ENOPDFRendering/
      AppInstall/Programs/PDFRendering.xml;

    3. To verify that you have imported the file correctly, run the following MQL command:

      print page PDFRendering select content;

  2. Next, a secret code is now required to be generated through the 3DPassport server. This secret code will be required to start PDFR in its monitoring activity/function. It is the System Administrator's responsibility to remove any trace or command line history that might capture the shell or batch command line containing this secret code. Unlike a password, the secret code does not provide immediate access to 3DSpace, and there are a series of REST service exchanges that need to take place between PDFR and 3DPassport to obtain an authorization token leading to 3DSpace access. Below are the instructions to obtain the secret code.
  3. Log in to the 3DSpace server as VPLMAdminUser.
  4. From the north quadrant of the Compass, click Me > My Roles > Platform Manager.
  5. Click My Apps > 3DPassport Control Center.
  6. From the 3DPassport Control Center, select Integration.
    The integration panel opens on the right.
  7. Click Batch Services .
  8. Select Add batch services to add the PDFR Service.
  9. Enter the service name.
  10. Click Apply.
    The Generated Secret confirmation panel opens. Remember this secret or click Copy to copy the secret to a command line or text editor. This secret code, along with the name of the service that you used, will be required as input arguments when starting the PDFR Monitoring Service.