Java 我能否仅使用输入在iText中生成超级脚本?

Java 我能否仅使用输入在iText中生成超级脚本?,java,pdf,itext,Java,Pdf,Itext,我参与了一个使用iText生成pdf文件的项目。我想生成上标文本,我知道存在将文本块转换为上标的方法,但是,我的情况是,需要根据输入来决定一段文本是否应该上标。最佳解决方案如下:2nd生成文本“2nd” 这是可能的吗 值得注意的是,我没有直接针对iText编写代码,它们之间有层。这就是为什么我需要决定什么是上标,而不是基于输入。如果您不能修改使用iText的代码,那么不,没有办法。iText不会解析放入块中的文本 为了获得与您想要实现的类似的行为,您需要进行HTML到PDF的转换,例如使用iTe

我参与了一个使用iText生成pdf文件的项目。我想生成上标文本,我知道存在将文本块转换为上标的方法,但是,我的情况是,需要根据输入来决定一段文本是否应该上标。最佳解决方案如下:
2nd
生成文本“2nd”

这是可能的吗


值得注意的是,我没有直接针对iText编写代码,它们之间有层。这就是为什么我需要决定什么是上标,而不是基于输入。

如果您不能修改使用iText的代码,那么不,没有办法。iText不会解析放入
块中的文本

为了获得与您想要实现的类似的行为,您需要进行HTML到PDF的转换,例如使用iText的伴奏。

当您找到一个
标记时,您只需创建一个具有正确属性的块:

public Chunk addSuperscript(String text) {
  float leading = determineCurrentLeading();
  Font f = determineCurrentFont();
  Font supFont = new Font(f);
  supFont.setSize(f.getSize() / 2f);
  Chunk c = new Chunk(text, supFont);
  c.setTextRise(leading / 2f);
  return c;
}
然后区块将被添加到一个段落,一个PdfPCell,。。。根据您的实现,您可以确定当前使用的前导和字体


希望这对您有所帮助。

unicode字符呢?是否可以插入它们以将特定字符显示为上标?还是这里的情况相同?