Chuyển hướng đầu ra thiết bị đầu cuối sang tập tin hình ảnh


7

Tôi cần phải lập trình chạy một số lệnh unix và nhận được đầu ra trong một tập tin hình ảnh, định dạng có thể là pnghoặc jpeg( jpg).

Các lệnh được chạy trong máy AIX (IBM * nix). Tôi không có quyền cài đặt các gói mới, tuy nhiên tôi nghĩ có một cách để làm điều này bằng cách sử dụng một đường ống và chuyển hướng với các gói mặc định từ Hệ điều hành.

Thật không may, tôi không thể tìm thấy một phương pháp để làm điều này.


Chụp ảnh màn hình và chỉnh sửa chúng cùng nhau trên một máy tính có đầy đủ tính năng hơn.
donothings thành công

Câu trả lời:


4

Đối với các lệnh có đầu ra ít và các dòng ngắn, bạn có thể thực hiện điều đó một cách dễ dàng với sự kết hợp của a2ps, ghostscript và fantemagick:

Ở đây đầu ra của lệnh lsđược sử dụng làm ví dụ.

ls | 
a2ps -=book -B -q --medium=A4dj --borders=no -o out1.ps &&
gs \
  -sDEVICE=png256           \
  -dNOPAUSE -dBATCH -dSAFER \
  -dTextAlphaBits=4 -q      \
  -r300x300                 \
  -sOutputFile=out2.png out1.ps
convert -trim out2.png result.png

a2pstạo ra một hình ảnh vector của văn bản. ghostscript raster nó thành một đồ họa PNG (không sử dụng JPEG, đó là định dạng đồ họa sai cho việc này, nó chỉ hữu ích cho các hình ảnh quang học). Cuối cùng, hình ảnh được sử dụng để loại bỏ khoảng trắng xung quanh. Đọc các trang man và điều chỉnh các thông số khi cần thiết.

Nếu các chương trình không được cài đặt, bạn có thể biên dịch và cài đặt chúng với --prefix=/home/me/.localtư cách người dùng mà không có quyền quản trị .

EDIT: Như đã đề cập trong một bình luận, một giải pháp không có sự phụ thuộc a2psvà ghostscript là giải pháp sau đây.

convert label:"$(ls)" result.png

Cảm ơn câu trả lời của bạn, nhưng như tôi đã chỉ ra, tôi không được phép cài đặt các gói mới
Fernando Martinez

Nếu bạn có trí tưởng tượng, bạn có thể cắt bỏ a2psvà chỉ sử dụng convert label:"$( ls )" ls_output.png. Tôi không thể nói như thẩm mỹ mặc dù.
donothings thành công

@FernandoMartinez Bạn không cần quyền root để cài đặt phần mềm, ngoại trừ nếu phân vùng nhà được gắn kết noexec, nhưng tôi chưa bao giờ thấy một hệ thống nào trong sản xuất mà người dùng không có quyền thực thi trong thư mục chính của họ. Bạn nên kiểm tra lại.
Marco

Tôi không biết thủ thuật này, tôi chạy "$ (ls)" result.png, có đúng không?, Bạn có một số ví dụ không? Cảm ơn bạn.
Fernando Martinez

Ví dụ được in trên vùng màu xám trong câu trả lời của tôi. Bạn cần chương trình converttừ imagemagickbộ cho điều đó.
Marco
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.