创建自定义打印就绪图像

时间:2013-01-01 20:20:55

标签: php javascript

我希望创建一个小应用程序,允许用户为书籍创建自定义封面。客户不希望仅提供客户选择的内容,而是打印300dpi JPEG或PDF。

我知道PHP可以处理大部分内容。但是定制似乎有点难以正确。我已经尝试使用canvas来创建客户端预览,这可以正常工作。

只是为了看我是否在浪费时间试图重新创建方向盘,是否有人知道我所需要的东西是否存在?

基本上它与this类似,但用于创建打印就绪图像。

谢谢!

2 个答案:

答案 0 :(得分:1)

如果您正在使用Canvas构建编辑器,为了获得最佳效果,我建议您使用适合PHP需要的任何技术在服务器上重新渲染自定义,而不是尝试拍摄它们的图像通过将其发送到服务器来查看并使其工作。如果以标准方式使用Canvas,它将是错误的(它将在屏幕DPI处)。

例如,如果他们能够放置图像,那么只需记下坐标并将图像放置在300 DPI的Web服务器创建的图像中。文本,同样的事情等等。是的,它将是额外的工作,但它应该具有更高的质量和更好的一致性。

这意味着有一个简单的序列化格式,用于表示发送到Web服务器的自定义封面。

您可能可以使用SVG,但您必须引入可靠的SVG到PDF转换并处理字体。也许像this这样的东西? (我不确定构建SVG编辑器会比基于Canvas更容易)。

答案 1 :(得分:0)

从“足够好的工作预览”开始,jsPDF将能够直接从浏览器生成PDF格式。

  • 将画布转换为image / jpeg(toDataURL将是您最好的朋友)
  • 实例化jsPDF对象add the image
  • 输出jsPDF对象

棘手的细节:

  • 注意您的屏幕显示72dpi的内容但打印时间为300dpi。因此,您可以扩展画布,然后在pdf PDF中绘制图像
  • 谨防交叉原始资源:如果您使用域外的图像,则注定要失败(或者您需要代理)