Server 2009

Adding PDF Marks with Server

Example code is for an older version of Server, newer code is available.
' Copyright (c) 2019 ActivePDF, Inc.
' ActivePDF Server 2009
' Example generated 09/16/19 

Imports System

' Make sure to add the ActivePDF product .NET DLL(s) to your application.
' .NET DLL(s) are typically found in the products 'bin' folder.

Public Class Examples
  Sub Example()
    Dim strPath As String, intPSToPDF As Integer

    strPath = AppDomain.CurrentDomain.BaseDirectory

    ' Instantiate Object
    Dim oSVR As APServer.Server = New APServer.Server()
    
    ' Add PDF marks to be used in the converted PDF
    ' PDF Mark Reference:
    ' http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdfmark_reference.pdf
    
    ' Notes (Page 20 - PDF Marks Reference)
    oSVR.AddPDFMark("[ /SrcPg 1 /Rect [32 32 216 144] /Open false /Title (activePDF Comment) /Contents (Note Type Comment Example.) /Color [1 0 0] /Subtype /Text /ANN pdfmark")
    
    ' Free Text (Page 17 - PDF Marks Reference)
    ' Used for the text in the link created below
    oSVR.AddPDFMark("[ /SrcPg 1 /Rect [262 26 350 46] /Contents (activePDF.com) /DA ([0 0 1] rg /Helv 12 Tf) /BS << /W 0 >> /Q 1 /Subtype /FreeText /ANN pdfmark")
    
    ' Links (Page  - PDF Marks Reference)
    ' Add a link around the activePDF.com text created above
    oSVR.AddPDFMark("[ /SrcPg 1 /Rect [262 26 350 46] /Contents (activePDF.com) /BS << /W 0 >> /Action << /Subtype /URI /URI (http://activePDF.com) >> /Subtype /Link /ANN pdfmark")
    
    ' Bookmarks (Page 26 - PDF Marks Reference)
    oSVR.AddPDFMark("[ /Count -5 /Title (Lorem ipsum) /Page 1 /F 2 /OUT pdfmark")
    oSVR.AddPDFMark("[ /Page 1 /View [/Fit] /Title (Page 1) /C [0 0 0] /F 2 /OUT pdfmark")
    oSVR.AddPDFMark("[ /Page 2 /View [/Fit] /Title (Page 2) /C [0 0 0] /F 2 /OUT pdfmark")
    oSVR.AddPDFMark("[ /Page 3 /View [/Fit] /Title (Page 3) /C [0 0 0] /F 2 /OUT pdfmark")
    oSVR.AddPDFMark("[ /Page 4 /View [/Fit] /Title (Page 4) /C [0 0 0] /F 2 /OUT pdfmark")
    oSVR.AddPDFMark("[ /Page 5 /View [/Fit] /Title (Page 5) /C [0 0 0] /F 2 /OUT pdfmark")
    
    ' Document Information (Page 28 - PDF Marks Reference)
    oSVR.AddPDFMark("[ /Title (PDF Marks) /Author (activePDF Server) /Subject (PDF Marks) /Keywords (pdfmark, server, example) /DOCINFO pdfmark")
    
    ' Document View Options (Page 29 - PDF Marks Reference)
    oSVR.AddPDFMark("[ /PageMode /UseOutlines /Page 1 /View [/Fit] /DOCVIEW pdfmark")
    
    ' Document Open Options
    oSVR.AddPDFMark("[ {Catalog} << /ViewerPreferences << /HideToolbar true  /HideMenubar true >> >> /PUT pdfmark")
    
    ' Convert the PostScript file into PDF
    intPSToPDF = oSVR.PSToPDF(strPath & "PS.ps", strPath & "PDFMark.pdf")
    If intPSToPDF <> 0 Then
      ErrorHandler("PSToPDF", intPSToPDF)
    End If
    
    ' Clear the marks so that the next conversion does not have them
    oSVR.ClearPDFMarks()
    
    ' Release Object
    oSVR = Nothing
    
    ' Process Complete
    WriteResults("Done!")
  End Sub
  
  ' Error Handling
  ' Error messages written to debug output
  Sub ErrorHandler(ByVal strMethod, ByVal RtnCode)
    WriteResults(strMethod + " error:  " + rtnCode.ToString())
  End Sub
  
  ' Write output data
  Sub WriteResults(content As String)
    ' Choose where to write out results
  
    ' Debug output
    'System.Diagnostics.Debug.WriteLine("ActivePDF: * " + content)
  
    ' Console
    Console.WriteLine(content)
  
    ' Log file
    'Using tw = New System.IO.StreamWriter(AppDomain.CurrentDomain.BaseDirectory & "application.log", True)
    '   tw.WriteLine("[" + DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss") + "]: => " + content)
    'End Using
  End Sub
End Class

Copyright © 2019 ActivePDF, Inc