Planet PDF Forum Archive

Planet PDF ForumWowsers! This is page is old, head to the LIVE Planet PDF Forum. It features more than 10 conferences, covering everything from beginner to in-depth developer and pre-press discussions. If you wish to continue... one & two archive covers 1999-2011 (160,000 pages).

New Forum | Previous | Next | (P-PDF) Developers

Topic: Adding annotations using SDK
Conf: (P-PDF) Developers, Msg: 51500
From: aalopes
Date: 5/29/2002 04:46 PM

Aim : Read annotations (text/popup annotations) in one PDF file and copy them to another PDF file and save that "another" PDF file.

Everything works fine in this code...I can read annotations from first file, read existing annotations from second file but when I come to that line

retValue = PDPage.AddAnnot(-1, objAnnot)

I get "Unhandled Exception error. Execution will continue..." and then it tries to Switch To the "in-process" running Acrobat Object.
If I pass the first parameter as -2, still it conks off. If I pass a positive integer, it works fine but returns me False, saves the file but the annotations are not added.

Any will be highly appreciated.

Private Sub Form_Load()
Const PDSaveFull = &H1 ' write entire file

Dim AcroApp As CAcroApp
Dim AVDoc As CAcroAVDoc
Dim AVPage As CAcroAVPageView
Dim PDPage As CAcroPDPage
Dim PDDoc As CAcroPDDoc

Dim objAcroFile As Object
Dim objAnnot As CAcroPDAnnot
Dim objAnnot2 As CAcroPDAnnot
Dim objAcroFilePage As CAcroPDPage
Dim objDate As CAcroTime
Dim objRect As CAcroRect

Dim retValue As Boolean
Dim numPages As Long
Dim numAnnots As Long
Dim nextAnnot As Long
Dim annotContent As String
Dim fileName As String

Set AcroApp = CreateObject("AcroExch.App")

Set objAcroFile = CreateObject("AcroExch.PDDoc")
retValue = objAcroFile.Open("c:\Allen\test.pdf")

Set objAcroFilePage = objAcroFile.AcquirePage(0) 'First page is 0
numAnnots = objAcroFilePage.GetNumAnnots()

Set AcroApp = CreateObject("AcroExch.App")
Set AVDoc = AcroApp.GetActiveDoc
retValue = AVDoc.Open("C:\Allen\test2.pdf", "TEMP")
Set PDDoc = AVDoc.GetPDDoc
Set AVPage = AVDoc.GetAVPageView
Set PDPage = PDDoc.AcquirePage(AVPage.GetPageNum)
MsgBox PDPage.GetNumAnnots()

For iIndex = 0 To numAnnots - 1
Set objAnnot = objAcroFilePage.GetAnnot(iIndex)

If objAnnot.GetTitle() = "ALOPES9" Then
Set objRect = objAnnot.GetRect()
Set objDate = objAnnot.GetDate()

retValue = PDPage.AddAnnot(-1, objAnnot)
MsgBox retValue
End If

Next iIndex

retValue = PDDoc.Save(PDSaveFull, "c:\Allen\sony2.pdf")
Set objAcroFile2 = Nothing
Set objAcroFile = Nothing
'Release all objects
End Sub

PDF In-Depth Free Product Trials Ubiquitous PDF

Debenu Aerialist

The ultimate plug-in for Adobe Acrobat. Advanced splitting, merging, stamping, bookmarking, and link...

Download free demo

Debenu PDF Tools Pro

It's simple to use and will let you preview and edit PDF files, it's a Windows application that makes...

Download free demo

Five visions of a PDF Day

In the world of PDFs or as we like to say Planet (of) PDF, a year isn't a real PDF year without an intense few days of industry knowledge sharing.

May 15, 2018
Platinum Sponsor

Search Planet PDF
more searching options...
Planet PDF Newsletter
Most Popular Articles
Featured Product

Debenu PDF Aerialist

The ultimate plug-in for Adobe Acrobat. Advanced splitting, merging, stamping, bookmarking, and link control. Take Acrobat to the next level.


Adding a PDF Stamp Comment

OK, so you want to stamp your document. Maybe you need to give reviewers some advice about the document's status or sensitivity. This tip from author Ted Padova demonstrates how to add stamps with the Stamp Tool along with related comments.