如何在iText XMLWorker中摆脱Helvetica?

如何在iText XMLWorker中摆脱Helvetica?,第1张

如何在iText XMLWorker中摆脱Helvetica?

我已经挖得更深一些,并专程从

OrderedUnorderedList
过度
ListItem
List

@Overridepublic boolean add(final Element o) {    if (o instanceof ListItem) {        ListItem item = (ListItem) o;        if (this.numbered || this.lettered) { Chunk chunk = new Chunk(this.preSymbol, this.symbol.getFont()); chunk.setAttributes(this.symbol.getAttributes()); int index = this.first + this.list.size(); if ( this.lettered )     chunk.append(RomanAlphabetFactory.getString(index, this.lowercase)); else     chunk.append(String.valueOf(index)); chunk.append(this.postSymbol); item.setListSymbol(chunk);        }        else { item.setListSymbol(this.symbol);        }        item.setIndentationLeft(this.symbolIndent, this.autoindent);        item.setIndentationRight(0);        return this.list.add(item);    }    else if (o instanceof List) {        List nested = (List) o;        nested.setIndentationLeft(nested.getIndentationLeft() + this.symbolIndent);        this.first--;        return this.list.add(nested);    }    return false;}

这段代码指的

this.symbol.getFont()
是在类初始化时将其设置为undefined …

public class List implements TextElementArray, Indentable {    [...]        protected Chunk symbol = new Chunk("- ");

我只是简单地使用了另一个

Chunk
构造函数,该构造函数具有
Font
我的想法,所以… …已 解决 。编号列表不再使用
Helvetica, 而是正确嵌入了我自己的字体。

这花了我很长时间!另一种方法可能是为其实现自己的TagProcessor,

<ol>
但是我们没有时间了。我将为此提交一个错误报告…我们将看看它是否更灵活地解决了。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5135076.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存