Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.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 在Itext中添加带希伯来文字母的注释_Java_Itext - Fatal编程技术网

Java 在Itext中添加带希伯来文字母的注释

Java 在Itext中添加带希伯来文字母的注释,java,itext,Java,Itext,使用以下命令添加注释时: PdfAnnotation.createFileAttachment(writer,null,null , null, , "שם קובץ", "שם קובץ"); 注释中的希伯来文字母未显示 有办法解决吗 您在代码中使用的是希伯来语字符。那不安全。请用unicode符号替换它们(您需要知道它们的unicode值;例如,\u00a0是不间断空格的值)。如果不这样做,编译器可能会错误地解释字符(请参阅给出的注释) 在我看来,方法中的参数数量不正确。我猜你在用 您使

使用以下命令添加注释时:

PdfAnnotation.createFileAttachment(writer,null,null , null,  , "שם קובץ", "שם קובץ");
注释中的希伯来文字母未显示

有办法解决吗

  • 您在代码中使用的是希伯来语字符。那不安全。请用unicode符号替换它们(您需要知道它们的unicode值;例如,
    \u00a0
    是不间断空格的值)。如果不这样做,编译器可能会错误地解释字符(请参阅给出的注释)
  • 在我看来,方法中的参数数量不正确。我猜你在用
  • 您使用的是一种“快捷”方法,该方法假定字符不是Unicode字符。请不要。使用创建
    PdfFileSpecification
    对象的方法,并使用unicode参数设置为
    true
    的方法,如
    setUnicodeDefileName()
    。这样,iText就知道应该将字符解释为Unicode字符
  • 您可能希望字符从右向左显示。我不知道PDF是否支持这一点。我浏览了ISO-32000-1并查看了表44(文件规范字典中的条目),但我所看到的是:Unicode文本字符串,提供7.11.2“文件规范字符串”中描述的格式的文件规范。这是一个使用PDFDocencode或UTF-16BE编码的文本字符串,带有前导字节顺序标记(如7.9.2.2中所定义,“文本字符串类型”)。如果想了解更多信息,您必须深入研究这些部分
  • 您将
    null
    作为
    矩形的值传递。这没有意义。是否确实要添加文件附件批注?根据您的代码,我假设您要添加文档级附件。操作如下:
    writer.addFileAttachment(fs);
    带有
    fs
    文件指定类的实例

  • 您是否检查了.java文件本身的编码?您是否尝试过将字符串放入外部文件,加载它们,然后添加它们?这可能会起作用,而且对于国际化来说也是一种更好的做法。