আপনি ঘোস্টস্ক্রিপ্টের সাহায্যে এটি সমাধান করতে পারেন। pdftk
একা এটি করতে পারে না (আমার জ্ঞানের সেরা)। এটি আপনাকে ম্যানুয়ালি করার কমান্ডলাইন পদক্ষেপ দেব। পৃষ্ঠার আকার এবং পৃষ্ঠা সংখ্যার জন্য বিভিন্ন পরামিতি সহ এটি একটি প্রক্রিয়া হিসাবে এটি স্ক্রিপ্ট করা সহজ হবে। তবে আপনি বলেছিলেন যে আপনি নিজে এটি করতে পারেন ;-)
ঘোস্টস্ক্রিপ্টের সাহায্যে এটি কীভাবে সমাধান করা যায় ...
... এবং এর মজাদার জন্য, আমি সম্প্রতি এটি "ডাবল-আপ" পৃষ্ঠাগুলির বৈশিষ্ট্যযুক্ত কোনও ইনপুট ফাইলের সাথে না করেই করেছি , তবে একটি "ট্রাবল-আপস" সহ একটি করেছি। আপনি এই মামলার উত্তরটি এখানে পড়তে পারেন ।
আপনার ক্ষেত্রে এমনকি সহজ। আপনার কাছে এর সাথে কিছু মিল রয়েছে বলে মনে হচ্ছে:
+------------+------------+ ^
| | | |
| 1 | 2 | |
| | | 595 pt
| | | |
| | | |
| | | |
+------------+------------+ v
^
fold
v
+------------+------------+ ^
| | | |
| 3 | 4 | |
| | | 595 pt
| | | |
| | | |
| | | |
+------------+------------+ v
<---------- 842 pt -------->
আপনি 4 টি পৃষ্ঠাগুলি সহ 1 পিডিএফ তৈরি করতে চান, যার প্রত্যেকটিরই আকার 421 পিটি x 595 pt।
প্রথম ধাপ
আসুন প্রথমে প্রতিটি ইনপুট পৃষ্ঠা থেকে বাম বিভাগগুলি বের করুন:
gs \
-o left-sections.pdf \
-sDEVICE=pdfwrite \
-g4210x5950 \
-c "<</PageOffset [0 0]>> setpagedevice" \
-f double-page-input.pdf
এই পরামিতিগুলি কী করেছিল?
প্রথমে জেনে নিন পিডিএফ 1 ইঞ্চি == 72 পয়েন্টে । তারপরে বাকীটি হ'ল:
-o ...............:
নাম আউটপুট ফাইল। ছদ্মবেশীও ব্যবহার করে -dBATCH -dNOPAUSE -dSAFER
।
-sDEVICE=pdfwrite :
আমরা আউটপুট ফর্ম্যাট হিসাবে পিডিএফ চাই।
-g................:
আউটপুট মিডিয়া আকার পিক্সেল মধ্যে সেট করে। পিডিএফরাইটের ডিফল্ট রেজোলিউশন 720 ডিপিআই। অতএব পেজ অফসেটের জন্য ম্যাচ পেতে 10 দিয়ে গুণ করুন।
-c "..............:
ঘোস্টস্ক্রিপ্টকে মূল ইনপুট ফাইলের (যার সাথে অনুসরণ করা দরকার -f
) ঠিক আগে প্রদত্ত পোস্টস্ক্রিপ্ট কোড স্নিপেট প্রক্রিয়া করতে বলে asks
<</PageOffset ....:
মাঝারি পৃষ্ঠা চিত্র স্থানান্তর সেট করে। (অবশ্যই, বাম পৃষ্ঠাগুলির জন্য শিফটটির [0 0]
কোনও আসল প্রভাব নেই))
-f ...............:
এই ইনপুট ফাইলটি প্রক্রিয়া করুন।
শেষ আদেশটি কোন ফলাফল অর্জন করেছিল?
এইটা:
Output file: left-sections.pdf, page 1
+------------+ ^
| | |
| 1 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
Output file: left-sections.pdf, page 2
+------------+ ^
| | |
| 3 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
<-- 421 pt -->
দ্বিতীয় ধাপ
পরবর্তী, ডান বিভাগগুলি:
gs \
-o right-sections.pdf \
-sDEVICE=pdfwrite \
-g4210x5950 \
-c "<</PageOffset [-421 0]>> setpagedevice" \
-f double-page-input.pdf
নেভিগেশন নেতিবাচক অফসেট নোট করুন যেহেতু আমরা দেখার ক্ষেত্রটি স্থির রাখার সময় পৃষ্ঠাটি বাম দিকে সরিয়ে দিচ্ছি।
ফলাফল:
Output file: right-sections.pdf, page 1
+------------+ ^
| | |
| 2 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
Output file: right-sections.pdf, page 2
+------------+ ^
| | |
| 4 | |
| |595 pt
| | |
| | |
| | |
+------------+ v
<-- 421 pt -->
শেষ পদক্ষেপ
এখন আমরা পৃষ্ঠাগুলি একটি ফাইলে একত্রিত করি। আমরা ভূস্ট্রিপ্টের সাহায্যে এটিও করতে পারি, তবে আমরা pdftk
পরিবর্তে ব্যবহার করব , কারণ এটি এই কাজের জন্য দ্রুত:
pdftk \
A=right-sections.pdf \
B=left-sections.pdf \
shuffle \
output single-pages-output.pdf
verbose
সম্পন্ন. এখানে কাঙ্ক্ষিত ফলাফল। 4 টি বিভিন্ন পৃষ্ঠা, আকারের 421x595 pt।
ফলাফল:
+------------+ +------------+ +------------+ +------------+ ^
| | | | | | | | |
| 1 | | 2 | | 3 | | 4 | |
| | | | | | | |5595 pt
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
+------------+ +------------+ +------------+ +------------+ v
<-- 421 pt --> <-- 421 pt --> <-- 421 pt --> <-- 421 pt -->