ক্ষুদ্রতম জিআইএফের মতো , সবচেয়ে ছোট ছোট ফাঁকা পৃষ্ঠার পিডিএফটি হাতে হাতে কাজ করা দরকার, কারণ এটি এত ছোট যে অযৌক্তিক-তবে-ক্ষতিকারক বিটগুলি মেটাডাটা ফাইলের আকারের একটি উল্লেখযোগ্য অংশ হয়ে যায় এবং সংক্ষেপণ আসলে জিনিসগুলিকে আরও বড় করে তোলে । এটি ফাইলের কাঠামোর বিটগুলি কী এবং প্রয়োজনীয় নয় সেগুলি সম্পর্কে পিডিএফ স্পেসিফিকেশনের বিধিগুলিতে যত্ন সহকারে মনোযোগ প্রয়োজন। (আপনি কি জানেন যে পৃষ্ঠা বস্তু একটি ধারণ করতে হবে /Resources
, অভিধান এমনকি যদি এটা খালি, কিন্তু হয় না একটি অন্তর্ভুক্ত করা প্রয়োজন /Contents
প্রবাহ?)
আপনি যদি পিডিএফ ১.৫ অবজেক্ট এবং ক্রস-রেফারেন্স স্ট্রিম ব্যবহার না করেন (যার সুবিধা রয়েছে যে ফাইলটি পুরোপুরি মুদ্রণযোগ্য এএসসিআইআই হতে পারে) আমি বিশ্বাস করি আপনি সবচেয়ে ভাল করতে পারেন 317 বাইট। কপি এবং পেস্ট পারেন, নোট নিতে সেখানে প্রতিনির্দেশ টেবিল এন্ট্রির চারটি উপর একটি trailing স্থান (মধ্যে লাইন করা প্রয়োজন যে 0 4
এবং trailer<<...
), এবং আছে যে না পরে একটি চূড়ান্ত সম্পর্কে newline হতে অনুমিত %%EOF
।
%PDF-1.4
1 0 obj<</Type/Catalog/Pages 2 0 R>>endobj
2 0 obj<</Type/Pages/Count 1/Kids[3 0 R]>>endobj
3 0 obj<</Type/Page/MediaBox[0 0 612 792]/Parent 2 0 R/Resources<<>>>>endobj
xref
0 4
0000000000 65535 f
0000000009 00000 n
0000000052 00000 n
0000000101 00000 n
trailer<</Size 4/Root 1 0 R>>
startxref
178
%%EOF
ম্যানুয়ালি তৈরি করা v1.5 ক্রস-রেফারেন্স স্ট্রিমের সাথে ক্রস-রেফারেন্স টেবিলটি প্রতিস্থাপন করা ফাইলটিকে আর ছোট করে তুলবে, এর দামের চেয়ে এএসসিআইআই: 294 বাইট প্রিন্টযোগ্য হবে না। (পাঠযোগ্যতা অনুরোধে জন্য, না এ সব আর টাইপ করা সক্ষম হচ্ছে উল্লেখ করতে, নীচের xref প্রবাহ hexdumped করা হয়েছে, কিন্তু এই হয় না তার প্রবাহ অভিধানে প্রতিফলিত। একটি বৈধ পিডিএফ আপনি হয় অবশ্যই পুনরুদ্ধার করার জন্য সঙ্গে hexdump প্রতিস্থাপন সংশ্লিষ্ট কাঁচা বাইনারি বাইট, বা পরিবর্তন /Length 15
করতে /Length 30/Filter/ASCIIHexDecode
এবং ফাইলটিকে 328 বাইট দীর্ঘ গ্রহণ।)
%PDF-1.5
1 0 obj<</Type/Catalog/Pages 2 0 R>>endobj
2 0 obj<</Type/Pages/Count 1/Kids[3 0 R]>>endobj
3 0 obj<</Type/Page/MediaBox[0 0 612 792]/Parent 2 0 R/Resources<<>>>>endobj
4 0 obj<</Type/XRef/Size 5/W[1 1 1]/Root 1 0 R/Length 15>>stream
0000ff01090001340001650001b200endstream endobj
startxref
178
%%EOF
আমি 1 থেকে 3 অবজেক্টগুলিকে কোনও অবজেক্ট স্ট্রিমের মধ্যে মোড়ানো নিয়েও পরীক্ষা করেছিলাম, তবে এটি স্ট্রিমটি সংকুচিত হয়ে গেলেও এটি সংরক্ষণের চেয়ে বেশি ওভারহেড যুক্ত করে।
এক্সরেফ স্ট্রিমের একটি সম্ভাব্য বিকল্প সূত্রটি
4 0 obj<</Type/XRef/Size 4/W[0 1 0]/Index[1 4]/Root 1 0 R/Length 4>>stream
091365b2endstream endobj
দুঃখের বিষয়, প্রকৃত স্ট্রিম ডেটার দৈর্ঘ্যে পর্যাপ্ত সঞ্চয় হওয়া সত্ত্বেও, অতিরিক্ত /Index[1 4]
সঞ্চয়ীগুলি একটি বাইট বাদে ব্যয় করে। এছাড়াও, আপনাকে ফাইলের বাইরে 0 অবজেক্টটি পুরোপুরি ছাড়ার অনুমতি দেওয়া হয়েছে কিনা তা আমার কাছে অস্পষ্ট। (অবজেক্ট 0-তে অবশ্যই প্রজন্মের সংখ্যা -1 থাকতে হবে কিনা তা আমার কাছেও অস্পষ্ট। যদি এটি প্রয়োজন না হয় তবে আপনি আসলে আরও বাইট দিয়ে সেভ করবেন
4 0 obj<</Type/XRef/Size 5/W[1 1 0]/Root 1 0 R/Length 10>>stream
000001090134016501b2endstream endobj
।)
কাগজের আকার পরিবর্তন করতে, 612 792
পোস্টস্ক্রিপ্ট পয়েন্টগুলি (72 পোস্টস্ক্রিপ্ট পয়েন্ট = 1 মার্কিন ইঞ্চি বা 25.4 মিলিমিটার) দ্বারা প্রকাশিত, যথাযথ প্রস্থ এবং উচ্চতা দিয়ে প্রতিস্থাপন করুন । উদাহরণস্বরূপ, 595 842
এ 4 এর জন্য। আপনি এটিকে শেল স্ক্রিপ্টে এম্বেড করতে পারতেন যা কাগজের আকারের ইচ্ছেমতো খালি পিডিএফকে আলাদা করে দেয়; কেবলমাত্র জটিল অংশটি নিশ্চিত করবে যে startxref
অফসেট 3 এর আকার পরিবর্তিত হলেও অফসেটটি সঠিক ছিল।