合并时PyPDF2抛出错误(Python3.3 / Win7)

时间:2013-02-27 10:11:34

标签: python pdf pypdf

我正在使用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进行全新安装并得到同样的错误。

有什么奇怪的是merger.py在我的XP安装和Win7之间有很大不同,但是我找不到对早期版本的PyPDF2的引用,我不记得我从哪里下载了那个版本,尽管我做了知道它是在2012年12月18日。从那时我可以看到PyPDF2没有更新。

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

有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

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

创建流

示例:

import io
.
.
.
.
outputStream = io.FileIO('c:\example.pdf', 'wb')