POC for data overlapping.

I have a requirement for a POC in Upland Objectif Lune (OL Connect):

Is it possible to take a specific content block (for example, an address block) from one page, remove it from its original position, and overlay/place it onto a specific position on another page without modifying, masking, or changing the existing background/image/data of the destination page?

In other words, I need to:

  1. Extract/cut a particular block from Page 1.
  2. Keep the destination Page 2 completely unchanged in terms of its existing background and content.
  3. Position the extracted block from Page 1 on top of Page 2 at a specific location.
  4. Ensure that the underlying background/image/data on Page 2 remains intact and visible wherever the overlay block does not cover it.

Does OL Connect support this type of content extraction and positional overlay across pages, and if so, what is the recommended approach or feature to implement it?

Short answer: yes.
Longer answer: You’d use the background PDF as your data source, and in the data mapper you’d extract the Address Block. In the Template, you’d set the Print Section to use the “data source” as the background image. You can style and position the extracted data anywhere you like, most likely inside an HTML “DIV”. Anything not covered by the DIV would show.

Without the data mapper (which is not available in the Desktop edition):

I would first add an empty absolute positioned div with class “page” to each relevant master page that completely fills the page area.

You can either do this with Insert Positioned Box and resize the box by hand, or use the source tab for more fine-grained control. If the page size is Letter (8.5in x 11in):

<div style="position: absolute; width: 8.5in; height: 11in; top: 0; left: 0" class="page"><br></div>

This div gets repeated on each page, and having these page containers will help with positioning.

Then add a post pagination script with a selector that targets the content you want to move. If it has id “address_block”, the selector would be #address_block.

Assuming you want to move that content from page 1 to page 2:

query(".page")[1].append(results); // the index is zero-based; page 2 has index 1
results.css("left", "300px"); // x-pos relative to the left edge of the page
results.css("top", "200px"); // y-pos relative to the top edge of the page