TL;DR: Improve the standard Experience Builder Print widget so users can select a portrait or landscape layout, draw or adjust the print extent, enter a filename, and download the PDF using that actual filename.
I am trying to create what seems like a fairly straightforward printing workflow for staff:
- Choose a portrait or landscape layout.
- Draw or adjust the specific map area to be printed.
- Enter a meaningful filename, such as a GSOC ticket number.
- Export and download the PDF using that filename.
However, the available options seem to fall at opposite extremes.
The printing available in Instant Apps is simple and approachable, but it does not provide enough customization for this workflow. In my Enterprise version, at least, I cannot select from our uploaded custom layouts. I need greater control over the page layout, orientation, printed extent, and other layout elements.
Experience Builder provides much more flexibility. Its Print widget supports custom layouts, portrait and landscape templates, and a visible print-area extent. However, users cannot independently draw the desired print area. They must pan and zoom the entire map or manually enter a map scale—which is not an intuitive workflow for ordinary staff who simply need a map covering a particular area.
The title entered by the user also appears to function primarily as the result label and map title. When the result is opened or downloaded, the actual PDF has an ArcGIS Server-generated filename such as:
_ags_[long random identifier].pdf
That is not practical when staff need to associate an exported map with a specific ticket, request, or project.
The apparent solution is to develop a custom Experience Builder widget. That requires matching the correct Developer Edition to the Enterprise version, installing Node.js, configuring OAuth credentials, running the client and server development environments, compiling the widget, hosting it on a web server, configuring CORS and MIME types, and registering it in Portal.
That is an extraordinary amount of development and infrastructure for a very ordinary printing requirement.
There seems to be a significant missing middle between:
- Instant Apps printing, which is too limited for customized operational maps; and
- custom Experience Builder development, which is disproportionately complicated for a basic portrait/landscape PDF workflow.
Could the standard Experience Builder Print widget provide options to:
- use the entered title as the actual downloaded filename;
- select between configured portrait and landscape layouts;
- draw, move, or resize an area representing the desired print extent; and
- download the result directly instead of opening the temporary
_ags_ server file?
This would support a common local-government workflow without requiring a custom widget merely to produce a properly oriented and meaningfully named PDF.