前几天,当我尝试使用ArcPy的映射模块在ArcMap文档中使用换行符(\ n)编辑矩形文本元素时,遇到了一个问题。输出如下所示:
这是我用来生成输出的代码。第一列是矩形文本元素Text1,Text2,Text3。第二列是向下的“普通”文本元素Text4,Text5和Text6。
import os
import arcpy
HomeDir = r"C:\Desktop"
arcpy.env.workspace = HomeDir
CurrentMXD = arcpy.mapping.MapDocument(r"C:\Desktop\TextTest.mxd")
OutputFilename = r"C:\Desktop\TextTest.pdf"
if os.path.exists(OutputFilename):
os.remove(OutputFilename)
for TextElement in arcpy.mapping.ListLayoutElements(CurrentMXD, "TEXT_ELEMENT"):
TextElementName = TextElement.name
String1 = "The quick brown fox jumped over the lazy dog.\nShe sells sea shells by the sea shore."
String2 = "The quick brown fox \njumped over the lazy dog.\nShe sells sea shells by the sea shore."
String3 = "The quick brown fox jumped \nover the lazy dog.\nShe sells sea shells by the sea shore."
if TextElementName == "Text1":
TextElement.text = String1
if TextElementName == "Text2":
TextElement.text = String2
if TextElementName == "Text3":
TextElement.text = String3
if TextElementName == "Text4":
TextElement.text = String1
if TextElementName == "Text5":
TextElement.text = String2
if TextElementName == "Text6":
TextElement.text = String3
arcpy.mapping.ExportToPDF(CurrentMXD, OutputFilename)
到目前为止,看起来混乱的文本的存在取决于行是否足够长以便换行,以及换行之前的行是否比换行之后的行长。
关于可能出什么问题的任何想法?有解决方法吗?我可以使用纯文本元素,而不必担心使用Python换行,但是我希望我能弄清楚一些东西。
1
您是否安装了最新的Service Pack?
—
詹森·谢勒