Creating a Preview PDF for Print By Data Record

Problem

You want to create a preview PDF using a template and an existing Data Record as inputs.

Solution

The solution is to create a request using the following URI and method type and submit it to the server via the Content Creation REST service:

Create Preview PDF (By Data Record) /rest/serverengine/workflow/contentcreation/pdfpreviewdirect GET

Example

HTML5

cc-preview-pdf-by-dre.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Create Preview PDF (By Data Record) Example</title>
        <script src="../../common/lib/js/jquery-3.4.1.min.js"></script>
        <script src="../../common/js/common.js"></script>
        <script src="js/cc-preview-pdf-by-dre.js"></script>
        <link rel="stylesheet" href="../../common/css/styles.css">
    </head>
    <body>
        <h2>Content Creation Service - Create Preview PDF (By Data Record) Example</h2>
        <form>
            <fieldset>
                <legend>Inputs</legend>
                <div>
                    <label for="datarecord">Data Record ID:</label>
                    <input id="datarecord" type="text" placeholder="1234" required>
                </div>
                <div>
                    <label for="template">Template ID/Name:</label>
                    <input id="template" type="text" placeholder="1234 or Filename" required>
                </div>
            </fieldset>
            <fieldset>
                <legend>Actions</legend>
                <div>
                    <input id="submit" type="submit" value="Submit">
                </div>
            </fieldset>
        </form>
    </body>
</html>

JavaScript/jQuery

cc-preview-pdf-by-dre.js

/* Content Creation Service - Create Preview PDF (By Data Record) Example */
(function ($, c) {
    "use strict";
    $(function () {

        c.setupExample();

        $("form").on("submit", function (event) {

            event.preventDefault();
            if (!c.checkSessionValid()) return;

            var params = {
                dataRecordId: $("#datarecord").val(),
                templateId: $("#template").val()
            };

            /* Create Preview PDF (By Data Record) */
            $.ajax({
                type:   "GET",
                url:    "/rest/serverengine/workflow/contentcreation/pdfpreviewdirect",
                data:   params
            })
                .done(function (response, status, request) {
                    c.displayStatus("Request Successful");
                    c.displayResult("Managed File ID", response);
                })
                .fail(c.displayDefaultFailure);
        });
    });
}(jQuery, Common));

Screenshot & Output

Usage

To run the example you need to select the specific Data Record ID and the Template Managed File ID/Name (previously uploaded to the File Store).

Once the inputs are entered, select the Submit button to create the preview PDF. When the response returns, a Managed File ID of the preview PDF (in the file store) will be displayed in the Results area.

Further Reading

See the Content Creation Service page of the REST API Reference section for further detail.