1 पेज पीडीएफ को 2 पेज प्रति शीट पीडीएफ में कैसे बदलें?


44

मैं एक पीडीएफ प्रिंट करना चाहता हूं ताकि पहले पृष्ठ पर पहले दो पेज हों, पीछे तीसरे और चौथे पर और इसी तरह।

-----------------          -----------------
|       |       |          |       |       |
|       |       |          |       |       |
|   1   |   2   |          |   3   |   4   |    . . .
|       |       |          |       |       |
|_______|_______|          |_______|_______|

 page 1 - front             page 1 - back

चूँकि लिनक्स का उपयोग करने वाला मेरा प्रिंटर मैनुअल डुप्लेक्स प्रिंटिंग का समर्थन करने में विफल रहता है, जो मैंने सोचा था, शायद मैं पीडीएफ को एक तरह से संपादित कर सकता था।

पर कैसे?


मुझे नहीं लगता कि यह संभव है, क्या आपके पास केवल पीडीएफ है?
माइकल के

यह psutils पैकेज और / या pdftk से pstops का उपयोग करके लिनक्स पर संभव है। आप कौन सा ऑपरेटिंग सिस्टम चला रहे हैं?
Rems

@ इवो फ्लिप: हर, मैंने सोचा था कि बिल्कुल वही :) तो, आपकी टिप्पणी के रूप में एक +1 मिलता है।
अकीरा

@Ivo Flipse, @rems: आप यहां ASCII कला को बढ़ा सकते हैं: superuser.com/questions/54054/… और superuser.com/questions/235074/… ... @mokasin: ये लिंक आपको एक विचार दे सकते हैं कि कैसे हल किया जाए। आपने जो कार्य मांगा था।
कर्ट फ़िफ़ेल

जवाबों:


23

जो उल्लेख किया गया है, उसके अलावा, पीडीएफजाम में एक कमांड लाइन टूल शामिल है, pdfnupजो ऐसा करता है। (यह PDFLaTeX के लिए pdfpages पैकेज का उपयोग करता है, जिसे आप भी उपयोग कर सकते हैं।)

यदि आप GUI पसंद करते हैं, तो jPDFtweak एक अन्य विकल्प है।


उत्तम। मुझे इसकी ही खोज थी।
मोकासिन

1
नमूना उपयोग: pdfnup --nup 2x1 mypdf.pdf। यह एक परिदृश्य दृश्य पर 2 पृष्ठों को प्रति शीट पर प्रिंट करता है, जिसे मुद्रित करने के लिए छोटे किनारे पर फ़्लिप किया जाता है। देखें man pdfnupकुछ अधिक जानकारी के लिए।
गेब्रियल स्टेपल्स

मैंने एक उत्तर भी जोड़ने का फैसला किया है: 1 1-pg pdf को परिदृश्य के दृश्य में कैसे परिवर्तित किया जाए, इसकी 2 प्रतियों के साथ एक ही पृष्ठ पर नकल की जाती है (मुद्रण यात्रियों के लिए बढ़िया): superuser.com/a/1452008/425838
गेब्रियल स्टेपल्स

24

Pdfnup का उपयोग करें:

$ pdfnup file.pdf

यह एक नई पीडीएफ फाइल बनाएगा, जैसा आपने पूछा था।


PDFnup कमांड लाइन विकल्प को pdfjam के साथ उपयोग करता है और इसलिए आप वहाँ से ट्विक कर सकते हैं। (पूर्व: यदि आप लैंडस्केप नहीं करना चाहते हैं। आप पीडीएजेएम पर कॉल करते समय -लैंडस्केप विकल्प को हटा सकते हैं)
ट्रेवर बॉयड स्मिथ

6
अधिक सटीक रूप pdfnup --nup 2x1 --suffix test file.pdfसे file-test.pdf1 में 2 पृष्ठों के साथ बनाएगा
लोलस्क

1
sudo apt install texlive-extra-utilsUbuntu पर इन बर्तनों को स्थापित करने के लिए।
सरके

