从java程序安装字体

时间:2012-05-29 09:50:14

标签: java windows-7 fonts

我想从我的java类到Windows系统安装一组字体。我将这些字体用于我的Birt Report。

3 个答案:

答案 0 :(得分:2)

您可以编写批处理/ powershell脚本并将其与应用程序中的字体文件一起包含在内。然后你可以用

执行脚本
Runtime.getRuntime().exec(...)

一旦运行,您很可能必须为应用程序提升权限。

至于传递密码。可以运行cmd.exe,以便弹出并为用户提供支持。您还可以尝试将exec的返回值赋给Process类对象,该对象具有InputStreamOutputStream属性。我不确定如何正确地做到这一点。几年前我在一个项目中做过一次,但我不再有代码了。

如果您只需要安装一次字体,请考虑为您的Java应用程序创建一个安装程序,以便处理它。有一个名为IzPack的简洁安装程序生成器,它允许您使用XML创建复杂的安装程序。它还允许您为安装期间运行的可执行文件提高权限。这就是我做这些事情的方式。

答案 1 :(得分:0)

您可以安装这些字体用户系统 - >字体,如果你在窗口测试它。 如果您尝试使用您的程序进行排列,则必须首先将它们包含在您的java资源文件中,以便稍后引用它。

希望有所帮助〜

答案 2 :(得分:0)

如果没有本地管理员权限,可以将自定义字体添加到字体缓存中。然后,您的自定义字体将可供所有应用程序使用,直到您退出为止。 执行此操作的Windows API为AddFontResource。通过JNI帮助程序DLL,您可以直接调用它,或者只执行RegisterFonts实用程序。