fepli
ManualReferenceAdministrationAdmins

PDF studio

In the PDF studio, admins see before the export which offers of an own PDF template run over their page, and adjust single offers.

Location: season > tab Export > Check in the PDF studio. Visible to: admins.

RuleContent
EntryIn the Export tab, Check in the PDF studio stands next to Create export when an own PDF template is selected under Format and the selection contains at least one offer (Export). Under Recently used, an entry with a PDF template has the link Open in the studio.
SelectionThe studio takes over the seasons, organizers and Published offers only of the export page.
TemplateOwn PDF templates only (Export templates). The template writes the offers in a loop over items, one section per offer.
ArrangementIf the template sets a page break before or after an offer, every offer has a page of its own. Otherwise the offers follow one another, through the columns of the page if there are several.
MeasuringmPDF measures every offer at the width of a column and counts the pages the way it breaks them in the export.

Layout

The page has three columns. On the left are the pages of the export, in the middle the page chosen, on the right the offer chosen.

The studio for the template “Programme booklet” with the canoe trip on page 3.

ElementContent
HeaderName of the template, page format and orientation (“A5 portrait”), with several columns “· {count} columns”, and the number of pages. Beside it is the summary: “{count} offers run over” or “all offers fit”, plus “{count} proposals to check” and “{count} adjusted”, where there are any.
Fix overflows with AIHas the AI adjust every offer that runs over the page, is split or stands before a gap, one job per offer. The number in brackets gives the offers. If there are none, the button is disabled and reads No overflows. While the AI works, it reads “The AI is working … {count} to go”. Only with the app AI review.
Create PDFCreates the PDF in the background like any other export. The file arrives under the bell (Export). While proposals are open, the button creates nothing and reports: “{count} proposals are still open – accept or discard, then create the PDF.”
All {count}, Hints {count}Filter of the page list: all pages or only those with a mark. If there are none, it reads “No page with hints.”
Page listA preview per page with its number, the numbers of the offers that begin on it, and the first mark of the page (Marks). The page chosen has an outline. A symbol over the preview shows that the AI is working on an offer of the page.
Page previewThe page chosen, as mPDF sets it. Over every offer lies a field that selects it. Offers that run over the page or are split have a red edge at the bottom.
Previous page, Next page, “Page {number}”Switch the page. Beside them stands the title of the offer chosen or “Click an offer to edit it”.
Show text areaDraws the text area of the page and its columns. If a proposal is open, the choice Template and Proposal stands here instead: the page without and with the proposal.
MeasurementShows how the offer chosen fits the page (Measurement).
Tabs AI, HTMLSwitch between the AI (AI) and the offer's HTML (HTML).
Form of the AIInstruction, suggestions, lock and Adjust with AI (AI).

Above the offer chosen stand its number (“Nr. {number}”), its page (“Page {number}”, with several columns followed by “· column {number}”) and its origin (Origin).


Marks

The page list shows per page the first mark that applies, in the order of this table.

MarkMeaning
runs overAn offer reaches over the bottom edge. mPDF sets the rest on an extra page, and all following pages move on.
splitAn offer is taller than a column. mPDF sets the rest in the next column.
gapA block that is not split moves on to the next column and leaves space free before it.
proposalFor an offer of the page there is a proposal from the AI that is neither accepted nor discarded.
staleThe adjustment of an offer of the page no longer holds (Origin).

Measurement

The measurement stands above the form of the offer chosen.

MessageMeaning
“Runs over by {number} mm”The offer is taller than the page has room for. Below: “mPDF sets the rest on an extra page {number} – all following pages move on.”
“Gets split”The offer is taller than a column. Below: “At {number} mm taller than a column ({number} mm): mPDF sets the rest in the next column.”
“Fits the page”The offer fits. Below, only for the last offer in a column: “{number} mm free to the bottom margin.”
“Fits the column”The offer fits, and another offer follows in the same column without a gap. Below it there is no statement about free space.
“{number} mm stay free before it”A gap arises before the offer. Below: “{number} mm shorter and it moves up into the gap.” or “That would take too much text – better not to shorten here.”

