【问题标题】:printing in 300 dpi from flex or jquery从 flex 或 jquery 以 300 dpi 打印
【发布时间】:2011-12-28 00:24:44
【问题描述】:

我们需要使用 flex 应用程序或 jquery 自定义一些图像(向图像添加一些文本)来打印它。自定义完成后,必须将输出图像保存为 300 dpi,以确保高质量的打印。

我们被困在这里,不知道如何以 300 dpi 保存此图像。我们可以确保为自定义上传的源图像是 300 dpi。但是在自定义之后,我们还必须将图像保存为 300 dpi。

有什么建议吗?

【问题讨论】:

  • 你是在做这个客户端还是服务器端? jQuery 标签向我表明你想要客户端,但这是一个更容易的服务器端问题。

标签: jquery apache-flex printing dpi


【解决方案1】:

客户端打印中的 Flex 打印不支持高质量打印,Flex 自动映射到 72 ppi。检查给定的注释here,但服务器端打印支持高 dpi 打印。一个第三方工具Alive Pdf支持图像打印检查tutorial。但您需要将图像缩放到 300 dpi,更多信息请查看here

选择哪一种对你有好处

【讨论】:

    【解决方案2】:

    我相信您可以使用 imagemagick(服务器端)实现这一目标。检查这个网址:

    http://www.imagemagick.org/script/command-line-options.php

    寻找“密度”和“重采样”选项。

    如果你使用 PHP:http://www.php.net/manual/en/function.imagick-resampleimage.php

    要在图像中插入文本,我将使用 gd:http://php.net/manual/en/ref.image.php

    也许这可以为您提供一些解决问题的提示。

    抱歉,我没有使用 Flex 的经验,所以我无法为您提供帮助。

    【讨论】:

      【解决方案3】:

      您希望获得良好的打印质量,而不是较低的屏幕质量 (75 dpi)。然而,图像由像素组成,它们决定了分辨率。所以拥有多个宽度和高度的图像就足够了。

      在 HTML/jQuery 中,通常使用< img src=... width=FRACTION height=FRACTION > 或使用 CSS media:print 将较大的图像定义为较小就足够了。

      事后考虑:不将文本嵌入到像素图像中可能会更好,而是作为叠加层。


      再解释一下:

      如果您通过标准 windows 查看器在屏幕上查看高清图像并选择 100% 显示(无缩放),那么您会看到它更大。那是因为它有更多的像素:比如 4000 x 3000。

      在 HTML 中,您可以通过以下方式将其显示得更小:

      <img src="bigimage.png" width="400" height="300">
      

      这是最简单的。在 CSS 中,使用通常根本不打印的背景图像。

      如果您的页面有“打印视图”,您可以使用更小、更快的图像作为正常显示,而在打印视图中使用大图像。

      HTML 中的文本叠加也是可能的,但如果字体非标准,则必须获得许可。一个浮动的div 就足够了。

      关于 flex:其他人必须回答这个问题;很久没有做flex了。

      【讨论】:

      • 感谢您的意见。您能否再解释一下或给我们一些示例链接。
      猜你喜欢
      • 2016-10-23
      • 2018-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-18
      • 2014-02-23
      相关资源
      最近更新 更多