所有人,
这是我的打印小工具,供大家使用。
1.9.0版本的新功能:
注意:这适用于eb1.9.0或更高版本(不向后兼容)。
要安装这个小部件,请将zip文件的内容解压到EB\client\your-extensions\widgets中。因此,一旦你提取整个路径看起来像:\client\your-extensions\widgets\print。刷新你的客户端和服务器窗口(最简单的方法是关闭它们,然后像启动EB一样启动它们)。接下来打开配置。Json并进行编辑。现在打印小部件将出现在应用程序小部件菜单中。将小部件添加到您的应用程序中。现在使用小部件设置面板来配置小部件。
享受,罗伯特
罗伯特,
感谢您提供这个小部件。我希望它会被经常使用。我能够安装它,它像它应该工作,直到我点击“打印”和文件显示在“打印文件”部分。之后,该文件会变成灰色,将鼠标悬停在上面会显示“导出web地图时发生错误”。我已经尝试过使用您的默认配置。json设置。我也试过使用“https://utility.arcgisonline.com/arcgis/rest/services/Utilities/……”我甚至在没有列出服务器的情况下尝试了它,就像它在最后一个WAB打印小部件配置中一样。我只是想打印使用默认的ArcGIS在线打印服务。我在开发控制台或类似的东西中没有看到任何错误。任何建议都将非常感激。
@AndyWellsurl应该是"https://utility.arcgisonline.com/arcgis/rest/services/Utilities/PrintingTools/GPServer/Export%20Web%..。。您没有自己的打印服务器(没有Portal或ArcGIS服务器)吗?
你的网络地图包含任何安全层吗?你是否尝试过在应用程序中使用不同的web地图?
@RobertScheitlin__GISP只有一个公开共享的层和一个ESRI背景。但我也用不同的地图试过,结果是一样的。我用的是1.4版。我已经在Experience Builder的实时视图以及预览选项卡中尝试过了。PDF标题几乎立即出现,一旦出现,您可以将鼠标悬停在它上面并看到错误消息。
@AndyWells好吧,看起来您可能错过了设置处理地图的小部件的一个最基本的步骤。这就是在将小部件添加到应用程序后,在小部件的设置中设置小部件将与之交互的地图。在EB的右侧面板中,一旦单击打印小部件,您将看到可以指定打印小部件将使用的地图小部件的位置。这是你需要习惯的东西,因为EB可以在一个应用程序中有一个或多个地图。
是的!就是这样。谢谢你告诉我真相。我是使用Experience Builder的新手,必须适应可能有多个或没有地图的事实。我真的很感谢你帮我。谢谢。
EB中没有像WAB中那样的代理url。对esri代理的支持正在消失。看到我对你的其他线程的更多细节的回应。
嗨,罗伯特-我想让你知道我把这个小部件插入了dev 1.7。似乎仍然工作得很好,只是有一个奇怪的行为与聚类点层,如果一个点层被聚类,底图将不会完全打印在集群下:
我目前的部署是:
不幸的是,这似乎是打印服务的问题,而不是小部件的问题。您正在使用哪个打印服务url ?
谢谢@RobertScheitlin__GISP。在测试之后,我同意这可能是一个打印服务问题,这个问题是在一段时间之前开始与WAB中的某些基图有关。
默认的打印服务仍然不以任何一致性处理矢量平铺底图。
我最初使用示例服务器6的配置中的默认服务,再次将其更改为默认的arcgisonline实用程序打印服务,最后在10.9.1中使用我自己的联邦服务器的打印服务。所有的结果都不好;有些好一些,有些差一些取决于底图…
这些样本是我用自己的打印服务和矢量tile底图所能得到的最好的:
@RobertScheitlin__GISP我想知道是否有办法指定打印的比例?这是我某个用户的请求?我知道它可以在WAB中使用,但我希望可能有一种方法可以通过ExB来实现。
我将考虑在下一个版本中添加这个增强。
打印小部件显示,我严格按照配方操作,但它没有添加任何内容。可能出了什么问题?
在web控制台有任何错误吗?您使用的是哪个版本的EB ?
嘿,罗伯特。是的,这个。
我在“exbVersion”:“1.7.0”
听起来有点激烈,但我对两者都运行了npm audit fix -force。
更新:服务器是干净的,但客户端是一个错误测试。我现在要从头开始。
更新2:我重新安装了所有的东西。在安装小部件之前还是之后打补丁有关系吗?
不管怎样,两种方法我都做过了,但这个问题不断出现:
在这里安装补丁时确实有点奇怪:
但是他只在EB安装文件夹中指定了一次客户端,所以我假设他在补丁文件夹中提到了客户端文件夹。最后,我在补丁文件夹中没有服务器文件夹,所以我想他说的是EB安装文件夹。
在任何情况下,一切看起来都很好,除了小部件没有添加。
这个补丁只针对1.6版本,你现在是1.7版本,所以没有必要。可能会给你带来麻烦。我会从一个干净的1.7安装开始,然后再试一次。也只是为了确保我们没有误解。浏览器的web控制台与您在上面的附件中显示的命令窗口不同。完成干净安装并尝试添加打印小部件后,请检查浏览器的web控制台是否有任何错误。
完美,所以你现在看到小部件占位符(小打印机图标),这告诉我你没有设置小部件映射,它将在小部件设置窗格中使用。
工作最好!谢谢你,罗伯特。我不能把它标记为溶液,它已经变灰了。
干得好,罗伯特。该产品以其实用性而著称。
最后一个问题,我并不想打断你的话题,但当我发表我的经历时,它们不会进入我组织的AGOL。我已经登录了。a)他们去了哪里?b)我如何让他们到达AGOL?
@JorgeKappa当与EB开发人员合作时,经验是本地的(不发布到AGOL)。永远不会有办法得到一个EB项目,使用这样的自定义小部件上传到AGOL。很快就会有一种方法在ArcGIS企业(门户)中获得自定义小部件。就像你在WAB中使用自定义小部件一样。你唯一的选择是发布并下载你的EB开发者应用程序,然后在你自己的web服务器上托管应用程序。如果这不是您的选择,那么您将不得不等待下一个版本的EB,预计将包括打印小部件OTB。
你好@RobertScheitlin__GISP非常感谢你的优秀的打印小部件,它工作得很好与图层和图例的地图。
使用Experience Builder 1.6, d3和react-data-grid,我创建了一些react组件,如图表和表格。
有没有可能把地图下面的那些图表打印出来?
任何想法都很感激。
@RobertScheitlin__GISP谢谢你的小部件!奇怪的是,ExB仍然没有,因为它是大多数客户的核心功能。我们需要在小部件中选择刻度,就像WAB一样,我正在考虑迁移WAB代码以与您的Print小部件结合,但可能具有挑战性。
比例特定的打印现在是可用的。
谢谢你,罗伯特。
只是给Experience Builder产品经理的一个评论。社区需要等待一个退休的esri用户来开发一个应该从v1.0开始就在Experiecne Builder中的工具,这有点令人伤心和惊讶。
同样,WebApp Builder中的组层功能…我真的不明白为什么。
完全同意,沃尔特。Robert继续努力,希望ESRI将开始在您的小部件中实现一些基本原理。对于ESRI来说,search小部件应该是显而易见的。
干杯
杆
@WalterSimonazzi_VicPol,@AxelLEVY,@RodWoodfordOld谢谢你和我们分享你的想法。了解您对Print小部件的不满,并与团队分享您的意见。
像Web AppBuilder一样,在Experience Builder中添加小部件需要多个团队的协作,因此由于开发资源的限制,一些新部件可能不是您期望的核心部件。
目前,Print小部件计划在即将到来的6月更新。根据对Web AppBuilder中打印小部件的反馈,新设计将这些高级选项拉入设置中,而不是运行时,同时突出显示打印区域——这是人们高度要求的增强之一。
谢谢@RobertScheitlin__GISP感谢他一如既往的伟大工作!
我是EB的新手,这是我第一次将自定义小部件添加到EB 1.7开发人员版中。我按照您的指示,复制过去提取的打印文件夹EB\client\your-extensions\widgets。在那之后,我做了nmp的步骤,就像我通常做的那样,开始我的EB。
但是打印小部件在EB中不可用。你能帮忙吗?
谢谢
Zhuijng
@ZhujingXia奇怪。您使用的是哪个版本的EB开发程序?我测试过1.8个。此外,您必须尝试将小部件添加到EB中的控制器中,然后打印小部件将出现在小部件的自定义部分(在1.8中)。
使用VS Code,请确保打印文件夹位于“your-extensions/widgets”文件夹下,然后使用EX Builder确保它打开具有打印文件夹的项目,以防您有多个EX项目。
仅供参考:
谢谢大家,我安装了新版本的node.js,它工作了。
下面是我对标签打印的一些体会,希望对有同样问题的朋友有所帮助。
如果图层标签是这样生成的:
$feature["label_no"] + " - " + $feature["facility_name_location"]
默认情况下,这个打印小部件不能以pdf格式打印标签。解决方法是设置将打印模板的forceFeatureAttributes设置为true,那么它可以正常工作,如下所示:
@RobertScheitlin__GISP在新的1.9开发版上测试这个,它不再为我工作了。我在PrintTask上得到错误,但它没有被弃用,所以不确定发生了什么。此外,watchUtils现在已弃用,但应该可以工作。
编辑:我知道新的打印小部件出来了,但它对我来说有一个错误,“customTextElement”没有正确显示,它显示在一个长行中,推翻了打印模板,它的单词包装,配置,而这个自定义打印小部件工作完美…
编辑2:好吧,我刚刚读了发布博客,对esri/tasks的支持从JS 4.24开始就被删除了,所以这是有道理的…https://www.esri.com/arcgis-blog/products/js-api-arcgis/developers/rest-is-up-to-the-task/