4

我想从我的 java 类中安装一组字体到 windows 系统。我正在为我的 Birt Report 使用这些字体。

4

3 回答 3

2

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

Runtime.getRuntime().exec(...)

运行应用程序后,您很可能必须提高应用程序的权限。

至于传递密码。它可以运行cmd.exe,因此它会弹出并支持用户。您还可以尝试将 exec 的返回值分配给Process具有InputStreamOutputStream属性的类对象。我不知道如何正确地做到这一点。几年前,我在一个项目中做过一次,但我不再拥有代码。

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

于 2012-05-29T10:01:45.960 回答
0

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

希望有帮助~

于 2012-05-29T09:57:25.657 回答
0

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

于 2014-10-23T19:39:47.437 回答