从flex或jquery以300 dpi打印

时间:2011-12-28 00:24:45

标签: jquery flex printing dpi

我们需要使用flex app或jquery来自定义一些图像(向图像添加一些文本)以进行打印。完成自定义后,必须以300 dpi保存输出图像,以确保打印质量。

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

有关如何操作的任何建议吗?

3 个答案:

答案 0 :(得分:3)

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

选择哪一个对你有好处

答案 1 :(得分:1)

我确信你可以使用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的经验,所以我无法帮助你。

答案 2 :(得分:0)

您希望获得良好的打印质量,而不是较低的屏幕质量(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:其他人必须回答;自从我弯曲以来很长一段时间。