Arcgis map export or print Error: Cannot map metafile into memory. Not enough memory
Arcgis map export or print Error: Cannot map metafile into memory. Not enough memory
Link: https://support.esri.com/en/technical-article/000004362
Error Message
When exporting or printing a large map, the following error message is displayed.
"Cannot map metafile into memory. Not enough memory"
This prevents the output file from being created and deletes the interim Enhanced Windows Metafile Format (EMF) file.
Cause
When ArcMap prints or exports to any format, a series of 100 MB EMF files are created. Windows attempts to allocate enough memory to read each 100 MB size EMF metafile. If it cannot allocate a large enough contiguous block of memory, Windows returns a NULL or '0' EMF handle, and ArcMap displays the error message.
Memory in Windows is a combination of physical RAM and disk paging files. Memory is allocated when an application is launched, and it is released when that application is shutdown. Continuous use of applications causes fragmentation of memory and reduces the size of the largest contiguous block. Memory is slowly defragmented when the machine is allowed to sit idle, such as no processing or mouse movements.
An E-size map with raster elements, either raster data or rasterized vector objects, such as those having transparent or picture fill/marker symbology, can easily reach total temp file sizes of 2 to 4 GB. The interim EMF file used to store 2 GB of draw commands is represented as a chain of twenty 100 MB files on disk.
When creating a map of this size or larger, Windows must find at least 100 MB of contiguous (perfectly unfragmented) memory or it returns a NULL handle, and the error is triggered. Because any application or service running on the machine can fragment memory, perfectly contiguous 100 MB memory blocks become scarce after even moderate use. Preserving contiguous memory is difficult even on machines with large amounts of RAM (2048 MB and up), and plenty of disk space for the page file (4 GB and up).
Solution or Workaround
It is highly recommended to use <b>ArcGIS Pro</b> for printing and exporting, especially when experiencing issues caused by the limitations of the ArcMap display engine. More specifically, ArcGIS Pro is not restricted by the graphical device interface (GDI) limitations that some users experience in ArcMap. For example, transparency is natively supported in ArcGIS Pro, preventing the rasterization of layers. Additionally, ArcGIS Pro supports transparency in layout elements.
Note:
ArcGIS Pro does not support exporting Adobe Illustrator files; it is recommended to export using PDF or SVG instead. Also, because ArcGIS Pro does not use the Windows GDI, font substitution or fallback does not occur in ArcGIS Pro. Boxes may appear if using characters unsupported by the chosen font.
If using ArcGIS Pro is not an option, use one of the following workarounds to resolve this issue.
- Change the output size limit setting in the registry to generate smaller temporary metafile (EMF) draw files.
For help with modifying the temp metafile, see: How To: Modify the temp metafile size setting to optimize draw time memory use - Simplify and generalize the map data. Reduce the usage of raster data. Use the clip tools in ArcToolbox to generate new data that focuses on the data required for the layout.
- Reduce the display quality of all raster layers.
- Right-click the raster layer in the Table of Contents and select Properties
- In the Layer Properties dialog box, select the Display tab.
- Lower the display quality in the Display Quality slider from Normal.
- Click OK.

