"পরে এটি মুদ্রণ করুন" সফ্টওয়্যার


12

কখনও কখনও যখন আমি আমার ল্যাপটপে কাজ করি তখন আমি মুদ্রণের জন্য কয়েকটি নথি সারি করতে চাই, যেহেতু আমি তখন প্রিন্টারের সাথে সংযুক্ত নই।

তবে প্রকৃত প্রিন্টারের সারিগুলি এর জন্য ডিজাইন করা হয়নি; তারা তত্ক্ষণাত্ দস্তাবেজটি মুদ্রণের চেষ্টা করে এবং সমস্ত হঠাৎই আমি নেটওয়ার্কে আসার সাথে সাথে মুদ্রণ শুরু করি, যা সাধারণত আমি করতে চাই না। তদুপরি, কখনও কখনও আমি কাতারে নথির ক্রম পরিবর্তন করতে চাই, যা খুব সহজ নয়, বিশেষত একবার তাদের কিছু মুদ্রণ শুরু করার পরে।

এছাড়াও, কখনও কখনও মুদ্রণ ব্যর্থ হয় কারণ যেমন প্রিন্টারের কাগজ বা টোনার শেষ হয়ে যায় এবং আমি নথিটি অন্য একটি প্রিন্টারে আবার মুদ্রণ করতে চাই। উদাহরণস্বরূপ এটি সোজা নয় CUPSবা system-config-printer; আমাকে সাধারণত ফিরে যেতে হবে, পিডিএফ রিডারটি আবার খুলতে হবে এবং আবার শুরু করতে হবে। আমি জানি পিডিএফ পাঠকদের মধ্যে কেউই আপনাকে পরে মুদ্রণের জন্য নথির একটি তালিকা রাখতে দেয় না, তবে এটি কোনও কোথাও পিডিএফ পাঠকের গোপন বৈশিষ্ট্য হতে পারে যা আমি জানিনা।

যাইহোক, আমি যা করতে সক্ষম হতে চাই তা এখানে:

  • আমি যে পিডিএফ প্রিন্ট করতে চাইছি তার একটি তালিকা নির্দিষ্ট করুন।
  • সেই তালিকাটি ডিস্কে রাখুন যাতে আমি অ্যাপ্লিকেশনটি বন্ধ করতে পারি বা পুরো তালিকাটি না হারিয়ে পুনরায় বুট করতে পারি।
  • সেই সময়ে প্রিন্টারের সাথে সংযুক্ত না হয়ে আমি প্রিন্টার (গুলি) নির্দিষ্ট করুন I
  • রঙ, দ্বৈত এবং কপির সংখ্যার মতো মুদ্রণের বিকল্পগুলি উল্লেখ করুন।
  • সেই মুদ্রকগুলির কার্যভার এবং মুদ্রণের বিকল্পগুলি পরে পরিবর্তন করুন।
  • যতক্ষণ না আমি একটি বোতাম টিপুন বা ডকুমেন্ট (গুলি) মুদ্রণ করতে একটি কমান্ড না চালাচ্ছি।
  • ইতোমধ্যে মুদ্রিত নথিগুলির একটি পৃথক তালিকা রাখুন, মুদ্রণটি কাজ না করে বা আমি পরে এগুলি পুনরায় মুদ্রণ করতে চাই।

আমি জানি যে আমি শেল স্ক্রিপ্ট, lprএবং একটি পাঠ্য ফাইলে পাথের তালিকা সহ একসাথে কিছু হ্যাক করতে পারি, তবে আমি এই অনুভব করতে সাহায্য করতে পারি না যে এই সমস্যাটি ইতিমধ্যে আরও দৃust় এবং মার্জিত উপায়ে সমাধান করা হয়েছে।

বোনাস পয়েন্ট:

  • ডকুমেন্টগুলি পিডিএফ রিডারে খোলা থাকার দরকার নেই। আমি এগুলি মুদ্রণ করতে চাই, তাদের ব্রাউজ করতে চাই না এবং তাদের একই অ্যাপ্লিকেশন হওয়ার কোনও কারণ নেই।
  • একাধিক তালিকা।
  • পোস্টস্ক্রিপ্ট, ডিজেভিউ এবং অন্যান্য পৃষ্ঠা-বিবরণ ফর্ম্যাটগুলির জন্যও কাজ করুন।
  • ফাইল পরিচালকদের থেকে টেনে আনুন।

