标签: pypdf2

如何从Anaconda中删除URL频道?

最近我需要使用Anaconda将PyPdf2安装到我的一个程序中.不幸的是,我失败了,但是添加到Anaconda环境的URL禁止更新所有Conda库.每当我尝试更新anaconda时,它都会提供以下信息

conda update conda
Using Anaconda Cloud api site https://api.anaconda.org
Fetching package metadata ..........Error: Invalid index file: https://pypi.python.org/pypi/PyPDF2/1.26.0/win-64/repodata.json: No JSON object could be decoded
Run Code Online (Sandbox Code Playgroud)

我键入命令conda info以查看导致错误的原因,我发现许多指向PyPdf2的URL!

简单地说,我想从anaconda的频道URL中删除所有这些URL,我该怎么办?无论是手动还是自动.

注意:我已经卸载了Anaconda,并重新安装,但没有运气!

C:\WINDOWS\system32>conda info
Using Anaconda Cloud api site https://api.anaconda.org
Current conda install:

             platform : win-64
        conda version : 4.1.6
    conda-env version : 2.5.1
  conda-build version : 1.21.3
       python version : 2.7.12.final.0
     requests version : 2.10.0
     root environment : C:\Anaconda2  (writable)
  default environment : C:\Anaconda2
     envs directories : C:\Anaconda2\envs
        package cache : …
Run Code Online (Sandbox Code Playgroud)

python channel anaconda pypdf2

25
推荐指数
3
解决办法
3万
查看次数

如何检查PDF是扫描图像还是包含文本

我有大量文件,其中一些是扫描图像为 PDF,一些是完整/部分文本 PDF。

有没有办法检查这些文件,以确保我们只处理扫描图像的文件,而不是完整/部分文本 PDF 文件?

环境:Python 3.6

python python-3.x pdf-extraction pdfminer pypdf2

21
推荐指数
7
解决办法
2万
查看次数

在python中使用PyPDF2合并pdf文件时找不到EOF标记

当我使用以下代码时

from PyPDF2 import PdfFileMerger

merge = PdfFileMerger()

    for newFile in nlst:
        merge.append(newFile)
    merge.write('newFile.pdf')
Run Code Online (Sandbox Code Playgroud)

事情发生如下:

raise utils.PdfReadError("EOF marker not found")

PyPDF2.utils.PdfReadError: EOF marker not found
Run Code Online (Sandbox Code Playgroud)

谁能告诉我发生了什么?谢谢

python pdf pypdf2

11
推荐指数
2
解决办法
2万
查看次数

PyPDF2 的维护替代品

我正在使用该PyPDF2库从 pdf 文档中提取文本、图像、页面宽度和高度、注释和其他属性。但是,该库有许多错误和问题,并且似乎已经很久没有维护了。

  • 有没有更生动的fork正在维护和开发?
  • 有没有好的替代方案?

据我所知,reportlab更适合创建全新的 pdf(或者我对 reportlab 的经验不够)。

python pdf pypdf2

10
推荐指数
2
解决办法
2429
查看次数

PyPdf2具有相同名称的嵌套书签不起作用

当您尝试使用相同名称嵌套多个书签时,PyPdf2不会将其考虑在内.下面是自包含的python代码来测试我的意思(你需要在工作文件夹中有3个名为a,b和c的pdf文件来测试它)

from PyPDF2 import PdfFileReader, PdfFileMerger

def main():

merger = PdfFileMerger()
pagenum = 0
firstOne = True
for file in ["a.pdf","b.pdf","c.pdf"]:
    print("next row")
    pdf = PdfFileReader(open(file,"rb"))
    merger.append(pdf)
    if firstOne:
        child = merger.addBookmark(title="blabla",pagenum=1)
        firstOne = False
    else:
        child = merger.addBookmark(title="blabla",pagenum=1, parent=child)

merger.write("test.pdf")        

if __name__ == "__main__":
   main()
Run Code Online (Sandbox Code Playgroud)

我希望得到的pdf有三层嵌套书签

blabla
    blabla
        blabla
Run Code Online (Sandbox Code Playgroud)

但我得到了

blabla
    blabla
    blabla
Run Code Online (Sandbox Code Playgroud)

有什么方法可以确保不会发生这种情况?

编辑:我已删除pagenum变量,因为我希望这3个书签指向同一页面.

python pdf bookmarks pypdf pypdf2

9
推荐指数
1
解决办法
626
查看次数

PyPDF2写入对某些PDF文件不起作用(Python 3.5.1)

首先我使用的是Python 3.5.1(32位版本)我编写了以下程序,使用PyPDF2和reportlab在我的pdf文件的所有页面上添加页面编号:

