পিডিএফ ফাইল ফরম্যাট ব্যাখ্যা: গঠন, স্তর এবং মান
একটি পিডিএফ-এর ভিতরে আসলে কী থাকে? চারটি ভৌত অংশ (হেডার, বডি, xref, ট্রেলার), ছয়টি কন্টেন্ট স্তর (টেক্সট, ছবি, ফন্ট, টীকা, ভেক্টর, স্বাক্ষর), মেটাডেটা এবং উপরে নির্মিত আইএসও মান (PDF/A, PDF/X, PDF/UA, PDF/E, PDF/VT) কভার করে একটি লেবেলযুক্ত ডায়াগ্রাম এবং শব্দকোষ।
পিডিএফ একটি একক জিনিস নয়। এটি ডিস্কে একটি নির্দিষ্ট কাঠামোর বাইনারি কন্টেইনার, সেই কন্টেইনারের ভিতরে স্তুপীকৃত কন্টেন্ট স্তরগুলির একটি সেট এবং বেস স্পেসিফিকেশনের উপরে নির্মিত আইএসও মানগুলির একটি পরিবার। একটি হেক্স এডিটরে একটি খুলুন এবং প্রথম কয়েকটি লাইনে গঠনটি প্লেইন টেক্সটে দৃশ্যমান হয়। একটি ভিউয়ারে একটি খুলুন এবং স্তরগুলি একটি একক পৃষ্ঠা হিসাবে একসাথে রেন্ডার হয়।
এই গাইডটি একটি লেবেলযুক্ত রেফারেন্স: ভৌত ফাইল কাঠামো, একটি বডি যে কন্টেন্ট স্তরগুলি ধারণ করে, মেটাডেটা যা সবকিছু ঘিরে রাখে এবং মান (PDF/A, PDF/X, PDF/UA, PDF/E, PDF/VT) যা নির্দিষ্ট ব্যবহারের ক্ষেত্রে এটিকে সীমাবদ্ধ করে।

