我们在 React 应用程序中使用JointJS,我们需要能够呈现用户可以下载的地图 PDF。我们可以成功地让地图显示一切正常,但我们无法将其转换为 SVG,然后将其构建为 PDF。
我们理解这应该如何工作的方式:
- 使用这些 Rappid 指令将纸模型转换为 SVG
- 将渲染的 svg 构建到 PDF 中
- 下载 PDF
问题是我们无法读取纸模型中的任何数据来实际渲染任何东西。当我们尝试按照Rappid 的 .toSVG 指令进行操作时,它会将 SVG 渲染到控制台记录的位置,所有颜色都是 (0,0,0) 并且所有标签都在那里但为空。此外,我们尝试过的许多 PDF 和 SVG 转换解决方案每次都会将此模型呈现为空白。
地图本身在页面上渲染得很好,但是当我们尝试将该组件转换为 SVG 或 PDF 时,它也会以带有 JointJS 相关类名的空 div 的形式出现 - 表明结构存在但渲染数据没有生成它通过。
有没有人能够想出将 Paper 或 Graph 模型转换为可在 PDF 中使用的 SVG 的解决方案?因为我们在 Rappid 上看到的解决方案似乎并没有提供它们应该如何使用的完整背景。
下面是我们正在尝试的两个函数的代码(toSVG() 和 print())Rappid。svg 控制台以空 0 数据记录,打印功能打开打印菜单并冻结。
预先感谢您的帮助!
if (pdfDownload) {
this.paper.toSVG((svgString) => {
console.log(svgString);
this.paper.print();
});
}