2010-10-04 70 views
2

使用pypdf Python模塊如何閱讀下列PDF文件http://www.envis-icpe.com/pointcounterpointbook/Hindi_Book.pdfpypdf蟒蛇工具

# -*- coding: utf-8 -*- 
from pyPdf import PdfFileWriter, PdfFileReader 
import pyPdf 

def getPDFContent(path): 
    content = "" 
    # Load PDF into pyPDF 
    pdf = pyPdf.PdfFileReader(file(path, "rb")) 
    # Iterate pages 
    for i in range(0, pdf.getNumPages()): 
     # Extract text from page and add to content 
     content += pdf.getPage(i).extractText() + "\n" 
    # Collapse whitespace 
    content = " ".join(content.replace(u"\xa0", " ").strip().split()) 
    return content 

print getPDFContent("/home/tom/Desktop/Hindi_Book.pdf").encode("ascii", "xmlcharrefreplace") 

上面只打印二元

以及如何從下面的代碼

from pyPdf import PdfFileWriter, PdfFileReader 
import sys 
import pyPdf 

from pyPdf import PdfFileWriter, PdfFileReader 

output = PdfFileWriter() 
input1 = PdfFileReader(file("/home/tom/Desktop/Hindi_Book.pdf", "rb")) 

# print the title of document1.pdf 
print "title = %s" % (input1.getDocumentInfo().title) 
+0

請更正第一個示例中最後一行的縮進。 – Steven 2010-10-04 14:07:54

回答

1
打印內容

請注意,您提到的大多數pdf文檔的「文本」根本不是真文本:它主要是圖像。當我嘗試它時,實際的文本似乎被正確提取(儘管我必須承認,除了頭版和頁碼上的一些片段,我無法讀取它;-))。

至於第二個問題:我不確定你在那裏問什麼。

0

如果你想寫從PDF文件,你可以使用exctractText(),如下特定的文字:

from path_to_folder import main_path as my_text 
import os 
from PyPDF2 import PdfFileReader 

my_pdf_path = os.path.join(my_text, "my_pdf.pdf") 

with open(os.path.join(my_text, "out_put.txt"), 'w') as out_text: 
    pdf_read = PdfFileReader(open(my_pdf_path, "rb")) 
    out_text.write(pdf_read.getDocumentInfo().title) 
    for pages in range(pdf_read.getNumPages()): 
     text = pdf_read.getPage(pages).extractText() 
     out_text.write(text) 

在上面的例子中我剛剛從每一頁中提取文本,並寫道,該文本文件。你可以選擇任何東西。 如果你需要採取PDF格式,你可以使用下面的代碼的特定頁面:

from pyPdf import PdfFileWriter, PdfFileReader 
import os, sys 
main_path = "/home/tom/Desktop/" 
output_file = PdfFileWriter() 
input_file = PdfFileReader(file("/home/tom/Desktop/Hindi_Book.pdf", "rb")) 
for page_number in range(input_file.getNumPages()): 
    output_file.addPage(input_file.getPage(page_number)) 

new_file = os.path.join(main_path, "Out_folder/new_pdf.pdf") 
out_fil1 = open(new_file, "wb") 
output_file.write(out_fil1) 
output_file.close() 

您提供不工作的聯繫,這就是爲什麼我不能看文件遺憾。