我们部门继承了使用Apache PDFBox 1.8.x或更早版本的代码,我们正在尝试将其迁移到Apache PDFBox 2.0.x.我有最后三个主要版本(1.7.x,1.8.x和2.0.x)的版本,我们一直在寻找指导以及Migration to PDFBox 2.0.0和PDFBox Jira Board。
我已解决了此迁移中的许多问题,但我仍然无法迁移某些与TextPosition相关的代码。该项目最初分叉TextPosition代码并为所有内部TextPosition字段创建setter / getters。我意识到这打破了TextPosition(就像Java String)不可变的契约,所以我把所有这些都拉了出来。我们仍然有一些代码依赖于endX / endY字段,但是这些字段没有本机getter,它们被标记为私有,因此子类甚至无法访问这些字段。 是否有关于如何访问endX / endY值的建议?
此外,与TextPostion相关,看起来PostionWrapper类在2.0.x上被删除,但我找不到任何替代它的引用。 我们应该使用什么代替PositionWrapper?
答案 0 :(得分:0)
@Tilman已将endX
和endY
(以及更多值)的吸气剂添加到PDFBox中,从而解决了此问题;有关详细信息,请参见由OP创建的PDFBox问题PDFBOX-3576。从PDFBox 2.0.5版开始可以使用新的吸气剂。
OP的另一种选择是通过反射访问成员。但是,可能不允许在所有情况下进行反思,并且现在成为公共API一部分的成员不太可能随着时间的流逝而中断。