我遇到了与here所述相同的问题,即在我生成的pdf文档中输出€符号。在从数据库中检索数据之后应该追加欧元符号,在这种情况下提供的解决方案不是很有用,我尝试使用这一行,以便我可以在任何我想要的地方使用变量euroToPDF
:
Encoding e = EncodingManager.INSTANCE.getEncoding(COSName.WIN_ANSI_ENCODING);
String euroToPDF = String.valueOf(Character.toChars(e.getCode(e.getCharacter(128))));
但应用程序抛出IOException,说No character code for character name '€'
,有人知道如何解决这个问题吗?
答案 0 :(得分:1)
如果您使用的是PDF格式的v2,则应在输出的字符串中使用€符号,而不尝试转换编码。
在v1.8中你可以使用一个技巧:
contentStream.beginText();
contentStream.setTextMatrix(100, 0, 0, 100, 50, 100);
contentStream.setFont(PDType1Font.HELVETICA, 8);
byte[] commands = "(x) Tj ".getBytes();
commands[1] = (byte) 128;
contentStream.appendRawCommands(commands);
contentStream.endText();
contentStream.close();