प्रति पृष्ठ पीडीएफ 2 पक्षों को प्रति पृष्ठ 1 पक्ष में बदलें


11

मैं एक पीडीएफ को प्रति पृष्ठ 2 पक्ष प्रति पृष्ठ 1 पक्ष में कैसे बदल सकता हूं?


यह बिलकुल पागल है! क्या दो तरफा के बजाय एक तरफा होने के लिए पीडीएफ में पेज सेटिंग्स बदलने का कोई तरीका नहीं है?
नाथन फ़ेलमैन

@ नथन फेलमैन: पागल, हाँ। लेकिन पागल चीजें कभी-कभी आपको सबसे ज्यादा मजा देती हैं ;-)
कर्ट फ़िफ़ेल


@SkippyleGrandGourou मैं यह नहीं देखता कि यह प्रश्न कैसे संबंधित है। क्या पृष्ठों के साथ दो अलग-अलग चीजें करने की कोशिश करने वाले प्रश्न नहीं हैं?
बेन एन

@ बेन: दोनों प्रश्न पूछते हैं कि "एक मौजूदा एकल पृष्ठ से दो नए पृष्ठ कैसे बनाएं", दूसरे को उद्धृत करने के लिए। सबसे अधिक मतदान का जवाब लगभग एक कोपिस्टा है।
स्किप्पी ले ग्रांड गौरौ

जवाबों:


22

ठीक है, समस्या एक्रोबैट (पूर्ण संस्करण की मदद से पहले ही हल हो गई थी, रीडर नहीं)। लेकिन अगर आपको एक्रोबेट तक पहुंच नहीं है तो क्या करें? क्या यह घोस्टस्क्रिप्ट और pdftk के साथ भी किया जा सकता है?

घोस्टस्क्रिप्ट की मदद से इसे कैसे हल करें ...

... और इसके मज़े के लिए, "डबल-अप" पृष्ठों के साथ इनपुट फ़ाइल का उपयोग न करें, लेकिन "ट्रेबल-अप" के साथ। दरअसल, मुझे ईमेल से आज एक ऐसी पीडीएफ मिली। यह एक फ्लायर था, लेपोरेलो की योजना में मुड़ा हुआ था । शीट का आकार A4 लैंडस्केप (842pt x 595pt) था, और इसे इस तरह से मोड़कर रखा गया था:

Front side to be printed, page 1 of PDF
+--------+--------+--------+   ^
|        |        |        |   |
|   5    |   6    |   1    |   |
|        |        |        | 595 pt
|        |        |        |   |
|        |        |        |   |
|        |        |        |   |
+--------+--------+--------+   v
         ^        ^
        fold     fold
         v        v
+--------+--------+--------+   ^
|        |        |        |   |
|   2    |   3    |   4    |   |
|        |        |        | 595 pt
|        |        |        |   |
|        |        |        |   |
|        |        |        |   |
+--------+--------+--------+   v
Back side to be printed, page 2 of PDF
<---------- 842 pt -------->

मैं 6 पृष्ठों के साथ 1 पीडीएफ बनाना चाहता हूं, जिनमें से प्रत्येक का असामान्य आकार 280.67pt x 595 pt है।

पहला कदम

आइए पहले इनपुट पृष्ठों में से प्रत्येक से बाएं खंड निकालें:

gswin32c.exe ^
    -o left-sections.pdf ^
    -sDEVICE=pdfwrite ^
    -g2807x5950 ^
    -c "<</PageOffset [0 0]>> setpagedevice" ^
    -f myflyer.pdf

इन मापदंडों ने क्या किया?

  • -o ...............:नाम आउटपुट फ़ाइल। तात्कालिक रूप से भी उपयोग करता है -dBATCH -dNOPAUSE -dSAFER
  • -sDEVICE=pdfwrite : हम पीडीएफ को आउटपुट स्वरूप के रूप में चाहते हैं।
  • -g................:पिक्सेल में आउटपुट मीडिया आकार सेट करता है। pdfwrite का डिफ़ॉल्ट रिज़ॉल्यूशन 720 डीपीआई है। इसलिए पेजऑफसेट के लिए मैच पाने के लिए 10 से गुणा करें।
  • -c "..............:घोस्टस्क्रिप्ट को दिए गए पोस्टस्क्रिप्ट कोड स्निपेट को मुख्य इनपुट फ़ाइल से पहले संसाधित करने के लिए कहता है (जिसके साथ पालन करने की आवश्यकता होती है -f)।
  • <</PageOffset ....:माध्यम पर पृष्ठ छवि का स्थानांतरण। (बेशक, बाएं पन्नों के लिए पारी [0 0]का कोई वास्तविक प्रभाव नहीं है।)
  • -f ...............: इस इनपुट फ़ाइल को प्रोसेस करें।

