মূল অংশে যান

PDF রিপেয়ার করুন

যে PDF খুলছে না, তা উদ্ধার করুন। ফাইলের ইনডেক্স নতুন করে তৈরি হয়, আর ডকুমেন্ট একেবারেই পার্স করা না গেলে বাইটের মধ্যে এখনো পড়া যায় এমন সবকিছু উদ্ধার করা হয় — কিছুই সংরক্ষণ করা হয় না।

  • কখনো সংরক্ষণ করা হয় না
  • কোনো লাইন নেই, অপেক্ষা নেই
  • সাইনআপ নেই, ওয়াটারমার্ক নেই

যেভাবে কাজ করে

1

নষ্ট PDF যোগ করুন

যে ফাইল খুলছে না, সেটি ছাড়ুন। অন্য অ্যাপ সেটি ফিরিয়ে দিলেও সমস্যা নেই।

2

রিপেয়ার

ফাইলটি নতুন করে ইনডেক্স করা হয়, আর পার্স করা না গেলে অবজেক্ট ধরে ধরে নতুন করে গড়া হয়।

3

যাচাই করে ডাউনলোড করুন

কতগুলো পেজ ফিরে এল আর কী করা হলো, তা জানানো হয়, তারপর আপনি রিপেয়ার করা ফাইলটি ডাউনলোড করেন।

সাধারণত কী ভাঙে, আর ফেরার দুটি পথ

যে PDF খোলে না, তার বেশিরভাগই আসলে তেমন কোনো অর্থে নষ্ট নয়। PDF-এর শেষে থাকে একটি ক্রস-রেফারেন্স টেবিল — একটি ইনডেক্স, যা ফাইলের প্রতিটি অবজেক্টের বাইট অফসেট লিখে রাখে — আর রিডার কিছু খুঁজে পেতে এটিই ব্যবহার করে। এই ইনডেক্স নষ্ট হলে পুরোপুরি অক্ষত একটি ডকুমেন্টও খোলা যায় না, কারণ সবকিছু থাকলেও কিছুই খুঁজে পাওয়া যায় না। মাঝপথে থেমে যাওয়া ডাউনলোড, অসম্পূর্ণ সেভ, ক্র্যাশ করা অ্যাপ, এমন কিছু দিয়ে এডিট করা ফাইল যা অফসেট আপডেট করেনি, লাইন-এন্ডিং গুলিয়ে দেওয়া ট্রান্সফার: এগুলো সবই ইনডেক্স ভাঙে, আর কোনোটিই কনটেন্টে হাত দেয় না।

প্রথম দফা ঠিক এই সুযোগটিই কাজে লাগায়। ফাইলটি নমনীয়ভাবে পার্স করা হয়, যেখানে লেখা অফসেট আসল অবস্থানের সঙ্গে মেলে না সেখানে তা উপেক্ষা করে, তারপর সঠিক ইনডেক্স, সঠিক স্ট্রিম দৈর্ঘ্য ও পরিষ্কার ট্রেইলারসহ নতুন করে লেখা হয়। বিপুল সংখ্যক ফাইল এভাবেই উদ্ধার হয়, এটি দ্রুত, আর পেজের কিছুই বদলায় না — ফলাফল হলো আপনার ডকুমেন্ট, যার সঙ্গে কাজ করা একটি সূচি আবার জুড়ে দেওয়া হয়েছে।

ফাইল একেবারেই পার্স না হলে দ্বিতীয় দফা তা-ই করে, যা ডেস্কটপ রিকভারি টুল করে: এটি শুরু থেকে শেষ পর্যন্ত কাঁচা বাইট স্ক্যান করে অবজেক্ট হেডার খোঁজে, যা কিছু এখনো PDF অবজেক্টের মতো দেখায় তা জড়ো করে, আর ফাইল যা দাবি করে তা থেকে নয়, সত্যিই যা আছে তা থেকে ইনডেক্স নতুন করে গড়ে। দুটির কোনটি চলল, পেজ আপনাকে তা জানায়, কারণ এটি গুরুত্বপূর্ণ — পুনর্গঠন মানে মূল কাঠামো পড়া যায়নি, আর ভরসা করার আগে ফলাফলটি একবার দেখে নেওয়া উচিত।

কোনো দফাই এমন ডেটা বানাতে পারে না যা নেই, আর কোথাও কোনো টুলই তা পারে না। ডাউনলোড ৬০ শতাংশে থেমে গেলে শেষ ৪০ শতাংশ পেজ ফাইলে নেই-ই; উদ্ধার প্রক্রিয়া যে পেজগুলো এসেছে সেগুলো খুঁজে পায়, তারপর থামে। ক্ষতি যদি কমপ্রেস করা স্ট্রিমের ভেতরে হয়, সেই স্ট্রিম ডিকমপ্রেস করা যায় না, আর সেটি যে পেজ আঁকত তা ফাঁকা আসে, অথচ পাশের পেজগুলো ঠিক থাকে। ডকুমেন্টের কিছু অংশ উদ্ধার হওয়াই এখানে স্বাভাবিক ভালো ফলাফল, আর কেটে যাওয়া কপি রিপেয়ারের চেয়ে মূল ফাইলটি আবার জোগাড় করা সবসময়ই ভালো।

অন্য কিছু দরকার হলে

