ฉันเจอปัญหาเมื่อวันก่อนเมื่อฉันพยายามใช้ ArcPy ของโมดูลการแมปเพื่อแก้ไของค์ประกอบข้อความสี่เหลี่ยมผืนผ้าด้วยการขึ้นบรรทัดใหม่ (\ n) ในเอกสาร ArcMap นี่คือผลลัพธ์ที่ได้:
นี่คือรหัสที่ฉันใช้ในการสร้างผลลัพธ์นั้น คอลัมน์แรกคือองค์ประกอบข้อความสี่เหลี่ยมผืนผ้า 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 แต่ฉันหวังว่าฉันจะสามารถเข้าใจได้