账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    浏览器预览图的坐标如何映射到PDF文件中的坐标
    47
    0

    我现在有一份PDF文件,通过PDFBox渲染成每页一张的图片

    // load pdf and save image
    try (PDDocument document = PDDocument.load("some file")) {
        PDFRenderer render = new PDFRenderer(document);
        BufferedImage scaledImage = render.renderImageWithDPI(pageIndex, 326);
        // save image
    }

    这一步保存的图片将会在浏览器里面预览,用户可以拖放图片到这个预览图中,然后我映射这个坐标到真实的PDF中,但是总是有一定的误差,下面是我的映射方式:

    1. 取得预览图在浏览器的width,height,取得拖放图片的在预览图中左上角的x,y
    2. 后端取得PDF实际的width,height,然后计算与预览图的宽比例,高比例,最终得出拖放图片在PDF中的左上角x,y
    3. 因PDF中的坐标原点是文档左下角,所以最终的x,y计算公式是:

      • x: float targetX = (previewX 1.0F / previewWidth) pdfPageWidth;
      • y: float targetY = pdfPageHeight - (previewY 1.0F / previewHeight) pdfPageHeight - dragImageHeight
    4. 根据上一步计算的x,y在这页PDF中画出了这个图,但是有误差,而且误差很明显,请问我该如何做呢?

    参考文档

    1. PDF坐标系统
    2. PDF开发+电子签章
    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部