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擦除隐藏信息工具,空白处理需留意
运维·服务器·windows·pdf·迭代器模式·桥接模式·1024程序员节
2501_907136821 天前
word元数据批量修改与PDF转换工具
pdf·软件需求
halen3331 天前
Transform PDFs into Stunning Images with Free PDF to IMG!
pdf
开开心心_Every1 天前
局域网大文件传输,设密码双向共享易用工具
运维·服务器·网络·游戏·pdf·电脑·excel
开开心心就好1 天前
实用PDF批量加马赛克,抹除敏感信息绿色版
java·linux·开发语言·网络·人工智能·pdf·word2vec
github.com/starRTC2 天前
Claude Code中英文系列教程35:通过API使用Skills创建ppt,word文档和pdf
pdf·word·powerpoint·ai编程
开开心心_Every3 天前
剪切板工具存500条,可搜索备份导入导出
linux·运维·服务器·华为od·edge·pdf·华为云
疯狂敲代码的老刘3 天前
PDFSam Basic:轻量开源的 PDF 拆分合并利器
pdf·工具·pdf工具·pdfsam
开开心心_Every4 天前
在线看报软件, 22家知名报刊免费看
linux·运维·服务器·华为od·edge·pdf·华为云
开开心心就好4 天前
轻松加密文件生成exe,无需原程序解密
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节