2011-12-28 85 views
0

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

我们卡在这里,不知道如何保存这个图像在300 dpi。我们可以确保上传的用于自定义的源图像的分辨率为300 dpi。但是在定制之后,我们还必须以300 dpi的分辨率保存图像。

有关如何操作的建议?

+1

你正在做这个客户端或服务器端? jQuery标签向我表明你想要客户端,但这是服务器端更容易的问题。 – mrtsherman 2011-12-28 00:53:17

回答

3

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

选择哪一个对你有好处

0

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

在HTML/jQuery中,通常只需将尺寸较大的图像定义为较小,使用< img src=... width=FRACTION height=FRACTION >或使用CSS media:print即可。

作为一种事后的想法:不把文本嵌入到像素图像中,而是将其叠加在一起。更


说明一下:

如果您通过标准的Windows浏览器在屏幕上查看您的高清晰图像,并选择100%显示(无缩放),然后你会看到,这是更大的。这是因为它有更多的像素数:4000说3000 X

在HTML中,你可以它通过小显示:

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

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

如果您的页面有“打印视图”,您可以使用更小,更快的图像进行正常显示,并在打印时查看大图像。

HTML中的文本覆盖也是可能的,但是如果字体不标准,则字体必须获得许可。浮动div就足够了。

关于flex:别人必须回答那个;很长一段时间,因为我做了弯曲。

+0

感谢您的意见。你可以请稍微解释一下,或者给我们一些样本链接。 – 2011-12-28 00:41:09

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的经验,所以我不能帮你。