# What the document contains

The document people sign is the page, rendered to PDF inside Atlassian's runtime by one renderer.
There is no second engine and no outside conversion service: the same code produces the PDF you
download and the PDF that goes to Dokobit, so the check you make with **Download the page as PDF**
is a check of what will be signed.

## Whose view of the page it is

**The page is read as the person who started the signing.** Confluence draws some content per
reader: a Jira work items table lists what that reader may see, and an excerpt from a page they
cannot open is left out. A signing started from the page prints your view, even when it runs in
the background after you have closed the panel.

A signing started through the [REST API](../rest-api/) prints the view of the service account
that made the request. One started by an [automation rule](../automation/) prints SignPlus's own
view, because a rule acts for nobody.

## What it reproduces

| On the page | In the document |
|---|---|
| Headings, paragraphs, text colour, bold, italic, lists | As on the page, at Confluence's own proportions, scaled from the body size in [export styling](../export-styling/) |
| Highlighted text | A tinted badge with gently rounded corners. A highlight longer than 40 characters stays an inline tint, so it can wrap |
| Info, note, warning, success and error panels | With their colour and icon. A custom panel keeps its own colour and emoji |
| Status lozenges, dates and user mentions | As the same small rounded badges the page shows |
| Task lists and decisions | With Confluence's own check box and decision icons |
| Code blocks and inline code | In a monospaced face, on a tinted ground |
| Emoji | As images, beside the text |
| Images | At the width the author gave them, aligned as on the page |
| Animated GIFs | As their first frame, in place. A PDF cannot animate |
| The user profile macro | The photograph, the name and the email address. No REST API gives an app the job title |

## Tables

Confluence draws three kinds of table, and the document keeps them apart:

| Table | Looks like |
|---|---|
| A table an author drew | A grey heading row and a hairline grid. Column widths the author set are kept |
| A Jira work items table, or a Jira Assets table | A white heading row with subdued headings, as Confluence's own datasource table |
| Confluence's listings, such as the meeting notes index, and the user list macro | No box: a rule under each row or group |

A table of six rows or fewer moves to the next page whole rather than splitting. Longer tables
split between rows.

### Jira content in a table

| Content | In the document |
|---|---|
| Work type, priority and status | The work type and priority as icons, the status as its lozenge. A long status wraps rather than running into the next column |
| An **Oktul Work Item Selector** field | Each selected work item as a card, as the field draws it in Jira: work type, key, summary, priority, status and assignee. Ten cards, then *+N more*. In a table of more than five columns each card takes two lines |
| **Oktul Work Item Macro for Confluence** | As a Jira work items table, with each of its fields drawn as above, Work Item Selector cards included |
| A Jira Assets object | A chip with the object's label and key |

<Aside type="note" title="Jira content needs Jira connected">
Assets tables and Work Item Selector cards are read from Jira. On a site where SignPlus is not
connected to Jira, an Assets table prints a notice and a Work Item Selector column prints its
keys. See [connecting Jira](../install/#connecting-jira). A Work Item Selector card shows the
field's default columns: a field configured with other columns prints the defaults.
</Aside>

## Attachments

With **Include attachments** on, the page's attachments follow the document, each starting on a
new page and captioned *Attachment:* with its filename, so nobody mistakes one for part of the
body.

- **Images** are drawn one to a page, scaled to the margins. A GIF is drawn as its first frame.
- **PDFs** are merged in, page by page.
- **Anything else**, a spreadsheet, a Word file or a zip, has no page form, so it is **listed**
  rather than left out silently.

Attachments are appended up to 20MB in total, and the document says which were left out above
that.

## Where a PDF cannot follow Confluence

These are deliberate, and each one keeps the words of the page in the document:

- **Merged cells.** A cell that spans rows keeps its text where it started, and the rows below get
  an empty cell in that column. The grid survives, the merge does not.
- **Very wide tables.** A table of more than thirteen columns is cut into slices, and each slice
  repeats the first column so a row can still be read across.
- **Very tall rows.** A table with a cell longer than 1500 characters is printed as a list of
  headings and values, because a PDF cannot break a page inside a table row.
- **An image SignPlus cannot draw.** WebP, a corrupt file, or an address that answers with
  something other than an image prints the image's alternative text in its place.
- **A page with a great many images.** Images are fetched against a time budget. Past it, the
  remaining ones print as their alternative text, because a document missing a decorative image
  is worth having and a failed export is not.
- **Anything interactive.** A video, an embedded live board or a macro that only draws in a
  browser cannot be reproduced. Its link or its text prints where Confluence's export gives one.

<Aside type="caution" title="Check before you send">
**Download the page as PDF**, in the signing panel, makes the same document without starting a
signing. On a page with unusual macros, look at it before anyone is asked to sign it.
</Aside>

## Related

- [Style the exported document](../export-styling/)
- [Sign a page](../sign-a-page/)
- [Install the app](../install/#connecting-jira)

---

A problem or a question? Write to [support@oktul.com](mailto:support@oktul.com) or open a request in the [Help Center](https://oktul.atlassian.net/servicedesk/customer/portals). Both reach the same service desk, so either way the request gets a reference and an SLA measuring the response.
