ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / PDFFormat Class
Members Example

In This Topic
    PDFFormat Class
    In This Topic
    Represents a Portable Document Format (PDF) object that can be used to export a MapView, MapFrame, or a Layout.
    Syntax
    Public Class PDFFormat 
       Inherits ExportFormat
    public class PDFFormat : ExportFormat 
    Remarks
    PDF files are designed to be consistently viewable and printable across different platforms. They are commonly used for distributing documents on the Web and are becoming a standard interchange format for content delivery. PDFs are editable in many graphics applications and can retain annotation, labeling, and attribute data for map layers. PDF exports from support embedding of fonts and thus can display symbology correctly even if the user does not have Esri fonts installed.
    Example
    Export a layout to PDF
    {
      //Export a single page layout to PDF.
    
      //Create a PDF format with appropriate settings
      //BMP, EMF, EPS, GIF, JPEG, PNG, SVG, TGA, and TFF formats are also available for export
      string filePath = @"Path and file name for the output export file";
      PDFFormat PDF = new PDFFormat()
      {
        OutputFileName = filePath,
        Resolution = 300,
        DoCompressVectorGraphics = true,
        DoEmbedFonts = true,
        HasGeoRefInfo = true,
        ImageCompression = ImageCompression.Adaptive,
        ImageQuality = ImageQuality.Best,
        LayersAndAttributes = LayersAndAttributes.LayersAndAttributes
      };
    
      //Check to see if the path is valid and export
      if (PDF.ValidateOutputFilePath())
      {
        //Note: Must be on QueuedTask.Run
        layout.Export(PDF);  //Export the layout to PDF on the worker thread
      }
    }
    Export a map series to single PDF
    {
      //Export a map series with multiple pages to a single PDF.
      string filePath = @"Path and file name for the output export file";
      //Create PDF format with appropriate settings
      PDFFormat MS_PDF = new PDFFormat()
      {
        OutputFileName = filePath,
        Resolution = 300,
        DoCompressVectorGraphics = true,
        DoEmbedFonts = true,
        HasGeoRefInfo = true,
        ImageCompression = ImageCompression.Adaptive,
        ImageQuality = ImageQuality.Best,
        LayersAndAttributes = LayersAndAttributes.LayersAndAttributes
      };
    
      //Set up map series export options
      MapSeriesExportOptions MS_ExportOptions = new MapSeriesExportOptions()
      {
        ExportPages = ExportPages.Custom,  //Provide a specific list of pages
        CustomPages = "1-3, 5",  //Only used if ExportPages.Custom is set
        ExportFileOptions = ExportFileOptions.ExportAsSinglePDF,  //Export all pages to a single, multi-page PDF
        ShowSelectedSymbology = false  //Do no show selection symbology in the output
      };
    
      //Export on the worker thread
      //Note: Must be on QueuedTask.Run
      //Check to see if the path is valid and export
      if (MS_PDF.ValidateOutputFilePath())
      {
        layout.Export(MS_PDF, MS_ExportOptions);  //Export to PDF
      }
    }
    Export report to pdf
    {
      //Note: Call within QueuedTask.Run()
      //Define Export Options
      var exportOptions = new ReportExportOptions
      {
        ExportPageOption = ExportPageOptions.ExportAllPages,
        TotalPageNumberOverride = 0
    
      };
      //Create PDF format with appropriate settings
      string path = $@"{Project.Current.HomeFolderPath}\ReportExport.pdf";
      PDFFormat pdfFormat = new PDFFormat();
      pdfFormat.Resolution = 300;
      pdfFormat.OutputFileName = path;
      report.ExportToPDF($"{report.Name}", pdfFormat, exportOptions, true);
    }
    Inheritance Hierarchy

    System.Object
       ArcGIS.Desktop.Mapping.ExportFormat
          ArcGIS.Desktop.Mapping.PDFFormat

    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.0 or higher.
    See Also