अंतिम आदेश किस परिणाम को प्राप्त हुआ?

यह वाला:

Output file: left-sections.pdf, page 1
+--------+  ^
|        |  |
|   5    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v

Output file: right-sections.pdf, page 2
+--------+  ^
|        |  |
|   2    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v
< 280 pt >

दूसरा कदम

अब केंद्र वर्गों के लिए अनुरूप काम करते हैं:

gswin32c.exe ^
    -o center-sections.pdf ^
    -sDEVICE=pdfwrite ^
    -g2807x5950 ^
    -c "<</PageOffset [280.67 0]>> setpagedevice" ^
    -f myflyer.pdf

नतीजा:

Output file: center-sections.pdf, page 1
+--------+  ^
|        |  |
|   6    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v

Output file: center-sections.pdf, page 2
+--------+  ^
|        |  |
|   3    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v
< 280 pt >

तीसरा चरण

अंतिम, सही खंड:

gswin32c.exe ^
    -o right-sections.pdf ^
    -sDEVICE=pdfwrite ^
    -g2807x5950 ^
    -c "<</PageOffset [561.34 0]>> setpagedevice" ^
    -f myflyer.pdf

नतीजा:

Output file: right-sections.pdf, page 1
+--------+  ^
|        |  |
|   1    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v

Output file: right-sections.pdf, page 2
+--------+  ^
|        |  |
|   4    |  |
|        |595 pt
|        |  |
|        |  |
|        |  |
+--------+  v
< 280 pt >

अंतिम चरण

अब हम पृष्ठों को एक फ़ाइल में संयोजित करते हैं:

pdftk.exe ^
  A=right-sections.pdf ^
  B=center-sections.pdf ^
  C=left-sections.pdf ^
  cat A1 B2 C2 A2 B1 C1 ^
  output single-files-input.pdf
  verbose

किया हुआ। यहाँ वांछित परिणाम है। 6 अलग-अलग पृष्ठ, आकार 280.67x595।

नतीजा:

+--------+  +--------+  +--------+  +--------+  +--------+  +--------+   ^
|        |  |        |  |        |  |        |  |        |  |        |   |
|   1    |  |   2    |  |   3    |  |   4    |  |   5    |  |   6    |   |
|        |  |        |  |        |  |        |  |        |  |        | 595 pt
|        |  |        |  |        |  |        |  |        |  |        |   |
|        |  |        |  |        |  |        |  |        |  |        |   |
|        |  |        |  |        |  |        |  |        |  |        |   |
+--------+  +--------+  +--------+  +--------+  +--------+  +--------+   v
< 280 pt >  < 280 pt >  < 280 pt >  < 280 pt >  < 280 pt >  < 280 pt > 

1
पवित्र बकवास, भयानक कला यहीं!
इवो ​​फ्लिपसे

इसने मेरे लिए अच्छा काम किया, लेकिन मुझे अन्य वर्गों को प्राप्त करने के लिए पेजऑफसेट को नकारात्मक संख्या में सेट करना पड़ा।
जोंचांग on ’

आप बड़े PDF के लिए Python का उपयोग कर सकते हैं: f = open("order.dat","w") for i in [a+1 for a in xrange(63)]: f.write("A{0} B{0} ".format(i)) f.close()यह "A1 B1 A2 B2 ... A63 B63" के साथ एक फ़ाइल order.dat बनाएगा । फिर आप इसे कॉपी-पेस्ट कर सकते हैं pdftk
सूयूहेगी

3

