首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >打开PDF到书签/指定目的地?

打开PDF到书签/指定目的地?
EN

Stack Overflow用户
提问于 2015-05-17 15:47:25
回答 1查看 1.5K关注 0票数 3

我正在尝试使用python打开一个指向特定书签的PDF。

到目前为止,我能够在命令提示符中运行以下命令,并得到我想要的内容(最后是PDF test.pdf中指定目的地的名称)

代码语言:javascript
运行
复制
"C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe" /A "nameddest=last" "C:\Users\User\Desktop\test.pdf"

但是,当我使用Python并尝试使用这样的子流程模块时:

代码语言:javascript
运行
复制
import subprocess
subprocess.call(['"C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe" /A "nameddest=last" "C:\\Users\\User\Desktop\test.pdf"'], shell=True)

我得到“文件名、目录名或卷标签语法不正确”。之前我尝试过的东西导致Adobe打开,但是给我一个具有相同消息的对话框

为什么当我在python中运行它时会发生什么变化?我怎么才能修好呢?

我在Windows 8上运行Anaconda2.1.0,并使用Acrobat 10创建目的地。我已经和python玩了2-3年了,但是我不知道比一个有一个学期入门编程课的人了解的更多。

EN

回答 1

Stack Overflow用户

发布于 2015-05-17 17:18:45

固定:

我是个笨蛋。

代码语言:javascript
运行
复制
"C:\\Users\\User\Desktop\test.pdf"

是无效路径,因为\test.pdf中的\t被解释为选项卡.它在将其添加到\test.pdf后工作。

稍后,为任何有相同问题的人编写代码:

代码语言:javascript
运行
复制
import os
import subprocess

page = "3"  
path_to_pdf = os.path.abspath("C:\\Users\\User\Desktop\\test.pdf")
path_to_acrobat = os.path.abspath('C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe')


process = subprocess.Popen([path_to_acrobat, '/n', '/A', 'page=' + page, path_to_pdf], shell=False, stdout=subprocess.PIPE)

process.wait()
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30288797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档