Render (Activity)

From Grooper Wiki

This article is about the current version of Grooper.

Note that some content may still need to be updated.

20252024 20232.80

print Render is an Activity that converts files of various formats to PDF. It does this by digitally printing the file to PDF using the Grooper Render Printer. This normalizes electronic document content from file formats Grooper cannot read natively to PDF (which it can read natively), allowing Grooper to extract the text via the format_letter_spacing_wide Recognize Activity.

About

The Render Activity effectively "prints" a document as a PDF file. It scans an image of the original document, uses that to output a PDF document, and then attaches any native text to the PDF as metadata.

Four conditions of "Rendering" a document include:

  1. The Grooper Render Printer must be installed on the server Grooper is currently installed on. For information on how to install the Grooper Render Printer visit the How To section of this article.
  2. The Grooper Render Printer must be set as the default printer under the user account running the Render activity.
  3. The native application for the file type must be installed on the machine running the Render Activity. For example, Word must be installed in order for the Render Printer to render .docx files as PDFs.
  4. The native application must provide a shell print verb. In other words, the native application must be capable of printing to a PDF.

Once the document is processed with the Render activity, you will be able to manipulate the document as if it is a PDF document in Grooper. You will be able to use other PDF related activities, such as Split Pages to split out multi-page PDFs into Page objects and the native PDF text extraction functionality of the Recognize activity.

Render and Activity Processing

For Batch processing, the Render activity can only run on one individual machine at a time, using a single thread of processing resources. This means a Grooper Activity Processing service dedicated to running the Render Activity must be created using a Processing Queue with its Concurrency Mode set to "PerMachine".

Processing Queues control how much of your system's resources are allocated to processing certain Activities. Most Activities can take full advantage of your system's parallel processing resources and grab multiple threads at a time. Also, multiple instances of a single Activity can generally run on multiple machines.

  • For example, four workstations accessing the same Grooper Repository could each run multiple instances of the Recognize activity as long as there are the threads available to process each task.

However, the Render Activity is different. It can only run on one machine at a time using a single thread. This means only one Render task can be performed at one time on one single machine.

  • Documents must be converted or "rendered" to a PDF one at a time.
  • If multiple machines are attempting to execute the Render Activity, they have to wait their turn until the machine ahead of them is finished.

For more information on how to set this up, visit the How To section of this article.

How To

In order to run the Render activity you must have the Grooper Render Printer installed and you must create a Processing Queue with a dedicated Activity Processing Service.

Install the Grooper Render Printer

The Grooper Render Printer is the application that digitally "prints" the file to a PDF format Grooper can use. It must be installed on the server where Grooper is installed and set as the default printer.

  1. Download the Grooper Render Printer Installer. Click this link to download the installer files.
  2. Locate the downloaded zip file in Windows File Explorer, and extract the installer files from the zip.
  3. Locate the "Setup.exe" file in the extracted installer files.
  4. Run the "Setup.exe" file as an administrator.
    • To do this, right click the "Setup.exe" file and select "Run as administrator".
  5. When the Grooper Render Printer Installer window appears, click the "Next" button to continue through the installer's prompts.
  6. Click "Finish" to complete the installation.

Set the Grooper Render Printer to Default Printer

For the Render Activity to access the Render Printer, the Render Printer must be set as the default printer on the machine.

  1. Open your machine's Windows settings.
  2. Navigate to the Devices panel.
  3. Navigate to the "Printers & Scanners" tab.
  4. Select the Render Printer from the list of Printers and click "Manage".
  5. Click on "Set as default" and ensure the Printer Status is listed as "Default".

Add a new Processing Queue

In order to use the Render Activity in a Batch Process, you will need to create a new Processing Queue.

  1. From the Grooper Design Page, click on the "Queues" folder in the Node Tree.
  2. Right-click the Queues Folder, hover-over "Add", and then click on "Processing Queue..."
  3. Enter a Name for the Processing Queue. It can be anything you like.
  4. Click "Execute" to create the Processing Queue.

This should create a new Processing Queue Node Type with the given name in the Node Tree. Now we need to configure the Processing Queue for Rendering.

  1. Select the Processing Queue in the Node Tree.
  2. In the Processing Queue property grid, change the Concurrency Mode property from "Multiple" to "PerMachine".
    • A popup may appear saying "You must run Grooper as an Administrator to modify services." This is letting you know you will need to run the Grooper Command Console as an Administrator to create and edit the Activity Processing Service that will use this Processing Queue. However, you must still create the Processing Queue from the Design page. Just press the "OK" button to close the popup.
  3. Click the "Save" icon at the top of the property grid to save your changes to the Queue Node Type.

Render MUST run using a PerMachine Concurrency Mode for Render to run appropriately in Grooper.

Install the dedicated Activity Processing Service

Next, you must Install an Activity Processing Service that is to be dedicated to running the Render Activity in Grooper. Grooper Services are installed through the Grooper Command Console application.

You must run Grooper Command Console as an administrator to install or edit a Service.

  1. Open Grooper Command Console as an Administrator.
  2. Enter the following command:
