我正在使用 Rails 创建一个 Facebook 应用程序并托管在 Heroku 上,但在找到解决问题的理想方法时遇到了一些麻烦。我希望用户能够在屏幕上移动他们的照片,定位它们,然后将其下载为 PDF 或 PNG 文件以通过电子邮件发送或打印。我有应用程序获取用户的 Facebook 照片,他们可以将它们拖到 HTML5 Canvas 元素上以定位它们。然而,拿这幅画布并将其转换为可打印的东西是我遇到了死胡同的地方。
基本上我有一些我尝试过的想法:
使用 toDataURL() 将 Canvas 转换为 PNG -可以完美运行,但由于照片是外部的,因此 Canvas 很“脏”并且会引发安全问题。我曾考虑尝试将每个图像的像素复制到像素阵列,但我听说由于安全问题,这也可能不起作用。由于该应用程序正在处理人们的 Facebook 图片,我真的不想将它们存储在应用程序的服务器上。
使用 PDFKit/wkhtmltopdf 使用 Rails 创建 PDF -我已经尝试过了,但由于该应用程序是 Sinatra 应用程序(我认为),这让我很困惑。to_pdf 调用说“命令失败”会引发错误。我试过添加一个 config.middleware.use 行,但我不能 100% 确定把它放在哪里,而且似乎到处都没有说“config”是一个未定义的变量。一旦我在本地主机之外测试它,在 Heroku 上安装 wkhtmltopdf 似乎也会失败。
使用 Prawn 使用 Rails 创建 PDF -我尝试过 prawn,但它似乎与 PDFKit 有类似的问题,我对 Sinatra 应用程序的去向感到困惑。我敢肯定,我也读到人们也遇到了问题。
我是否错过了任何明显的解决方案,或者有什么我没有想到的?我想做的就是创建某种易于打印的文件,其位置完好无损,用户可以轻松下载和打印,但我遇到了很多问题,我不知道下一步该去哪里,我要去围成一圈。
如果有人对我如何解决这个问题有任何建议,我将不胜感激。