public class PDFFormat : ExportFormat
Public Class PDFFormat Inherits ExportFormat
public class PDFFormat : ExportFormat
Public Class PDFFormat Inherits ExportFormat
//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()) { await QueuedTask.Run(() => layout.Export(pdf)); //Export the PDF }
//This example demonstrates how to export a layout to PDF. //Added references using ArcGIS.Desktop.Core; //Project using ArcGIS.Desktop.Layouts; //Layout classes using ArcGIS.Desktop.Framework.Threading.Tasks; //QueuedTask using ArcGIS.Desktop.Mapping; //Export formats public class ExportLayoutToPDFExample { public static Task ExportLayoutToPDFAsync(string LayoutName, string Path) { //Reference a layoutitem in a project by name LayoutProjectItem layoutItem = Project.Current.GetItems<LayoutProjectItem>().FirstOrDefault(item => item.Name.Equals(LayoutName)); if (layoutItem == null) return Task.FromResult<Layout>(null); //Create PDF format with appropriate settings PDFFormat PDF = new PDFFormat(); PDF.Resolution = 300; PDF.OutputFileName = Path; //PDF.Password = "xxx"; return QueuedTask.Run(() => { //Export Layout Layout lyt = layoutItem.GetLayout(); //Loads and returns the layout associated with a LayoutItem if (PDF.ValidateOutputFilePath()) { lyt.Export(PDF); } }); } }
//This example demonstrates how to export an individual map frame on a layout to PDF. //Added references using ArcGIS.Desktop.Core; //Project using ArcGIS.Desktop.Layouts; //Layout classes using ArcGIS.Desktop.Framework.Threading.Tasks; //QueuedTask using ArcGIS.Desktop.Mapping; //Export formats public class ExportMapFrameToPDFExample { public static Task ExportMapFrameToPDFAsync(string LayoutName, string MFName, string Path) { //Reference a layoutitem in a project by name LayoutProjectItem layoutItem = Project.Current.GetItems<LayoutProjectItem>().FirstOrDefault(item => item.Name.Equals(LayoutName)); if (layoutItem == null) return Task.FromResult<Layout>(null); //Create PDF format with appropriate settings PDFFormat PDF = new PDFFormat(); PDF.Resolution = 300; PDF.OutputFileName = Path; //PDF.Password = "xxx"; return QueuedTask.Run(() => { //Export MapFrame Layout lyt = layoutItem.GetLayout(); //Loads and returns the layout associated with a LayoutItem MapFrame mf = lyt.FindElement(MFName) as MapFrame; PDF.OutputFileName = Path; if (PDF.ValidateOutputFilePath()) { mf.Export(PDF); } }); } }
//This example demonstrates how to export the active mapview to PDF. //Added references using ArcGIS.Desktop.Framework.Threading.Tasks; //QueuedTask using ArcGIS.Desktop.Mapping; //MapView and Export formats public class ExportActiveMapToPDFExample { public static Task ExportActiveMapToPDFAsync(string Path) { return QueuedTask.Run(() => { //Reference the active map view MapView mapv = MapView.Active; //Create PDF format with appropriate settings PDFFormat PDF = new PDFFormat(); PDF.Resolution = 300; PDF.Height = 500; PDF.Width = 800; PDF.OutputFileName = Path; //Export active map view if (PDF.ValidateOutputFilePath()) { mapv.Export(PDF); } }); } }
//Export multiple map series pages to PDF //Create a PDF export format PDFFormat msPDF = new PDFFormat() { Resolution = 300, OutputFileName = filePath, DoCompressVectorGraphics = true }; //Set up the export options for the map series MapSeriesExportOptions MSExport_custom = new MapSeriesExportOptions() { ExportPages = ExportPages.Custom, CustomPages = "1-3, 5", ExportFileOptions = ExportFileOptions.ExportAsSinglePDF, ShowSelectedSymbology = false }; //Check to see if the path is valid and export if (msPDF.ValidateOutputFilePath()) { layout.Export(msPDF, MSExport_custom); //Export the PDF to a single, multiple page PDF. }
PDFFormat PDF = new PDFFormat();
//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 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 } });
//Note: Call within QueuedTask.Run() //Define Export Options var exportOptions = new ReportExportOptions { ExportPageOption = ExportPageOptions.ExportAllPages, TotalPageNumberOverride = 0 }; //Create PDF format with appropriate settings PDFFormat pdfFormat = new PDFFormat(); pdfFormat.Resolution = 300; pdfFormat.OutputFileName = path; report.ExportToPDF($"{report.Name}", pdfFormat, exportOptions, useSelection);
System.Object
ArcGIS.Desktop.Mapping.ExportFormat
ArcGIS.Desktop.Mapping.PDFFormat
Target Platforms: Windows 11, Windows 10