এই ডায়াগ্রামটি আপনার ব্লগে ব্যবহার করতে চান? এই এমবেড কোডটি কপি করুন:
চারটি ভৌত অংশ
ডিস্কে প্রতিটি পিডিএফ-এর একই চার-অংশের কাঠামো থাকে, এই ক্রমে:
১. হেডার
ফাইলের প্রথম লাইন। সর্বদা %PDF- দিয়ে শুরু হয় এবং একটি সংস্করণ নম্বর অনুসরণ করে:
%PDF-1.7সংস্করণগুলি 1.0 (১৯৯৩ সালে প্রকাশিত) থেকে 2.0 (২০১৭ সালে প্রকাশিত, বর্তমান) পর্যন্ত বিস্তৃত। হেডারের পরে একটি মন্তব্য লাইন থাকে যেখানে বাইনারি বাইট থাকে যা FTP এবং অন্যান্য ট্রান্সপোর্ট টুলসকে সংকেত দেয় যে এটি একটি বাইনারি ফাইল।
২. বডি - ইনডাইরেক্ট অবজেক্টস
ফাইলের মূল অংশ। প্রতিটি পৃষ্ঠা, ফন্ট, ছবি, টীকা এবং ফর্ম ফিল্ড একটি সংখ্যাযুক্ত ইনডাইরেক্ট অবজেক্ট:
1 0 obj
<< /Type /Catalog /Pages 2 0 R >>
endobj
2 0 obj
<< /Type /Pages /Kids [3 0 R] /Count 1 >>
endobj
3 0 obj
<< /Type /Page /Parent 2 0 R /Contents 4 0 R /Resources << ... >> >>
endobjপ্রতিটি অবজেক্টের একটি আইডি ( 0 obj এর আগের সংখ্যা), একটি জেনারেশন নম্বর (0, ইনক্রিমেন্টাল আপডেটের জন্য ব্যবহৃত হয়), এবং ডিকশনারিগুলির জন্য << এবং >> এর মধ্যে বা বাইনারি স্ট্রিমের জন্য stream এবং endstream এর মধ্যে একটি পেলোড থাকে (ছবির ডেটা, ফন্ট ডেটা, সংকুচিত কন্টেন্ট)।
অবজেক্টগুলি <id> <gen> R সিনট্যাক্স (যেমন, 3 0 R মানে "অবজেক্ট 3, জেনারেশন 0") ব্যবহার করে একে অপরকে রেফারেন্স করে। এভাবেই একটি পৃষ্ঠা এটি ব্যবহার করা ফন্টকে রেফারেন্স করে, অথবা একটি ক্যাটালগ পৃষ্ঠা গাছের মূলকে রেফারেন্স করে।
৩. ক্রস-রেফারেন্স টেবিল (xref)
একটি বাইট-অফসেট লুকআপ টেবিল। বডির প্রতিটি অবজেক্টের জন্য, xref ফাইলে তার পরম বাইট অবস্থান রেকর্ড করে:
xref
0 6
0000000000 65535 f
0000000017 00000 n
0000000089 00000 n
0000000172 00000 n
0000000299 00000 n
0000000453 00000 nএটাই পিডিএফ-কে র্যান্ডম-অ্যাক্সেস করে তোলে। একটি ভিউয়ার xref পড়তে পারে, সরাসরি অবজেক্ট 3 এর বাইট অফসেটে যেতে পারে এবং ফাইলের বাকি অংশ পার্স না করেই সেই পৃষ্ঠাটি রেন্ডার করতে পারে। এটাই কারণ যে একটি অধ্যায়ের পিডিএফগুলি তাৎক্ষণিকভাবে খোলে এমনকি যদি সোর্স ফাইলটি 500 পৃষ্ঠা দীর্ঘ হয়।
৪. ট্রেলার
শেষ অংশ। পার্সারকে বলে কোথায় xref খুঁজে পাওয়া যাবে এবং কোনটি মূল অবজেক্ট:
trailer
<< /Size 6 /Root 1 0 R /Info 7 0 R >>
startxref
1893
%%EOFstartxref মানটি xref টেবিলের বাইট অফসেট। %%EOF মার্কারটি ফাইলের আক্ষরিক শেষ। ট্রেলারগুলি ইনক্রিমেন্টাল আপডেট সম্ভব করে তোলে: শেষে একটি নতুন xref + ট্রেলার যুক্ত করা আপনাকে পুরো ফাইলটি পুনরায় না লিখে অবজেক্ট যুক্ত করার অনুমতি দেয়।
ছয়টি কন্টেন্ট স্তর
বডির ভিতরে, কন্টেন্ট ছয়টি স্তর প্রকার জুড়ে সংরক্ষিত থাকে। প্রতিটি রেন্ডার করা পিডিএফ পৃষ্ঠা এই স্তরগুলির একটি কম্পোজিট:
১. টেক্সট
গ্লিফ পজিশন কমান্ড এবং ফন্ট রেফারেন্স, টেক্সট স্ট্রিং নয়। একটি পিডিএফ নির্দেশাবলী সংরক্ষণ করে যেমন "ফন্ট F3 থেকে গ্লিফ 42 কে পজিশন (120, 540) এ আঁকো" এর পরিবর্তে "এখানে A অক্ষরটি আঁকো"। এই কারণেই টেক্সট নির্বাচনযোগ্য এবং অনুসন্ধানযোগ্য: ভিউয়ার ToUnicode ম্যাপিং (বা CJK ফন্টের জন্য CMap) এর মাধ্যমে গ্লিফ আইডিগুলিকে ইউনিকোড কোড পয়েন্টে বিপরীত-ম্যাপ করে।
যখন টেক্সটে ToUnicode ম্যাপিং অনুপস্থিত থাকে, তখন আপনি ক্লাসিক "নির্বাচনযোগ্য টেক্সট সহ পিডিএফ যা আবর্জনা হিসাবে কপি হয়" সমস্যাটি পান। টেক্সট দৃশ্যমান, কিন্তু গ্লিফ-টু-ইউনিকোড ম্যাপিং ভাঙা বা অনুপস্থিত।
২. ছবি
বিভিন্ন ফরম্যাটের একটিতে এমবেডেড স্ট্রিম হিসাবে সংরক্ষিত:
- JPEG (DCTDecode ফিল্টার): ফটোগ্রাফ, সবচেয়ে সাধারণ
- JPEG2000 (JPXDecode): উচ্চতর কম্প্রেশন, কম সাধারণ
- PNG-সমতুল্য (FlateDecode + Predictor): স্ক্রিনশট, লাইন আর্ট
- CCITT গ্রুপ 4 (CCITTFaxDecode): সাদা-কালো স্ক্যান করা টেক্সট, আর্কাইভাল স্ক্যানে ব্যবহৃত হয়
- JBIG2 (JBIG2Decode): বাইলেভেল ছবি, OCR করা ডকুমেন্টে সাধারণ
ছবিগুলি ডাউনস্যাম্পল করা, পুনরায় সংকুচিত করা বা অন্য কন্টেন্টকে প্রভাবিত না করে প্রতিস্থাপন করা যেতে পারে।
৩. ফন্ট
সম্পূর্ণ ফন্ট প্রোগ্রাম, সাবসেট (শুধুমাত্র ব্যবহৃত গ্লিফ অন্তর্ভুক্ত) হিসাবে এমবেড করা, বা নাম দ্বারা রেফারেন্স করা (ভিউয়ারের সিস্টেমে ইনস্টল থাকতে হবে)। সাবসেটিং ডিফল্ট - এটি ফাইলের আকার নাটকীয়ভাবে কমিয়ে দেয়। সমর্থিত ফন্ট ফরম্যাট: Type1, TrueType, OpenType, এবং CIDFont (CJK এর জন্য)।
যখন একটি ফন্ট রেফারেন্স করা হয় কিন্তু এমবেড করা হয় না এবং ভিউয়ারের সিস্টেমে ইনস্টল করা হয় না, তখন ভিউয়ার একটি অনুরূপ ফন্ট প্রতিস্থাপন করে - যা সাধারণত ভুল দেখায়। PDF/A সমস্ত ফন্ট এমবেড করা আবশ্যক যাতে এটি প্রতিরোধ করা যায়।
৪. টীকা
হাইলাইট, মন্তব্য, লিঙ্ক, স্ট্যাম্প, ওয়াটারমার্ক এবং ফর্ম ফিল্ড সবই টীকা। এগুলি পৃষ্ঠা কন্টেন্টের উপরে স্তরিত থাকে এবং অন্তর্নিহিত পৃষ্ঠা পরিবর্তন না করে যোগ, সম্পাদনা বা সরানো যেতে পারে।
ফর্ম ফিল্ডগুলি একটি বিশেষ কেস: একটি ইন্টারেক্টিভ উইজেট টীকা (দৃশ্যমান অংশ) এবং একটি ফিল্ড ডিকশনারি (ডেটা অংশ)। আপনি যখন একটি ফর্ম পূরণ করেন এবং সংরক্ষণ করেন, তখন শুধুমাত্র ফিল্ড ডিকশনারিগুলি পরিবর্তিত হয় - পৃষ্ঠাটি নিজেই অপরিবর্তিত থাকে।
৫. ভেক্টর গ্রাফিক্স
লাইন, আকার, বক্ররেখা এবং পথ পোস্টস্ক্রিপ্ট-সদৃশ অপারেটর (moveto, lineto, curveto) দিয়ে আঁকা হয়। গুণমান হ্রাস ছাড়াই অসীমভাবে স্কেল করা যায়। পিডিএফ-এ বেশিরভাগ CAD এক্সপোর্ট, চার্ট এবং ডায়াগ্রাম হল ভেক্টর গ্রাফিক্স।
৬. ডিজিটাল স্বাক্ষর
ফাইলটির বাইট রেঞ্জের সাথে যুক্ত PKI-সমর্থিত স্বাক্ষর। স্বাক্ষর ডিকশনারি নির্দিষ্ট করে "বাইট 0 থেকে 12,547 এবং 14,200 থেকে ফাইলের শেষ পর্যন্ত স্বাক্ষরিত" - মাঝের একটি ছোট পরিসর স্বাক্ষর মানের জন্য সংরক্ষিত। স্বাক্ষরিত বাইট রেঞ্জগুলিতে কোনও পরিবর্তন স্বাক্ষরটিকে অবৈধ করে তোলে, যা পিডিএফ স্বাক্ষর করার পরে টেম্পারিং সনাক্ত করে।
কিছু পিডিএফ-এ একাধিক স্বাক্ষর থাকে, যা ইনক্রিমেন্টাল আপডেট হিসাবে স্তরিত থাকে - প্রতিটি স্বাক্ষরকারী ফাইলটিকে গ্রহণ করার সময় যেমন ছিল তা স্বাক্ষর করে, চেইন সংরক্ষণ করে।
মেটাডেটা: দুটি সমান্তরাল সিস্টেম
পিডিএফ-এর দুটি মেটাডেটা সিস্টেম রয়েছে যা প্রায়শই একমত হয় না:
স্ট্যান্ডার্ড /ইনফো ডিকশনারি
ট্রেলারে সংরক্ষিত। ফিল্ডস: Title, Author, Subject, Keywords, Creator (ব্যবহারকারী যে অ্যাপে ডকুমেন্ট তৈরি করেছেন), Producer (যে অ্যাপটি পিডিএফ তৈরি করেছে), CreationDate, ModDate। প্লেইন টেক্সট স্ট্রিং, যেকোনো পিডিএফ টুল দিয়ে পড়া সহজ।
XMP মেটাডেটা স্ট্রিম
একটি পৃথক XML স্ট্রিম (Adobe XMP, RDF/XML এর উপর ভিত্তি করে) যা সমৃদ্ধ স্কিমা সমর্থন করে: ডাবলিন কোর, IPTC, কাস্টম ডোমেন-নির্দিষ্ট স্কিমা (রঙ প্রোফাইল, কপিরাইট নিবন্ধন, পাণ্ডুলিপি সংস্করণ)।
আধুনিক পিডিএফ জেনারেটর উভয়তেই লেখে। পুরানো পিডিএফ-এ পূর্ববর্তী সংস্করণের পুরানো /Info এবং সাম্প্রতিক সম্পাদনার সঠিক XMP থাকে - বা এর বিপরীত। পিডিএফগুলি কমপ্লায়েন্স বা ফরেনসিকের জন্য নিরীক্ষা করার সময়, উভয়ই পরীক্ষা করুন।
পিডিএফ-এর উপর নির্মিত আইএসও মান
বেস পিডিএফ স্পেসিফিকেশন হল ISO 32000। বেশ কয়েকটি ডেরিভেটিভ স্ট্যান্ডার্ড নির্দিষ্ট ব্যবহারের ক্ষেত্রে পিডিএফ-কে সীমাবদ্ধ করে:
| Standard | Use | Constraints |
|---|---|---|
| PDF/A | Long-term archival | All fonts embedded, no JavaScript, no audio/video, color spaces device-independent. Conformance levels: PDF/A-1, A-2, A-3 (allows file attachments) |
| PDF/X | Print production | CMYK color, embedded fonts and color profiles, no transparency (PDF/X-1a) or controlled transparency (PDF/X-4) |
| PDF/UA | Accessibility | Tagged structure tree, language metadata, alt text for images, logical reading order |
| PDF/E | Engineering | 3D models (U3D, PRC formats), CAD-specific metadata |
| PDF/VT | Variable transactional printing | Optimized for high-volume personalized mailings |
একটি পিডিএফ একই সাথে একাধিক মান মেনে চলতে পারে - PDF/A-2u (ইউনিকোড ম্যাপিং সহ আর্কাইভাল) এবং PDF/UA (অ্যাক্সেসিবিলিটি) সরকারি এবং আইনি আর্কাইভের জন্য সাধারণ।
লিনিয়ারাইজড পিডিএফ (ওয়েব-অপ্টিমাইজড)
একটি "লিনিয়ারাইজড" বা "ওয়েব-অপ্টিমাইজড" পিডিএফ বডিকে এমনভাবে পুনর্বিন্যাস করে যাতে প্রথম পৃষ্ঠার অবজেক্টগুলি ফাইলের প্রথম দিকে প্রদর্শিত হয়। একটি ওয়েব ভিউয়ার পুরো ফাইলটির জন্য অপেক্ষা না করে মাত্র প্রথম ~50 KB ডাউনলোড করার পরে পৃষ্ঠা 1 রেন্ডার করতে পারে। ট্রেলারটি সামনে ডুপ্লিকেট করা হয়, সাথে একটি হিন্ট টেবিল যা ভিউয়ারকে বলে যে প্রতিটি পৃষ্ঠা কোথায় শুরু হয়।
বেশিরভাগ আধুনিক পিডিএফ জেনারেটর "ওয়েবের জন্য সেভ" বিকল্প হিসাবে লিনিয়ারাইজেশন সমর্থন করে। ফরম্যাটটি ধীর সংযোগের উপর দ্রুত প্রথম-পৃষ্ঠা রেন্ডারিংয়ের বিনিময়ে ফাইলের আকারে 2-5% যোগ করে।
এনক্রিপশন এবং অনুমতি
পিডিএফগুলি একটি পাসওয়ার্ড (বা সার্টিফিকেট) দিয়ে এনক্রিপ্ট করা যেতে পারে এবং গ্রানুলার অনুমতি দেওয়া যেতে পারে: প্রিন্ট, টেক্সট কপি, মডিফাই, ফর্ম পূরণ, অ্যাক্সেসিবিলিটির জন্য এক্সট্রাক্ট। এনক্রিপশন ট্রেলারের /Encrypt ডিকশনারিতে সংরক্ষিত থাকে।
এনক্রিপশন শক্তি বিকশিত হয়েছে: RC4 40-বিট (প্রাথমিক পিডিএফ, আজ তুচ্ছভাবে ক্র্যাক করা হয়েছে), RC4 128-বিট (এখনও দুর্বল), AES-128, AES-256। মূল অ্যাক্রোব্যাট 5 RC4 বাস্তবায়ন 2001 সালে প্রকাশ্যে ক্র্যাক করা হয়েছিল; আধুনিক পিডিএফ এনক্রিপশন (AES-256, PDF 2.0) শক্তিশালী পাসওয়ার্ডের সাথে ব্যবহার করা হলে এটি সাউন্ড।
দ্রষ্টব্য: "অনুমতি" পরামর্শমূলক। একটি ভিউয়ার যা তাদের সম্মান করে তা প্রয়োগ করবে। একটি ভিউয়ার যা তাদের উপেক্ষা করে (বা একটি টুল যা এনক্রিপশন সরিয়ে দেয়) তা করে না।
PDFSub কিভাবে পিডিএফ পড়ে
PDFSub পিডিএফ প্রক্রিয়া করে Rust এর PDFium বাইন্ডিং ব্যবহার করে (একই ইঞ্জিন যা Chromium এর পিডিএফ ভিউয়ারকে শক্তি দেয়) এবং স্ক্যান করা ডকুমেন্টের জন্য PaddleOCR ব্যবহার করে। সম্পূর্ণ আর্কিটেকচার বিবরণ এবং ক্লাউড-ভিত্তিক সরঞ্জামগুলির সাথে একটি তুলনার জন্য, ব্রাউজার বনাম ক্লাউড পিডিএফ নিরাপত্তা দেখুন।
উপরে বর্ণিত কাঠামো সংরক্ষণ করে পিডিএফগুলিকে অন্য ফরম্যাটে রূপান্তর করার জন্য:
- পিডিএফ থেকে এক্সেল - টেক্সট + টেবিল এক্সট্রাক্ট করে, স্থানাঙ্ক সংরক্ষণ করে
- OCR পিডিএফ - স্ক্যান করা পিডিএফগুলিতে একটি অনুসন্ধানযোগ্য টেক্সট স্তর যুক্ত করে
- পিডিএফ থেকে ওয়ার্ড - টেক্সটকে সম্পাদনাযোগ্য অনুচ্ছেদে রিফ্লো করে
- পিডিএফ সংকুচিত করুন - ছবি ডাউনস্যাম্পল করে, ফন্ট সাবসেট করে
বিশেষ করে আর্কাইভ ওয়ার্কফ্লোর জন্য, পিডিএফ থেকে পিডিএফ/এ তে কিভাবে রূপান্তর করবেন দেখুন।
আরও পড়ুন
- ISO 32000-2 (PDF 2.0 spec) - কর্তৃত্বপূর্ণ রেফারেন্স, পেওয়ালযুক্ত
- Adobe PDF Reference Archives - PDF 1.7 এর জন্য বিনামূল্যে রেফারেন্স
- PDF Association - শিল্প ওয়ার্কিং গ্রুপ, বিনামূল্যে নিবন্ধ এবং কনফরমেন্স টেস্ট ফাইল
পিডিএফ-নির্দিষ্ট বিষয়ের জন্য: আইনজীবীদের জন্য পিডিএফ কমপ্লায়েন্স গাইড, পিডিএফ/এ রূপান্তর গাইড।