मैं दूसरे दिन एक मुद्दे पर भाग गया जब मैंने आर्कपैक दस्तावेज़ में newlines (\ 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)
अब तक, ऐसा लगता है कि गड़बड़ किए गए पाठ की उपस्थिति इस बात पर निर्भर करती है कि क्या लाइन को लपेटने के लिए पर्याप्त लंबा है, और क्या नई रेखा से पहले की रेखा नई रेखा के बाद की रेखा से अधिक लंबी है।
क्या गलत हो सकता है के बारे में कोई विचार? क्या आसपास कोई काम है? मैं सादे पाठ तत्वों का उपयोग कर सकता हूं और पायथन का उपयोग करके लाइनों को लपेटने के बारे में चिंता कर सकता हूं, लेकिन मुझे उम्मीद है कि मैं कुछ समझ सकता हूं।