Tôi đã gặp một vấn đề vào một ngày khác khi tôi cố gắng sử dụng mô-đun ánh xạ ArcPy để chỉnh sửa các thành phần văn bản hình chữ nhật với dòng mới (\ n) trong tài liệu ArcMap. Đây là những gì đầu ra trông như thế nào:
Đây là mã tôi đã sử dụng để tạo đầu ra đó. Cột đầu tiên là các thành phần văn bản hình chữ nhật Text1, Text2, Text3 đi xuống; cột thứ hai là các phần tử văn bản "đơn giản" Text4, Text5 và Text6 đi xuống.
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)
Cho đến nay, có vẻ như sự hiện diện của văn bản lộn xộn phụ thuộc vào việc dòng có đủ dài hơn để bọc hay không và liệu dòng trước dòng mới có dài hơn dòng sau dòng mới hay không.
Bất kỳ ý tưởng về những gì có thể đi sai? Có một cách giải quyết? Tôi có thể sử dụng các yếu tố văn bản đơn giản và lo lắng về việc gói các dòng bằng Python, nhưng tôi hy vọng tôi có thể tìm ra điều gì đó.