আপনি পাইপডিএফ 2 এর PdfMergerক্লাস ব্যবহার করতে পারেন ।
ফাইল কনটেনটেশন
আপনি কেবল পারেন কনক্যাটেনেট ব্যবহার করে ফাইলগুলি appendপদ্ধতি।
from PyPDF2 import PdfFileMerger
pdfs = ['file1.pdf', 'file2.pdf', 'file3.pdf', 'file4.pdf']
merger = PdfFileMerger()
for pdf in pdfs:
merger.append(pdf)
merger.write("result.pdf")
merger.close()
আপনি চাইলে ফাইল পাথ পরিবর্তে ফাইল হ্যান্ডেলগুলি পাস করতে পারেন।
ফাইল মার্জ করা হচ্ছে
আপনি যদি মার্জ করার আরও সূক্ষ্ম গ্রেড কন্ট্রোল চান তবে একটি mergeপদ্ধতি রয়েছে PdfMergerযা আপনাকে আউটপুট ফাইলে একটি সন্নিবেশ বিন্দু নির্দিষ্ট করতে দেয় যার অর্থ আপনি ফাইলের যে কোনও জায়গায় পৃষ্ঠাগুলি সন্নিবেশ করতে পারেন। appendপদ্ধতি হিসেবে ভাবা যেতে পারে mergeযেখানে সন্নিবেশ বিন্দু ফাইল শেষ হয়।
যেমন
merger.merge(2, pdf)
এখানে আমরা আউটপুটে পুরো পিডিএফ সন্নিবেশ করান তবে পৃষ্ঠায় 2।
পৃষ্ঠার ব্যাপ্তি
আপনি যা কোন পৃষ্ঠাগুলিকে একটি নির্দিষ্ট ফাইল থেকে যোগ করা হয় তা নিয়ন্ত্রণ করতে চান, আপনি ব্যবহার করতে পারেন pagesএর শব্দ যুক্তি appendএবং merge, ফর্ম একটি tuple ক্ষণস্থায়ী (start, stop[, step])(নিয়মিত মত rangeফাংশন)।
যেমন
merger.append(pdf, pages=(0, 3)) # first 3 pages
merger.append(pdf, pages=(0, 6, 2)) # pages 1,3, 5
আপনি যদি একটি অবৈধ পরিসর নির্দিষ্ট করে থাকেন তবে একটি পাবেন IndexError।
দ্রষ্টব্য: এছাড়াও যে ফাইলগুলি উন্মুক্ত না থেকে বাঁচতে, PdfFileMergerমার্জ করা ফাইলটি লেখার সময় বন্ধ পদ্ধতিটি কল করা উচিত। এটি নিশ্চিত করে যে সমস্ত ফাইল সময় মতো বন্ধ রয়েছে (ইনপুট এবং আউটপুট)। এটি একটি লজ্জাজনক বিষয় যা PdfFileMergerপ্রসঙ্গে পরিচালক হিসাবে প্রয়োগ করা হয়নি, তাই আমরা withকীওয়ার্ডটি ব্যবহার করতে পারি , সুস্পষ্ট কাছাকাছি কল এড়াতে পারি এবং কিছু সহজ ব্যতিক্রমী সুরক্ষা পেতে পারি।
আপনি pdfcatপিআইপিডিএফ 2 এর অংশ হিসাবে সরবরাহিত স্ক্রিপ্টটিও দেখতে চাইতে পারেন । আপনি সম্পূর্ণরূপে কোড লেখার প্রয়োজনীয়তা এড়াতে পারবেন।
পাইপডিএফ 2 গিথুব এছাড়াও মার্জ করে প্রদর্শিত কিছু উদাহরণ কোড অন্তর্ভুক্ত করে।