1

我正在使用 PyPDF2 进行 PDF 的简单合并。我在 XP/Python 3.2 上编写了代码,它运行良好。当我将它移至 Win7-64bit/Python 3.3 并使用最新的 PyPDF2 发行版 ( https://github.com/knowah/PyPDF2/ ) 时,将 PDF 附加到合并对象时会引发以下错误:

Traceback (most recent call last):
  File "C:\PDFs\pdfmerge2.py", line 103, in <module>
    count=merge_and_check(l_batch_files)
  File "C:\PDFs\pdfmerge2.py", line 47, in merge_and_check
    merger.append(pf)
  File "C:\Python33\lib\site-packages\PyPDF2\merger.py", line 168, in append
    self.merge(len(self.pages), fileobj, bookmark, pages, import_bookmarks)
  File "C:\Python33\lib\site-packages\PyPDF2\merger.py", line 97, in merge
    elif type(fileobj) == file:
NameError: global name 'file' is not defined

我尝试使用 Python 3.2 进行全新安装并得到相同的错误。

奇怪的是,merge.py 在我的 XP 安装和 Win7 之间非常不同,但我找不到对 PyPDF2 早期版本的引用,我不记得我从哪里下载了那个版本,虽然我知道它是2012 年 12 月 18 日。据我所知,从那时到现在,PyPDF2 没有任何更新。

Win7 上的安装使用标准的“python setup.py build”然后“安装”。

有任何想法吗?

4

1 回答 1

-1

尝试导入 io 模块,然后使用方法 FileIO() 创建流

例子:

import io
.
.
.
.
outputStream = io.FileIO('c:\example.pdf', 'wb')
于 2013-04-04T13:55:43.580 回答