首页 > 解决方案 > 在 Java 中将坐标从 React 转换为 iText

问题描述

我有一个 react 应用程序,它使用 mozilla 中的 pdf.js 突出显示单词或句子并向突出显示的部分添加注释。

他们正在将突出显示部分的坐标发送到 java 服务。从 java 方面,我们需要使用 iText 对 pdf 进行实际突出显示和添加注释。

这里的问题是,在 pdf.js 中,坐标是从屏幕的左上角计算的(即 0,0 从屏幕的左上角开始),而在 iText 中,坐标是从屏幕的左下角计算的。

那么有人可以告诉我如何将 pdf.js 给出的坐标映射到 iText 坐标系中,因为直接使用从 UI 传递的坐标不会在 pdf 中给出正确的突出显示区域?

标签: javareactjsitext

解决方案


这不是一个编码问题,而是一个(简单的)数学问题。

float[] convertCoords(float[] pdfJsCoords){
    float x = pdfJsCoords[0];
    float y = pdfJsCoords[1];
    return new float[]{x, pagesize.height - y};
}

推荐阅读