Làm cách nào để giữ nguyên id của phần tử khi chỉnh sửa SVG trong Adobe Illustrator?


1

Tôi đang làm việc trên một quy trình trong đó chúng tôi sẽ tạo ra SVG với id trên các yếu tố nhất định. Tôi muốn có thể chỉnh sửa SVG trong Adobe Illustrator. Tuy nhiên, tôi thấy rằng khi tôi chỉnh sửa tệp trong Illustrator, tất cả id đều thay đổi.

Illustrator có thể được thực hiện để giữ id của tôi?


bạn có thể chia sẻ một mẫu được tạo ra không?
George Profenza

Câu trả lời:


4

Tôi đã cố gắng sử dụng Illustrator với svg trong vài năm nay, với thành công hỗn hợp. Nó thường bảo toàn ID, nếu bạn lưu ở định dạng cho phép nhất (SVG 1.1); nhưng nó thực sự thích viết lại các yếu tố svg khác nhau thành cách nghĩ riêng về chúng. Tôi mạnh mẽ khuyến cáo không sử dụng Illustrator để chỉnh sửa file svg mà bạn muốn có đánh dấu sạch và cẩn thận trong. Bạn có thể sử dụng Inkscape để thay thế.


0

Vì vậy, tôi biết câu hỏi này đã được hỏi từ lâu. Vì Inkscape khá chậm qua x11 trên Mac, tôi đã quyết định đăng giải pháp của mình lên đây trong trường hợp nó giúp được người khác.

Nếu bạn đã cài đặt python trên máy mac của mình, bạn có thể sử dụng tập lệnh này để sửa đổi svg trước khi bạn mở nó trong phần minh họa. Sau đó, sau khi bạn chỉnh sửa xong, về cơ bản làm ngược lại để đăng attr mới trở lại trường id. Khá là khó khăn, nhưng hiệu suất của họa sĩ minh họa đã làm cho nó tốt hơn là đau khổ với Inkscape đối với tôi -

from bs4 import BeautifulSoup

svg = open('myawesome.svg', 'r').read()

soup = BeautifulSoup(svg)

paths = soup.findAll('path')

for p in paths:
    p['inkscape:temp_id'] = p['id']

    html = p.prettify("utf-8")
    with open("output.svg", "a") as file:
        file.write(html)

Mẹo ở đây là mở SVG gốc trong trình soạn thảo văn bản và thay thế đường dẫn bằng đầu ra của tập lệnh này. Khi bạn hoàn thành công việc minh họa, hãy sao chép tập lệnh python này và sao chép 'inkscape: temp_id' trở lại p ['id'] (ngược lại với lần đầu tiên) và sau đó bạn được đặt.

Hy vọng điều này sẽ giúp ai đó ngoài kia. Tôi đã lãng phí 4 giờ hôm nay để tìm ra cách bảo tồn ID phần tử trong phần minh họa cho một dự án tôi đang thực hiện và đây là cách tốt nhất tôi có thể nghĩ ra. Chúc may mắn!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.