While mPDF sets the offers in the background for the first time, the page shows “Measuring …” and asks every 1.5 seconds whether the measuring is done. An offer whose HTML stays the same is not measured again.


AI

The tab AI belongs to the app AI review (AI review). Without the app it reads “AI only with the app “Mistral AI”” with the link To the app store. The HTML can then be changed by hand.

ElementContent
What should change?, What should change about this offer?Instruction for the AI. The second label stands when the offers follow one another. Without an instruction it is “Shorten until the page fits”. Placeholder: “e.g. shorten the description until the page fits”.
SuggestionsShorten until the page fits, Smaller picture, More compact dates, Font not below 9 pt. With a gap, Shorten by {number} mm stands first. A suggestion enters its text as the instruction.
Do not change dates, age, fee and meeting pointLock. Default: on. If a proposal changes a date, a time, an age, a fee or the meeting point while the lock is on, fepli discards it.
Adjust with AIStarts a job for the offer chosen. While it runs, it reads “The AI is reworking no. {number} …” with the note “This runs in the background – you can look at other pages meanwhile.”

The AI gets the page as it is set as a picture, the offer's HTML, the template's CSS and the measurement. It changes only this offer. The picture is made only if the server has Imagick and Ghostscript; otherwise the AI gets the HTML without a picture. Which data goes to Mistral AI is described under AI review.

Proposal

A finished proposal appears in place of the form. fepli measures it again.

ElementContent
ProposalOne sentence from the AI on what it changed. If it is missing, it reads “HTML adjusted.”
Effect“Fits now · {number} mm free”, “Does not fit yet – {number} mm too much”, “Gap closed”, “No longer split”, “{count} pages fewer”, “{count} pages more”, “{number} mm shorter”
Changes to the HTMLThe changed lines of the HTML, beside them “+{count} −{count}”
AcceptThe proposal holds (Origin).
AgainDiscards the proposal and asks the same instruction once more.
DiscardDiscards the proposal.

Before Accept, nothing holds: fepli creates the PDF with the template's HTML.

MessageMeaning
“No AI connected – that needs the app “Mistral AI”.”The app is not connected.
“The AI did not answer. Please try again in a moment.”The request failed.
“The AI returned no HTML. Please try again.”The answer held no HTML.
“The proposal changed locked details ({details}) and was discarded.”The lock took effect.
“The AI took too long. Please try again.”After three minutes without an answer the studio stops waiting.

From the HTML of a proposal, fepli removes stylesheets, scripts, page breaks and event attributes. For addresses of images and links the same rules apply as for every template (Rules).


HTML

The tab HTML shows the section that the template writes for the offer chosen. Above it reads “The HTML the template writes for this offer. Changed here, it holds in every PDF of this template until the offer changes.” If the offers follow one another, the note begins with “The section the template writes for this offer.”

ElementContent
HTML of this offerText field with the HTML. A change holds shortly after the input, without confirmation. If the text again equals that of the template, the adjustment lapses. Here too, fepli removes stylesheets, scripts, page breaks and event attributes.
Reset to the templateRemoves the offer's adjustment. Stands only for adjusted offers.

Origin

A change that was accepted, by the AI or by hand, belongs to the template and the offer. It does not change the offer itself.

OriginMeaning
as the template writes itThe offer is not adjusted.
adjustedThe adjustment holds in every PDF of this template, also with Create export (Export).
adjustment staleThe offer or the template changed since the offer was adjusted. The PDF takes what the template writes again. The studio reports: “The offer or the template changed since it was adjusted. The PDF takes what the template writes again.”

Below the form, the history lists the last 10 changes. Its heading reads “On this page” or, if the offers follow one another, “On this offer”.

EntryContent
“{instruction}” – {sentence from the AI}A change by the AI, with name and time
Changed by handA change in the tab HTML, with name and time

Messages of the page

MessageMeaning
“There are no offers for this selection.”The selection of the export page contains no offer.
“The template cannot be set: {message}”The template has an error (Rules).
“This template does not write each offer once in a loop over “items” – the studio cannot find the offers’ pages.”The template does not write exactly one section for every offer.

The page preview is HTML in the browser, arranged by the measurements of mPDF. The text in it can differ slightly from the PDF.