কোনও পরামর্শ?


আপনার যথেষ্ট খ্যাতি থাকলে একটি অনুগ্রহ শুরু করুন;)
এবি

আমি যতদূর দেখতে পাচ্ছি, বর্তমানে প্রিন্টার সারিগুলির কেবলমাত্র সাধারণ প্রয়োগ হিসাবে এটি প্রয়োগ করা দরকার cups। আপনি কেবল পছন্দসই প্রিন্টারের কাতারে মুদ্রণ করতে পারবেন, তবে যতক্ষণ না আপনি এগুলিকে "মুক্তি" দেওয়ার সিদ্ধান্ত নেন ততক্ষণ মুদ্রকটিকে "আটকে" রাখবেন। "হোল্ড" বোতামটি যা প্রয়োজন তা সমস্ত। নাকি আমি কিছু মিস করছি?
জোস

@ জোস আমার সংস্করণটি system-config-printer-appletআমাকে মুদ্রণ কাজগুলি ধরে রাখতে এবং ছেড়ে দেওয়ার পাশাপাশি অন্যান্য মুদ্রকগুলিতে চালিত করার অনুমতি দেয়, তবে আমি মুদ্রণ কাজের ক্রম পরিবর্তন করতে বা চাকরি জমা দেওয়ার পরে মুদ্রণের বিকল্পগুলি পরিবর্তন করতে পারি না। এছাড়াও, সেই মুহুর্তে মূল দস্তাবেজের পথটি অনেক আগেই চলে গেছে।
নাথানিয়েল এম। বেভার

@ এ্যাবস দুর্ভাগ্যক্রমে উদ্বোধনের জন্য 75 ইন্টারনেট পয়েন্ট প্রয়োজন এবং আমি একটি নিম্নমানের 53-পয়েন্টার।
নাথানিয়েল এম। বেভার

উত্তর:


10

আমি যা করি তা নিম্নরূপ --- আপনি যেমনটি চেয়েছিলেন তেমন বহুমুখী নয়, তবে এটি প্রায় ঠিক কাজ করে। আপনার সমস্ত মুদ্রক সংজ্ঞায়িত করা দরকার এবং তারপরে আপনার এই দুটি স্ক্রিপ্ট দরকার:

  1. stop_printers:

    #!/bin/bash -f
    #
    allp=(`cat /etc/printcap | tr "|" "\t" | cut -f 1 | grep -v "#"`)
    for i in ${allp[@]}; do 
        echo -n Printer $i:
        cupsdisable "$i"
        echo " " paused.
    done
    
  2. start_printers:

    #!/bin/bash -f
    #
    allp=(`cat /etc/printcap | tr "|" "\t" | cut -f 1 | grep -v "#"`)
    for i in ${allp[@]}; do 
        echo -n Printer $i:
        cupsenable "$i"
        echo " " restarted.
    done
    

আপনাকে এগুলি আপনার পথে রাখতে হবে (উদাহরণস্বরূপ ~/bin) এবং এগুলি দিয়ে কার্যকর করা যায় chmod +xকভেট : আমার নামে স্পেস সহ কোনও প্রিন্টার নেই। সেক্ষেত্রে স্ক্রিপ্টগুলি পরীক্ষা করা হয় না (তবে আমি নিশ্চিত যে আমাদের শেল স্ক্রিপ্টের কোনও গুরু স্ক্রিপ্টগুলি ফ্ল্যাশে ফিক্স করবে; -) ...)

এখন, আপনি ইস্যু করতে পারেন:

[romano:~] % stop_printers
Printer PDF:  paused.
Printer ColorDEA:  paused.
Printer Deskjet_6980:  paused.
Printer fotocop5:  paused.

আপনি যেখানেই চান মুদ্রণ করতে পারেন, মুদ্রকটি বিরতি দেওয়া হবে:

মুদ্রক থেকে প্রিন্ট

আপনি আপনার সারি দেখতে পারেন:

[romano:~] % lpq -PDeskjet_6980
Deskjet_6980 is not ready
Rank    Owner   Job     File(s)                         Total Size
1st     romano  439     Bones_3+RG.pdf — Flesh depth  125952 bytes

