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)


Code:
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

objPDFDoc.Close
Else
Debug.Assert False
End If
Else
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

Back to the past, 15 years ago! Open Publish 2002

Looking back to 2002, it's amazing how much of the prediction became a reality. Take a read and see what you think!

September 14, 2017
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.

Features

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.