মুট থেকে সুন্দর মুদ্রণ মেইল?


16

আমি জানি যে আমি মুটের মধ্যে একটি মুদ্রণ কমান্ড কনফিগার করতে পারি .muttrc, উদাহরণস্বরূপ:

set print=ask-yes
set print_command="..."

তবে সুন্দর মুদ্রণের জন্য আমার কোন মুদ্রণ কমান্ড ব্যবহার করা উচিত ?

আচ্ছা, শর্টকাট a2psদিয়েও আউটপুট কিছুটা স্পার্টান মনে হচ্ছে -=mail। এটি ইউটিএফ 8 সমর্থন করে না । এটি রয়েছে papsযা ' প্যাঙ্গো ব্যবহার করে ইউটিএফ -8 থেকে পোস্টস্ক্রিপ্ট রূপান্তরকারী ' হিসাবে বর্ণনা করা হয়েছে এবং বর্তমানে মার্জিনের জন্য সমর্থন, বা ইমেল লেআউট বা এর মতো কিছু অন্তর্ভুক্ত নয়।

mp: দুর্দান্ত ডিফল্ট শিরোনাম। আবার কোনও ইউটিএফ 8 সমর্থন করে না। ডিফল্ট মার্জিনগুলি হাস্যকরভাবে ছোট - আপনি যদি বৃহত্তর মার্জিন নির্দিষ্ট করে থাকেন তবে ফুটারের পিছনে বডি টেক্সট প্রিন্ট করা হবে।

enscript: -Gঅভিনব পৃষ্ঠার শিরোনামের জন্য সত্যই অভিনব। কোনও ইউটিএফ 8 সমর্থন নেই

একবিংশ শতাব্দীতে আপনি মট থেকে আপনার মেলগুলি মুদ্রণ করতে কী ব্যবহার করেন?

(এটি পিটি এবং / বা পিডিএফ হিসাবে ইউটিএফ 8, ডিআইএন এ 4 আউটপুট সমর্থন করবে)


আমি মাইম সম্পর্কে নোটগুলি মুছে ফেলেছি কারণ মুটগুলি MIME তথ্যগুলিতে পাইপ দেয় না print_command। সুতরাং, মুটের মধ্যে |(পাইপ) কমান্ডের মাধ্যমে মুদ্রণ_কোমন্ডগুলি পরীক্ষা করা যথেষ্ট নয় ।
ম্যাক্সচলেপজিগ

মন্তব্যগুলি বর্ধিত আলোচনার জন্য নয়; এই কথোপকথন চ্যাটে সরানো হয়েছে ।
টেরডন

উত্তর:


19

রয়েছে Muttprint । এটি ইউটিএফ -8 সমর্থন করে এবং এর আউটপুট ডিফল্টরূপে শালীন দেখায়। মটপ্রিন্ট ল্যাটেক্স ব্যবহার করে এবং কাস্টমাইজেশনের জন্য হুক সরবরাহ করে।

যেহেতু আমি বিভিন্ন পরিবেশ থেকে মেলগুলি মুদ্রণ করছি আমি কোনও ডিফল্ট প্রিন্টার ব্যবহার করতে পারি না। সুতরাং আমি ~/.muttrcপিডিএফ ভিউয়ারটি ব্যবহার করার জন্য এটি (মাধ্যমে ) সেট আপ করেছি যেখানে আমি গতিশীলভাবে একটি প্রিন্টার নির্বাচন করতে পারি:

set print_command='set -e; f=`mktemp`; \
        muttprint -P A4 -p TO_FILE:"$f"; evince "$f"; rm "$f"'

মেকটেম্প /tmpডিফল্টরূপে ব্যবহার করে। একটি কাস্টম ক্যাশে ডিরেক্টরি ব্যবহার করার জন্য:

set print_command='set -e; f=`mktemp -p "$HOME"/.cache/mutt`; \
        muttprint -P A4 -p TO_FILE:"$f"; evince "$f"; rm "$f"'

print_decodeবিটিডব্লিউ , আপনি মুদ্রকটি কনফিগার করার জন্য সেট করতে পারেন যদি মুদ্রণ_কোমন্ড নিজেই এমআইএমআই, এনকোডিংস ইত্যাদি ডিকোড করতে সক্ষম হয়। ডিফল্টরূপে সেট করা হয় তা থেকে yesযা মত কমান্ড জন্য সঠিক সেটিং muttprint, enscriptইত্যাদি

A2ps, এনক্রিপ্ট এবং এমপি-র ইউটিএফ -8 ইস্যু সম্পর্কিত যে কোনওটি কেবল অচল মনে করা উচিত। প্রকৃতপক্ষে, প্রকল্প পৃষ্ঠাগুলি দেখে তাদের মনে হচ্ছে এটি বজায় রাখা হয় না (যেমন এমপি পৃষ্ঠার সর্বশেষ সংবাদ আইটেমটি ২০০২ সালের এবং এটি সনে অবস্থিত একটি মেলিং তালিকার উল্লেখ করেছে)।


এটি সুরক্ষার ত্রুটির দিকে পরিচালিত করে: /tmp/$USER.psঅন্যান্য ব্যবহারকারীদের দ্বারা এটি অত্যন্ত অনুমানযোগ্য। mktempঅস্থায়ী ফাইল তৈরি করতে ব্যবহার করুন ! ( আমার উত্তর দেখুন )।
এফ। হাউরি

@ এফ.হৌরি, হ্যাঁ, নির্ভর করা /tmp/$USER.psনিরীহ। আমি আমার উত্তর আপডেট করেছি।
ম্যাক্সচলেপজিগ