services install <connectionNo> <typeName> <userName> <password> [threadCount] [queueName]
  • <connectionNo> (required):
  • Replace this with the integer representing the appropriate connection. Use the connections list command to get a list of your connections.
  • <typeName> (required):
  • Since we are installing an Activity Processing service, replace this with ActivityProcessing.
  • <userName> and <password> (required):
  • Replace these with the appropriate Active Directory credentials of your Grooper Service User.
  • [threadCount] and [queueName] (optional):
  • If you want to specify a specific thread count, replace [threadCount] with an appropriate integer. This will need to be set to an integer of 1 for Render to function properly. If you do not set this here in the Grooper Command Console, you can set it later in the Machines Folder in the Node Tree on the Grooper Design Page.
  • If you want to specify a queue name, replace [queueName] with the name of an appropriate Processing Queue Node Type. Enter the name of the Processing Queue that was previously created in the Queues Folder in the Node Tree of the Grooper Design Page. If you do not set this here in the Grooper Command Console, you can set it later in the Machines Folder in the Node Tree on the Grooper Design Page.

Configure the Activity Processing service

When you installed your Activity Processing Service, if you did not set the [threadCount] or [queueName], you can actually do that now in Grooper.

  1. In your Node Tree, click on the Machines Folder.
  2. Select the Activity Processing Service you will be dedicating to the Render Activity from the list of services.
  3. In the property grid on the right side, click the "☰" hamburger icon to the right of the Queue Name property.
  4. Select the Processing Queue you will assigning to your Render Activity from the drop down menu.
  5. Make sure the Number of Threads property is set to 1.
    • The Render Activity must be run single-threaded.
  6. When satisfied with your changes, click the save icon in the top right of the property grid.
  7. With the Activity Processing Service still selected, click the "▶" start icon to start the Activity Processing Service.
  8. Your Activity Processing Service should now be running and ready for the Render Activity.

Adding and Configuring the Render Activity

Last, you will need to add a Render Batch Process Step to your Batch Process and tell it which Processing Queue to use.

  1. In your node tree, navigate to the Batch Process you want to add the Render Activity to.
  2. Right-click on the Batch Process.
  3. Hover over "Add Activity", hover over "Transform", and then select "Render..." from the pop up menu.
  4. When the "Add Activity" window appears, change the Step Name if desired.
  5. When satisfied with the naming, click "Execute".
  6. With the Render Step selected, click the "☰" to the right of the Queue Name property.
  7. Select the Processing Queue from the list you wish to assign to the Render Activity.
    • This should be the Processing Queue you have assigned to the Activity Processing Service that will be dedicated to running the Render Activity.
  8. Click the save icon at the top of the property grid to save your changes to the Batch Process Step.

Set up Render Printer for multiple users and service accounts

The Grooper Render Printer was originally designed to run for a single user.

When installing the Grooper Render Printer for the first time, a new folder and new windows environment variable are created on the account of the user who installed the Grooper Render Printer.

If only one account/user is ever going to use the Render Activity, then there is no problem. However, if multiple users need to use the Render Activity, additional steps need to be taken to ensure multiple users can run the Grooper Render Printer. Since the additional users will not have had the Grooper Render Printer Installation Wizard create the requisite new folder and environment variable, we must do that manually. Follow the steps in the subsequent sections for each additional user.

If the person who installed the Render Printer is not the same user who created the Grooper App Pool in the Internet Information Services (IIS), then you will need to perform the following steps for that user as well for Render to work appropriately.

Ensure the Render Printer is set to Default

  1. In your Windows Settings, click on "Devices".
  2. In the left panel, click on "Printers & scanners".
  3. Select the Grooper Render Printer from the list of printers and scanners.
  4. Click on the "Manage" button.
  5. Click on the "Set as Default" button.
  6. Now your Printer status should show as "Default".

Create the Grooper Render Folder

  1. Open up a Windows Explorer.
  2. Go into your Local Disk (C:) drive.
  3. Go into the "Users" folder.
  4. Go into the local user/account's folder.
  5. Go into the "AppData" folder.
    • Note: This folder is hidden by default. You may need to edit your View properties for Windows Explorer to view "Hidden Items".
  6. Go into the "Local" folder.
    • You should be in: C:\Users\<loggedInUser>\AppData\Local\.
  7. Create a folder named GrooperRender.

Edit the Environment Variables

  1. Click on the start icon.
  2. Search for "Edit environment variables for your account."
  3. Click on "Edit environment variables for your account" in your search results. Make sure it is not the system variables.
  4. When the Environment Variables window appears, click on the "New..." button located under the list of user variables.
  5. When the New User Variable window appears, enter the Variable Name as GROOPER_RENDERPATH.
  6. Enter the "Variable value" as the path for the GrooperRender folder previously created for this user in the previous section #Create the Grooper Render Folder.
    • C:\Users\<loggedInUser>\AppData\Local\GrooperRender
  7. When finished, click "OK".
  8. Now you should see the GROOPER_RENDERPATH in the User Variable list.
  9. Click "OK" when finished.