मौजूदा पीडीएफ फाइल में गटर (बाइंडिंग मार्जिन) जोड़ें


4

मैं पीडीएफ दस्तावेज़ में एक गटर मार्जिन (विषम और यहां तक ​​कि पृष्ठों के लिए अलग) कैसे जोड़ सकता हूं ताकि मैं इसे प्रिंट करने के बाद इसे छेद करने के लिए जगह हो? मैं घोस्टस्क्रिप्ट और लिनक्स टर्मिनल से परिचित हूं लेकिन इस विशिष्ट आवश्यकता को पूरा करने के लिए कमांड खोजने में असमर्थ रहा हूं।

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

एक समाधान जो केवल पृष्ठ के दोनों ओर एक अतिरिक्त सेंटीमीटर जोड़ता है (विषम पृष्ठों के लिए और यहां तक ​​कि सही के लिए छोड़ दिया जाता है) यहां पर्याप्त होगा क्योंकि मैं इसे प्रिंट करते समय "फिट होने के लिए स्केल" सुविधा चुन सकता हूं।

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


क्या आपके पास Adobe Acrobat है? (एडोब नहीं "रीडर")
skub

नहीं बदकिस्मती से नहीं। मैंने एक संबंधित प्रश्न के उत्तर में घोस्टस्क्रिप्ट के रूप में भी कोशिश की , लेकिन परिणामी पीडीएफ मूल के समान दिखाई दिया, क्योंकि उस प्रश्न के पूछने वाले ने पाया जब उसने कोशिश की थी।
HullCityFan852

1
यहां एक संभावित आंशिक उत्तर दिया गया है: फ़ाइलpdftk ( पीडीएफ टूलकिट ) का उपयोग करके फ़ाइल को एक पृष्ठ के अलावा एक पृष्ठ के साथ तोड़ने के लिए और विषम पृष्ठों के साथ एक फ़ाइल, प्रत्येक फ़ाइल में पृष्ठों को उचित रूप से पैड करें (मुझे नहीं पता कि यह कैसे करना है) , और उनके साथ पुनर्संयोजन करें pdftk। यह भी देखें [कैसे] दो पीडीएफ फाइलों को मर्ज करें जिसमें कुछ अन्य टूल के लिए एक पुस्तक के विषम पृष्ठ भी हों
स्कॉट

@ धन्यवाद धन्यवाद, यह निश्चित रूप से काम करेगा। पैडिंग इस तरह की जा सकती थी । (ध्यान दें कि हालांकि प्रश्न का उत्तर देने को संदर्भित करता है यह एक मैनुअल ऑफसेट का उपयोग करके प्राप्त करता है।) हालांकि, मैं वास्तव में इसे एक ही चरण में हल करने में कामयाब रहा हूं (अर्थात फ़ाइल को विभाजित किए बिना)। मेरा जवाब नीचे देखें।
HullCityFan852

जवाबों:


7

जब मेरे पास समय होता है, तो मैं इसे एक उचित उत्तर में विस्तारित करने का इरादा रखता हूं, लेकिन यहां मुझे जो समाधान मिला है, अगर किसी को इस बीच इसकी आवश्यकता है। -cकस्टम पोस्टस्क्रिप्ट का उपयोग करके पीडीएफ फाइल को संशोधित करने के विकल्प के साथ घोस्टस्क्रिप्ट का उपयोग करने का विचार है ।

सबसे पहले, आपको पॉइंट्स में मूल पीडीएफ की ऊंचाई और चौड़ाई जानने की जरूरत है (एक इंच में 72 पॉइंट हैं)। आप इस जानकारी को खोजने के लिए "pdfinfo" टूल का उपयोग कर सकते हैं:

pdfinfo "inputFile.pdf"

मान लीजिए कि आपके पास A4 दस्तावेज़ है - A4 595pts × 842pts (210 मिमी × 297 मिमी) है।

यदि आप A4 दस्तावेज़ में 10 मिमी (= 1cm = 28pts) नाली जोड़ना चाहते हैं, तो आपको निम्नलिखित जानकारी घोस्टस्क्रिप्ट को देने की आवश्यकता है:

-dDEVICEHEIGHTPOINTS=842 (ए 4 की ऊंचाई)
 -dDEVICEWIDTHPOINTS=623 (= 595 + 28, यानी, ए 4 की चौड़ाई + गटर जोड़े जाने के लिए)
   {28 0 translate} {}     ({विषम पृष्ठों बदलाव 28pts सही और 0pts अप} {कुछ भी नहीं करना भी पृष्ठों})

