【发布时间】:2020-11-17 02:25:53
【问题描述】:
我一直在使用 PyPdf2 创建一个 Python 程序来合并多个 pdf 文件。
这里是代码
import os
from PyPDF2 import PdfFileMerger
source_dir = os.getcwd()
merger = PdfFileMerger()
for item in os.listdir(source_dir):
if item.endswith('pdf'):
merger.append(item)
merger.write('completed_file.pdf')
merger.close()
在运行代码时遇到以下错误:-
Traceback (most recent call last):
File "F:\Python folder\Pdf_Merger\main.py", line 10, in <module>
merger.append(item)
File "F:\Python folder\Pdf_Merger\venv\lib\site-packages\PyPDF2\merger.py", line 203, in append
self.merge(len(self.pages), fileobj, bookmark, pages, import_bookmarks)
File "F:\Python folder\Pdf_Merger\venv\lib\site-packages\PyPDF2\merger.py", line 151, in merge
outline = pdfr.getOutlines()
File "F:\Python folder\Pdf_Merger\venv\lib\site-packages\PyPDF2\pdf.py", line 1362, in getOutlines
outline = self._buildOutline(node)
File "F:\Python folder\Pdf_Merger\venv\lib\site-packages\PyPDF2\pdf.py", line 1444, in _buildOutline
outline = self._buildDestination(title, dest)
File "F:\Python folder\Pdf_Merger\venv\lib\site-packages\PyPDF2\pdf.py", line 1425, in _buildDestination
return Destination(title, page, typ, *array)
File "F:\Python folder\Pdf_Merger\venv\lib\site-packages\PyPDF2\generic.py", line 1065, in __init__
raise utils.PdfReadError("Unknown Destination Type: %r" % typ)
PyPDF2.utils.PdfReadError: Unknown Destination Type: 0
Process finished with exit code 1
注意 - 我确保没有任何 pdf 文件受到密码保护。
【问题讨论】:
-
欢迎来到 SO。尝试打印出物品,看看它窒息了哪个物品。
-
我已经尝试过在 merge.append(item) 之后使用 print(item) 并且我收到了第一个文件的名称,它在第二次循环时抛出错误。
-
这可能对你有帮助:github.com/mstamy2/PyPDF2/issues/193
标签: python python-3.x exception pypdf2 pypdf