ফাইল ইতিমধ্যে উপস্থিত থাকলে বা ডিরেক্টরি না থাকলে mktemp ব্যর্থ হবে। ব্যর্থতায়, আপনার ক্যাশে ডিরেক্টরিটি অযাচিত মুদ্রিত মেলগুলি পূরণ করবে। এটি /tmp/*পুনরায় বুটে মুছে যাওয়ার মূল কারণ ।
এফ। হাউরি

@ এফ.হৌরি, mktemp'রাইসন ডি'ত্রে ফাইলের নাম সংঘর্ষ এড়ানো। যদিও এটি অন্যান্য কারণে ব্যর্থ হতে পারে। আমি কমান্ডটি এমনভাবে পরিবর্তন করেছি যে mttemp সফল হলে কেবল মিটপ্রিন্ট কার্যকর করা হয় (আমার সন্দেহ fহয় যে খালি থাকাকালীন মুটপ্রিন্টটি অন্য কোনও ফাইলনামে ডিফল্ট হয়ে যাবে )। সুতরাং, এখন আপনি কেবলমাত্র বাম-ওভার টেম্প ফাইলটি দিয়ে শেষ করতে পারেন যদি প্রমাণ বা rm ব্যর্থ হয়। আমি এটিকে অসম্ভাব্যভাবে বিবেচনা করি - এবং তারা যদি আমি বিবেচনা করি তবে সমস্যাযুক্ত ফাইলটি সমস্যাটি ডিবাগ করার জন্য সহায়তা ধরে রেখেছে। অবশ্যই, /tmpস্বয়ংক্রিয়ভাবে পরিষ্কার করা হয়। কিন্তু $HOMEসংবেদনশীল দস্তাবেজের জন্য সুবিধাজনক যখন এটি এনক্রিপ্ট কিন্তু করা হয় /tmpনা।
ম্যাক্সচলেপজিগ

mktemp -p $HOME/.cache/mutt-XXXXXXXXXXএই ক্ষেত্রে ব্যবহার করুন , তবে mktempসঠিক সরঞ্জাম।
এফ। হাউরি

3

আপনি প্যাপগুলি ব্যবহার করতেও বিবেচনা করতে পারেন , যা কোনও ইউটিএফ -8 এনকোডযুক্ত ফাইল পড়ে এবং ফাইলটির একটি পোস্টস্ক্রিপ্ট ভাষা রেন্ডারিং উত্পন্ন করে। পেন্ডো ft2 ব্যাকএন্ডের মাধ্যমে আউটলাইন বক্ররেখা তৈরি করে রেন্ডারিং করা হয়।


3

আরও সুরক্ষিত এবং কম কাগজ ব্যবহার করে, একটি তৈরি করুন wrapper:

এখানে আমার মুদ্রণ কমান্ড রয়েছে .muttrc:

set print_command="$HOME/bin/print_preview-wrapper.sh"

এবং বিষয়বস্তু আছে "$HOME/bin/print_preview-wrapper.sh"

#!/bin/bash

read tmpdir < <(mktemp -d /tmp/print_preview-$USER-XXXXXXXX)
cd $tmpdir || exit 1

trap "cd && rm -fR $tmpdir;exit" 0 1 2 3 6 9 15

cat >file.eml
muttprint -P A4 -p TO_FILE:file.ps <file.eml 

read numPages < <(sed '/^%%Pages/{s/%%Pages: //;q;};d' file.ps)
(( numPages > 1 )) &&
    muttprint -2 -P A4 -p TO_FILE:file.ps <file.eml 

gv file.ps

এটা হবে

  • নিরাপদে বর্তমান মুদ্রণ মেল সংরক্ষণ করতে অস্থায়ী দির তৈরি করুন,
  • তাদের পোস্টস্ক্রিপ্ট রূপান্তর, কিন্তু
    • যদি 1 টিরও বেশি পৃষ্ঠা থাকে,
    • এগুলি আবার রূপান্তর করুন, তবে শীট করে 2 পৃষ্ঠাগুলি রাখুন।
  • gvআমার পছন্দ হয়েছে বলে চালান তবে আপনি অন্য কোনও সরঞ্জাম চালাতে পারেন।
  • প্রস্থান করার সময় অস্থায়ী ডিরেক্টরি মুছুন।

আছে read tmpdir < <(mktemp -d /tmp/print_preview-$USER-XXXXXXXX)উপর একটি সুবিধা tmpdir=$(mktemp -d /tmp/print_preview-$USER-XXXXXXXX)?
ম্যাক্সচলেপজিগ

@ ম্যাক্সস্ক্লেপজিগ কেবলমাত্র 1 টি ভেরিয়েবলের জন্য, সত্যিই নয়। এই সিনট্যাক্সটি একবারে অনেকগুলি ভেরিয়েবল বরাদ্দের জন্য কার্যকর হতে পারে:read host foo foo ip < <(host google.com); echo $ip $host
এফ হৌরি

1

এখানে আমি বিভিন্ন ইউনিক্সে ব্যবহার করি এমন একটি সাধারণ রেসিপি:

set print_command="iconv --unicode-subst="_" -f utf-8 -t iso-8859-1 | enscript -P ••My_printer••"

••My_printer••প্রিন্টারের নাম কোথায়


সমস্ত ইউনিকোড অক্ষরকে বুনিয়াদি ল্যাটিন -১ এর পুস্তকের বাইরে স্কোয়ারিং সম্ভবত ওপি যা খুঁজছে তা নয় এবং তাই গত সহস্রাব্দ বলে মনে হচ্ছে।
ট্রিপলি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.