|
Home > Archive > Programming with dBASE > March 2006 > Reading a .PDF file
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Reading a .PDF file
|
|
| evilaro 2006-03-21, 1:25 pm |
| To all:
Is there a way to read from dBASE
a PDF file without knowing where is
the Acrobat -Adobe reader
Thanks
Emilio
| |
| *Lysander* 2006-03-21, 1:25 pm |
| evilaro schrieb:
> To all:
>
> Is there a way to read from dBASE
> a PDF file without knowing where is
> the Acrobat -Adobe reader
you can use the active-x.
As far as I know, Adobe especially did not change the CSID (class
identification) for this control. So it should work, whenever there
is any Acrobat reader installed.
Just open a new form, choose "new active-x", go to the
native-control wrench and chose the acrobat active-x from the list.
ciao,
André
| |
| Ivar B. Jessen 2006-03-21, 1:25 pm |
| On Tue, 21 Mar 2006 18:46:55 +0100, in dbase.programming,
Subject: Reading a .PDF file,
Message-ID: <SbRtFCRTGHA.2320@news-server>,
"evilaro" <buzon[NO]@evilfoto.es> wrote:
>Is there a way to read from dBASE
>a PDF file without knowing where is
>the Acrobat -Adobe reader
Will this do?
Ivar B. Jessen
//-----
cFile = GetFile("*.pdf", "Select a pdf-file", true, ".pdf")
if type('ShellExecuteA'
) # 'FP'
extern chandle ShellExecuteA(chandl
e, cstring, cstring, ;
cstring, cstring, cint) shell32
endif
if file(cFile)
ShellExecuteA( 0, 'open', cFile, '', '', 0 )
endif
//-----
| |
| evilaro 2006-03-21, 8:24 pm |
| Lysander:
Thanks...
I will try the activex, if I do not solve the small problem on the
Ivar answer.
Thanks a lot.
Emilio
"*Lysander*" <nobody@nowhere.com> escribió en el mensaje
news:jom3YKRTGHA.2016@news-server...
> evilaro schrieb:
>
> you can use the active-x.
> As far as I know, Adobe especially did not change the CSID (class
> identification) for this control. So it should work, whenever there
> is any Acrobat reader installed.
>
> Just open a new form, choose "new active-x", go to the
> native-control wrench and chose the acrobat active-x from the list.
>
> ciao,
> André
>
| |
| evilaro 2006-03-21, 8:24 pm |
| Ivar:
> Will this do?
Looks like...
But ...
1 out of 3 times the pdf is started loadin butI do not see the
document.
I have changed the last 0 in ( 0, 'open', cFile, '', '', 0 )
to
( 0, 'open', cFile, '', '', 1 )
And it seems to work better..
Where could I find the parameters of this
expresion
And
Thanks
A
Lot
Emilio
>
> Ivar B. Jessen
>
> //-----
> cFile = GetFile("*.pdf", "Select a pdf-file", true, ".pdf")
>
> if type('ShellExecuteA'
) # 'FP'
> extern chandle ShellExecuteA(chandl
e, cstring, cstring, ;
> cstring, cstring, cint) shell32
> endif
>
> if file(cFile)
> ShellExecuteA( 0, 'open', cFile, '', '', 0 )
> endif
> //-----
| |
| Ivar B. Jessen 2006-03-21, 8:24 pm |
| On Tue, 21 Mar 2006 20:36:11 +0100, in dbase.programming,
Subject: Re: Reading a .PDF file,
Message-ID: <o5JkJ$RTGHA.1148@news-server>,
"evilaro" <buzon[NO]@evilfoto.es> wrote:
>
>Looks like...
>
>But ...
>
>1 out of 3 times the pdf is started loadin butI do not see the
>document.
>
>I have changed the last 0 in ( 0, 'open', cFile, '', '', 0 )
>to
>( 0, 'open', cFile, '', '', 1 )
>
>And it seems to work better..
>
>Where could I find the parameters of this
>expresion
Here :-)
Ivar B. Jessen
***********
The include file is shellapi.h
ShellExecute
The ShellExecute function opens or prints a specified file. The file can be an
executable file or a document file. See ShellExecuteEx also.
HINSTANCE ShellExecute(
HWND hwnd, // handle to parent window
LPCTSTR lpOperation, // pointer to string that specifies operation to
perform
LPCTSTR lpFile, // pointer to filename or folder name string
LPCTSTR lpParameters, // pointer to string that specifies executable-file
parameters
LPCTSTR lpDirectory, // pointer to string that specifies default directory
INT nShowCmd // whether file is shown when opened
);
Parameters
hwnd
Specifies a parent window. This window receives any message boxes that an
application produces. For example, an application may report an error by
producing a message box.
lpOperation
Pointer to a null-terminated string that specifies the operation to perform. The
following operation strings are valid:
String Meaning
"open" The function opens the file specified by lpFile. The file can be an
executable file or a document file. The file can be a folder to open.
"print" The function prints the file specified by lpFile. The file should be a
document file. If the file is an executable file, the function opens the file,
as if "open" had been specified.
"explore" The function explores the folder specified by lpFile.
The lpOperation parameter can be NULL. In that case, the function opens the file
specified by lpFile.
lpFile
Pointer to a null-terminated string that specifies the file to open or print or
the folder to open or explore. The function can open an executable file or a
document file. The function can print a document file.
lpParameters
If lpFile specifies an executable file, lpParameters is a pointer to a
null-terminated string that specifies parameters to be passed to the
application.
If lpFile specifies a document file, lpParameters should be NULL.
lpDirectory
Pointer to a null-terminated string that specifies the default directory.
nShowCmd
If lpFile specifies an executable file, nShowCmd specifies how the application
is to be shown when it is opened. This parameter can be one of the following
values:
Value Meaning
SW_HIDE Hides the window and activates another window.
SW_MAXIMIZE Maximize
s the specified window.
SW_MINIMIZE Minimize
s the specified window and activates the next top-level
window in the Z order.
SW_RESTORE Activates
and displays the window. If the window is minimized or
maximized, Windows restores it to its original size and position. An application
should specify this flag when restoring a minimized window.
SW_SHOW Activates the window and displays it in its current size and position.
SW_SHOWDEFAULT Sets the show state based on the SW_ flag specified in the
STARTUPINFO structure passed to the CreateProcess function by the program that
started the application. An application should call ShowWindow with this flag to
set the initial show state of its main window.
SW_SHOWMAXIMIZED Act
ivates the window and displays it as a maximized window.
SW_SHOWMINIMIZED Act
ivates the window and displays it as a minimized window.
SW_SHOWMINNOACTIVE D
isplays the window as a minimized window. The active
window remains active.
SW_SHOWNA Displays the window in its current state. The active window remains
active.
SW_SHOWNOACTIVATE Di
splays a window in its most recent size and position. The
active window remains active.
SW_SHOWNORMAL Activa
tes and displays a window. If the window is minimized or
maximized, Windows restores it to its original size and position. An application
should specify this flag when displaying the window for the first time.
If lpFile specifies a document file, nShowCmd should be zero.
Return Values
If the function succeeds, the return value is the instance handle of the
application that was run, or the handle of a dynamic data exchange (DDE) server
application.
If the function fails, the return value is an error value that is less than or
equal to 32. The following table lists these error values:
Value Meaning
0 The operating system is out of memory or resources.
ERROR_FILE_NOT_FOUND
The specified file was not found.
ERROR_PATH_NOT_FOUND
The specified path was not found.
ERROR_BAD_FORMAT The
.EXE file is invalid (non-Win32 .EXE or error in .EXE
image).
SE_ERR_ACCESSDENIED
The operating system denied access to the specified file.
SE_ERR_ASSOCINCOMPLE
TE The filename association is incomplete or invalid.
SE_ERR_DDEBUSY The DDE transaction could not be completed because other DDE
transactions were being processed.
SE_ERR_DDEFAIL The DDE transaction failed.
SE_ERR_DDETIMEOUT Th
e DDE transaction could not be completed because the request
timed out.
SE_ERR_DLLNOTFOUND T
he specified dynamic-link library was not found.
SE_ERR_FNF The specified file was not found.
SE_ERR_NOASSOC There
is no application associated with the given filename
extension.
SE_ERR_OOM There was not enough memory to complete the operation.
SE_ERR_PNF The specified path was not found.
SE_ERR_SHARE A sharing violation occurred.
Remarks
The file specified by the lpFile parameter can be a document file or an
executable file. If the file is a document file, the ShellExecute function opens
or prints it, depending on the value of the lpOperation parameter. If the file
is an executable file, the ShellExecute function opens it, even if lpOperation
specifies printing.
You can use ShellExecute to open or explore a shell folder. To open a folder,
use either of the following calls:
ShellExecute(handle,
NULL, path_to_folder, NULL, NULL, SW_SHOWNORMAL);
or
ShellExecute(handle,
"open", path_to_folder, NULL, NULL, SW_SHOWNORMAL);
To explore a folder, use the following call:
ShellExecute(handle,
"explore", path_to_folder, NULL, NULL, SW_SHOWNORMAL);
If lpOperation is NULL, the function opens the file specified by lpFile. If
lpOperation is "open" or "explore", the function will force an open window or
explorer.
See Also
FindExecutable, ShellExecuteEx
**************
| |
| Roland Wingerter 2006-03-22, 3:23 am |
| "evilaro" wrote
> To all:
>
> Is there a way to read from dBASE
> a PDF file without knowing where is
> the Acrobat -Adobe reader
-------
Check out openURL() in :dUFLP:miscapi.prg, it can do what you want.
Roland
| |
| evilaro 2006-03-22, 1:24 pm |
| Ivar:
Why did I ask ;)
Thank you.
Emilio
| |
| evilaro 2006-03-22, 1:24 pm |
| Roland:
At the moment with the answers I got,,,, the problem is solved..
But I keep the note, just in case.
Thanks
Emilio
"Roland Wingerter" <ich@hier.de> escribió en el mensaje
news:fClWXZYTGHA.2068@news-server...
> "evilaro" wrote
> -------
> Check out openURL() in :dUFLP:miscapi.prg, it can do what you want.
>
> Roland
>
>
| |
| Ivar B. Jessen 2006-03-22, 8:25 pm |
| On Wed, 22 Mar 2006 19:38:45 +0100, in dbase.programming,
Subject: Re: Reading a .PDF file,
Message-ID: <9I95uDeTGHA.1148@news-server>,
"evilaro" <buzon[NO]@evilfoto.es> wrote:
>Why did I ask ;)
Sorry to throw all this at you but it was late last night :-)
As dBase user you should Winuser.h in the Include folder instead of shellapi.h.
The relevant constants are,
//
// ShowWindow() Commands
//
#define SW_HIDE 0
#define SW_SHOWNORMAL 1
#define SW_NORMAL 1
#define SW_SHOWMINIMIZED 2
#define SW_SHOWMAXIMIZED 3
#define SW_MAXIMIZE 3
#define SW_SHOWNOACTIVATE 4
#define SW_SHOW 5
#define SW_MINIMIZE 6
#define SW_SHOWMINNOACTIVE 7
#define SW_SHOWNA 8
#define SW_RESTORE 9
#define SW_SHOWDEFAULT 10
#define SW_MAX 10
>Thank you.
You are welcome, I hope the pdf file now opens every time now.
Ivar B. Jessen
| |
| Roland Wingerter 2006-03-23, 3:26 am |
| "evilaro" wrote
>
> At the moment with the answers I got,,,, the problem is solved..
>
> But I keep the note, just in case.
------
Just remember to check the dUFLP when you look for a solution ;-)
Roland
| |
| evilaro 2006-03-26, 7:27 am |
| Thanks Ivar:
Most useful and clear.
Emilio
"Ivar B. Jessen" <bergishagen@it.notthis.dk> escribió en el mensaje
news:ap8322tn6214l1l
0fv0s2e0m60kv371tmq@
4ax.com...
> On Wed, 22 Mar 2006 19:38:45 +0100, in dbase.programming,
> Subject: Re: Reading a .PDF file,
> Message-ID: <9I95uDeTGHA.1148@news-server>,
> "evilaro" <buzon[NO]@evilfoto.es> wrote:
>
>
> Sorry to throw all this at you but it was late last night :-)
>
> As dBase user you should Winuser.h in the Include folder instead of
shellapi.h.
>
> The relevant constants are,
>
> //
> // ShowWindow() Commands
> //
> #define SW_HIDE 0
> #define SW_SHOWNORMAL 1
> #define SW_NORMAL 1
> #define SW_SHOWMINIMIZED 2
> #define SW_SHOWMAXIMIZED 3
> #define SW_MAXIMIZE 3
> #define SW_SHOWNOACTIVATE 4
> #define SW_SHOW 5
> #define SW_MINIMIZE 6
> #define SW_SHOWMINNOACTIVE 7
> #define SW_SHOWNA 8
> #define SW_RESTORE 9
> #define SW_SHOWDEFAULT 10
> #define SW_MAX 10
>
>
>
> You are welcome, I hope the pdf file now opens every time now.
>
>
> Ivar B. Jessen
|
|
|
|
|