नोट: बढ़ी हुई चौड़ाई को निर्दिष्ट करने से पृष्ठ के दाईं ओर स्थित स्थान जुड़ जाता है, इसलिए यह केवल विषम संख्या वाले पृष्ठ हैं जिनका अनुवाद किया जाना चाहिए - यहां तक ​​कि पृष्ठ पहले से ही सही तरीके से रखे गए हैं।

यहाँ लिनक्स के लिए पूर्ण कमांड है:

gs -q -sDEVICE=pdfwrite -dBATCH -dNOPAUSE -sOutputFile=outputFile.pdf \
  -dDEVICEWIDTHPOINTS=623 -dDEVICEHEIGHTPOINTS=842 -dFIXEDMEDIA \
  -c "<< /CurrPageNum 1 def /Install { /CurrPageNum CurrPageNum 1 add def
   CurrPageNum 2 mod 1 eq {28 0 translate} {} ifelse } bind  >> setpagedevice" \
  -f "inputFile.pdf"

नोट: यह कमांड PDF 1cm को A4 से अधिक चौड़ा बनाता है। यदि आप ए 4 पर प्रिंट करते हैं तो फिट होने के लिए सब कुछ कम हो जाएगा और गटर वास्तव में 1 सेमी से थोड़ा पतला होगा (यह 9.5 मिमी होगा)। यदि यह पर्याप्त अच्छा नहीं है, तो आपको सही ऑफसेट प्राप्त करने के लिए बीजगणित का एक सा करना होगा। इस मामले में, यह 28.8 के बजाय 29.8 के अवसर पर होगा, एक 10.0 मिमी मुद्रित गटर पाने के लिए (आपको भी सेट करना होगा -dDEVICEWIDTHPOINTS=624.8)। हालांकि, अगर गटर ~ 2 सेमी से कम है, तो यह संभवतः गणना करने के लायक नहीं है, विशेष रूप से मुद्रण और कागज के आकार में सहनशीलता को देखते हुए।


1
आपको मूल समाधान कहां मिला? :-) (विषम पृष्ठों के स्वचालित अनुवाद पोस्टस्क्रिप्ट-कोडिंग, BTW साथ गुड सुधार) :)
कर्ट Pfeifle

@ धन्यवाद धन्यवाद :) लेकिन मुझे पूरी तरह से यकीन नहीं है कि आपका क्या मतलब है। मैंने घोस्टस्क्रिप्ट मैन पेजों से, और एडोब के पोस्टस्क्रिप्ट भाषा संदर्भ से भी कुछ अन्य उत्तरों से प्रेरणा प्राप्त की । जैसा कि आपने कहा, केवल अजीब पृष्ठों को प्रभावित करने के लिए इसे अपनाना पूरी तरह से मेरा खुद का आविष्कार था, और यह पोस्टस्क्रिप्ट जैसी स्टैक-आधारित भाषाओं की सीमाओं के कारण वास्तव में बेहद मुश्किल था।
HullCityFan852

@ कर्ट दिलचस्प बात यह है कि पोस्टस्क्रिप्ट भाषा संदर्भ के पृष्ठ 414 में इस बहुत ही कार्य को करने के लिए एक अंतर्निहित ImageShift फ़ंक्शन का उल्लेख किया गया है, और पृष्ठ 427 का उपयोग BeginPage का सुझाव देता है। हालांकि, मैंने दोनों की कोशिश की और न ही घोस्टस्क्रिप्ट के साथ काम करने के लिए दिखाई दिया, इसलिए मेरे समाधान में मैनुअल पेज काउंटर।
HullCityFan852

यह भी काम करना चाहिए gs -o out.pdf -sDEVICE=pdfwrite -c "<</PageOffset [100 -100]>>setpagedevice" -f in.pdf:। /ImageShiftPagedevice पैरामीटर पोस्टस्क्रिप्ट 3 में ही उपलब्ध है और Ghostscript द्वारा समर्थित नहीं किया जा सकता है।
कर्ट पफीफले

@ कर्ट जो विषम और समान पृष्ठों के लिए समान शिफ्ट देता प्रतीत होता है, विपरीत पारी नहीं जो मैं हासिल करने की कोशिश कर रहा हूं, और मेरा समाधान करता है।
हुलसिटीफैन 852
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.