Defines the layout template options used by print and the PrintViewModel.print() method to generate the print page.
Constructors
-
new PrintTemplate(properties)
-
Parameterproperties Objectoptional
See the properties for a list of all the properties that may be passed into the constructor.
Property Overview
Name | Type | Summary | Class |
---|---|---|---|
Boolean | When | PrintTemplate | |
String | The name of the class. more details | Accessor | |
Object | Define the map width, height and dpi. more details | PrintTemplate | |
Boolean | When true, the feature's attributes are included in feature collection layers even when they are not needed for rendering. more details | PrintTemplate | |
String | The output format for the printed map. more details | PrintTemplate | |
Boolean | When | PrintTemplate | |
String | The layout used for the print output. more details | PrintTemplate | |
PortalItem | A custom layout hosted as a portal item. more details | PrintTemplate | |
Object | Defines the layout elements. more details | PrintTemplate | |
Number | The optional map scale of the printed map. more details | PrintTemplate | |
Boolean | Define whether the printed map should preserve map scale or map extent. more details | PrintTemplate | |
Boolean | When | PrintTemplate |
Property Details
-
attributionVisible Boolean
-
When
false
, the attribution is not displayed on the printout. This only applies when the layout value ismap-only
. Reference our policies on Licensing & Attribution for specific attribution requirements.- Default Value:true
-
The name of the class. The declared class name is formatted as
esri.folder.className
.
-
exportOptions Object
-
Define the map width, height and dpi. Required when
layout = 'map-only'
. See the object specification table below for available options to set for exportOptions.- Properties
-
width Number
Map width. Default value is 800. If the
dpi
value is modified, then thewidth
andheight
will be modified proportional to thedpi
change. If thewidth
value is modified independently, thedpi
andheight
values will not be modified.height NumberMap height. Default value is 1100. If the
dpi
value is modified, then thewidth
andheight
will be modified proportional to thedpi
change. If theheight
value is modified independently, thedpi
andwidth
values will not be modified.dpi NumberResolution in dots per inch. Default value is 96. If the
dpi
value is modified, then thewidth
andheight
will be modified proportional to thedpi
change.
-
forceFeatureAttributes Boolean
-
When true, the feature's attributes are included in feature collection layers even when they are not needed for rendering. By default they are removed to reduce the request size. Only applicable to custom print services which use the feature attributes, for example to display a table of features and their attributes.
- Default Value:false
-
format String
-
The output format for the printed map.
Possible Values:"pdf"|"png32"|"png8"|"jpg"|"gif"|"eps"|"svg"|"svgz"
- Default Value:png32
-
includeTables BooleanSince: ArcGIS Maps SDK for JavaScript 4.26
-
When
true
, tables will be included in the printout request. A table is a non-spatial dataset in a feature service or map service.Note that for the table to display in the printout, the print template must be configured to support tables.
- Default Value:false
- See also
-
layout String
-
The layout used for the print output. When the value is
map-only
or is empty, the output map does not contain any page layout surroundings (for example, title, legend, scale bar and so forth). The print service provides out-of-the-box templates listed in possible values. The server administrator can add additional templates to the print service.Possible values are listed below:
Value Description map-only Map does not contain any layout elements. Only map image is printed. a3-landscape A3 Landscape a3-portrait A3 Portrait a4-landscape A4 Landscape a4-portrait A4 Portrait letter-ansi-a-landscape Letter ANSI A Landscape letter-ansi-a-portrait Letter ANSI A Portrait tabloid-ansi-b-landscape Tabloid ANSI B Landscape tabloid-ansi-b-portrait Tabloid ANSI B Portrait Possible Values:"map-only"|"a3-landscape"|"a3-portrait"|"a4-landscape"|"a4-portrait"|"letter-ansi-a-landscape"|"letter-ansi-a-portrait"|"tabloid-ansi-b-landscape"|"tabloid-ansi-b-portrait"
- Default Value:map-only
-
layoutItem PortalItemSince: ArcGIS Maps SDK for JavaScript 4.25
-
A custom layout hosted as a portal item. To use this property, the print service must be hosted on an ArcGIS Server that is federated with the same portal as the portal item.
Known Limitations
This capability is only available with ArcGIS Enterprise 11.1 or later.
- See also
Examplelet item = new PortalItem({ id: "affa021c51944b5694132b2d61fe1057" }); // specify your own print service const printURL = "https://utility.arcgisonline.com/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%20Map%20Task"; const template = new PrintTemplate({ layoutItem: item }); const params = new PrintParameters({ view, template }); print.execute(printURL, params).then(printResult, printError);
-
layoutOptions Object
-
Defines the layout elements. It's an object with the following properties:
- Properties
-
titleText String
The text used for the map title if the specified layout contains a title text element.
authorText StringThe text used for the author if the specified layout contains an author text element.
copyrightText StringThe text used for the copyright if the specified layout contains a copyright text element.
scalebarUnit StringDefault Value:MilesThe unit used for the scalebar.
Possible Values:"Miles"|"Kilometers"|"Meters"|"Feet"
legendLayers LegendLayer[]An array of LegendLayer containing the ids of the layers that will be included in the legend. GraphicsLayer will not appear in the legend. If
legendLayers
is not specified, all layers wherelegendEnabled
istrue
, except GraphicsLayer, will be present in the legend. To specify that no layers will be included in the legend, setlegendLayer = []
.optional An array of name-value pair objects. Use this property to update the text for custom text elements on the page layout. Values must be strings. The custom text elements must exist in the print service. All out-of-the-box print service layout templates contain a text element named
date
that gets populated by default with the system date-time, but can be overwritten.elementOverrides ObjectAn object containing optional elements from the print service that can be updated.
ExamplelayoutOptions: { titleText: "My Print", authorText: "Sam", copyrightText: "My Company", scalebarUnit: "Miles", // the following text elements must // exist in the print service to appear customTextElements: [ {"description": "My description"}, {"location": "My Location"}, {"date": "11/11/2020, 11:11:20 AM"} ], elementOverrides: { "North Arrow": { "visible": true } } }
-
outScale Number
-
The optional map scale of the printed map. Only applies when
scalePreserved
istrue
. IfoutScale
is 0, then the printed map will use the scale of the input map.- Default Value:0
-
scalePreserved Boolean
-
Define whether the printed map should preserve map scale or map extent. If
true
, the printed map will use theoutScale
property or default to the scale of the input map. Iffalse
, the printed map will use the same extent as the input map and thus scale might change.- Default Value:true
-
showLabels Boolean
-
When
true
, labels will be shown on the layout.- Default Value:true
Method Overview
Name | Return Type | Summary | Class |
---|---|---|---|
Adds one or more handles which are to be tied to the lifecycle of the object. more details | Accessor | ||
Boolean | Returns true if a named group of handles exist. more details | Accessor | |
Removes a group of handles owned by the object. more details | Accessor |
Method Details
-
addHandles(handleOrHandles, groupKey)inheritedSince: ArcGIS Maps SDK for JavaScript 4.25
-
Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.
// Manually manage handles const handle = reactiveUtils.when( () => !view.updating, () => { wkidSelect.disabled = false; }, { once: true } ); this.addHandles(handle); // Destroy the object this.destroy();
ParametershandleOrHandles WatchHandle|WatchHandle[]Handles marked for removal once the object is destroyed.
groupKey *optionalKey identifying the group to which the handles should be added. All the handles in the group can later be removed with Accessor.removeHandles(). If no key is provided the handles are added to a default group.
-
Since: ArcGIS Maps SDK for JavaScript 4.25
-
Returns true if a named group of handles exist.
ParametergroupKey *optionalA group key.
ReturnsType Description Boolean Returns true
if a named group of handles exist.Example// Remove a named group of handles if they exist. if (obj.hasHandles("watch-view-updates")) { obj.removeHandles("watch-view-updates"); }
-
removeHandles(groupKey)inheritedSince: ArcGIS Maps SDK for JavaScript 4.25
-
Removes a group of handles owned by the object.
ParametergroupKey *optionalA group key or an array or collection of group keys to remove.
Exampleobj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");