मेरे पास एक पृष्ठ है a4 मैं a5 की प्रति शीट की दो प्रतियों में मुद्रित करना चाहता हूं। मैं इसे कैसे पूर्ण करूं? ऊपर 'pdfnup' के उपयोग के उदाहरण पहले पृष्ठ की नकल नहीं करते हैं, बल्कि पहले a4 शीट के दूसरे भाग को खाली करते हैं।
नॉर्डलोव

2

यह सोचने के लिए एक पुराना सवाल है कि जो विकल्प अब हमारे पास थे वे उस समय अनुपस्थित थे, लेकिन शायद यह एक अप-टू-डेट समाधान के योग्य है।

लिनक्स पीडीएफ दर्शक आमतौर पर पेज लेआउट को सेट करने के लिए प्रिंटिंग विकल्प / गुणों का उपयोग करते हैं , और वहां आप प्रति शीट / साइड में कई पेज प्रिंट कर सकते हैं। विचार यह है कि पीडीएफ के रूप में फाइल करने के लिए उन का उपयोग करें ।

Evince कर सकते हैं, यह भी qpdfview । अधिक यहाँ।


qpdfview

यहाँ छवि विवरण दर्ज करें

यहाँ छवि विवरण दर्ज करें


जताना

यहाँ छवि विवरण दर्ज करें


पीडीएफ स्टूडियो दर्शक

यहाँ छवि विवरण दर्ज करें

अन्य पीडीएफ दर्शकों के पास समान विकल्प होने चाहिए।


1

रीडर के स्प्रेड, बुकलेट स्प्रेड आदि में पीडीएफ़ कन्वर्ट करने के लिए फ्रीवेयर और ओपन सोर्स कमांड लाइन टूल उपलब्ध हैं।

