如何在Python 3中使用PyPDF2计算边界框

3 投票
1 回答
2459 浏览
提问于 2025-04-17 20:46

这个问题是关于在Python 3中使用PyPDF2的。

ghostscript似乎能够有效地计算PDF页面内容的边界框,方法如下:

gs -dBATCH -dSAFER -dNOPAUSE -sDEVICE=bbox document1.pdf

上面例子中返回的结果看起来是正确的,结果是:

GPL Ghostscript 9.10 (2013-08-30)
Copyright (C) 2013 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 1.
Page 1
%%BoundingBox: 88 525 521 718
%%HiResBoundingBox: 88.145997 525.401984 520.397984 717.533978

我的问题是,PyPDF能否计算边界框?如果可以的话,能否提供一些指导?我已经努力查找,但到目前为止还没有找到方法。

我可以通过PyPDF2获取mediaBox、cropBox、artBox和trimBox的坐标,但这些似乎与边界框没有直接关系。

1 个回答

4

你提到的那些框框是和页面对象有关的。PyPDF2这个工具可以让你查看和修改这些框框的坐标。

你说得对,边界框(bounding boxes)是没有关系的;一页上可能没有边界框,也可能有很多个。我觉得每个边界框代表的是一个图形、字体等的区域,而不是整页的内容。

回答你的问题,PyPDF2现在还不能直接获取边界框的坐标。不过,这个功能是值得考虑的。

pyPdf以及它的延伸版本PyPDF2,更关注的是页面的操作,而不是特定内容的提取。不过,这是我们会考虑开发的一个概念!

撰写回答