使用方法
此工具基于 ArcGIS Pro 工程中的报表或报表文件 (.rptx) 创建 PDF 报表
如果报表或报表文件定义中存在查询,则会在现有查询中追加其他表达式。
除了整个报表之外,此工具还支持页面范围设置以导出某些页面。
此工具支持自定义页面编号选项,以修改起始页码和总页数。
语法
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})
参数 | 说明 | 数据类型 |
in_report | 输入报表或 .rptx 文件。 | Report; File |
out_pdf_file | 输出 PDF 文件。 | File |
expression (可选) | 用于选择记录子集的 SQL 表达式。除了任何现有表达式之外,还应用此表达式。有关 SQL 语法的详细信息,请参阅在 ArcGIS 中使用的查询表达式的 SQL 参考。 | SQL Expression |
resolution (可选) | 已导出 PDF 的分辨率,单位为每英寸点数 (dpi)。 | Long |
image_quality (可选) | 指定 PDF 的输出图像质量。“图像质量”选项用于控制要导出的栅格化数据的质量。
| String |
embed_font (可选) | 指定是否在输出报表中嵌入字体。当在未安装所需字体的计算机上查看 PDF 时,允许在字体嵌入中使用基于字体字形构建的文本和标记。
| Boolean |
compress_vector_graphics (可选) | 指定是否在 PDF 中压缩矢量内容流。
| Boolean |
image_compression (可选) | 指定在输出 PDF 文件中压缩图像或栅格数据时使用的压缩方案。
| String |
password_protect (可选) | 指定是否需要密码保护才能查看输出 PDF 报表。
| Boolean |
pdf_password (可选) | 用于限制打开 PDF 的密码。 | Encrypted String |
page_range_type (可选) | 指定要导出的报表页面范围。
| String |
custom_page_range (可选) | page_range_type 参数设置为 CUSTOM 时要导出的页面。可设置单独页面、范围或者以逗号分隔的两者组合,例如 1, 3-5, 10。 | String |
initial_page_number (可选) | 报表的初始页码来创建页面编号偏移,以将其他页面添加到报表开头。 | Long |
final_page_number (可选) | 要在导出的 PDF 最后一页上显示的页码。 | Long |
代码示例
以下 Python 窗口脚本演示了如何使用 ExportReportToPDF 工具。
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")
使用 ExportReportToPDF 工具在对数据源执行选择后导出报表。
# 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)
除了 ExportReportToPDF 工具之外,还使用 Python API。
# 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 ')
环境
此工具不使用任何地理处理环境。
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是