ExportToProductionPDF (arcpyproduction.mapping)
摘要
Exports the page layout or data frame of an .mxd file to a Production Portable Document Format (PDF) file. The Production PDF exporter includes the following capabilities:
- Spot colors—Provides Spot color support using PDF, including tint control
- Overprint—Allows a color to blend with another color for CMYK or Spot colors
- Replace colors—Maps one color to another during export from ArcGIS for Desktop
- Convert colorspaces—Converts between RGB and CMYK colorspaces, allowing PDF files to have a mix of colorspaces
讨论
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. ArcMap PDFs are editable in many graphics applications and retain annotation, labeling, and attribute data for map layers from the ArcMap table of contents. PDF exports from ArcMap support embedding of fonts and thus can display symbology correctly even if the user does not have Esri fonts installed. PDF exports from ArcMap can define colors in CMYK or RGB values.
要导出单个数据框(而不是整个页面布局),可将 DataFrame 对象传给函数的 data_frame 参数。由于数据框导出不具有可提供高度和宽度信息的关联页面,所以必须通过 df_export_width 和 df_export_height 参数来提供此信息。
对于页面布局导出和数据框导出,控制生成图像图形质量的方式有所不同。导出页面布局时,通过更改 resolution 参数来控制图像细节。导出数据框时,保持 resolution 参数的默认值,更改 df_export_width 和 df_export_height 参数来更改图像细节。高度和宽度参数直接控制在导出文件中生成的像素数,且仅在导出数据框时使用。像素数较高的图像具有较高的图像细节。对于大多数页面布局导出,默认参数值应在第一次尝试时生成良好的结果和美观的导出图像。对于数据框导出,您可能需要对 df_export_width 和 df_export_height 值进行若干次试验,之后才能得到理想的结果。
Refer to Exporting to Production PDF in ArcGIS Help for more detailed discussions on exporting maps.
File sizes can differ when map documents are exported using arcpyproduction.mapping instead of the ArcMap commands. This is due to the differences in the functions in the Python module versus the commands in ArcMap.
语法
参数 | 说明 | 数据类型 |
map_document |
A variable that references a MapDocument object. | MapDocument |
out_pdf |
A string that represents the path and file name for the output export file. | String |
setting_file | A path to a file that contains the Production PDF settings to be used when the PDF is generated. The settings file includes the height, width, resolution, color mapping information, and other properties. | String |
data_frame |
A variable that references a DataFrame object. Use the string/constant PAGE_LAYOUT to export the map document's page layout instead of an individual data frame. (默认值为 PAGE_LAYOUT) | DataFrame |
df_export_width |
A number that defines the width of the export image in pixels for a data frame export; df_export_width is only used when exporting a data frame. Exporting a page layout uses the map document page width instead of df_export_width. (默认值为 None) | Integer |
df_export_height |
A number that defines the height of the export image in pixels for a data frame export; df_export_height is only used when exporting a data frame. Exporting a page layout uses the map document page height instead of df_export_height. (默认值为 None) | Integer |
resolution |
A number that defines the resolution of the export file in dots per inch (DPI). (默认值为 None) | Integer |
image_quality |
A string that defines output image quality, the draw resolution of map layers that draw as rasters.
(默认值为 None) | String |
colorspace |
A string that defines the colorspace of the export file. Valid values are CYMK and RGB.
(默认值为 None) | String |
compress_vectors |
A Boolean that controls compression of vector and text portions of the output file. Image compression is defined separately. (默认值为 None) | Boolean |
image_compression |
A string that defines the compression scheme used to compress image or raster data in the output file.
(默认值为 None) | String |
picture_symbol |
A string that defines whether picture markers and picture fills will be converted to vector or rasterized on output.
(默认值为 None) | String |
convert_markers |
A Boolean that controls the conversion of character-based marker symbols to polygons. This allows the symbols to appear correctly if the symbol font is not available or cannot be embedded; however, setting this parameter to True disables font embedding for all character-based marker symbols, which can result in a change in their appearance. (默认值为 None) | Boolean |
embed_fonts |
A Boolean that controls the embedding of fonts in the export file. Font embedding allows text and character markers to be displayed correctly when the document is viewed on a computer that does not have the necessary fonts installed. (默认值为 None) | Boolean |
layers_attributes |
A string that controls inclusion of PDF layer and PDF object data (attributes) in the export file.
(默认值为 None) | String |
georef_info |
A Boolean that enables the export of coordinate system information for each data frame into the output PDF file. (默认值为 None) | Boolean |
jpeg_compression_quality | A number that controls compression quality value when image_compression is set to ADAPTIVE or JPEG. The valid range is 1 to 100. A jpeg_compression_quality of 100 provides the best quality images but creates large export files. The recommended range is between 70 and 90. (默认值为 None) | Integer |
clip_to_graphics_extent | A Boolean that controls the clipping of output to the extent of the graphics on the page layout. It is used only when exporting a page layout. | Boolean |
代码实例
This script opens a map document and exports the page layout to a Production PDF file using default values for all options.
import arcpy
import arcpyproduction
# Check out Production Mapping license
arcpy.CheckOutExtension("foundation")
# Define variables
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
settings = r"C:\Project\RGBtoCMYKwOverPrint.xml"
# Export to Production PDF using only the required parameters
arcpyproduction.mapping.ExportToProductionPDF(mxd,
r"C:\Project\Output\Project.pdf", settings)
# Check in extension
arcpy.CheckInExtension('foundation')
This script will export multiple map documents using the same settings file. The PDFs are generated with file names that match the source MXDs.
import os
import arcpy
import arcpyproduction
# Check out Production Mapping license
arcpy.CheckOutExtension("foundation")
# Define variables
mxds = [r"C:\Project\Project1.mxd", r"C:\Project\Project2.mxd",
r"C:\Project\Project3.mxd"]
opath = r"C:\Project\PDF"
settings = r"C:\Project\Export_Settings\RGBtoCMYKwOverPrint.xml"
# Export multiple MXDs to Production PDF using the same settings file
for i, mxd in enumerate(mxds):
map = arcpy.mapping.MapDocument(mxds[i])
o_pdf = os.path.join(opath,
os.path.basename(os.path.splitext(mxd)[0]) + ".pdf")
print i
print "mxd=" + map.filePath
print "setfile=" + settings
print "start"
arcpyproduction.mapping.ExportToProductionPDF(map, o_pdf ,settings)
print "done" + o_pdf
# Check in extension
arcpy.CheckInExtension('foundation')