Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > start default application for read a pdf from python

Reply
Thread Tools

start default application for read a pdf from python

 
 
Angelo Ballabio
Guest
Posts: n/a
 
      09-08-2009
I try to start a default application for reading a pdf file inside the
python script.

I try

os.startfile(name,option) but say me startfile not implemented

there are some system to start for example acrobar or okular from the
script with a name of pdf file?

thenks Angelo
 
Reply With Quote
 
 
 
 
Angelo Ballabio
Guest
Posts: n/a
 
      09-08-2009
Sorry to not be very specific

My problem is a way to run a default application to read and show a pdf
file from unix or windows, i have a mixed ambient in the office, so I am
try to find a way to start a application to show this pdf file I
generate whith reportlab. actualy I write a file in a directory and then
I have to open the directory find a file and open it, I try to find a
way to do this automatic, in this way then they only have to close the
windows.

sorry I do not see before is only for windows, so this means under unix
system I cant to use.

thenks for the suggestion


Angelo


Grant Edwards ha scritto:
> On 2009-09-08, Angelo Ballabio <(E-Mail Removed)> wrote:
>
>> I try to start a default application for reading a pdf file
>> inside the python script.
>>
>> I try
>>
>> os.startfile(name,option) but say me startfile not implemented

>
> Are you _sure_ it says startfile not implemented? Or does
> it say this:
>
> >>> os.startfile("foo.bar")

> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> AttributeError: 'module' object has no attribute 'startfile'
>

 
Reply With Quote
 
 
 
 
Albert Hopkins
Guest
Posts: n/a
 
      09-08-2009
On Tue, 2009-09-08 at 22:22 +0200, Angelo Ballabio wrote:
> My problem is a way to run a default application to read and show a
> pdf
> file from unix or windows, i have a mixed ambient in the office, so I
> am
> try to find a way to start a application to show this pdf file I
> generate whith reportlab.


The (most) portable way to do so in Linux (not necessarily Unix) is to
use the xdg-open command. Ex,

subprocess.Popen(['xdg-open', 'my-document.pdf'])

If you want cross-platform between Linux/Windows, then it's advisable to
write a wrapper function that checks the value of sys.platform and and
acts accordingly.

-a


 
Reply With Quote
 
Angelo Ballabio
Guest
Posts: n/a
 
      09-09-2009
Thenks for this suggestion, at the end I find this solution

import os
..
..
#then where I decide to show the file in the default application I put this

#file_name the name I construct with path and all necessary
#recor contain all the data of one record end the 4th position
#the name of the file
#for example
file_name = os.path.join('document',str(record[3]) + ".pdf")
#the joun function make the separator from ducoment to the file
#name relative to operatin system (windows '\') , (unix '/')

#then where I call the default program
if os.name == "nt":
os.filestart("%s" % nome_file)
elif os.name == "posix":
os.system("/usr/bin/xdg-open %s" % nome_file)

Other nice solution is

import webbrowser
.
.
.
webbrowser.open(file_name)

The difference is in unix sistem, the first call the default program for
read the file of type, in this case pdf, this meens okular, acroread, or
whatever, the second open the konqueror in kde desktop, in windows the
function os.filestart call the default application for thet type of file

interesting discussion about this I find in :

http://ubuntuforums.org/showthread.php?t=1003198

very thenks to all
Angelo

Albert Hopkins ha scritto:
> The (most) portable way to do so in Linux (not necessarily Unix) is to
> use the xdg-open command. Ex,
>
> subprocess.Popen(['xdg-open', 'my-document.pdf'])
>

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Use Java web start to start application on the command line by thefile name albert kao Java 3 02-02-2011 11:21 PM
Postscript to PDF with pdf-tools, pdf-writer, or other Sean Nakasone Ruby 1 04-14-2008 09:13 PM
PDF::Writer, create pdf and insert in other pdf file. Ricardo Pog Ruby 1 03-26-2008 08:24 PM
How to start ASP.Net application from console application? Mike ASP .Net 9 11-30-2005 12:26 AM
Howto start default mail application Lars Grøtteland ASP .Net 5 10-17-2003 01:35 PM



Advertisments