(এএএফআইকে, মুদ্রণ সারিগুলি রিবুটগুলি জুড়েই অবিচ্ছিন্ন থাকে)। এবং আপনি যখন মুদ্রণ করতে চান:

[romano:~] % start_printers         
Printer PDF:  restarted.
Printer ColorDEA:  restarted.
Printer Deskjet_6980:  restarted.
Printer fotocop5:  restarted.

ব্যবহার lprmআপনি একটি কাজ অপসারণ করতে পারেন যদি আপনি প্রয়োজন; lprকমান্ড লাইনের মাধ্যমে একটি দস্তাবেজ সজ্জিত করতে এবং আপনি যদি বিভিন্ন "তালিকাগুলি" চান তবে কেউ একই নামটি কয়েকবার বিভিন্ন নামের সাথে সংজ্ঞায়িত করতে নিষেধ করে।

আপনি প্রতিটি মুদ্রক হাত দ্বারা পুনরায় শুরু করতে পারেন, এটি cupsenable <printername>প্রম্পট থেকে চালানো কেবল বিষয় ।

আমি মনে করি না আপনি এই সমাধানটির সাথে কী করতে পারেন তা হ'ল সত্যের পরে মুদ্রণের বিকল্পগুলি পরিবর্তন করা --- এর জন্য আপনাকে নথির সন্ধান এবং পুনরায় সারিবদ্ধ করতে হবে।


2
+1 টি গুড, তবে, আপনাকে আপনার কারণ থাকতে পারে যখন, আপনার অ্যারের পূর্ণ যথাযথ বিভেদক ব্যবহার করে সহজ করা সম্ভব হয়েছে cutঅংশ: cat /etc/printcap | cut -d "|" -f 1 | grep -v "#"। অনুবাদ থেকে মুক্তি পেয়ে আপনি নিজেকে কিছুটা সময় সাশ্রয় করুন tr। এটি কেবল আপনার প্রথম ক্ষেত্রের প্রয়োজন বজায় রাখে works
সিবিহে

1

আমার প্যাকেজ (নির্লজ্জ প্লাগ), ডুপ্লেক্সপ্রি আপনি যা চান তার কিছু করে এবং ব্যাশ ফাংশন অন্তর্ভুক্ত করে যা আপনার নিজস্ব সংস্করণ ঘূর্ণায়নে কার্যকর হতে পারে। (এটি ব্যাশে কোড করা হয়েছে, তাই এটি সংশোধন করা তুলনামূলকভাবে সহজ হওয়া উচিত এবং আমি পারলে সহায়তা করব))

এটি নন-ডুপ্লেক্স প্রিন্টারে ডুপ্লেক্স প্রিন্টিং অনুকরণ করার জন্য ডিজাইন করা হয়েছে এবং এর নিজস্ব সাধারণ মুদ্রণ সারি পরিচালনা প্রয়োগ করে। এটিতে গুই এবং ক্লাই উভয় ইন্টারফেস রয়েছে।

বর্তমান সংস্করণটি কেবল ডুপ্লেক্সে মুদ্রণ করে এবং কেবল নন-ডুপ্লেক্স প্রিন্টারগুলির সাথে কাজ করে, তবে একটি নতুন সংস্করণ কাজ করছে যা ডুপ্লেক্স হার্ডওয়্যার সহ প্রিন্টারগুলি পরিচালনা করবে যা মূলত ডুপ্লেক্স এমুলেশন সফ্টওয়্যার ব্যতীত প্রিন্টার এবং সারি ব্যবস্থাপনায় থাকে। (আমার কাছে স্ক্রিপ্টের একটি আলফা সংস্করণ উপলব্ধ রয়েছে যা ইতিমধ্যে যদি কেউ প্রকল্পের মাধ্যমে সরাসরি আমার সাথে যোগাযোগ করতে চায় তবে কাজ করে)

সিস্টেমটি বর্তমান ডিফল্ট প্রিন্টারে প্রিন্ট করে তবে dplx এবং ডুপ্লেক্স স্ক্রিপ্টগুলি অতিরিক্ত আর্গুমেন্টগুলি স্বীকার করে যা এলপিতে প্রেরণ করা হয় এবং যে কোনও বিকল্প সেট করতে ব্যবহার করা যেতে পারে যা প্রিন্টার এবং অন্যান্য বৈশিষ্ট্যের মতো এলপি বোঝে।

