Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从JAR文件中加载字体,创建AWT字体(有效)并注册iText字体(无效)_Java_Jar_Awt_Itext - Fatal编程技术网

Java 从JAR文件中加载字体,创建AWT字体(有效)并注册iText字体(无效)

Java 从JAR文件中加载字体,创建AWT字体(有效)并注册iText字体(无效),java,jar,awt,itext,Java,Jar,Awt,Itext,我试图编写一个小程序,能够创建一个嵌入字体的PDF。 只要不在JAR文件中,一切都可以工作 下面的代码部分显示了我首先创建AWT字体(无论是否存储在JAR文件中,它都可以正常工作)。 然后我想注册一个iText(5.0.3)字体。但是错误来了:拒绝访问(java.io.FilePermission http:\host\jarfile\font\EXAMPLE.ttf read)java.security.AccessControlException) 所以我认为在applet上签名是个好主意,

我试图编写一个小程序,能够创建一个嵌入字体的PDF。 只要不在JAR文件中,一切都可以工作

下面的代码部分显示了我首先创建AWT字体(无论是否存储在JAR文件中,它都可以正常工作)。 然后我想注册一个iText(5.0.3)字体。但是错误来了:
拒绝访问(java.io.FilePermission http:\host\jarfile\font\EXAMPLE.ttf read)java.security.AccessControlException)

所以我认为在applet上签名是个好主意,但没有效果。出现相同的错误消息。 我是否做错了什么,或者这是一个无法停用的安全设置?(不更改JRE政策)

谢谢大家!! 丹尼尔

也许你可以试试:

Font javaFont=Font.createFont(Font.TRUETYPE\u Font,新文件输入流(“Font/EXAMPLE.ttf”)

private String font = "fonts/EXAMPLE.ttf";

/* iText font */
private Font pdfFont;

/* AWT font */
private java.awt.Font javaFont;

private DefaultFontMapper mapper = new DefaultFontMapper();

javaFont = java.awt.Font.createFont(java.awt.Font.TRUETYPE_FONT, getClass().getResourceAsStream(font));

FontFactory.register(getClass().getClassLoader().getResource(font).getPath(), javaFont.getFontName());
pdfFont = FontFactory.getFont(javaFont.getFontName(), BaseFont.IDENTITY_H, BaseFont.EMBEDDED, 40);

/* Map the fonts */
BaseFontParameters params = new BaseFontParameters(font);
params.encoding = BaseFont.IDENTITY_H;
params.embedded = true;
mapper.putName(javaFont.getFontName(), params);