Java:获取pdf中某一页的宽度和高度

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

一、背景介绍

二、用Java中的方法

三、用Python中的方法

总结


提示:以下是本篇文章正文内容,下面案例可供参考

一、背景介绍

金融业务,经常会涉及到合同盖章,那么盖章的时候就需要知道位置信息。比如第几页,X坐标,Y坐标。那么如果给出的坐标超出了范围,就会导致章盖不成功,那么我们怎么才能知道这个pdf文件中某一页的XY坐标呢?

二、用Java中的方法

Maven依赖:

复制代码
<dependency>
    <groupId>org.apache.pdfbox</groupId>
    <artifactId>pdfbox</artifactId>
    <version>2.0.8</version>
</dependency>

示例代码:

复制代码
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;


public void 输出pdf页面横纵坐标范围() {
        String pdfPath = "C:\\Users\\86185\\Desktop\\951bb404d7ae4bc0b0152255a6d79c59.pdf";
        try (PDDocument document = PDDocument.load(new File(pdfPath))) {
            PDPage page = document.getPage(1);
            float width = page.getMediaBox().getWidth();
            float height = page.getMediaBox().getHeight();
            System.out.println("页面宽度:" + width);
            System.out.println("页面高度:" + height);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

三、用Python中的方法

代码示例:

python 复制代码
import PyPDF2

def get_page_dimensions(pdf_path, page_number):
    with open(pdf_path, 'rb') as file:
        reader = PyPDF2.PdfFileReader(file)
        if page_number < 1 or page_number > reader.numPages:
            return None
        page = reader.getPage(page_number - 1)
        width = page.mediaBox.getWidth()
        height = page.mediaBox.getHeight()
        return width, height

pdf_path = 'your_pdf_file.pdf'
page_number = 1

dimensions = get_page_dimensions(pdf_path, page_number)
if dimensions:
    print("页面宽度:", dimensions[0])
    print("页面高度:", dimensions[1])
else:
    print("无效的页码")

总结

各种工具类的使用,重在积累,不难,但是要找一翻。

相关推荐
汤姆宝库2 小时前
法考历年真题及答案解析合集pdf版(2002-2025年)
pdf·法考
优化控制仿真模型3 小时前
2026【英一】考研英语一历年真题及答案解析PDF电子版(1980-2025年)
考研·pdf
云月呀1 天前
《死亡回忆录》藏汉双语版电子版 PDF,穆迪博士 150 例濒死体验访谈,一部关于生死的温柔读本
pdf·死亡回忆录
xiaolinudao1232 天前
给pdf文件盖骑缝章的软件有哪些
pdf
hu55667982 天前
如何使用Adobe Acrobat Pro DC将1页PDF切割为2页,A3变A4打印。
pdf
ComPDFKit2 天前
PDF转Word后,每行都成一段?先分清断段、文本框和扫描页
pdf·word
Nymph_Zhu2 天前
pdf转换markdown预览及内容互相点击定位
前端·pdf·vue3·markdown·element-plus
web打印社区2 天前
Lodop在Edge和双核浏览器-先分清内核
前端·javascript·edge·pdf·ecmascript·html5
是店小二呀2 天前
敏感PDF不想上传陌生网站?我把Stirling-PDF装进NAS自己处理
pdf
liuchangng2 天前
React 19 + Vite 6 实战:从教材 PDF 到 866 词间隔重复单词 App
前端·react.js·pdf·vite·开源项目