সিস্টেমটি বর্তমানে পিডিএফ, পোস্টস্ক্রিপ্ট এবং সাধারণ পাঠ্য ফাইলগুলি পরিচালনা করে।

যে জিনিসটি এটি করবে না তা হ'ল প্রিন্ট করা ফাইলগুলি যা অ্যাকোরিডের মধ্যে থেকে ফাইল মুদ্রণ টু ফাইল ব্যবহার করে তৈরি করা হয়েছিল। এই ফাইলগুলি কেবলমাত্র এলপি দিয়ে কাজ করে না এবং সমস্যাগুলি কী তা বোঝার জন্য আমি কখনও প্রবাহের লোকের দৃষ্টি আকর্ষণ করতে সক্ষম হইনি।

ব্যক্তিগতভাবে, আমি প্রায় সমস্ত "অফলাইন" মুদ্রণ করি (বেশিরভাগ অ্যাপ্লিকেশন সমর্থন করে এমন ফাইলগুলি মুদ্রণ করুন ব্যবহার করে) এমনকি যখন আমার প্রিন্টার (গুলি) উপলব্ধ থাকে। এটি আমার কাজগুলিতে মনোনিবেশ করতে সহায়তা করে। পরে, যখন আমি একটি উপযুক্ত ব্রেক পয়েন্টে পৌঁছে যাই, তখন আমি কাজের ব্যাচগুলি মুদ্রণ করি।

মুদ্রণের সারিটি থাকা খুব সত্যই যখন আপনি অন্য কোনও অনুলিপিটিকে পুনরায় জন্মানো না করে মুদ্রণ করতে চান এবং জ্যামের মতো প্রিন্টারের ত্রুটিগুলি মোকাবেলা করার জন্য বা টোনার ছাড়িয়ে যাওয়ার জন্য এটি প্রয়োজনীয়।


এটি একটি আকর্ষণীয় প্যাকেজ, তবে মনে হচ্ছে এটি এখন কয়েকটি রুক্ষ প্রান্ত রয়েছে, এবং আমি নিশ্চিত না যে কিছু ভুল হয়ে গেলে আমি এটি ঠিক করতে সক্ষম হব। যাইহোক, আপনি কি গিথুব এ আপলোড করার কথা বিবেচনা করেছেন?
নাথানিয়েল এম। বেভার

@ বারুইম্বিটম্যাপ - আমি এটি 10 ​​বছর ধরে প্রতিদিন ব্যবহার করছি (যেহেতু আমি প্রথম এটি লিখেছিলাম)। এটা স্থিতিশীল। আমারও বিকাশের নতুন সংস্করণ রয়েছে। আপনি যদি এটি ভাঙেন বা অতিরিক্ত বৈশিষ্ট্যগুলির প্রয়োজন হয় এবং আমার সাথে কাজ করতে রাজি হন, আমি এটি ঠিক করব fix আমার এখনও গিট শিখতে হয়নি, তাই আমি গিথুবকে সর্বনিম্ন ব্যবহার করি। সোর্সফোর্জ খুব সুবিদিত।
জো

0

এই সমস্যার কোনও সম্পূর্ণ সমাধান বলে মনে হচ্ছে না, তবে এখানে একটি ফাংশন রয়েছে যা আমি আমার সাথে যুক্ত করেছি .bashrcযা উপরের রমনোর উত্তরের মতো, স্বতঃপূরণের অতিরিক্ত সুবিধা সহ।

all-printers() {
    if [ "$*" = "" ]
    then
        # Print usage."
        printf "Usage:\n"
        printf "all-printers start\n"
        printf "all-printers stop\n"
        return 1
    elif ! [ "$1" = "stop" -o "$1" = "start" ]
    then
        printf "Unrecognized command: $1\n"
        return 1
    fi

    cut -f 1 -d '|' /etc/printcap |
    grep -v '^#' |
    while read printer_name
    do 
        if [ "$1" = "stop" ]
        then
            cupsdisable "$printer_name"
            printf "$printer_name stopped.\n"
        elif [ "$1" = "start" ]
        then
            cupsenable "$printer_name"
            printf "$printer_name started.\n"
        fi
    done
}
complete -W 'stop start' all-printers
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.