Sets information about an object.

 

   

Syntax
 

[C#]
virtual void SetInfo(int id, string type, string value)

[Visual Basic]
Sub SetInfo(ByVal id As Integer, ByVal type As String, ByVal value As String)

 

   

Params
 
Name Description
id

The Object ID of the object to be modified.

type

The type of value to insert.

value The value to insert.

 

   

Notes
 

In the same way as you can get information about aspects of a document using the GetInfo method you can modify aspects of the document using the SetInfo method.

Different types of object support different types of properties. For more detailed information see the PDF Objects section of this document.

PDF objects are case sensitive so be sure you use the correct case.

 

   

Example
 

The following shows how to modify the document catalog to ensure that the PDF opens onto the second page rather than the first.

[C#]
Doc theDoc = new Doc();
theDoc.Read(Server.MapPath("../mypics/sample.pdf"));
int thePages = theDoc.GetInfoInt(theDoc.Root, "Pages");
int thePage2 = theDoc.GetInfoInt(thePages, "Page 2");
string theAction = "[ " + thePage2.ToString() + " 0 R /Fit ]";
theDoc.SetInfo(theDoc.Root, "/OpenAction", theAction);
theDoc.Save(Server.MapPath("docsetinfo.pdf"));
theDoc.Clear();

[Visual Basic]
Dim theDoc As Doc = New Doc()
theDoc.Read(Server.MapPath("../mypics/sample.pdf"))
Dim thePages As Integer = theDoc.GetInfoInt(theDoc.Root,"Pages")
Dim thePage2 As Integer = theDoc.GetInfoInt(thePages,"Page 2")
Dim theAction As String = "[ " + thePage2.ToString() + " 0 R /Fit ]"
theDoc.SetInfo(theDoc.Root, "/OpenAction", theAction)
theDoc.Save(Server.MapPath("docsetinfo.pdf"))
theDoc.Clear()

Open Actions. The way in which a PDF is displayed when opened is dependent on certain flags within the PDF itself. Here are some common combinations. For full details of how these work you should see the Adobe PDF Specification available from the Adobe web site.

To show outlines:

theDoc.SetInfo(theDoc.Root, "/PageMode", "/UseOutlines")

Or for thumbnails:

theDoc.SetInfo theDoc.Root, "/PageMode", "/UseThumbs"

To display two pages side by side:

theDoc.SetInfo(theDoc.Root, "/PageLayout", "/TwoColumnLeft")

To make the print dialog appear when the document is opened:

theDoc.SetInfo(theDoc.Root, "/OpenAction", "<< /Type /Action /S /Named /N /Print >>")

To open at 200% zoom onto the current page:

theDoc.SetInfo(theDoc.Root, "/OpenAction", "[ " + theDoc.Page.ToString() +" 0 R /XYZ null null 2 ]")

To fit the document width onto the current page:

theDoc.SetInfo(theDoc.Root, "/OpenAction", "[ " + theDoc.Page.ToString() + " 0 R /FitH " + theDoc.MediaBox.Height.ToString() + " ]")