#import modules
from os import listdir
from PyPDF2 import PdfFileWriter, PdfFileReader
import io
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4
#initial values of variable declarations
PDFlist=[]
X_value=460
Y_value=820
#Make a list of al files in de directory
filelist = listdir()
#Make a list of all pdf files in the directory
for i in range(0,len(filelist)):
    filename=filelist[i]
    for j in range(0,len(filename)):
        char=filename[j]
        if char=='.':
            extension=filename[j+1:j+4]
            if extension=='pdf':
                PDFlist.append(filename)
        j=j+1
    i=i+1
# Give the horizontal position for the page number …
Run Code Online (Sandbox Code Playgroud)

python pdf reportlab python-3.x pypdf2

9
推荐指数
2
解决办法
3495
查看次数

如何在 python 3 中使用 PDFminer.six?

我想使用 pdfminer.six 这是一个工具,可以与 Python3 一起用于从 PDF 文档中提取信息。问题是根本没有好的文档,也没有关于如何使用该工具的源代码示例。

我已经尝试过 StackOverflow 中的一些代码,但没有奏效。下面是我的代码。

from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from io import StringIO

def convert_pdf_to_txt(path):
    rsrcmgr = PDFResourceManager()
    retstr = StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
    fp = open(path, 'rb')
    interpreter = PDFPageInterpreter(rsrcmgr, device)
    password = ""
    maxpages = 0
    caching = True
    pagenos=set()

    for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True):
        interpreter.process_page(page)

    text = retstr.getvalue()

    fp.close()
    device.close()
    retstr.close()
    return …
Run Code Online (Sandbox Code Playgroud)

python-3.x pdfminer pypdf2

9
推荐指数
1
解决办法
2万
查看次数

使用PyPDF2检查页面是否垂直?

有没有办法检查使用PyPDF2查看PDF页面是否垂直?

理想情况下,会有pdfReader.getPage(0).isVertical()返回true或的方法false,但我在PageObject文档中找不到任何内容

我正在尝试在PDF的第一页顶部合并水印,但只有在PDF处于垂直方向时它才会看起来正确.

希望做到以下几点.

if (not (pdfReader.getPage(0).isVertical())):
    pdfReader.getPage(0).rotateClockwise(90)
Run Code Online (Sandbox Code Playgroud)

pdf python-3.x pypdf2

8
推荐指数
1
解决办法
431
查看次数

仅支持算法代码 1 和 2

我想阅读pdf文件。这是一个带有密码(256 位 AES 加密)的 book.pdf。我知道一个密码。我正在使用 Jupyter Notebook。

我收到一个错误:

import PyPDF2
pdfReader = PyPDF2.PdfFileReader(open('book.pdf', 'rb'))
pdfReader.decrypt('333')
pdfReader.getPage(0)


---------------------------------------------------------------------------
 NotImplementedError                       Traceback (most recent call last)
 <ipython-input-12-7dd54b6a760a> in <module>()
  1 import PyPDF2
  2 pdfReader = PyPDF2.PdfFileReader(open('book.pdf', 'rb'))
  ----> 3 pdfReader.decrypt('333')
  4 pdfReader.getPage(0)

 c:\users\a\programs\python\python36-32\lib\site-packages\PyPDF2\pdf.py in 
 decrypt(self, password)
 1985         self._override_encryption = True
 1986         try:
 -> 1987             return self._decrypt(password)
 1988         finally:
 1989             self._override_encryption = False

 c:\users\a\python\python36-32\lib\site-packages\PyPDF2\pdf.py in 
_decrypt(self, password)
1994             raise NotImplementedError("only Standard PDF encryption 
handler is available")
1995         if not (encrypt['/V'] in (1, 2)):
-> …
Run Code Online (Sandbox Code Playgroud)

python pypdf2

8
推荐指数
1
解决办法
7293
查看次数

PyPDF2 提取空文本:Python3

我正在使用 PyPDF2 从 pdf 中提取文本。我在谷歌中找到的所有示例看起来都像我的代码:

import PyPDF2

    pl = open('test2.pdf', 'rb')
    plread = PyPDF2.PdfFileReader(pl)
    getpage1 = plread.getPage(0)
    text1 = getpage1.extractText()
    print(text1.encode('utf-8'))
Run Code Online (Sandbox Code Playgroud)

但是,我的控制台中有空文本:

''

这段代码我已经针对不同的 pdf 进行了测试,并且所有 pdf 都是空的

更新:

# getDocumentInfo
{'/Producer': 'Skia/PDF m75'}
Run Code Online (Sandbox Code Playgroud)

文件pdf

python pypdf2

8
推荐指数
1
解决办法
5000
查看次数