আমার কাছে একটি পিডিএফ ফাইল রয়েছে যা একটি পুস্তিকা বিন্যাসে তৈরি হয়েছিল। এটি ল্যান্ডস্কেপ অভিযোজনে A4 কাগজে মুদ্রণ বোঝানো হয়েছে; এখানে পিডিএফ-এর দুটি পৃষ্ঠা রয়েছে যা প্রকৃত বইয়ের চারটি পৃষ্ঠার সাথে মিলিত হওয়া উচিত।
-------------------------------
| | |
| | |
| | |
| (1) | (3) |
| | |
| | |
| | |
-------------------------------
-------------------------------
| | |
| | |
| | |
| (4) | (2) |
| | |
| | |
| | |
-------------------------------
বন্ধনীগুলি পৃথক পৃষ্ঠাগুলির ক্রম অনুসারে।
আমি জানি যে লিনাক্সগুলিতে (পিডিএফবুক, পিডিএফএনআপ ইত্যাদি) সমস্ত ধরণের কমান্ড রয়েছে (যা সম্ভবত এই পুস্তিকাটি প্রথম স্থানে তৈরি করতে ব্যবহৃত হয়েছিল)। আমি কীভাবে এটি 'আনবুক' করব --- তা হ'ল আমি এখান থেকে পিডিএফ ডকুমেন্ট তৈরি করতে চাই যেখানে চূড়ান্ত পণ্যটির প্রতিটি স্বতন্ত্র পৃষ্ঠা পিডিএফের স্বতন্ত্র পৃষ্ঠা, সাধারণ উপায়ে অর্ডার করা হয়।
সম্পাদন করা
গিলসকে ধন্যবাদ, আমি নিম্নলিখিত কোডটি ব্যবহার করতে পেরেছি:
import copy, sys
from pyPdf import PdfFileWriter, PdfFileReader
input = PdfFileReader(sys.stdin)
output = PdfFileWriter()
second_half = []
for i in range(0,input.getNumPages()):
p = input.getPage(i)
q = copy.copy(p)
print >> sys.stderr, 'splitting page',i
print >> sys.stderr, '\tlowerLeft:',p.mediaBox.lowerLeft
print >> sys.stderr, '\tupperRight:',p.mediaBox.upperRight
p.mediaBox.upperRight = (ur[0], (bl[1]+ur[1])/2)
p.mediaBox.lowerLeft = bl
q.mediaBox.upperRight = ur
q.mediaBox.lowerLeft = (bl[0], (bl[1]+ur[1])/2)
if i % 2 == 0:
output.addPage(p)
qold = q
else:
output.addPage(q)
output.addPage(qold)
output.addPage(p)
output.write(sys.stdout)