Summary
Exports an ArcGIS Pro report to a PDF file.
Learn more about reports and how to add, modify and share them.
Usage
This tool creates a PDF report from a report in an ArcGIS Pro project or a report file (.rptx)
If a query exists in the report or report file definition, additional expressions are appended to the existing query.
This tool supports page range settings to export certain pages in addition to the entire report.
This tool supports custom page numbering options to modify start and total page numbers.
Syntax
arcpy.management.ExportReportToPDF(in_report, out_pdf_file, {expression}, {resolution}, {image_quality}, {embed_font}, {compress_vector_graphics}, {image_compression}, {password_protect}, {pdf_password}, {page_range_type}, {custom_page_range}, {initial_page_number}, {final_page_number})
Parameter | Explanation | Data Type |
in_report | The input report or .rptx file. | Report; File |
out_pdf_file | The output PDF file. | File |
expression (Optional) | An SQL expression used to select a subset of records. This expression is applied in addition to any existing expressions. For more information on SQL syntax, see SQL reference for query expressions used in ArcGIS. | SQL Expression |
resolution (Optional) | The resolution of the exported PDF in dots per inch (dpi). | Long |
image_quality (Optional) | Specifies the output image quality of the PDF. The image quality option controls the quality of rasterized data going into the export.
| String |
embed_font (Optional) | Specifies whether fonts are embedded in the output report. Font embedding allows text and markers built from font glyphs to be displayed correctly when the PDF is viewed on a computer that does not have the necessary fonts installed.
| Boolean |
compress_vector_graphics (Optional) | Specifies whether to compress the vector content streams in the PDF.
| Boolean |
image_compression (Optional) | Specifies the compression scheme used to compress image or raster data in the output PDF file.
| String |
password_protect (Optional) | Specifies whether password protection is needed to view the output PDF report.
| Boolean |
pdf_password (Optional) | A password to restrict opening the PDF. | Encrypted String |
page_range_type (Optional) | Specifies the page range of the report to export.
| String |
custom_page_range (Optional) | The pages to be exported when the page_range_type parameter is set to CUSTOM. You can set individual pages, ranges, or a combination of both separated by commas, such as 1, 3-5, 10. | String |
initial_page_number (Optional) | The initial page number of the report to create a page numbering offset to add additional pages to the beginning of the report. | Long |
final_page_number (Optional) | The page number to display on the last page of the exported PDF. | Long |
Code sample
The following Python window script demonstrates how to use the ExportReportToPDF tool.
import arcpy
arcpy.ExportReportToPDF_management("C:/data/sample.rptx", "C:/data/samplePDF.pdf",
"STATEFIPS = 42", 96, 'BETTER', 'EMBED_FONTS',
'COMPRESS_GRAPHICS', 'ADAPTIVE',
'PASSWORD_PROTECT', "password", 'CUSTOM',
"1-10")
Use the ExportReportToPDF tool to export a report after performing a selection on the data source.
# ExportReportToPDF.py
# Simple example of the Export Report to PDF tool
# Import system variables
import arcpy
# Set the workspace
arcpy.env.workspace = "C:/data/cities.gdb"
# Set local variables
in_layer = 'cities'
in_report = 'US Cities Report'
out_PDF = 'C/data/cities.pdf'
# Modify the report data source by selecting only the records where
# POP1990 < 50000
arcpy.SelectLayerByAttribute_management(in_layer, 'NEW_SELECTION',
'POP1990 < 50000')
# Export the report with the layer selection set
arcpy.ExportReportToPDF_management(in_report, out_PDF)
Use the Python API in addition to the ExportReportToPDF tool.
# ExportReporttoPDFAPI.py
# Simple example of exporting a report using Python
# Import system variables
import arcpy
# Identify all parcel reports in a project
aprx = arcpy.mp.ArcGISProject("C:/data/parcels/Parcels.aprx")
report = aprx.listReports("Parcels Report")[0]
# Export the report with a definition query
arcpy.ExportReportToPDF_management(report.name, "C:/data/parcels/ParcelsPDF.pdf",
' "LotSize" > 325 ')
Environments
Licensing information
- Basic: Yes
- Standard: Yes
- Advanced: Yes