मैंने जिस ऐप का उपयोग कर रहा था, उसे खो दिया, इसलिए वहां कोई मदद नहीं मिली, लेकिन एक त्वरित खोज से मुझे pdfshuffler ( http://sourceforge.net/projects/pdfshuffler/ ) नामक एक कार्यक्रम दिखाई देता है, जो आपको चाहिए। एक गुई है, इसलिए स्वचालित होने की संभावना नहीं है, लेकिन यह एक और उपकरण के लिए फ्रंट-एंड है ...


0

यदि आपके पास प्रिंट टू फाइल की सुविधा है। फ़ाइल प्रति पृष्ठ सेटिंग और विषम पृष्ठों के साथ फ़ाइल में प्रिंट करें। यहां तक ​​कि पृष्ठों के साथ प्रक्रिया को दोहराएं। अब विषम लोगों को प्रिंट करें, मुद्रित कागजात को उल्टा करें और यहां तक ​​कि पेज फाइल को प्रिंट करें।


0

@ मोकसिन: आपने यह नहीं कहा कि आप किस पीडीएफ रीडर का उपयोग कर रहे हैं। यदि आप एक्रोबेट / एडोब रीडर के लिनक्स संस्करण का उपयोग करते हैं: प्रिंट संवाद में "2-अप" सही प्रिंट करने का विकल्प है। आप केवल विषम या यहां तक ​​कि पृष्ठों को प्रिंट करने का विकल्प चुन सकते हैं, इसलिए इसे संयोजित करने से आपको अपना वांछित आउटपुट प्राप्त करने में मदद मिलेगी।


0

यह सॉफ्टवेयर मैंने सोलारिस 11.2 ऑपरेटिंग सिस्टम पर परीक्षण किया है जो उस योजना को बना सकता है जिसे 2-अप कहा जाता है, जिसका उपयोग आमतौर पर कक्षाओं या बैठकों में हैंड-आउट के लिए किया जाता है। अन्य योजनाओं का उत्पादन करना संभव है; उदाहरण के लिए, एक शीट पर या एक शीट के दोनों किनारों पर 3 या 4 या अधिक पृष्ठों के साथ हैंड-आउट। इसे टर्मिनल से चलाया जा सकता है क्योंकि यह एक JAR फ़ाइल है या केवल एक्सेस की आसानी के लिए GUI चलाते हैं। सोलारिस के अलावा अन्य लिनक्स वितरण भी संगत हैं, सॉफ्टवेयर को चलाने के रूप में, "निष्पादन योग्य", सुपर-उपयोगकर्ता विशेषाधिकारों के साथ। "पुरालेख खोलें" का उपयोग न करने के बारे में जागरूक रहें। यह किसी भी विंडोज और मैक पर भी काम कर रहा है जहां पहले से ही जावा रनटाइम एनवायरनमेंट (जेआरई) स्थापित है, जैसा कि ज्यादातर समय होता है। सॉफ्टवेयर Dysprosium Imposition है और डाउनलोड करने और उपयोग करने के लिए स्वतंत्र है।


0

1 या 2 पीजी पीडीएफ लेने के इच्छुक किसी भी व्यक्ति के लिए और लैंडस्केप व्यू ( प्रिंटिंग प्रिंटिंग के लिए बढ़िया ) में उस साइड-बाय-साइड की 2 प्रतियों के साथ एक पीडीएफ में बदल दें :

  1. 1 या 2 pg pdf इनपुट को आउटपुट में बदलें, जिसमें उन पृष्ठों की डुप्लिकेटेड कॉपी (1-pg pdf -> 2-pg pdf, 2-pg pdf -> 4-pg pdf, आदि) शामिल हैं:

    pdfunite in.pdf in.pdf out.pdf
    
  2. उदाहरण के लिए यात्रियों को प्रिंट करने के लिए उस डुप्लिकेट-कॉपी पीडीएफ को 2-पृष्ठों-प्रति-साइड-लैंडस्केप-व्यू पीडीएफ में मिलाएं:

    pdfnup out.pdf
    

या सभी एक लाइन पर:

pdfunite in.pdf in.pdf out.pdf && pdfnup out.pdf

ध्यान दें कि out.pdfहै इनपुट करने के लिए pdfnup। परिणामी आउटपुट फ़ाइल को pdfnup" आउट-नप.पीएफडी " कहा जाएगा ।

इसके अलावा, pdfnupकमांड का आउटपुट देखें और आप कमांड के वर्बोज़ फॉर्म को देखेंगे जो वास्तव में चल रहा है, जो आपको उन विकल्पों में कुछ जानकारी देता है जिन्हें आप इसमें पास कर सकते हैं। हुड के तहत स्पष्ट रूप से pdfnupउपयोग करता है pdfjam:

pdfjam: pdfjam के इस रन के लिए प्रभावी कॉल:

/usr/bin/pdfjam --suffix nup --nup '2x1' --landscape -- out.pdf -

उदाहरण:

मूल PDF (पोर्ट्रेट दृश्य में 1 नियमित pg), " in.pdf ": यहाँ छवि विवरण दर्ज करें

फ़ाइनल पीडीएफ (लैंडस्केप दृश्य में अगल-बगल 2 पीजी), " आउट-नप.पीएफडी ":
- अब यात्रियों के रूप में पास आउट करने के लिए बीच में आधे में कटौती की जा सकती है यहाँ छवि विवरण दर्ज करें

सरल बैश समारोह: make_flyer

इस बैश फ़ंक्शन को अपने "~ / .bashrc" फ़ाइल के निचले भाग पर कॉपी और पेस्ट करें ताकि एक सरल और आसानी से उपयोग होने वाली कमांड तक पहुंच प्राप्त हो सके make flyer:

# Description: outputs a landscape-oriented flyer pdf ("my/pdf/input--flyer.pdf") for each 1 or more pg input pdf ("my/pdf/input.pdf")
#   - 1-pg input PDFs are converted to a 1-sided landscape, printable flyer that you cut down the center to make 
#     2 flyers
#   - 2-pg input PDFs are converted to a 2-sided landscape, printable flyer (flip on short edge when printing 
#     double-sided), and also cut down the middle to make 2 flyers
#   - **3+ pg input PDFs**: using `pdfnup` directly in this case would make more sense, since this function will
#     otherwise unneccessarily create 2 copies
#   - 3 and 4-pg input PDFs are converted to a single piece of paper, double-sided, flipped on short edge, x 2 copies. 
#     No cutting is necessary
#   - 5+ pg input PDFs simply require half as much paper to print is all since you get 2 pages per side of paper;
#     they do NOT print like booklets, but rather just as a landscape-printed, flipped-on-short-edge bundle of pages
#     (like a deck of slides). You get *2 copies* per print though, so just print half the pages. 
make_flyer() {
    num_args=$# # see: https://stackoverflow.com/questions/4423306/how-do-i-find-the-number-of-arguments-passed-to-a-bash-script/4423321#4423321
    suffix="flyer"

    loop_cnt=0
    for inputpdf in "$@"
    do
        ((loop_cnt++))
        echo "==== CONVERTING PDF $loop_cnt OF $num_args ===="
        echo "     INPUT:  \"$inputpdf\""

        # Strip off the .pdf extension from the input path, while retaining the rest of the path
        # - See: https://stackoverflow.com/questions/12152626/how-can-i-remove-the-extension-of-a-filename-in-a-shell-script/32584935#32584935
        input_path_base="$(echo "$inputpdf" | rev | cut -f 2- -d '.' | rev)"
        input_file_base="$(basename "$inputpdf" .pdf)"
        temp_pdf="${input_path_base}-.pdf" # is "input_path_base-.pdf"

        echo "     OUTPUT: \"$(pwd)/${input_file_base}--${suffix}.pdf\""

        # Convert a single 1-pg pdf into a temporary 2-pg pdf
        pdfunite "$inputpdf" "$inputpdf" "$temp_pdf"

        # Lay out the temporary 2-pg pdf into a side-by-side 1-sided flyer to print; creates "input_path_base--flyer.pdf"
        # Note that `pdfnup` places the output from this operation in the location from where you call this script
        # (ie: in your `pwd` [Present Working Directory])!--NOT the location where temp_pdf is located!
        pdfnup "$temp_pdf" --suffix $suffix

        # Delete the temporary 2-pg pdf, called "input_path_base-.pdf", thereby leaving only the original 
        # "input_path_base.pdf" and the new "input_path_base--flyer.pdf"
        rm "$temp_pdf"
    done
}
alias make_flyer_help='echo -e "Ex usage: make_flyer \"path/to/inputpdf.pdf\" - Creates a landscape-side-by-side flyer version called \"inputpdf--flyer.pdf\"\n          *in your pwd* from a 1 or 2 pg input pdf called \"path/to/inputpdf.pdf\". Accepts multiple arguments. Ex:\n          make_flyer \"path/to/inputpdf1.pdf\" \"path/to/inputpdf2.pdf\""'

उदाहरण का उपयोग:

make_flyer "path/to/inputpdf1.pdf" "path/to/inputpdf2.pdf"

सहायता जानकारी देखें:

make_flyer_help

आउटपुट:

$ make_flyer_help   
Ex usage: make_flyer "path/to/inputpdf.pdf" - Creates a landscape-side-by-side flyer version called "inputpdf--flyer.pdf"  
          *in your pwd* from a 1 or 2 pg input pdf called "path/to/inputpdf.pdf". Accepts multiple arguments. Ex:  
          make_flyer "path/to/inputpdf1.pdf" "path/to/inputpdf2.pdf"

संदर्भ:

  1. https://superuser.com/a/948095/425838
  2. https://stackoverflow.com/a/11280219/4561887

सम्बंधित:

  1. https://askubuntu.com/questions/214538/printing-in-booklet-format/1095789#1095789

बैश संदर्भ:

  1. बैश कैसे एक दहाड़ समारोह में तर्कों को पारित करने के लिए: https://bash.cyberciti.biz/guide/Pass_arguments_into_a_function
  2. बैश कॉन्टेनेनेट स्ट्रिंग्स: https://linuxize.com/post/bash-concatenate-strings/
  3. बैश एक स्ट्रिंग के रूप में संग्रहीत एक cmd निष्पादित करें! https://stackoverflow.com/questions/2005192/how-to-execute-a-bash-command-stored-as-a-string-with-quotes-and-asterisk
  4. एक cmd के लिए सभी इनपुट पर बैश iterate: https://stackoverflow.com/questions/255898/how-to-iterate-over-arguments-in-a-bash-script/255913#255913
  5. समारोह में बैश पासिंग पैरामीटर: https://stackoverflow.com/questions/6212219/passing-parameters-to-a-bash-function/6212408#6212408
  6. 1-पीजी पीडीएफ को फ्लायर [मेरे अपने?] में कैसे बदलें: 1 पेज की पीडीएफ को 2 पेज प्रति शीट पीडीएफ में कैसे बदलें?
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.