Link to home
Create AccountLog in
Programming

Programming

--

Questions

--

Followers

Top Experts

Avatar of GarethWham
GarethWham

Open an existing PDF document from VB.net using OLE automation
Hello,

I want to open an existing PDF file using OLE automation.

I have built a project which allows the user to open Word and Excel templates.

I am using the following code to open Word/Excel:

Dim wordApp as Word.Application
Dim wordDoc as Word.Document
wordApp = New Word.Application
wordApp.Visible = True
wordDoc = wordApp.Documents.Add

I would ideally like the reference needed as well as the code to access the pdf file.

Thanks

Gareth

Zero AI Policy

We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.


Avatar of Daniel_IankovDaniel_Iankov

I don't think that you can actually open pdf file with VB, because the pdf format is property of Adobe. I am sure that you could export data in this format (I' ve done it), there are no generic methods to edit pdf file in VB.

Try searching for an open source component that edits files - may find one out there.

If you are trying to open the pdf file Fron your app with Acrobat Reader then use

ShellExecute(hwnd, "Open", "filename.pdf", 0&, 0&, SW_SHOW)  

Sorry - SW_SHOW is not defined in VB, old c++ :)
try 5 istead

The way suggested by Daniel would intern would actually depend on Adobe Acrobat reader being installed over there on the machine and also its not Win32 automation .
Gareth can you please give more exact specs abt why you need a word document to open a PDF file. Infact, if you need to extract text or image from pdf there is free source code available on the next.
The source code for one of the tools is available at
http://www.verypdf.com/pdf2htm/index.html

it inturn depends on XPDF library obtained at following url

 http://www.foolabs.com/xpdf/download.html

Best of luck!




Reward 1Reward 2Reward 3Reward 4Reward 5Reward 6

EARN REWARDS FOR ASKING, ANSWERING, AND MORE.

Earn free swag for participating on the platform.


Avatar of GarethWhamGarethWham

ASKER

I just need to open a pdf file from vb.net. I may be able to use shell. Thanks for your comments, will let you know how I get on

I have managed to use the shell function to open adobe reader which is:

Shell ("C:\Program Files\Adobe\Acrobat 5.0\Reader\AcroRd32.exe")

Now, does anyone know the switch to open a pdf file.

For example, when you shell a word template the switch is \t (then the path of the template)

I want to put in a switch to open an existing file any ideas?

Many thanks

Actually there is no need to start the acrord.exe .
After you are using the  shell routine just use:

shell ("start " +<file paht and name>,,,,,);
The string filename.pdf must include
 The default app for the file is autostarted

Free T-shirt

Get a FREE t-shirt when you ask your first question.

We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.


plz visit the following link
http://www.code101.com/Code101/DisplayArticle.aspx?cid=69
i hope it'll be of any help

Daniel,

That doesn't seem to work. I am using the following code.

("start""C:\Documents and Settings\J Smith\Publications\FileName.pdf")

Is there a reference I need to use?


Well you've got to add + between the two strings:)

Reward 1Reward 2Reward 3Reward 4Reward 5Reward 6

EARN REWARDS FOR ASKING, ANSWERING, AND MORE.

Earn free swag for participating on the platform.


and put  space char after start the string should be:

"start C:\Documents and Settings\J Smith\Publications\FileName.pdf" or

"start " + "C:\Documents and Settings\J Smith\Publications\FileName.pdf"

ASKER CERTIFIED SOLUTION
Avatar of Jojo1771Jojo1771

Link to home
membership
Log in or create a free account to see answer.
Signing up is free and takes 30 seconds. No credit card required.
Create Account

Cheers all,

Sorted by using the following:

Shell ("Full File Path to Adobe Executable File & Full File Path to PDF File")


system.diagonistics or what ever it is called.
needs to be included to do

start(FiletoOpen)
This will open the file with the associated app.

Just incase the shell one dosn't always work.

Thanks and GL

Free T-shirt

Get a FREE t-shirt when you ask your first question.

We believe in human intelligence. Our moderation policy strictly prohibits the use of LLM content in our Q&A threads.


If you own Acrobat 6.0, you can reference the acrobat.tlb Acrobat Type Library.  I don't think it is available with the free 6.0 reader though.

This is part of my code that I use to merge .PDF files.

        Dim AcroApp As Acrobat.CAcroApp
        Dim PDDoc As Acrobat.CAcroPDDoc
        Dim InsertPDDoc As Acrobat.CAcroPDDoc
        Dim iNumberOfPagesToInsert As Integer, iLastPage As Integer
        Dim goRound As Integer, strOutput As String, strTest As String

        On Error GoTo ErrorHandler
        AcroApp = CreateObject("AcroExch.App")
        PDDoc = CreateObject("AcroExch.PDDoc")
        InsertPDDoc = CreateObject("AcroExch.PDDoc")

Hope this helps.
Programming

Programming

--

Questions

--

Followers

Top Experts

Programming includes both the specifics of the language you’re using, like Visual Basic, .NET, Java and others, but also the best practices in user experience and interfaces and the management of projects, version control and development. Other programming topics are related to web and cloud development and system and hardware programming.