已弃用的名称#

原始的方法和属性命名约定是“camelCase”。自 PyMuPDF 在 2013 年左右创建以来,其功能已大幅增加,随之而来的是类、方法和属性的相应增加。在太多情况下,这导致了不直观、不合逻辑且难看的名称,难以记住或猜测。

因此,在几个版本前,我决定调整策略,切换到“snake_cased”命名标准。这是一项重大的努力,需要逐步进行。我认为现在(版本 1.18.14)已经完成了。

以下列表将已弃用的名称映射到它们的新版本。例如,属性 pageCountDocument 类中变成了 page_count。还有一些不太明显的名称变更,例如方法 getPNGdataPixmap 类中被重命名为 tobytes

类的名称(camel case)和包范围内的常量(大部分是全大写)保持不变。

旧名称将通过 MuPDF 1.19.0 版本作为已弃用的别名继续可用,并在其后的版本中**移除**,可能是 1.20.0 版本,但这取决于上游(MuPDF)的决定。

从版本 1.19.0 开始,当我们使用已弃用的别名方法时,将在 sys.stderr 上发出已弃用警告,例如 Deprecation: 'newPage' removed from class 'Document' after v1.19.0 - use 'new_page'.。使用已弃用属性不会引起此类警告。

立即生效的是,所有已弃用对象(方法和属性)将显示原始文档字符串的副本,并在其**前面添加**弃用消息,例如

>>> print(pymupdf.Document.pageCount.__doc__)
*** Deprecated and removed in version following 1.19.0 - use 'page_count'. ***
Number of pages.
>>> print(pymupdf.Document.newPage.__doc__)
*** Deprecated and removed in version following 1.19.0 - use 'new_page'. ***
Create and return a new page object.

    Args:
        pno: (int) insert before this page. Default: after last page.
        width: (float) page width in points. Default: 595 (ISO A4 width).
        height: (float) page height in points. Default 842 (ISO A4 height).
    Returns:
        A Page object.

有一个实用脚本 alias-changer.py 可用于在您的脚本中进行批量重命名。它接受单个文件或文件夹作为参数。如果提供文件夹,则会更改其所有 Python 文件及其子文件夹中的文件。可选地,可以备份脚本。


本软件按“原样”提供,不附带任何明示或暗示的保证。本软件在许可下分发,除非该许可条款明确授权,否则不得复制、修改或分发。请参阅 artifex.com 上的许可信息,或联系 Artifex Software Inc., 39 Mesa Street, Suite 108A, San Francisco CA 94129, United States 以获取更多信息。