7

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

4

1 回答 1

8

这里有两个基本的想法

案例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()

至于部分,你可以看看这个答案

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

从此Acrobat 帮助文档中,您可以将其传递给子进程:

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=wordListwherewordlist是由空格分隔的单词列表。文档将被打开并执行搜索,它的第一个结果被突出显示。这样,作为一个wordlist,你可以尝试把部分的名称。

于 2012-04-04T16:11:24.873 回答