এ কাজের রেফারেন্স টুল qpdf, আর এটি একই প্রথম দফা আরও পুঙ্খানুপুঙ্খভাবে করে: qpdf --replace-input damaged.pdf সঠিক ইনডেক্সসহ ফাইলটি নতুন করে লেখে, আর এনক্রিপ্ট করা ডকুমেন্ট, অবজেক্ট স্ট্রিম ও লিনিয়ারাইজড ফাইল সামলায়, যেগুলোতে নমনীয় পার্সিং হোঁচট খেতে পারে। mutool clean -ggg in.pdf out.pdf আরও এক ধাপ এগিয়ে পেজ ট্রি নতুন করে গড়ে এবং রেফারেন্সহীন সবকিছু বাদ দেয়। দুটোই ফ্রি, দুটোই ব্রাউজার ট্যাব যতটা ধরতে পারে তার চেয়ে অনেক বড় ফাইলে চলে, আর দুটোই জানিয়ে দেয় কী কী ঠিক করতে হয়েছে।

যে ফাইল এতটাই নষ্ট যে অবজেক্ট স্ক্যানই একমাত্র উপায়, তার ক্ষেত্রে Ghostscript প্রায়ই সবচেয়ে নাছোড়: gs -o repaired.pdf -sDEVICE=pdfwrite broken.pdf শুধু নতুন করে ইনডেক্স না করে পেজের কনটেন্ট ব্যাখ্যা করে, ফলে কখনো কখনো এমন পেজও পুনর্গঠন করে, যা অন্য টুলগুলো ছেড়ে দেয় — তবে সবকিছু নতুন করে লেখার বিনিময়ে, তাই আউটপুট আর টিকে থাকা অংশের সঙ্গে বাইট-বাই-বাইট এক থাকে না।

সাধারণ প্রশ্নোত্তর

আসলে কী রিপেয়ার হয়?

বেশিরভাগ “নষ্ট” PDF-এর কাঠামো অক্ষত থাকে, কিন্তু ক্রস-রেফারেন্স টেবিল — যে ইনডেক্স বলে দেয় কোন অবজেক্ট কোথায় আছে — ভেঙে যায়। অসম্পূর্ণ ডাউনলোড, মাঝপথে থেমে যাওয়া সেভ আর ত্রুটিপূর্ণ জেনারেটর — সবই এর কারণ, আর কনটেন্ট থেকে গেলেও রিডার ফাইলটি খুলতে অস্বীকার করে। ইনডেক্সটি নতুন করে তৈরি করলেই ডকুমেন্ট সরাসরি ফিরে আসে।

ফাইল যদি একেবারেই পার্স করা না যায়?

তখন কাঁচা বাইটগুলো অবজেক্ট হেডারের খোঁজে স্ক্যান করা হয়, যা কিছু এখনো আছে তা জড়ো করা হয়, আর সেগুলোর চারপাশে নতুন ইনডেক্স ও ট্রেইলার লেখা হয় — ডেস্কটপ টুল যেভাবে উদ্ধার করে, ঠিক সেভাবে। আপনার হাতে দেওয়ার আগে ফলাফলটি আবার খুলে দেখা হয়, তাই যে ফাইল তখনো লোড হয় না, তা ডাউনলোডে না দিয়ে জানিয়ে দেওয়া হয়।

আমার নষ্ট ফাইল কি কোথাও সংরক্ষণ করা হয়?

না। এমনকি উদ্ধারের স্ক্যানেও কিছুই সংরক্ষণ করা হয় না। কোথাও কিছু পাঠানো হয় না।

ডাউনলোডের মাঝপথে কেটে যাওয়া ফাইল কি উদ্ধার করা যায়?

প্রায়ই যায় — ডেটা যেখানে থেমেছে, সে পর্যন্ত। যে পেজ কখনো ডাউনলোডই হয়নি, তা বানিয়ে দেওয়া যায় না, তাই পুরো ডকুমেন্টের বদলে শুধু প্রথম অংশ ফিরে পেতে পারেন।

পাসওয়ার্ড-সুরক্ষিত PDF কি রিপেয়ার হবে?

রিপেয়ারের সময় এনক্রিপশন উপেক্ষা করা হয়, তাই সুরক্ষিত ফাইলটি পড়ার মতো ফিরে আসতে পারে কেবল তখনই, যদি পাসওয়ার্ডও আপনার কাছে থাকে। সেজন্য আলাদাভাবে “PDF আনলক” ব্যবহার করুন।

জেনে রাখুন: রিপেয়ার শুধু ফাইলে যা এখনো আছে তা উদ্ধার করে — যে ডেটা সত্যিই নেই, তা পুনর্গঠন করতে পারে না। ডকুমেন্ট মাঝপথে কেটে গেলে কাটা অংশের পরের পেজগুলো চিরতরে হারিয়ে যায়। কমপ্রেস করা স্ট্রিমের ভেতরে ক্ষতিগ্রস্ত ফাইল উদ্ধার হলেও কিছু পেজ ফাঁকা আসতে পারে।

এই টুলটি আপনার ওয়েবসাইটে যোগ করুন

যেকোনো ব্লগ, ক্লাসের পেজ বা হেল্প আর্টিকেলের জন্য ফ্রি। একটি স্নিপেট পেস্ট করলেই আপনার ভিজিটররা আপনার পেজেই এটি ব্যবহার করতে পারবেন।