2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Простая прога на Python, почему не удается найти файл?
Сообщение07.11.2020, 19:44 


27/09/19
189
Здравствуйте! Подскажите, пожалуйста, как разобрать или хотя бы как погуглить.
Я хочу открывать pdf файл с помощью питона на определенной странице (например, 12). Как это можно сделать?
Используется синтаксис Python
import subprocess
import os

path_to_pdf = os.path.abspath(r'C:\test.pdf')
# I am testing this on my Windows Install machine
path_to_acrobat = os.path.abspath(r'C:\Program Files(x86)\Adobe\Acrobat Reader DC\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()
 


Traceback (most recent call last):
File "C:\Python\openPDF.py", line 21, in <module>
process = subprocess.Popen([path_to_acrobat, '/A', 'page=12', path_to_pdf], shell=False, stdout=subprocess.PIPE)
File "C:\Program Files\Python\lib\subprocess.py", line 947, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Program Files\Python\lib\subprocess.py", line 1416, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] Не удается найти указанный файл



А возможно ли через Python сделать так, чтобы при открытии pdf файла открывалась последняя открытая страница?
Можно ли сделать так, чтобы через Python открывалась последняя открытая страница pdf файла в браузере? (ну или хотя бы просто возможно сделать так, чтобы pdf файлы открывались в браузере, а запускать команду можно через Python, например).

 Профиль  
                  
 
 Re: Простая прога на Python, почему не удается найти файл?
Сообщение07.11.2020, 20:18 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Пути проверьте внимательно. В Program Flies (x86) должен быть пробел, например.

 Профиль  
                  
 
 Re: Простая прога на Python, почему не удается найти файл?
Сообщение07.11.2020, 22:02 


27/09/19
189
Xaositect в сообщении #1491094 писал(а):
Пути проверьте внимательно. В Program Flies (x86) должен быть пробел, например.

Спасибо огромное! Точно. Между Flies и (x86) не хватает пробела. Не знаю - как так вышло, ведь я путь вручную не писал, только copy+paste. Теперь работает!

 Профиль  
                  
 
 Re: Простая прога на Python, почему не удается найти файл?
Сообщение07.11.2020, 22:57 


14/01/11
3036
Можно использовать переменную окружения %PROGRAMFILES(X86)%. Или даже найти программу, ответственную за открытие файлов .pdf - что-то в духе https://stackoverflow.com/questions/3536634/getting-file-associations-using-windows-api

 Профиль  
                  
 
 Re: Простая прога на Python, почему не удается найти файл?
Сообщение08.11.2020, 01:25 


27/09/19
189
Спасибо. А можно ли сделать так, чтобы pdf файл с компьютера открывался через браузер? Например через хром. И если возможно, то хотелось бы сделать так, чтобы можно было указывать страницу, с которой открывается файл в браузере. То есть - реально ли это сделать или даже не стоит пытаться думать в эту сторону?

-- 08.11.2020, 01:47 --

(Вопрос возникает из-за того, что из хрома мне гораздо удобнее читать pdf)

 Профиль  
                  
 
 Re: Простая прога на Python, почему не удается найти файл?
Сообщение08.11.2020, 03:02 


27/09/19
189
Используется синтаксис Python
import subprocess
chrome_path = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
p = subprocess.Popen([chrome_path, "Ссылка на файл на компе"])
returncode = p.wait()
 


Разобрался - как открыть в хроме. Но как открыть в хроме на конкретной странице (а еще лучше - на последней открытой странице) - не очевидно. Но это может быть очень полезным, когда читаешь электронные книги, мне кажется, что удобнее скроллить через интерфейс браузера, чем через pdf напрямую!

-- 08.11.2020, 03:17 --

Используется синтаксис Python
import subprocess
import os
import webbrowser
ichrome_path = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
path_to_pdf = os.path.abspath(r'C:/test.pdf')
p = subprocess.Popen([chrome_path, r'/A', 'page=12',path_to_pdf], shell=False, stdout=subprocess.PIPE)
returncode = p.wait()
 


Вот так открывается хром, но в адресной строке пишется http://page%3D12/

 Профиль  
                  
 
 Re: Простая прога на Python, почему не удается найти файл?
Сообщение08.11.2020, 04:48 


21/05/16
4292
Аделаида
kot-obormot в сообщении #1491139 писал(а):
Но как открыть в хроме на конкретной странице

Боюсь, нет метода, кроме как программно скроллить до нужной страницы.

 Профиль  
                  
 
 Re: Простая прога на Python, почему не удается найти файл?
Сообщение08.11.2020, 09:23 
Заслуженный участник
Аватара пользователя


06/10/08
6422
В хроме надо добавить к ссылке фрагмент #page=12

 Профиль  
                  
 
 Re: Простая прога на Python, почему не удается найти файл?
Сообщение08.11.2020, 11:34 


27/09/19
189
Xaositect в сообщении #1491153 писал(а):
В хроме надо добавить к ссылке фрагмент #page=12

Спасибо, теперь все получается! Все так просто, оказывается!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group