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: Weird VB/PDF SetInfo problem
Conf: (P-PDF) Developers, Msg: 97810
From: LeighHunt
Date: 10/7/2003 11:22 PM

I am having an strange issue with the SetInfo function.

I have an application that allows a user to search and replace meta data within a PDF file. For almost all data thrown at it, it works fine, but my user came back with one tag value that just doesnít get saved to the file.

The application is written in VB6, and uses the Adobe Acrobat 5.0 Type Library. I have created a skeletal application that reproduces the problem:

To recreate the problem, create a Standard EXE project in VB, add a reference to the Acrobat 5.0 Type library (Acrobat Writer), and add one button to the form, Command1, and add the code below:

I have tried many variations on the string (swap case, swap individual letters), but any change seems to stop the problem occurring.

Anyone got any ideas? Am I missing something obvious?

Thanks in advance. (Code attached, and listed below)

Option Explicit

Private Sub fxnTest(strKeyValue As String)

Const strFilename As String = "C:\temp\Test.pdf"
Const strInfoKey As String = "test"
Dim objPDFDoc As Acrobat.CAcroPDDoc

Set objPDFDoc = CreateObject("AcroExch.PDDoc")

If objPDFDoc.Open(strFilename) Then

Debug.Print "Setting: " & strInfoKey & " to " & strKeyValue

If objPDFDoc.SetInfo(strInfoKey, strKeyValue) Then

Dim nSaveResult As Long
Debug.Assert objPDFDoc.GetInfo(strInfoKey) = strKeyValue

nSaveResult = objPDFDoc.Save(PDSaveFull, strFilename)
Debug.Assert nSaveResult = -1

' Code fails here for failure test case.
Debug.Assert objPDFDoc.GetInfo(strInfoKey) = strKeyValue

If objPDFDoc.GetInfo(strInfoKey) <> strKeyValue Then
Debug.Print """" & objPDFDoc.GetInfo(strInfoKey) & """" & " <> " & """" & strKeyValue & """"
Debug.Print "*** DIFFERENT! ***"
End If

Debug.Assert False
End If
Debug.Assert False
End If

Set objPDFDoc = Nothing

End Sub

Private Sub Command1_Click()

' Creating app speeds process up.
Dim objPDFApp As Acrobat.CAcroApp
Set objPDFApp = CreateObject("AcroExch.App")

fxnTest "Test" 'OK
fxnTest "Test2" 'OK
fxnTest "SPC-Business Plan 2002-2003" 'OK
fxnTest "SPC - Business Plan 2002 - 2003" 'OK
fxnTest "SPC-Business Plan 2002-2003" 'OK
fxnTest "SPC - Business Plan 2002-2003" ' Fails
Set objPDFApp = Nothing

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.