Esri vector basemap not printing
-
Hi,
We have successfully created a few reports using the Esri JavaScript Maps. We however now ran into the problem that the map does not render correctly if we use any of the vector tile layers.
Working map configuration
map = new Map("map", { center: [-70.6508, 43.1452], zoom: 16, basemap: "streets" });
Non working map configuration
map = new Map("map", { center: [-70.6508, 43.1452], zoom: 16, basemap: "gray-vector" });
Looking at the debug logs is can see that the data request are being made and the printing trigger is only fired at the end. Is it possible that jsreport and/or chromium does not understand the type of data being returned? Or are we misisng something?
+0 Starting rendering request 56 (user: null) +2 Rendering template { name: Vector Tiles, recipe: chrome-pdf, engine: handlebars, preview: true } +3 Data item not defined for this template. +3 Resources not defined for this template. +7 Base url not specified, skipping its injection. +7 Rendering engine handlebars using http-server strategy +27 Taking compiled template from engine cache +14 Executing recipe chrome-pdf +84 Converting with chrome HeadlessChrome/79.0.3945.0 using dedicated-process strategy +155 Page request: GET (document) file:///C:/Windows/TEMP/jsreport/autocleanup/f69e578d-d521-4c69-a58e-eecdb3e32629-chrome-pdf.html +162 Page request finished: GET (document) file:///C:/Windows/TEMP/jsreport/autocleanup/f69e578d-d521-4c69-a58e-eecdb3e32629-chrome-pdf.html +164 Page request: GET (stylesheet) https://js.arcgis.com/3.34/esri/css/esri.css +164 Page request: GET (script) https://js.arcgis.com/3.34/ +411 Page request failed: GET (script) 301 https://js.arcgis.com/3.34/ (redirect to: /3.34/init.js) +412 Page request: GET (script) https://js.arcgis.com/3.34/init.js (redirect from: https://js.arcgis.com/3.34/) +478 Page request finished: GET (stylesheet) 200 https://js.arcgis.com/3.34/esri/css/esri.css +507 Page request finished: GET (script) 200 https://js.arcgis.com/3.34/init.js +652 Page request: GET (script) https://js.arcgis.com/3.34/esri/nls/jsapi_en-us.js +653 Page request: GET (script) https://js.arcgis.com/3.34/dojox/gfx/svg.js +654 Page request: GET (script) https://js.arcgis.com/3.34/esri/dijit/BasemapToggle.js +654 Page request: GET (image) https://js.arcgis.com/3.34/dojo/resources/blank.gif +657 Page request finished: GET (script) 200 https://js.arcgis.com/3.34/dojox/gfx/svg.js +658 Page request finished: GET (script) 200 https://js.arcgis.com/3.34/esri/dijit/BasemapToggle.js +666 Page request: GET (script) https://js.arcgis.com/3.34/dojox/gfx/filters.js +667 Page request: GET (script) https://js.arcgis.com/3.34/dojox/gfx/svgext.js +668 Page request finished: GET (image) 200 https://js.arcgis.com/3.34/dojo/resources/blank.gif +668 Page request finished: GET (script) 200 https://js.arcgis.com/3.34/esri/nls/jsapi_en-us.js +713 Page request finished: GET (script) 200 https://js.arcgis.com/3.34/dojox/gfx/filters.js +713 Page request finished: GET (script) 200 https://js.arcgis.com/3.34/dojox/gfx/svgext.js +782 Page request: GET (image) https://js.arcgis.com/3.34/esri/images/map/logo-med.png +783 Page request: GET (script) https://js.arcgis.com/3.34/esri/layers/VectorTileLayer.js +785 Page request finished: GET (image) 200 https://js.arcgis.com/3.34/esri/images/map/logo-med.png +794 Page request finished: GET (script) 200 https://js.arcgis.com/3.34/esri/layers/VectorTileLayer.js +810 Page request: GET (script) https://js.arcgis.com/3.34/esri/layers/VectorTileLayerImpl.js +849 Page request finished: GET (script) 200 https://js.arcgis.com/3.34/esri/layers/VectorTileLayerImpl.js +886 Page request: GET (script) https://js.arcgis.com/3.34/esri/layers/nls/VectorTileLayerImpl_en-us.js +886 Page request finished: GET (script) 200 https://js.arcgis.com/3.34/esri/layers/nls/VectorTileLayerImpl_en-us.js +967 Page request: GET (xhr) https://www.arcgis.com/sharing/rest/content/items/8a2cba3b0ebf4140b7c0dc5ee149549a/resources/styles/root.json?f=json +968 Chrome will wait for printing trigger +1715 Page request: GET (xhr) https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer?f=json +1715 Page request finished: GET (xhr) 200 https://www.arcgis.com/sharing/rest/content/items/8a2cba3b0ebf4140b7c0dc5ee149549a/resources/styles/root.json?f=json +1996 Page request: GET (xhr) https://cdn.arcgis.com/sharing/rest/content/items/8a2cba3b0ebf4140b7c0dc5ee149549a/resources/sprites/sprite.json +1998 Page request: GET (xhr) https://js.arcgis.com/3.34/esri/layers/vectorTiles/core/workers/worker.js +1998 Page request: GET (image) https://js.arcgis.com/3.34/esri/dijit/images/ajax-loader.gif +1999 Page request: GET (image) https://js.arcgis.com/3.34/esri/dijit/images/popup.png +1999 Page request: GET (xhr) https://static.arcgis.com/attribution/Vector/World_Basemap_v2?f=json +2000 Page request finished: GET (xhr) 200 https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer?f=json +2042 Page request: GET (other) blob:null/c0a8452f-78db-404d-b04c-37e1b23d319a +2043 Page request: GET (other) blob:null/eb95cec4-d34d-46b0-9374-836db1c77c8e +2043 Page request: GET (other) blob:null/59400bda-9340-4344-abfa-575307ddcd18 +2043 Page request: GET (other) blob:null/f6c6efc2-febf-477d-8236-305a30da8d57 +2044 Page request: GET (other) blob:null/a01279b2-7058-4c19-bfca-d9c012db2b16 +2044 Page request: GET (other) blob:null/f4bc6646-c3ec-4ee6-ba6a-f223b703790a +2044 Page request: GET (other) blob:null/f9abc1a0-f5f0-43d9-874e-c459e2bfe5c5 +2044 Page request: GET (other) blob:null/955eee85-c141-4a4b-b1d0-e7d6c35aa5c7 +2045 Page request: GET (other) blob:null/f9f32b2a-b901-4583-8a93-3f02ff2ca47e +2045 Page request: GET (other) blob:null/e9fff20c-5a86-4a7b-894d-f0dccd2326bc +2045 Page request: GET (other) blob:null/5f59d681-f903-457d-a2e2-f4eb8d1f7c93 +2046 Page request: GET (other) blob:null/043878b4-e696-463f-b92b-1b761daa566f +2046 Page request: GET (other) blob:null/628fe491-1775-4ed7-8bb4-2d3f5d928208 +2046 Page request: GET (other) blob:null/6b0000bd-8211-4746-9c61-c199b3ed0f11 +2047 Page request: GET (other) blob:null/aad843d5-53ba-47b7-b2d0-b0225c000f0c +2047 Page request: GET (other) blob:null/8153e065-b39f-4ef2-892e-c0b87518229b +2047 Page request finished: GET (xhr) 200 https://js.arcgis.com/3.34/esri/layers/vectorTiles/core/workers/worker.js +2048 Page request finished: GET (image) 200 https://js.arcgis.com/3.34/esri/dijit/images/ajax-loader.gif +2048 Page request finished: GET (image) 200 https://js.arcgis.com/3.34/esri/dijit/images/popup.png +2051 Page request finished: GET (other) 200 blob:null/c0a8452f-78db-404d-b04c-37e1b23d319a +2054 Page request finished: GET (other) 200 blob:null/eb95cec4-d34d-46b0-9374-836db1c77c8e +2056 Page request finished: GET (other) 200 blob:null/59400bda-9340-4344-abfa-575307ddcd18 +2058 Page request finished: GET (other) 200 blob:null/f6c6efc2-febf-477d-8236-305a30da8d57 +2061 Page request finished: GET (other) 200 blob:null/a01279b2-7058-4c19-bfca-d9c012db2b16 +2064 Page request finished: GET (other) 200 blob:null/f4bc6646-c3ec-4ee6-ba6a-f223b703790a +2066 Page request finished: GET (other) 200 blob:null/f9abc1a0-f5f0-43d9-874e-c459e2bfe5c5 +2068 Page request finished: GET (other) 200 blob:null/955eee85-c141-4a4b-b1d0-e7d6c35aa5c7 +2070 Page request finished: GET (other) 200 blob:null/f9f32b2a-b901-4583-8a93-3f02ff2ca47e +2073 Page request finished: GET (other) 200 blob:null/e9fff20c-5a86-4a7b-894d-f0dccd2326bc +2075 Page request finished: GET (other) 200 blob:null/5f59d681-f903-457d-a2e2-f4eb8d1f7c93 +2077 Page request finished: GET (other) 200 blob:null/043878b4-e696-463f-b92b-1b761daa566f +2079 Page request finished: GET (other) 200 blob:null/628fe491-1775-4ed7-8bb4-2d3f5d928208 +2082 Page request finished: GET (other) 200 blob:null/6b0000bd-8211-4746-9c61-c199b3ed0f11 +2084 Page request finished: GET (other) 200 blob:null/aad843d5-53ba-47b7-b2d0-b0225c000f0c +2086 Page request finished: GET (other) 200 blob:null/8153e065-b39f-4ef2-892e-c0b87518229b +2259 Page request finished: GET (xhr) 200 https://static.arcgis.com/attribution/Vector/World_Basemap_v2?f=json +3116 Page request: GET (image) https://cdn.arcgis.com/sharing/rest/content/items/8a2cba3b0ebf4140b7c0dc5ee149549a/resources/sprites/sprite.png +3117 Page request finished: GET (xhr) 200 https://cdn.arcgis.com/sharing/rest/content/items/8a2cba3b0ebf4140b7c0dc5ee149549a/resources/sprites/sprite.json +3581 Page request finished: GET (image) 200 https://cdn.arcgis.com/sharing/rest/content/items/8a2cba3b0ebf4140b7c0dc5ee149549a/resources/sprites/sprite.png +3670 Page request: GET (xhr) https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tilemap/16/24032/19904/32/32?f=json +3684 Page request: GET (xhr) https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tilemap/15/12000/9952/32/32?f=json +3685 Page request finished: GET (xhr) 200 https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tilemap/16/24032/19904/32/32?f=json +3704 Page request finished: GET (xhr) 200 https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tilemap/15/12000/9952/32/32?f=json +3708 Page request: GET (xhr) https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/15/12022/9953.pbf +3709 Page request: GET (xhr) https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/15/12022/9953.pbf +3711 Page request: GET (xhr) https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/15/12022/9952.pbf +3712 Page request: GET (xhr) https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/15/12022/9953.pbf +3715 Page request: GET (xhr) https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/15/12022/9953.pbf +3720 Page request: GET (xhr) https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/15/12022/9952.pbf +3722 Page request finished: GET (xhr) 200 https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/15/12022/9953.pbf +3724 Page request finished: GET (xhr) 200 https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/15/12022/9953.pbf +3726 Page request finished: GET (xhr) 200 https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/15/12022/9953.pbf +3728 Page request finished: GET (xhr) 200 https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/15/12022/9953.pbf +3730 Page request finished: GET (xhr) 200 https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/15/12022/9952.pbf +3732 Page request finished: GET (xhr) 200 https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/tile/15/12022/9952.pbf +3758 Page request: GET (xhr) https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/resources/fonts/Ubuntu%20Light/0-255.pbf +3759 Page request: GET (xhr) https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/resources/fonts/Ubuntu%20Regular/0-255.pbf +3772 Page request finished: GET (xhr) 200 https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/resources/fonts/Ubuntu%20Light/0-255.pbf +3780 Page request finished: GET (xhr) 200 https://basemaps.arcgis.com/arcgis/rest/services/World_Basemap_v2/VectorTileServer/resources/fonts/Ubuntu%20Regular/0-255.pbf +4671 JSREPORT_READY_TO_START +4814 Running chrome with params {"printBackground":true,"waitForJS":true,"margin":{}} +5214 Skipping storing report. +5219 Rendering request 56 finished in 5219 ms
I have created a sample in the Playground.
Regards
Meyer
-
Thank you for the question.
I see it works with HTML in the browser but it doesn't with pdf.
The chrome-pdf recipe just gives the HTML to the headless chrome which does pdf print so it should work there as well.
I tried to wait half a minute before hitting the printing trigger, no luck.
I tried also to use screen media type when printing, no luck.
I tried a newer version of your lib and also of headless Chrome, no luck.
There is no error printed, maybe the library has some kind of event handler you can register to?
I am afraid I don't know how to troubleshoot this further.
Maybe you rather try luck on their support forum or in the documentation
There can be some extra config you need to set to the lib before printing. Like "no animation" or something like that.
It seems they have quite a long section regarding printing here
https://enterprise.arcgis.com/en/server/latest/create-web-apps/windows/printing-in-web-applications.htm