mupdf:更改加密时无法进行增量写入

问题描述

我正在尝试使用 fitz 包将目录添加到 pdf 中。

这是我的脚本

doc = fitz.open(path)
bookmarks = [[1,'INTRODUCTION',1],[1,'MANUSCRIPT COMPONENTS','MULTIMEDIA figURES – VIDEO AND AUdio FILES',2],'MATHEMATICAL EQUATIONS',3],'USING THIS TEMPLATE AND ITS AUTOMATIC FORMATTING',3]]
doc.setToC(bookmarks) # o/p -> 5
doc.save(doc.name,incremental=True) # to save the document with added bookmarks/table of contents
# above line gives the error

这是堆栈跟踪

>>> doc.save(doc.name,incremental=True)
mupdf: Can't do incremental writes when changing encryption
Traceback (most recent call last):
  File "<stdin>",line 1,in <module>
  File "E:\BookmarkPDF\pdfenv\lib\site-packages\fitz\fitz.py",line 4270,in save
    return _fitz.Document_save(
RuntimeError: Can't do incremental writes when changing encryption

解决方法

使用较低版本的 PYmuPDF 解决了它。 pip 安装 PyMuPDF==1.14.20