- Increase the virtual memory to the maximum usable by the Windows operating system.
For help with changing virtual memory settings, see: How To: Change the operating system's virtual memory settings. - Restart the computer, and without running any other applications, immediately open and export the MXD document. Restarting releases memory allocations, and this may help export or print the map successfully.
- Discontinue using highly-compressed raster formats, such as MrSID or ECW, which must be completely uncompressed during the output process and can consume a lot of computer resources, including paging file. See the corresponding link in the Related Information section below for more information.
- Remove layers symbolized with transparency or BMP/picture marker symbology from group layers that are turned on and currently being displayed.
- Eliminate transparencies, picture fill symbols, and picture marker symbols from the map. This reduces the amount of raster data in the output.
Problem: Maps print or export blocky, chunky, low quality, or raster banded from ArcMap
Related Information
- FAQ: What are the disadvantages to printing or exporting ArcMap maps that contain MrSID and/or ECW data?
- HowTo: Change the operating system virtual memory settings
- Bug: Transparent/rasterizing layers that are part of a group layer force the entire group layer to rasterize on output
- HowTo: Create a multiple layer marker symbol
- Problem: Maps print or export blocky, chunky, low quality, or raster banded from ArcMap
- HowTo: Use the Output Image Quality option
- HowTo: Add transparency to a layer
- HowTo: Detect if any layers use transparency or picture marker symbology and how many layer masks are present in a map
- FAQ: Can HKEY_CURRENT_USER be edited in the registry for a restricted user profile, when logged in as the administrator?
Last Published: 6/9/2018
Arcgis map export or print Error: Cannot map metafile into memory. Not enough memory的更多相关文章
- Map.putAll方法——追加另一个Map对象到当前Map集合(转)
该方法用来追加另一个Map对象到当前Map集合对象,它会把另一个Map集合对象中的所有内容添加到当前Map集合对象. 语法 putAll(Map<? extends K,? extends V ...
- JAVA中List转换String,String转换List,Map转换String,String转换Map之间的转换类
<pre name="code" class="java"></pre><pre name="code" cl ...
- Map.putAll方法——追加另一个Map对象到当前Map集合
转: Map.putAll方法——追加另一个Map对象到当前Map集合(转) 该方法用来追加另一个Map对象到当前Map集合对象,它会把另一个Map集合对象中的所有内容添加到当前Map集合对象. 语法 ...
- Java遍历Map键、值。获取Map大小的方法
Map读取键值对,Java遍历Map的两种实现方法 第一种方法是根据map的keyset()方法来获取key的set集合,然后遍历map取得value的值 import java.util.HashM ...
- 各种Map的区别,想在Map放入自定义顺序的键值对
今天做统计时需要对X轴的地区按照地区代码(areaCode)进行排序,由于在构建XMLData使用的map来进行数据统计的,所以在统计过程中就需要对map进行排序. 一.简单介绍Map 在讲解Map排 ...
- JAVA中遍历Map和Set方法,取出map中所有的key
Java遍历Set集合 1.迭代器遍历: Set<String> set = new HashSet<String>(); Iterator<String> it ...
- map集合修改其中元素 去除Map集合中所有具有相同值的元素 Properties长久保存的流操作 两种用map记录单词或字母个数的方法
package com.swift.lianxi; import java.util.HashMap; import java.util.Iterator; import java.util.Map; ...
- Fastjson 序列化,反序列化Map对象排序问题(字符串转map,map转字符串)
背景 记录项目中遇到的 关于fastjson jsonobject转string乱序,string转jsonObject乱序问题的解决方案 fastJson issues 问题来源描述参见: http ...
- Map随笔:最常用的Map——HashMap
目录 Map随笔:最常用的Map--HashMap 前言: 1,HashMap的结构 2,HashMap的一些属性(JDK8) 3,HashMap的构造函数(JDK8) 4,HashMap的一些方法( ...
随机推荐
- Apache poi简介及代码操作Excel
一.简介 在我们进行企业的系统开发时,难免会遇到网页表格和Excel之间的操作问题(POI是个不错的选择) Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序 ...
- Windows 2016 无域故障转移群集部署方法 超详细图文教程 (二)
上一章我们配置了一台设备,接着根据那个配置,配置其它设备.这里我配置了三台设备: 创建故障转移群集,并添加设备. 之前的操作都是每台服务器都要做的,而这个操作,只需要任选一台去做即可,我这里选d1 1 ...
- Windows 2016 无域故障转移群集部署方法 超详细图文教程 (一)
故障转移群集是一个很实用的功能,而windows在2016版本开始,终于支持不用域做故障转移群集. 在群集中,我们可以设定一个"群集IP" 而客户端只需要根据这个"群集I ...
- WebApp专家评委打分的两种进入模式
A模式: 当前PC端的前期设置如下: [管理员允许时,只针对管理员指定选手] 选项选中.在现场时,管理员点击 状态未知 或下方红框所示按钮 发出打分允许指令时, 专家评委使用WebApp进入专家打分区 ...
- 08 bash特性--shell脚本编程入门
shell脚本编程入门 编程语言介绍 编程语言分为:机械语言.汇编语言和高级语言: 计算机能识别的语言为机械语言,而人类能学习的并且能够方便掌握的为高级语言,所以,我们所编写的程序就要通过编译来转换成 ...
- Android转场动画,Avtivity转场动画;
转场动画 - 共享元素动画 先看效果: Activity1点击小图标开启Activity2: 开启Activity2效果就像是小图标放大了填充上去的,关闭Activity2回到Activity1时又像 ...
- gt,gte,lt,lte缩写的含义
gt: greater than 大于 gte: greater than or equal 大于等于 lt: less than 小于 lte: less than or equal 小于等于
- 2014最新 iOS App 提交上架store 详细流程
http://blog.csdn.net/tt5267621/article/details/39430659
- 《算法》第二章部分程序 part 4
▶ 书中第二章部分程序,加上自己补充的代码,包括优先队列和索引优先队列 ● 优先队列 package package01; import java.util.Comparator; import ja ...
- shell环境变量
永久环境变量配置: /etc/profile /etc/bashrc 用户环境变量: ~/.bashrc