@peims, धन्यवाद। यहां आपकी विधि का चरण-दर-चरण संस्करण है। मैंने इसे एक ऐसी फ़ाइल पर आज़माया जिसे मैं अपने किंडल DX के लिए परिवर्तित करना चाहता था, और यह पूरी तरह से काम करती है:

  • पृष्ठ के बाएं हाथ को क्रॉप करने के लिए एक्रोबैट v9 के पूर्ण संस्करण का उपयोग करें, और इसे "left.pdf" के रूप में सहेजें:
    • पृष्ठ के बाएं हाथ को चिह्नित करने के लिए फसल उपकरण का उपयोग करें।
    • राइट क्लिक करें, और "सेट क्रॉपबॉक्स" चुनें।
    • "Document..Crop Pages" का चयन करें, और फसल को पूरे दस्तावेज़ पर लागू करें।
  • दाहिने हाथ के पन्नों के साथ दोहराएं, "right.pdf" के रूप में सहेजें।
  • इस स्तर पर, आपके पास दो दस्तावेज़ हैं: बाएं हाथ के पन्नों के साथ "left.pdf", और दाहिने हाथ के पृष्ठों के साथ "right.pdf"।

अगला, pdftk.exe का उपयोग करें ( http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ ) को एकल फ़ाइल में परिणामों को इंटरलेक्ट करने के लिए। "Pdftk.exe", "left.pdf" और "right.pdf" को "D: \" पर कॉपी करें, और निष्पादित करें:

  • D:> pdftk D: \ left.pdf फट आउटपुट% 05d_A.pdf
  • D:> pdftk D: \ right.pdf फट आउटपुट% 05d_B.pdf
  • D:> pdftk * _-- pdf कैट आउटपुट संयुक्त। पीपीडी

नोट: यदि आप फ़ाइलों को "C: \" पर कॉपी करते हैं, तो यह सुरक्षा अनुमतियों के कारण Win 7 के तहत काम नहीं करेगा। यदि आपके पास D: \ नहीं है, तो ऑपरेशन पूरा करने के लिए एक निर्देशिका "C: \ x" बनाएं।

ये परिणाम सामान्य रूप से काफी अच्छे होंगे। हालाँकि, आउटपुट को बेहतर बनाने के लिए दो और वैकल्पिक चरण हैं।

  • (वैकल्पिक अंतिम चरण 1) इस स्तर पर, दस्तावेज़ बहुत बड़ा है (मेरा डॉक्टर 7MB से 80MB तक गुब्बारा है), इसलिए आप या तो उपयोग करके फ़ाइल का आकार कम कर सकते हैं:
    • "उन्नत..PDF अनुकूलक", या:
    • "एक्रोबैट 5 के साथ संगत" सेटिंग के साथ "एडवांस्ड..पाइपलाइट"।
  • (वैकल्पिक अंतिम चरण 2) पृष्ठ सभी अलग-अलग आकार के हैं। सभी पृष्ठों पर फसल को दोहराएं, इसलिए सब कुछ एक समान आकार है।

3

बस एक ही समस्या थी। मैं briss पर टूट गया, एक खुला स्रोत जावा GUI टूल जो पीडीएफ पेजों को अलग करने और क्रॉप करने के लिए है:

http://sourceforge.net/projects/briss/

यह मेरे लिए लिनक्स पर बहुत अच्छी तरह से काम करता था, भले ही उपयोगकर्ता इंटरफ़ेस पूरी तरह से तुच्छ नहीं है। यह भी कुछ अलग आकार के पन्नों के साथ एक पीडीएफ के साथ काम किया!


2

आप दस्तावेज़ को डुप्लिकेट कर सकते हैं, फिर पृष्ठों को क्रॉप कर सकते हैं ताकि केवल एक पेज नंबर एक फ़ाइल में दिखाई दे और दूसरे में केवल विषम पृष्ठ संख्या दिखाई दे। फिर एक पृष्ठ में एक पक्ष के साथ एक दस्तावेज़ बनाने के लिए फ़ाइलों को एकल पृष्ठों में विभाजित करें और पुनर्संयोजन करें ...

