| | |
| | | TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber(srcText); |
| | | PageCollection pages = pdfDoc.getPages(); |
| | | pages.accept(textFragmentAbsorber); |
| | | if (srcText.equals("1300.89")){ |
| | | System.out.println(111); |
| | | } |
| | | |
| | | for (TextFragment textFragment : textFragmentAbsorber.getTextFragments()) { |
| | | // 计算替换前后文本长度差异 |
| | | int lengthDifference = targetText.length() - srcText.length(); |
| | | // 如果差异为正数,则需要向左移动 X 坐标 |
| | | if (lengthDifference > 0) { |
| | | // 计算位移量,根据需求自行调整 |
| | | float displacement = lengthDifference * 3; |
| | | // 调整 X 坐标 |
| | | textFragment.setPosition(new Position(textFragment.getPosition().getXIndent() - displacement, textFragment.getPosition().getYIndent())); |
| | | } |
| | | |
| | | textFragment.setText(targetText); |
| | | textFragment.getTextState().setFont(FontRepository.findFont(fontName)); |
| | | } |
| | |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | } |