ArcGIS Pro 3.1 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / PDFFormat Class / ImageCompression Property
Example

In This Topic
    ImageCompression Property (PDFFormat)
    In This Topic
    Gets or sets the compression scheme used to compress image or raster data in the output file.
    Syntax
    public ImageCompression ImageCompression {get; set;}
    Public Property ImageCompression As ImageCompression
    Remarks

    The values available are defined in ImageCompression.

    (The default value is Adaptive)

    Example
    Layout_ExportPDF
      //Export a layout to PDF
    
      //Create a PDF export format
      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())
      {
        layout.Export(pdf);  //Export the PDF 
      }
    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
    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())
    {
      await 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.
    
    //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
    await 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
      }
    });
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.0 or higher.
    See Also