IAC - Setting the info fields on every PDF

May 15, 1998

Advertisement

Advertisement

This method sets the info on all the PDFs in the folder c:\acrobatdocstosetinfo

This code sample is posted here for the general benefit of the PDF development community. Attribution and usage guidelines are as noted in the code source; please respect the wishes of the author when using this code.

Option Explicit ' Force variable declaration
' Author : Planet PDF
' Date : 23 March 1998
' Description: SetInfoForAllAcrobatDocsInDir
' This vb method uses IAC to set the Document Info fields for all files in
' a directory.
' This method / function should be extended to suit the requirements
' of an organisation
Public Const POSTSCRIPT_LEVEL = 2
Public Const PDF_WILDCARD = "*.pdf"
Public Const PDF_DIRECTORY = "c:\acrobatdocstosetinfo\"
Sub SetInfoForAllAcrobatDocsInDir()
Dim AcroExchAVDoc As Object, AcroExchPDDoc As Object, _
AcroExchApp As Object
Dim strFileName As String, strPath As String
Dim strTitle As String, strSubject As String, _
strAuthor As String, strKeywords As String
Set AcroExchApp = CreateObject("AcroExch.App")
Set AcroExchAVDoc = CreateObject("AcroExch.AVDoc")
' Get the fields from the user
strTitle = InputBox("Enter the Title - click cancel to leave this
field as is", _
"RTSSetInfo - http://www.aroundtablesolution.com/", "Type your
title here")
strSubject = InputBox("Enter the Subject - click cancel to leave
this field as is", _
"RTSSetInfo - http://www.aroundtablesolution.com/", "Type your
subject here")
strAuthor = InputBox("Enter the Author - click cancel to leave
this field as is", _
"RTSSetInfo - http://www.aroundtablesolution.com/", "Type your
author here")
strKeywords = InputBox("Enter the Keywords - click cancel to leave
this field as is", _
"RTSSetInfo - http://www.aroundtablesolution.com/", "Type your
keywords here")
' Show the Acrobat Exchange window
AcroExchApp.Show
' Set the directory / folder to use
strPath = PDF_DIRECTORY
' Get the first pdf file in the directory
strFileName = Dir(strPath + PDF_WILDCARD, vbNormal)
' Start the loop.
Do While strFileName <> ""
' Open the [strFileName] pdf file
AcroExchAVDoc.Open strPath + strFileName, ""
' Get the PDDoc associated with the open AVDoc
Set AcroExchPDDoc = AcroExchAVDoc.GetPDDoc
' If the user has entered a title then set the title
If strTitle <> "" Then AcroExchPDDoc.SetInfo "Title", strTitle
If strSubject <> "" Then AcroExchPDDoc.SetInfo "Subject", strSubject
' If the user has entered an author then set the author
If strAuthor <> "" Then AcroExchPDDoc.SetInfo "Author", strAuthor
' If the user has set keywords then set the keywords
If strKeywords <> "" Then AcroExchPDDoc.SetInfo "Keywords", strKeywords
' Save the modified file
AcroExchPDDoc.Save &H1, strPath + strFileName
' Close this file
AcroExchAVDoc.Close True
' Get the name of the next file in the directory
strFileName = Dir
Loop
' Close Acrobat Exchange
AcroExchApp.Exit
End Sub

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.