是否可以从Python中打开pdf,使其转到特定的页面或部分?我想的是让它打开一个帮助文件(pdf)并跳转到请求帮助的部分。
答案 0 :(得分:5)
以下是两个基本想法
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
从这个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
,您可以尝试输入该部分的名称。