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 11/17/19 

using 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.

class Examples
{
  public static void Example()
  {
    string strPath;
    int intPSToPDF;
    
    strPath = System.AppDomain.CurrentDomain.BaseDirectory;

    // Instantiate Object
    APServer.Server oSVR = 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)
    {
      ErrorHandler("PSToPDF", intPSToPDF);
    }
    
    // Clear the marks so that the next conversion does not have them
    oSVR.ClearPDFMarks();
    
    // Release Object
    oSVR = null;
    
    // Process Complete
    WriteResults("Done!");
  }
  
  // Error Handling
  public static void ErrorHandler(string strMethod, object rtnCode)
  {
    WriteResults(strMethod + " error:  " + rtnCode.ToString());
  }
  
  // Write output data
  public static void WriteResults(string content)
  {
    // Choose where to write out results
  
    // Debug output
    //System.Diagnostics.Debug.WriteLine("ActivePDF: * " + content);
  
    // Console
    Console.WriteLine(content);
  
    // Log file
    //using (System.IO.TextWriter writer = new System.IO.StreamWriter(System.AppDomain.CurrentDomain.BaseDirectory + "application.log", true))
    //{
    //    writer.WriteLine("[" + DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss") + "]: => " + content);
    //}
  }
}

Copyright © 2019 ActivePDF, Inc