Python - 打开特定页面/部分的pdf文件

时间:2012-04-04 15:42:58

标签: python pdf

是否可以从Python中打开pdf,使其转到特定的页面或部分?我想的是让它打开一个帮助文件(pdf)并跳转到请求帮助的部分。

1 个答案:

答案 0 :(得分:5)

以下是两个基本想法

案例1:你想用Python打开文件

from pyPdf import PdfFileReader, PageObject

pdf_toread = PdfFileReader(path_to_your_pdf)

# 1 is the number of the page
page_one = pdf_toread.getPage(1)

# This will dump the content (unicode string)
# According to the doc, the formatting is dependent on the
# structure of the document
print page_one.extractText()

至于该部分,您可以查看此answer

案例2:您想调用acrobat在特定页面打开文件

从这个Acrobat help document,您可以将其传递给子流程:

import subprocess
import os

path_to_pdf = os.path.abspath('C:\test_file.pdf')
# I am testing this on my Windows Install machine
path_to_acrobat = os.path.abspath('C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe') 

# this will open your document on page 12
process = subprocess.Popen([path_to_acrobat, '/A', 'page=12', path_to_pdf], shell=False, stdout=subprocess.PIPE)
process.wait()

只是一个建议:如果要在特定部分打开文件,可以使用参数search=wordList,其中wordlist是由空格分隔的单词列表。将打开文档并执行搜索,突出显示其第一个结果。这样,作为wordlist,您可以尝试输入该部分的名称。