Làm cách nào tôi có thể in một SVG, đã được thu nhỏ đến kích thước a4, từ dòng lệnh? Tôi đã thử sử dụng lpr
, nhưng thay vào đó, máy in chỉ in ra XML thực sự của tệp, đây không phải là thứ tôi muốn.
Làm cách nào tôi có thể in một SVG, đã được thu nhỏ đến kích thước a4, từ dòng lệnh? Tôi đã thử sử dụng lpr
, nhưng thay vào đó, máy in chỉ in ra XML thực sự của tệp, đây không phải là thứ tôi muốn.
Câu trả lời:
Inkscape có thể chuyển đổi giữa các định dạng đồ họa vector khác nhau, bao gồm cả SVG sang PDF. Mặc dù nó thường là một ứng dụng GUI, nhưng nó có thể chạy ở chế độ hàng loạt mà không có máy chủ X khả dụng.
inkscape --without-gui --export-pdf=foo.pdf foo.svg
lpr foo.pdf
Hoặc nếu bạn muốn in trực tiếp:
inkscape --without-gui --export-pdf=/dev/stdout foo.svg | lpr
Một khả năng khác là thư viện Apache Batik . Tuy nhiên, mặc dù có một công cụ dòng lệnh dựa trên thư viện đó là Fop , nhưng dường như không có cách nào để sử dụng đầu vào SVG, vì vậy bạn phải viết một chút mã keo trong Java.
Các tệp SVG, như bạn đã lưu ý, chỉ là văn bản xml. Việc đổ dữ liệu đó thẳng vào máy in sẽ giúp bạn không có gì. Những gì bạn cần là một chương trình có thể cho phép dữ liệu đó. Bạn nói rằng tệp đã được thu nhỏ thành kích thước A4, đó chỉ là không gian tọa độ cho dữ liệu vectơ có thể mở rộng. Nó không được kết xuất.
Tuy nhiên đừng tuyệt vọng! Có rất nhiều chương trình có thể kết xuất dữ liệu từ dòng lệnh và một số chương trình thậm chí có thể kết xuất và in tất cả trong một wack. Bạn cần xem xét các cờ dòng lệnh cho một số chương trình có trọng lượng nặng hơn mà bạn thường mong đợi để có được GUI.
Ví dụ: tôi biết bạn có thể sử dụng LibreOffice trên dòng lệnh để mở và in một tệp hoặc chuyển đổi nó sang định dạng khác. Có một tiện ích dòng lệnh tiện dụng được gọi là unoconv giúp quá trình chuyển đổi dễ dàng hơn rất nhiều bằng cách đơn giản hóa tất cả các cờ bạn sẽ phải gửi.
Gimp cũng có một số cờ dòng lệnh để mở, chuyển đổi, lưu và thậm chí in. Một số standbys cũ như ImageMagick cũng có thể chuyển đổi các tệp SVG thành các hình ảnh được hiển thị ở một kích thước nhất định. Tôi hy vọng các ứng dụng khác như Inkscape cũng có thể làm điều này.
Một khi bạn có một hình ảnh, nó sẽ dễ dàng in từ dòng lệnh. Nếu bạn làm điều này thường xuyên, bạn có thể viết một đoạn script hai dòng nhỏ để chuyển đổi và in!