आप कई तरीकों का उपयोग करके ऐसा कर सकते हैं, उदाहरण के लिए:

  1. डबल पेज के एक तरफ फ़सल करने के लिए Adobe Acrobat फ़सल टूल का उपयोग करें , और फ़सल को सभी पृष्ठों पर लागू करें।
  2. Pdftoolkit में 'फट' कमांड का उपयोग करके फ़ाइलों को अलग-अलग पृष्ठों पर विभाजित करें
  3. एक फ़ाइल का नाम बदलने वाले टूल (जैसे ReNamer ) का उपयोग करके फ़ाइलों के अनुक्रमिक का नाम बदलें
  4. Pdftoolkit में 'cat' कमांड का उपयोग करके पृष्ठों को पुन: संयोजित करें

2

मैं मैक और लिनक्स पर स्कैन की गई पुस्तकों को संसाधित करने के लिए निम्न स्क्रिप्ट का उपयोग करता हूं। यह काफी मेमोरी इंटेंसिव प्राप्त कर सकता है।

#!/bin/bash
#
# This script processes scanned books. After scanning the books have been cropped with
# Preview. This does kind of a "soft crop" that we need to make a bit "harder". 
#
# The second step is to take each page of the PDF and split this into two two pages, 
# because each page of the scanned document actually contains two pages of the book.
#
#

FILE=`mktemp`.pdf
FILE2=`mktemp`.pdf
FILE3=`mktemp`.pdf

echo "Making a temporary copy of the input file."

cp $1 $FILE

#
# Start cropping
#

echo "Cropping the PDF"

# The first regex removes all boxes but CropBox. The second regex renames the  CropBox as MediaBox

perl -pi.bak -e 's/\/(Media|Bleed|Art|Trim)Box[\n\l\f\s]*\[(.+?)\]//msg;' $FILE
perl -pi.bak -e 's/CropBox/MediaBox/g;' $FILE

echo "Validating the PDF"

#Run PDFTK to ensure that the file is OK

cat $FILE | pdftk - output $FILE2

#
# Done cropping, start splitting the pages
#

echo "Splitting the pages in two and changing to 200 dpi with imagemagick. Output goes to $FILE3"

convert -density 200  $FILE2 -crop 50%x0 +repage $FILE3

#
# Done spliting, copy the result in a new file
#


mv $FILE3 $1.pages.pdf

1

एक महान संदर्भ के लिए धन्यवाद। मैं इसी तरह के मुद्दे पर था लेकिन जो मेरे लिए काम करता था उसे साझा करना चाहता था।

मेरे पास चित्र उन्मुख पाठ के साथ एक परिदृश्य उन्मुख टैबलॉयड पीडीएफ केवल बाईं ओर था। आवश्यक रूप से 2-अप टैब्लॉइड पृष्ठ के दाईं ओर किसी भी सामग्री को गायब करता है। इसी तरह के शुरुआती बिंदु, लेकिन टैब्लॉइड 792 × 1224 (पोर्ट्रेट), 1124 x 792 (लैंडस्केप) और 1/2 टैब्लॉइड के लिए बिंदु परिभाषा 612 x 792 अंक थे।

"C:\Program Files\gs\gs9.10\bin\gswin64c.exe" -o left2.pdf -sDEVICE=pdfwrite -g6120x7920 -c "<</PageOffset [0 0]>> setpagedevice" -f "RFP.pdf"

मुझे वह सामग्री मिली जिसकी मुझे 8.5 x 11 पोर्ट्रेट में जरूरत थी, बहुत अधिक पठनीय।


0

जो मैं समझता हूं कि पीडीएफ फाइल दो पृष्ठों (एक शीट पर एक तरफ) को दिखाती है, जिसे पीडीएफ फाइल की दो शीटों के परिणामस्वरूप एक पृष्ठ प्रति शीट में बदलना पड़ता है। दूसरे शब्दों में, यदि 15 शीटों पर कुल तीस पृष्ठ हैं, तो हमें पीडीएफ फाइल को तीस शीटों की पीडीएफ फाइल में बदलना होगा, जिसमें से प्रत्येक में एक पेज दिखाई दे। यदि यह समस्या मैंने 1 से 30 तक पृष्ठ संख्या निर्दिष्ट करके Adobe acrobat XI PRO "एक्सट्रेक्ट पेज टूल" का उपयोग किया है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.