پی ڈی ایف فائلیں دستاویز کے اشتراک کے لیے مقبول ہیں کیونکہ وہ مختلف آلات پر اپنی فارمیٹنگ کو برقرار رکھتی ہیں۔ بہت سی پی ڈی ایف میں قیمتی تصاویر ہوتی ہیں جیسے لوگو، پروڈکٹ کی تصاویر، چارٹ، خاکے، عکاسی، اور مارکیٹنگ گرافکس۔
اگرچہ یہ تصاویر دیکھنے میں آسان ہیں، لیکن انہیں انفرادی طور پر نکالنا ہمیشہ سیدھا نہیں ہوتا ہے۔ بہت سے صارفین اسکرین شاٹس یا دستی کراپنگ پر انحصار کرتے ہیں، جس سے تصویر کا معیار کم ہو سکتا ہے اور غیر ضروری وقت لگ سکتا ہے۔
یہ ٹیوٹوریل براؤزر پر مبنی استعمال کرتا ہے۔ پی ڈی ایف امیج ایکسٹریکٹر جاوا اسکرپٹ استعمال کرتا ہے۔ ایپلی کیشن صارفین کو پی ڈی ایف اپ لوڈ کرنے، صفحات کا پیش نظارہ کرنے، ایمبیڈڈ تصاویر کو نکالنے، انہیں صفحہ کے لحاظ سے ترتیب دینے، اور انفرادی تصاویر یا تمام نکالی گئی تصاویر کو ایک ساتھ ڈاؤن لوڈ کرنے کی اجازت دیتی ہے۔
ہر چیز براہ راست براؤزر کے اندر چلتی ہے، اس لیے اپ لوڈ کردہ دستاویزات صارف کے آلے کو کبھی نہیں چھوڑتی ہیں۔ یہ ٹول کو بیک اینڈ سرور کی ضرورت کے بغیر تیز، نجی اور استعمال میں آسان بنا دیتا ہے۔
اس ٹیوٹوریل کے اختتام تک، آپ کے پاس مکمل طور پر فعال پی ڈی ایف امیج ایکسٹریکٹر ہوگا جو ایمبیڈڈ امیجز کو ان کے اصل معیار کو برقرار رکھتے ہوئے بازیافت کرسکتا ہے۔
انڈیکس
پی ڈی ایف دستاویزات بنیادی طور پر متن پر مبنی معلومات کا اشتراک کرنے کے لیے ڈیزائن کی گئی ہیں، لیکن ان میں اکثر قیمتی بصری اثاثے ہوتے ہیں۔ پروڈکٹ کیٹلاگ میں پروڈکٹ کی تصاویر، سالانہ رپورٹس میں چارٹ اور گراف شامل ہیں، پریزنٹیشنز میں شبیہیں اور عکاسی شامل ہیں، بروشر فیچر مارکیٹنگ بینرز، اور تکنیکی کتابچے میں خاکے اور انجینئرنگ ڈرائنگ شامل ہیں۔
تصویر نکالنے کے لیے وقف کردہ ٹول کے بغیر، صارفین اکثر اسکرین شاٹس لے کر یا صفحہ کو دستی طور پر تراش کر ان بصری عناصر کو محفوظ کرتے ہیں۔ بدقسمتی سے، اسکرین شاٹس عام طور پر تصویر کے معیار کو کم کرتے ہیں، صفحہ کے ناپسندیدہ عناصر کو متعارف کراتے ہیں، اور بڑی دستاویزات کے ساتھ کام کرتے وقت اہم دستی کوشش کی ضرورت ہوتی ہے۔
پی ڈی ایف امیج ایکسٹریکٹر دستاویز کے اندر موجود تمام امیجز کی شناخت کرکے اور انہیں صفحہ کے ارد گرد کے مواد سے الگ کرکے اس عمل کو خودکار کرتا ہے۔ پورے صفحے کو کاپی کرنے کے بجائے، صارفین کو انفرادی تصویری فائلیں موصول ہوتی ہیں جنہیں وہ فوری طور پر ڈاؤن لوڈ اور دوبارہ استعمال کر سکتے ہیں۔
یہ خصوصیت بہت سی صنعتوں میں بہت مفید ہے۔
گرافک ڈیزائنرز اکثر کلائنٹ کے بروشرز، اشتہارات، اور پریزنٹیشنز کے لیے فائلیں وصول کرتے ہیں جن میں لوگو، شبیہیں، اور پروموشنل گرافکس ہوتے ہیں۔ ان اثاثوں کو دستی طور پر دوبارہ بنانے کے بجائے، آپ اصل تصاویر کو براہ راست PDF سے نکال سکتے ہیں اور اعلیٰ معیار کی سورس فائلوں کے ساتھ کام جاری رکھ سکتے ہیں۔
مارکیٹنگ ٹیمیں اکثر کیٹلاگ، پروڈکٹ فلائر، پروموشنل کتابچے، اور مہم کی رپورٹس سے نمٹتی ہیں۔ سوشل میڈیا پوسٹس، اشتہارات، لینڈنگ پیجز، یا نیوز لیٹر بناتے وقت پروڈکٹ کی تصاویر یا پروموشنل گرافکس نکالنے سے آپ کا کافی وقت بچ جائے گا۔
پبلشرز اور مواد کے تخلیق کار باقاعدگی سے پی ڈی ایف میگزین، ای بک، نیوز لیٹر، اور تعلیمی مواد حاصل کرتے ہیں جن میں عکاسی اور انفوگرافکس ہوتے ہیں۔ آپ ہر صفحہ کو دستی طور پر تراشے بغیر انفرادی تصاویر کو نکال کر دوبارہ استعمال کر سکتے ہیں۔
محققین اکثر سائنسی کاغذات ڈاؤن لوڈ کرتے ہیں جن میں گراف، چارٹ، مائیکروسکوپی امیجز، سیٹلائٹ فوٹوز اور تجرباتی خاکے ہوتے ہیں۔ تصویر نکالنے سے آپ ان بصریوں کو پریزنٹیشن، اشاعت، یا مزید تجزیہ کے لیے الگ سے محفوظ کر سکتے ہیں۔
تعلیمی ادارے تدریسی مواد کی تیاری کے دوران تصویر نکالنے کا استعمال کرتے ہیں۔ اساتذہ حوالہ دستاویزات سے خاکوں، ریاضی کے اعداد و شمار، سائنسی عکاسی، تاریخی نقشے، یا تعلیمی گرافکس کو شروع سے دوبارہ بنائے بغیر دوبارہ استعمال کر سکتے ہیں۔
سرکاری محکمے اکثر اسکین شدہ آرکائیوز کو برقرار رکھتے ہیں جن میں مہریں، ڈاک ٹکٹ، دستخط، تصاویر، نقشے، انجینئرنگ پلان اور سرکاری خاکے ہوتے ہیں۔ انفرادی طور پر ان تصاویر کو نکالنا دستاویز کی ڈیجیٹائزیشن اور آرکائیونگ ورک فلو کو آسان بناتا ہے۔
ای کامرس کے کاروبار بھی امیج نکالنے سے کافی فائدہ اٹھا سکتے ہیں۔ مثال کے طور پر، فروخت کنندہ سینکڑوں مصنوعات کی تصاویر کے ساتھ پی ڈی ایف فارمیٹ میں سپلائر کیٹلاگ وصول کر سکتا ہے۔ تمام امیجز کی الگ سے درخواست کرنے کے بجائے، بیچنے والے اپنے کیٹلاگ میں موجود تمام پروڈکٹ امیجز کو منٹوں میں نکال سکتے ہیں اور Amazon، Flipkart، Meesho، Shopify یا WooCommerce جیسے پلیٹ فارمز کی فہرست تیار کرتے ہوئے انہیں دوبارہ استعمال کر سکتے ہیں۔
وہ کاروبار جو انوائسز اور دستاویزات کی خریداری سے نمٹتے ہیں وہ کمپنی کے لوگو، QR کوڈز، دستخطوں اور بارکوڈ امیجز کو دستاویز کی تصدیق یا آٹومیشن سسٹم کے لیے بھی بازیافت کر سکتے ہیں۔
ایپلی کیشن براؤزر کے اندر مقامی طور پر سب کچھ کرتی ہے، لہذا حساس کاروباری دستاویزات نجی رہتی ہیں اور صارفین پی ڈی ایف میں موجود تمام تصاویر کو تیزی سے بازیافت کر سکتے ہیں۔
پی ڈی ایف فائلوں میں تصاویر کیسے محفوظ کی جاتی ہیں۔
بہت سے لوگوں کا خیال ہے کہ پی ڈی ایف صفحات محض ایک دستاویز کی تصاویر ہیں۔ حقیقت میں، پی ڈی ایف فائلیں بہت زیادہ نفیس ہیں۔
پی ڈی ایف کے اندر ہر صفحہ کئی آزاد اشیاء پر مشتمل ہوتا ہے۔ متن کو فونٹ اور کریکٹر کی معلومات کے ساتھ الگ سے محفوظ کیا جاتا ہے۔ لکیریں اور شکلیں ویکٹر ڈرائنگ ہدایات کے طور پر دکھائی جاتی ہیں۔ تصاویر کو آزاد تصویری اشیاء کے طور پر شامل کیا جاتا ہے جو صفحہ پر مخصوص مقامات پر رکھی جاتی ہیں۔
یہ علیحدگی پی ڈی ایف کے لچکدار اور موثر رہنے کی ایک وجہ ہے۔ دستاویزات میں درجنوں صفحات شامل ہو سکتے ہیں، اور ایک ہی کمپنی کا لوگو یا آئیکن ڈپلیکیٹ کاپیوں کو ذخیرہ کیے بغیر متعدد بار دوبارہ استعمال کیا جا سکتا ہے۔
جب کسی تصویر کو پی ڈی ایف میں سرایت کیا جاتا ہے، تو فائل عام طور پر تصویر کا سائز، رنگ کی جگہ، کمپریشن کا طریقہ، اور تصویر کی شکل جیسی معلومات کو برقرار رکھتی ہے۔ اس بات پر منحصر ہے کہ دستاویز کیسے بنائی گئی، ایمبیڈڈ امیجز فارمیٹس جیسے JPEG، PNG، JPEG2000، CCITT، یا پی ڈی ایف سے تعاون یافتہ تصویری انکوڈنگز استعمال کر سکتی ہیں۔
پی ڈی ایف امیج ایکسٹریکٹر ایمبیڈڈ امیج آبجیکٹ تلاش کرنے کے لیے کسی دستاویز کی اندرونی ساخت کو اسکین کرتا ہے۔ پورے صفحے کو اسکرین شاٹ کے طور پر کیپچر کرنے کے بجائے، جب بھی ممکن ہو ہر تصویر کو انفرادی طور پر بازیافت کریں۔
یہ نقطہ نظر بہت اعلی معیار کو برقرار رکھتا ہے کیونکہ یہ پیش کردہ صفحہ سے دوبارہ تخلیق کرنے کے بجائے اصل ایمبیڈڈ تصویر کو بازیافت کرتا ہے۔
یہ سمجھنا کہ پی ڈی ایف فائلیں تصویروں کو کیسے محفوظ کرتی ہیں یہ بھی بتاتا ہے کہ کیوں کچھ دستاویزات میں درجنوں ایکسٹریکٹ ایبل امیجز ہوتے ہیں اور دیگر میں کوئی نہیں ہوتی۔ اگر آپ کی پی ڈی ایف صرف ویکٹر گرافکس یا ٹیکسٹ پر مشتمل ہے، تو اس میں راسٹر امیجز نہیں ہوسکتی ہیں جنہیں نکالا جاسکتا ہے۔
ان دستاویزات کے ڈھانچے کے درمیان فرق کو جاننے سے ڈویلپرز کو مزید درست پی ڈی ایف پروسیسنگ ٹولز بنانے میں مدد ملتی ہے جبکہ صارفین کو تصویر نکالنے کی صلاحیتوں اور حدود کو سمجھنے میں مدد ملتی ہے۔
ایمبیڈڈ امیجز اور رینڈرڈ پیجز کو سمجھیں۔
پی ڈی ایف تصویر نکالنے کے بارے میں سب سے عام غلط فہمیوں میں سے ایک یہ ہے کہ صفحہ پر ظاہر ہونے والی ہر تصویر کو ہمیشہ علیحدہ تصویر کے طور پر نکالا جا سکتا ہے۔
عملی طور پر، اہم اختلافات ہیں: داخل کردہ تصویر اور پیش کردہ صفحہ کی تصویر.
ایمبیڈڈ امیجز پی ڈی ایف دستاویز میں محفوظ شدہ آزاد اشیاء ہیں۔ یہ تصاویر عام طور پر اپنے اصل معیار کو برقرار رکھتی ہیں اور اکثر ریزولوشن کے نقصان کے بغیر نکالی جا سکتی ہیں۔
ایک پیش کردہ صفحہ، دوسری طرف، صرف صفحہ پر ظاہر ہونے والی ہر چیز کی بصری نمائندگی ہے۔ PDF.js براؤزر کے اندر کسی صفحہ کو ظاہر کرتے وقت متن، ویکٹر گرافکس، تصاویر، پس منظر اور شکلوں کو ایک کینوس میں یکجا کرتا ہے۔ پیش کردہ صفحہ اصل دستاویز سے مماثل نظر آتا ہے، لیکن اب اسے انفرادی اجزاء میں الگ نہیں کیا گیا ہے۔
مثال کے طور پر، ایک پروڈکٹ کیٹلاگ کا تصور کریں جس میں آپ کی کمپنی کا لوگو، پانچ پروڈکٹ کی تصاویر، کئی شبیہیں، اور وضاحتی متن شامل ہو۔
PDF صفحہ کا پیش نظارہ تمام مواد کو ایک مکمل صفحہ کے طور پر دکھاتا ہے۔ تاہم، پی ڈی ایف امیج ایکسٹریکٹر دستاویز کو اندرونی طور پر اسکین کرتا ہے تاکہ انفرادی لوگو، ہر پروڈکٹ کی تصویر، اور اس میں موجود کسی بھی آئیکن کی الگ الگ شناخت کی جا سکے۔ یہ صارفین کو صفحہ کے پیش نظارہ میں اسکرین شاٹ کو تراشنے کے بجائے انفرادی طور پر ہر تصویر کو ڈاؤن لوڈ کرنے کی اجازت دیتا ہے۔
ایک اور اہم نکتہ یہ ہے کہ آپ جو بھی گرافکس دیکھتے ہیں وہ دراصل تصاویر نہیں ہیں۔
کچھ کمپنی کے لوگو مکمل طور پر ویکٹر ڈرائنگ کمانڈز کا استعمال کرتے ہوئے بنائے جاتے ہیں۔ آپ بٹ میپ امیجز کے بجائے ویکٹر گرافکس کا استعمال کرتے ہوئے چارٹ بھی بنا سکتے ہیں۔ ان اشیاء کو راسٹر امیجز کے طور پر محفوظ نہیں کیا جاتا ہے، اس لیے انہیں ہمیشہ امیج نکالنے والے ٹولز کا استعمال کرکے نہیں نکالا جا سکتا۔
ان اختلافات کو سمجھنے سے یہ وضاحت کرنے میں مدد ملتی ہے کہ کیوں تصویر نکالنے کے نتائج دستاویزات کے درمیان مختلف ہو سکتے ہیں، یہاں تک کہ جب وہ بصری طور پر ایک جیسے دکھائی دیں۔
ڈویلپرز کے لیے، یہ سیکھنا کہ ایمبیڈڈ وسائل پیش کردہ صفحات سے کس طرح مختلف ہوتے ہیں، پی ڈی ایف انٹرنلز اور براؤزر پر مبنی دستاویز کی پروسیسنگ کے بارے میں بہت گہری سمجھ فراہم کر سکتے ہیں۔
پروجیکٹ کی ترتیبات
ہم معیاری ویب ٹیکنالوجیز کا استعمال کرتے ہوئے پی ڈی ایف امیج ایکسٹریکٹر بنائیں گے تاکہ بیک اینڈ سرور کی ضرورت کے بغیر پوری ایپلیکیشن براہ راست براؤزر کے اندر چل سکے۔
پروجیکٹ انٹرفیس کے لیے ایک سادہ HTML فائل، اسٹائلنگ کے لیے CSS فائلز، اور JavaScript فائلوں پر مشتمل ہے جو پی ڈی ایف لوڈنگ، پیج رینڈرنگ، اور تصویر نکالنے اور ڈاؤن لوڈ کرنے کا انتظام کرتی ہے۔
مندرجہ ذیل پروجیکٹ ڈھانچہ بنائیں:
pdf-image-extractor/
│── index.html
│── style.css
│── script.js
│── assets/
پروجیکٹ بنانے کے بعد، آپ کو مطلوبہ JavaScript لائبریریاں انسٹال کرنے کی ضرورت ہے۔ index.html فائل:
ایک بار جب یہ فائلیں اپنی جگہ پر آجائیں تو، آپ کے براؤزر میں وہ تمام فعالیتیں ہوں گی جن کی آپ کو پی ڈی ایف فائلوں کو پڑھنے، دستاویز کے صفحات کو رینڈر کرنے، پی ڈی ایف آبجیکٹس کا معائنہ کرنے، ایمبیڈڈ امیجز تلاش کرنے، اور ڈاؤن لوڈ کے قابل امیج فائلز بنانے کی ضرورت ہوگی۔
اپنے پروجیکٹ کو ہلکا رکھنے سے تصویر نکالنے کے کام کے فلو کے ہر قدم کو سمجھنا بھی آسان ہو جائے گا۔
ہم کون سی لائبریری استعمال کر رہے ہیں؟
پی ڈی ایف دستاویز سے تصاویر نکالنے کے لیے براؤزر کے اندر پی ڈی ایف پیج کو ظاہر کرنے سے زیادہ کی ضرورت ہوتی ہے۔ ایپلیکیشن کو دستاویز کو لوڈ کرنا، اس کے اندرونی ڈھانچے کی جانچ کرنا، ایک پیش نظارہ صفحہ پیش کرنا، اور کسی بھی ایمبیڈڈ تصویری اشیاء کو بازیافت کرنا چاہیے۔
اس کو حاصل کرنے کے لیے، ہم دو جاوا اسکرپٹ لائبریریوں کا استعمال کرتے ہیں۔
پہلی لائبریری PDF.js.
PDF.js موزیلا کا اوپن سورس پی ڈی ایف رینڈرنگ انجن ہے۔ براؤزر پی ڈی ایف دستاویزات کو اضافی پلگ ان کے بغیر لوڈ کر سکتا ہے اور دستاویز کے صفحات کو پڑھنے، پیش نظارہ پیش کرنے، صفحہ کی اشیاء تک رسائی، اور دستاویز کے وسائل کا معائنہ کرنے کے لیے API فراہم کرتا ہے۔
اس پروجیکٹ میں، PDF.js اپ لوڈ شدہ پی ڈی ایف کو لوڈ کرنے اور ایک صفحہ کا پیش نظارہ بنانے کے لیے ذمہ دار ہے جو تصویر نکالنے کے شروع ہونے سے پہلے صارف کو دکھایا جاتا ہے۔
دوسری لائبریری PDF-lib.
PDF-lib PDF اشیاء اور دستاویز کے وسائل تک نچلی سطح تک رسائی فراہم کرتا ہے۔ یہ پی ڈی ایف فائلوں میں ترمیم کرنے کے لیے بڑے پیمانے پر استعمال ہوتا ہے، لیکن ایمبیڈڈ آبجیکٹ اور دستاویز میں ہیرا پھیری کے کاموں کے لیے بھی مفید ہے۔ یہ ڈیولپرز کو اضافی لچک دے کر PDF.js کی تکمیل کرتا ہے جب مستقبل میں پی ڈی ایف ایڈیٹنگ کی صلاحیتوں کے ساتھ ان کی ایپلی کیشنز کو بڑھاتے ہیں۔
ایک ساتھ، یہ لائبریریاں آپ کو ایک تیز، محفوظ، اور مکمل طور پر کلائنٹ سائیڈ، براؤزر پر مبنی تصویر نکالنے کا ورک فلو بنانے کی اجازت دیتی ہیں۔
مندرجہ ذیل کوڈ PDF.js کو شروع کرتا ہے۔
pdfjsLib.GlobalWorkerOptions.workerSrc =
"https://cdnjs.cloudflare.com/ajax/libs/pdf.js/4.4.168/pdf.worker.min.js";
ورکرز کو الگ سے لوڈ کرنا اس بات کو یقینی بناتا ہے کہ بڑی دستاویزات پر کارروائی کے دوران پی ڈی ایف رینڈرنگ جوابدہ رہے۔
اپ لوڈ انٹرفیس بنائیں
ہر دستاویز پروسیسنگ ایپلی کیشن فائل اپ لوڈ کے ساتھ شروع ہوتی ہے۔
اپ لوڈ انٹرفیس پی ڈی ایف دستاویزات کو قبول کرنے، منتخب فائلوں کی توثیق کرنے اور انہیں پروسیسنگ کے لیے تیار کرنے کا ذمہ دار ہے۔ صاف اپ لوڈ کا تجربہ اہم ہے کیونکہ یہ پوری ایپلیکیشن کے لیے داخلے کے مقام کا کام کرتا ہے۔
اس پروجیکٹ میں، صارفین پی ڈی ایف کو اپ لوڈ ایریا میں گھسیٹ سکتے ہیں یا معیاری فائل چننے والے کا استعمال کرتے ہوئے دستاویزات کو براؤز کر سکتے ہیں۔
جب کسی فائل کو منتخب کیا جاتا ہے، براؤزر اسے لوڈ کرنے کی کوشش کرنے سے پہلے فوری طور پر چیک کرتا ہے کہ آیا یہ درست پی ڈی ایف ہے یا نہیں۔
یہ ڈریگ اینڈ ڈراپ اپ لوڈز اور دستی فائل سلیکشن دونوں کو سپورٹ کرتا ہے، جو ڈیسک ٹاپ اور موبائل آلات پر ایک مانوس تجربہ فراہم کرتا ہے۔
اپ لوڈ سیکشن واضح ہدایات بھی دکھاتا ہے تاکہ پہلی بار استعمال کرنے والے بخوبی سمجھیں کہ تصویریں نکالنا کیسے شروع کیا جائے۔
درج ذیل ایچ ٹی ایم ایل کا استعمال کرتے ہوئے اپ لوڈ ایریا بنائیں:
اگلا، ہم اپ لوڈ کردہ دستاویز کی تصدیق کرتے ہیں۔
const file = pdfFile.files[0];
if(!file){
return;
}
if(file.type !== "application/pdf"){
alert("Please upload a valid PDF.");
return;
}
اگر توثیق کامیاب ہو جاتی ہے، براؤزر اپ لوڈ کردہ فائل کو پڑھتا ہے۔
const buffer =
await file.arrayBuffer();
loadPDF(buffer);
اس وقت، PDF کو میموری میں لوڈ کر دیا گیا ہے اور آپ ایک پیش نظارہ بنانے کے لیے تیار ہیں۔
اپ لوڈ کردہ پی ڈی ایف صفحات کا پیش نظارہ کریں۔
تصاویر نکالنے سے پہلے، صارفین کو سب سے پہلے یہ یقینی بنانا چاہیے کہ انھوں نے درست دستاویز اپ لوڈ کی ہے۔
پی ڈی ایف کو فوری طور پر اسکین کرنے کے بجائے، ایپلیکیشن ہر صفحے کے تھمب نیل پیش نظارہ تیار کرتی ہے۔ یہ پیش نظارہ صارفین کو صفحہ کی ترتیب کی تصدیق کرنے، دستاویز کے مواد کا معائنہ کرنے، اور ایمبیڈڈ امیجز کے مقام کا اندازہ لگانے میں مدد کرتے ہیں۔
پیش نظارہ تخلیق خاص طور پر درجنوں صفحات، پروڈکٹ کیٹلاگ، پریزنٹیشنز، میگزین، بروشر، ای کتابیں، اور تکنیکی دستاویزات کے ساتھ بڑی رپورٹس کے لیے مفید ہے۔
ہر پیش نظارہ PDF.js کا استعمال کرتے ہوئے پیش کیا جاتا ہے اور ایک ریسپانسیو گرڈ لے آؤٹ میں دکھایا جاتا ہے۔
سب سے پہلے، اپ لوڈ کردہ دستاویز کو لوڈ کریں.
const pdf = await pdfjsLib
.getDocument({
data:buffer
})
.promise;
اگلا، تمام صفحات کے ذریعے اعادہ کریں۔
for(
let pageNumber = 1;
pageNumber <= pdf.numPages;
pageNumber++
){
renderPage(pageNumber);
}
صفحہ کو کینوس پر رینڈر کرتا ہے۔
const page =
await pdf.getPage(pageNumber);
const viewport =
page.getViewport({
scale:0.35
});
const canvas =
document.createElement("canvas");
canvas.width = viewport.width;
canvas.height = viewport.height;
await page.render({
canvasContext:
canvas.getContext("2d"),
viewport
}).promise;
آخر میں، اپنے صفحہ پر ایک پیش نظارہ شامل کریں۔
previewContainer
.appendChild(canvas);
رینڈرنگ مکمل ہونے کے بعد، تمام صفحات پیش نظارہ کے علاقے میں دکھائے جائیں گے۔
صارف تھمب نیلز کے ذریعے اسکرول کر سکتے ہیں تاکہ یہ یقینی بنایا جا سکے کہ نکالنے کا عمل شروع کرنے سے پہلے درست دستاویز اپ لوڈ ہو گئی ہے۔
پیش نظارہ پورے صفحہ کی تصویر دکھاتا ہے، لیکن نکالنے کا عمل ابھی تک نہیں ہوا ہے۔ اگلا مرحلہ اندرونی پی ڈی ایف سٹرکچر کو اسکین کرنا ہے تاکہ اس میں موجود تمام تصاویر کو الگ سے تلاش کیا جا سکے۔

پی ڈی ایف کا پیش نظارہ کیوں اہم ہے۔
اپ لوڈ کردہ دستاویزات کا پیش نظارہ ایک چھوٹی خصوصیت کی طرح لگ سکتا ہے، لیکن یہ صارف کے مجموعی تجربے کو بہت بہتر بناتا ہے۔
پیش نظارہ کے بغیر، صارفین کے پاس اس بات کی تصدیق کرنے کا کوئی طریقہ نہیں ہے کہ انہوں نے نکالنے شروع ہونے سے پہلے درست فائلوں کا انتخاب کیا ہے۔ یہ خاص طور پر اہم ہے جب ملتے جلتے فائل ناموں کے ساتھ متعدد پی ڈی ایف کے ساتھ کام کریں۔
صفحہ کے پیش نظارہ سے صارفین کو یہ اندازہ لگانے میں بھی مدد ملتی ہے کہ پوری دستاویز میں تصاویر کہاں ظاہر ہوں گی۔ مثال کے طور پر، ایک پروڈکٹ کیٹلاگ میں صرف مخصوص صفحات کی تصاویر شامل ہو سکتی ہیں، جب کہ تکنیکی رپورٹ میں صرف مخصوص ابواب کے اندر موجود خاکے شامل ہو سکتے ہیں۔
صفحہ کے تھمب نیلز کا پہلے جائزہ لینے سے، صارفین کو یقین ہو سکتا ہے کہ دستاویز درست ہے اس سے پہلے کہ ایپلی کیشن ایمبیڈڈ تصاویر کی تلاش شروع کرے۔
تصدیق کا یہ آسان مرحلہ غلطیوں کو کم کرتا ہے، غیر ضروری پروسیسنگ سے بچتا ہے، اور مجموعی ورک فلو کو بہت زیادہ بدیہی محسوس کرتا ہے۔
ایمبیڈڈ تصاویر تلاش کریں۔
ایک بار جب پی ڈی ایف صفحہ پیش کیا جاتا ہے اور پیش نظارہ سیکشن میں ظاہر ہوتا ہے، تو ایپلیکیشن ان تصاویر کو بازیافت کرنے کے لیے تیار ہے جو اس میں شامل ہیں۔
یہ مرحلہ صفحہ پیش نظارہ بنانے سے مختلف ہے۔ جبکہ پیش نظارہ ہر صفحہ کو ایک مکمل بصری تصویر کے طور پر پیش کرتا ہے، نکالنے کا عمل پی ڈی ایف کے اندرونی ڈھانچے کا جائزہ لیتا ہے تاکہ دستاویز کے اندر محفوظ کردہ تمام ایمبیڈڈ تصویری اشیاء کو تلاش کیا جا سکے۔
ہر صفحہ کو انفرادی طور پر اسکین کیا جاتا ہے۔ جب کوئی ایمبیڈڈ تصویر مل جاتی ہے، تو ایپلیکیشن اسے نکالنے کے لیے تیار کرنے سے پہلے مقام، سائز، تصویر کی شکل، اور صفحہ نمبر ریکارڈ کرتی ہے۔
صفحہ بہ صفحہ کا یہ طریقہ بعد میں نکالی گئی تصاویر کو منظم کرنا آسان بناتا ہے اور صارفین کو یہ سمجھنے میں مدد کرتا ہے کہ ہر تصویر دستاویز کے اندر کہاں سے آتی ہے۔
صارف تصویر نکالنا بٹن آپ کو غیر ضروری پروسیسنگ سے بچنے کی اجازت دیتے ہیں اگر آپ صرف دستاویز کا پیش نظارہ کرنا چاہتے ہیں۔
سب سے پہلے، ایکسٹریکٹ بٹن کے لیے کلک ایونٹ بنائیں۔
document
.getElementById(
"extractBtn"
)
.addEventListener(
"click",
extractImages
);
اس کے بعد، اپ لوڈ کردہ پی ڈی ایف کے اندر تمام صفحات کے ذریعے اعادہ کریں۔
for(
let pageNumber = 1;
pageNumber <= pdf.numPages;
pageNumber++
){
const page =
await pdf.getPage(
pageNumber
);
}
براہ کرم پیج ایڈمنز کی فہرست پڑھیں۔
const operatorList =
await page.getOperatorList();
تمام ڈرا آپریشنز کو اب یہ دیکھنے کے لیے چیک کیا جاتا ہے کہ آیا ان میں ایمبیڈڈ امیجز ہیں۔
operatorList.fnArray
.forEach(operation=>{
if(
operation ===
pdfjsLib.OPS.paintImageXObject
){
console.log(
"Image Found"
);
}
});
تمام صفحات کو اسکین کرنے کے بعد، ایپلیکیشن ایک مجموعہ بناتی ہے جس میں تمام بازیافت شدہ تصاویر کو صفحہ کے لحاظ سے گروپ کیا جاتا ہے۔
یہ مجموعہ مندرجہ ذیل نکالنے کے عمل کی بنیاد بنتا ہے۔
ایمبیڈڈ تصویری اشیاء کی شناخت ہونے کے بعد، ایپلی کیشن انہیں پی ڈی ایف سے نکالنا شروع کر دیتی ہے۔
پورے صفحے کا اسکرین شاٹ لینے کے برعکس، یہ طریقہ جب بھی ممکن ہو ہر داخل کردہ تصویر کو انفرادی طور پر بازیافت کرتا ہے۔ نتیجے کے طور پر، نکالی گئی تصاویر صفحہ کے پیش نظارہ کی ریزولیوشن کی وارث نہیں ہوتیں اور اپنے اصل معیار، سائز اور کمپریشن کو برقرار رکھتی ہیں۔
ہر تصویر کو اس صفحے پر تفویض کیا جاتا ہے جس پر یہ پایا جاتا ہے۔ اپنی تصاویر کو اس طرح ترتیب دینے سے صارفین کے لیے بڑی رپورٹس، میگزین، بروشر، پریزنٹیشنز، کیٹلاگ، تکنیکی کتابچے اور تحقیقی مقالوں میں گرافکس تلاش کرنا بہت آسان ہو جاتا ہے۔
ایک بار جب ہر صفحہ پر کارروائی ہو جاتی ہے، نکالی گئی تصاویر براؤزر میں ظاہر ہونے سے پہلے جاوا اسکرپٹ کے اندر محفوظ ہو جاتی ہیں۔
نکالی گئی تصاویر کو ذخیرہ کرنے کے لیے ایک صف بنائیں۔
const extractedImages = [];
تمام پائی جانے والی تصاویر کو محفوظ کرتا ہے۔
extractedImages.push({
page:
pageNumber,
image:
imageData,
type:
imageType
});
ہر محفوظ کردہ آبجیکٹ میں مفید معلومات ہوتی ہیں جو بعد میں صارف کو دکھائی جائیں گی۔
نکالنے کا معمول اس وقت تک جاری رہتا ہے جب تک اپ لوڈ کردہ پی ڈی ایف کے اندر موجود تمام صفحات کو اسکین نہیں کر لیا جاتا۔
ایک بار مکمل ہونے کے بعد، براؤزر نکالی گئی تصاویر کو بغیر کسی اضافی پروسیسنگ کے فوری طور پر دکھاتا ہے۔

نکالنے کے مکمل ہونے کے بعد، ایپلی کیشن ایک منظم گیلری میں تمام بازیافت شدہ تصاویر دکھاتی ہے۔
تصاویر کے ایک طویل مجموعہ کو ظاہر کرنے کے بجائے، نتائج کو اس صفحہ کے مطابق گروپ کیا جاتا ہے جس سے وہ نکالے گئے تھے۔ یہ ترتیب اصل دستاویز کی ساخت کو سمجھنا بہت آسان بناتی ہے۔
ہر نکالی گئی تصویر کے لیے، ایپلی کیشن مفید تکنیکی معلومات کے ساتھ ایک پیش نظارہ دکھاتی ہے۔
صارفین فوری طور پر تصویر کا سائز، تصویر کی شکل، اور اس صفحہ کو دیکھ سکتے ہیں جس پر اسے بنایا گیا تھا۔ یہ اضافی معلومات آپ کو یہ فیصلہ کرنے میں مدد کرے گی کہ آیا تصویر کو ڈاؤن لوڈ کرنے سے پہلے دوبارہ استعمال کے لیے موزوں ہے۔
مثال کے طور پر، اعلی ریزولیوشن پروڈکٹ کی تصاویر مارکیٹنگ کے مواد کے لیے مفید ہو سکتی ہیں، لیکن کمپنی کا ایک چھوٹا لوگو صرف برانڈنگ کے مقاصد کے لیے موزوں ہو سکتا ہے۔
نکالی گئی تمام تصاویر کے ذریعے لوپ کریں۔
extractedImages.forEach(image=>{
renderImageCard(
image
);
});
ایک پیش نظارہ کارڈ بنائیں۔
const card =
document.createElement(
"div"
);
card.className =
"image-card";
پیش نظارہ داخل کریں:
const img =
document.createElement(
"img"
);
img.src =
image.image;
تصویر کی معلومات دکھائیں:
details.innerHTML =
`
Dims:
${image.width} × ${image.height}
Type:
${image.type}
`;
ایک بار تمام کارڈز بن جانے کے بعد، گیلری تمام نکالی گئی تصاویر کو ان کے متعلقہ صفحات کے نیچے گروپ میں دکھائے گی۔
یہ ترتیب انفرادی ڈاؤن لوڈز کو آسان بناتے ہوئے اپ لوڈ کردہ پی ڈی ایف میں موجود تمام تصاویر کا صاف جائزہ فراہم کرتی ہے۔

انفرادی تصاویر ڈاؤن لوڈ کریں۔
بہت سے صارفین کو پی ڈی ایف میں شامل تمام تصاویر کی ضرورت نہیں ہے۔
مثال کے طور پر، ایک ڈیزائنر صرف ایک بروشر میں کمپنی کا لوگو چاہتا ہے، جبکہ ایک محقق کو سائنسی مقالے میں صرف ایک گراف کی ضرورت ہو سکتی ہے۔
اس ورک فلو کو سپورٹ کرنے کے لیے، ہر نکالی گئی تصویر میں اس کا اپنا ڈاؤن لوڈ بٹن شامل ہے۔
جب آپ کلک کریں گے، براؤزر صرف منتخب تصاویر کو ڈاؤن لوڈ کرے گا بقیہ نکالی گئی تصاویر کو متاثر کیے بغیر۔
یہ صارفین کو فوری طور پر بالکل وہی گرافکس محفوظ کرنے کی اجازت دیتا ہے جس کی انہیں ضرورت ہے۔
ڈاؤن لوڈ بٹن بنائیں:
const button =
document.createElement(
"button"
);
button.innerText =
"Download";
ایک ڈاؤن لوڈ ایونٹ منسلک کریں۔
button.onclick = ()=>{
downloadImage(
image
);
};
ایک ڈاؤن لوڈ بنائیں:
const link =
document.createElement(
"a"
);
link.href =
image.image;
link.download =
image.fileName;
link.click();
ایک علیحدہ ڈاؤن لوڈ بٹن فراہم کرنا آپ کی ایپلیکیشن کو بہت زیادہ لچکدار بناتا ہے، جس سے صارفین کو نکالے گئے تمام اثاثوں کو ڈاؤن لوڈ کرنے کے بجائے صرف ان تصاویر کو محفوظ کرنے کی اجازت ملتی ہے جن کی انہیں درحقیقت ضرورت ہوتی ہے۔
پی ڈی ایف سے تمام تصاویر ڈاؤن لوڈ کریں۔
بڑی پی ڈی ایف دستاویزات میں اکثر درجنوں یا سینکڑوں تصاویر ہوتی ہیں۔
ہر تصویر کو انفرادی طور پر ڈاؤن لوڈ کرنا سست اور بار بار ہوتا ہے۔
اس ورک فلو کو آسان بنانے کے لیے، ایپلی کیشن میں یہ بھی شامل ہیں: پی ڈی ایف سے تمام تصاویر ڈاؤن لوڈ کریں۔ بٹن
نکالنے کے مکمل ہونے کے بعد، اس بٹن پر کلک کریں اور تمام صفحات سے نکالی گئی تمام تصاویر خود بخود ڈاؤن لوڈ ہو جائیں گی۔
یہ خصوصیت خاص طور پر اس وقت مفید ہے جب سپلائر کیٹلاگ، پروڈکٹ بروشر، میگزین، سالانہ رپورٹس، تکنیکی دستاویزات، ای کتابیں، تربیتی مواد، اور پریزنٹیشن فائلوں کے ساتھ کام کرتے ہیں جن میں بہت سے گرافکس ہوتے ہیں۔
نکالی گئی تمام تصاویر کے ذریعے لوپ کریں۔
extractedImages.forEach(image=>{
downloadImage(
image
);
});
ایک کلک ایونٹ منسلک کریں:
downloadAllButton
.addEventListener(
"click",
downloadAllImages
);
آخر میں، صارف کو ایک اور نکالنے شروع کرنے کی اجازت دیں۔
startOverButton
.addEventListener(
"click",
resetApplication
);
ڈاؤن لوڈ مکمل ہونے کے بعد، صارفین نیکسٹ پر کلک کر سکتے ہیں۔ دوبارہ شروع کریں ایک اور پی ڈی ایف اپ لوڈ کریں اور براؤزر کو ریفریش کیے بغیر نکالنے کے عمل کو دہرائیں۔

مرحلہ 1: اپنی پی ڈی ایف دستاویز اپ لوڈ کریں۔
تصویر نکالنے کا ورک فلو ڈریگ اینڈ ڈراپ ایریا یا فائل چنندہ کا استعمال کرتے ہوئے پی ڈی ایف دستاویز اپ لوڈ کرنے سے شروع ہوتا ہے۔
جب آپ کسی دستاویز کو منتخب کرتے ہیں، تو براؤزر چیک کرتا ہے کہ آیا اپ لوڈ کی گئی فائل کو میموری میں پڑھنے سے پہلے PDF ہے یا نہیں۔ ایپلی کیشن تمام پروسیسنگ مقامی طور پر کرتی ہے، اس لیے اپ لوڈ کردہ دستاویزات صارف کے کمپیوٹر سے کبھی نہیں نکلتی ہیں، جو اسے خفیہ کاروباری رپورٹس، کیٹلاگ، پریزنٹیشنز، معاہدوں، تکنیکی کتابچے، تحقیقی کاغذات اور دیگر حساس دستاویزات کے لیے ایک مثالی ٹول بناتی ہے۔
ایک بار پی ڈی ایف کامیابی کے ساتھ لوڈ ہو جانے کے بعد، ایپلیکیشن تصویر نکالنے کے شروع ہونے سے پہلے تمام صفحات کو پیش نظارہ کے لیے تیار کرتی ہے۔

مرحلہ 2: اپ لوڈ کردہ پی ڈی ایف صفحات کا جائزہ لیں۔
اپ لوڈ مکمل ہونے کے بعد، ایپلیکیشن دستاویز کے اندر موجود تمام صفحات کے تھمب نیل پیش نظارہ پیش کرتی ہے۔
پی ڈی ایف سے تصویر کو فوری طور پر اسکین کرنے کے بجائے، صارفین کو پہلے پوری دستاویز کا بصری جائزہ ملتا ہے۔ اس سے آپ کو یہ یقینی بنانے میں مدد ملتی ہے کہ آپ نے صحیح پی ڈی ایف کا انتخاب کیا ہے اور فوری طور پر ان صفحات کی شناخت کریں جن میں تصاویر، خاکے، عکاسی، چارٹ، یا دیگر گرافکس شامل ہیں۔
صفحہ کے پیش نظارہ خاص طور پر اس وقت مفید ہوتے ہیں جب بڑے پروڈکٹ کیٹلاگ، میگزین، سالانہ رپورٹس، بروشر، تکنیکی دستاویزات، تربیتی کتابیں، اور تحقیقی مقالے جو درجنوں یا سینکڑوں صفحات پر مشتمل ہوتے ہیں۔
تصدیق کا یہ مرحلہ غیر ضروری پروسیسنگ کو روکنے میں مدد کرتا ہے اور صارف کے مجموعی تجربے کو بہتر بناتا ہے۔

دستاویز کی تصدیق ہونے کے بعد، صارف تصویر نکالنا پی ڈی ایف اسکیننگ شروع کرنے کے لیے بٹن دبائیں۔
ایپلیکیشن ہر صفحے کا انفرادی طور پر جائزہ لیتی ہے، دستاویز کے اندر محفوظ کردہ ایمبیڈڈ تصویری اشیاء کو تلاش کرتی ہے۔ اسکرین شاٹس یا پیج رینڈرنگ کے برعکس، ایکسٹریکٹر جب بھی ممکن ہو تصویر کے اصل وسائل کو بازیافت کرکے معیار اور سائز کو محفوظ رکھتے ہیں۔
جیسا کہ ہر صفحہ پر کارروائی کی جاتی ہے، پائی جانے والی تمام تصاویر کو اس صفحہ کے مطابق گروپ کیا جاتا ہے جس پر وہ اصل میں دکھائی دیتی ہیں۔ یہ ترتیب بعد میں نکالے گئے نتائج کو براؤز کرنا بہت آسان بناتی ہے۔
PDF کے سائز اور اس میں موجود تصاویر کی تعداد پر منحصر ہے، بڑی دستاویزات کے لیے نکالنے میں کئی سیکنڈ لگ سکتے ہیں۔

ایک بار نکالنے کے مکمل ہونے کے بعد، براؤزر ایک منظم گیلری کے اندر تمام بازیافت شدہ تصاویر دکھائے گا۔
تصاویر کا ایک بڑا مجموعہ ظاہر کرنے کے بجائے، ایپلیکیشن نتائج کو صفحہ کے لحاظ سے گروپ کرتی ہے۔ یہ صارفین کو یہ سمجھنے کی اجازت دیتا ہے کہ اصل دستاویز میں ہر تصویر کہاں سے آتی ہے۔
ہر تصویری کارڈ مفید معلومات کے ساتھ ایک پیش نظارہ دکھاتا ہے جیسے صفحہ نمبر، تصویر کا سائز، اور تصویر کی شکل۔ یہ صارفین کو کسی بھی چیز کو ڈاؤن لوڈ کرنے سے پہلے ان گرافکس کی فوری شناخت کرنے کی اجازت دیتا ہے جن کی انہیں ضرورت ہے۔
مثال کے طور پر، ایک بروشر میں کمپنی کا لوگو، بینر، شبیہیں، اور پروڈکٹ کی تصاویر شامل ہو سکتی ہیں جو متعدد صفحات پر پھیلی ہوئی ہیں۔ تصویروں کو صفحہ کے لحاظ سے گروپ کرنا ان دستاویزات کو نیویگیٹ کرنا بہت آسان بنا دیتا ہے۔

مرحلہ 5: انفرادی تصاویر یا صفحات ڈاؤن لوڈ کریں۔
ہر نکالی گئی تصویر میں اس کی اپنی تصویر ہوتی ہے۔ تصویر ڈاؤن لوڈ بٹن
یہ فیچر اس وقت مفید ہے جب صارفین کو کسی بڑی دستاویز میں صرف ایک یا دو گرافکس کی ضرورت ہو۔ نکالی گئی تمام تصاویر کو ڈاؤن لوڈ کرنے کے بجائے، آپ صرف مخصوص عکاسیوں، چارٹس، پروڈکٹ کی تصاویر اور لوگو کو محفوظ کر سکتے ہیں جو آپ کے کام سے متعلق ہوں۔
مثال کے طور پر، ایک ڈیزائنر کو صرف کمپنی کے لوگو کی ضرورت ہو سکتی ہے، اور مارکیٹنگ ٹیم کو صرف سپلائر کیٹلاگ سے مصنوعات کی تصاویر کی ضرورت ہو سکتی ہے۔ انفرادی ڈاؤن لوڈز غیر ضروری فائلوں کو ختم کرتے ہیں اور آپ کے ورک فلو کو آسان بناتے ہیں۔
جب آپ ڈاؤن لوڈ بٹن پر کلک کرتے ہیں، تو آپ کا براؤزر منتخب تصویر کو فوری طور پر بغیر کسی مزید کارروائی کے محفوظ کر لے گا۔


مرحلہ 6: تمام تصاویر ڈاؤن لوڈ کریں۔
ان صارفین کے لیے جنہیں کسی دستاویز کے اندر موجود تمام گرافکس کی ضرورت ہوتی ہے، ایپلی کیشن پی ڈی ایف سے تمام تصاویر ڈاؤن لوڈ کریں۔ بٹن
نکالنے کے مکمل ہونے کے بعد، اس بٹن پر کلک کریں اور تمام صفحات سے تمام بازیافت شدہ تصاویر خود بخود ڈاؤن لوڈ ہو جائیں گی۔ یہ ہر تصویر کو انفرادی طور پر ڈاؤن لوڈ کرنے کے مقابلے میں کافی وقت بچاتا ہے۔
یہ خصوصیت خاص طور پر اس وقت مفید ہے جب بڑے پروڈکٹ کیٹلاگ، مارکیٹنگ بروشر، پریزنٹیشن ڈیک، تربیتی کتابیں، تکنیکی کتابچے، میگزین، سپلائر کیٹلاگ، یا درجنوں تصاویر پر مشتمل کارپوریٹ رپورٹس پر کارروائی کریں۔
ڈاؤن لوڈ مکمل ہونے کے بعد، صارفین نیکسٹ پر کلک کر سکتے ہیں۔ دوبارہ شروع کریں موجودہ سیشن کو صاف کرتا ہے اور صفحہ کو ریفریش کیے بغیر ایک اور پی ڈی ایف اپ لوڈ کرتا ہے۔

مطلوبہ تصاویر ڈاؤن لوڈ کرنے کے بعد، صارفین دیگر پی ڈی ایف دستاویزات پر کام شروع کر سکتے ہیں۔
کلک کریں دوبارہ شروع کریں اپ لوڈ کردہ دستاویزات کو صاف کرتا ہے، تمام تیار کردہ پیش نظارہ کو ہٹاتا ہے، نکالی گئی تصویری گیلریوں کو دوبارہ ترتیب دیتا ہے، اور ایپلیکیشن کو اس کی ابتدائی حالت میں بحال کرتا ہے۔
یہ صارفین کو براؤزر کو دوبارہ لوڈ کرنے یا ایپلیکیشن کو دوبارہ کھولے بغیر ایک ہی سیشن کے دوران متعدد پی ڈی ایف فائلوں پر کارروائی کرنے کی اجازت دیتا ہے۔
دوبارہ ترتیب دینے کا عمل فوری طور پر مکمل ہو جاتا ہے، جو آپ کے ورک فلو کو ہموار اور موثر بناتا ہے جب دن بھر بہت سے پی ڈی ایف دستاویزات کے ساتھ کام کرتے ہیں۔

کارکردگی کی اصلاح کے نکات
تصویر نکالنا عام طور پر OCR سے تیز ہوتا ہے کیونکہ ایپلیکیشن حروف کو پہچاننے کے بجائے موجودہ امیج اشیاء کو بازیافت کرتی ہے۔ تاہم، سینکڑوں صفحات یا اعلی ریزولوشن گرافکس پر مشتمل بڑی PDF دستاویزات کو ابھی بھی اہم پروسیسنگ وقت درکار ہو سکتا ہے۔
ایک آسان اصلاح یہ ہے کہ تمام صفحات کا بیک وقت تجزیہ کرنے کے بجائے ترتیب وار صفحات پر کارروائی کی جائے۔
for(
let page = 1;
page <= pdf.numPages;
page++
){
await extractPageImages(page);
}
صرف ان صفحات کو لوڈ کرنے سے جن کی آپ کو ضرورت ہوتی ہے میموری میں براؤزر میموری کے استعمال کو کم کرتا ہے اور بڑی دستاویزات پر کارروائی کرتے وقت استحکام کو بہتر بناتا ہے۔
اگر آپ کی ایپلیکیشن صفحہ کے انتخاب کو سپورٹ کرتی ہے، تو صارفین کو صرف مخصوص صفحات سے تصاویر نکالنے کی اجازت دینے سے بڑے کیٹلاگ یا رپورٹس کے لیے پروسیسنگ کے وقت کو نمایاں طور پر کم کیا جا سکتا ہے۔
const startPage = 10;
const endPage = 25;
تصویر ڈاؤن لوڈ کرنے کے بعد، مفت عارضی براؤزر کے وسائل۔
URL.revokeObjectURL(
imageURL
);
آخر میں، دیگر پی ڈی ایف پر کارروائی کرنے سے پہلے نکالی گئی تصویری مجموعے کو صاف کریں۔
extractedImages.length = 0;
یہ چھوٹی چھوٹی اصلاحیں اس بات کو یقینی بناتی ہیں کہ سینکڑوں ایمبیڈڈ گرافکس پر مشتمل دستاویزات کے ساتھ کام کرتے ہوئے بھی ایپلیکیشن ریسپانسیو رہے۔
عملی استعمال کے لیے اہم نوٹ
تمام پی ڈی ایف میں تصاویر نہیں ہوتی ہیں۔
کچھ دستاویزات مکمل طور پر متن اور ویکٹر گرافکس پر مشتمل ہو سکتی ہیں، جبکہ دیگر میں سکین شدہ صفحات شامل ہو سکتے ہیں جو کہ ایک مکمل صفحہ کی تصویر کے طور پر ظاہر ہوتے ہیں۔ اصل پی ڈی ایف کو کیسے بنایا گیا اس کو سمجھنا آپ کو نکالنے کے شروع ہونے سے پہلے حقیقت پسندانہ توقعات قائم کرنے میں مدد کرے گا۔
پروسیسنگ سے پہلے ہمیشہ اپ لوڈ کردہ فائلوں کی توثیق کریں۔
if(
file.type !== "application/pdf"
){
alert(
"Please upload a valid PDF."
);
}
کچھ پی ڈی ایف تخلیق کار فائل کا سائز کم کرنے کے لیے ایمبیڈڈ امیجز کو نمایاں طور پر کمپریس کرتے ہیں۔ ان حالات میں، نکالی گئی تصاویر پی ڈی ایف میں محفوظ کردہ معیار سے مماثل ہوں گی، لیکن ان کی اصل ریزولیوشن سے آگے نہیں بڑھ سکتی ہیں۔
مزید برآں، صارفین کو تمام تصاویر کو ڈاؤن لوڈ کرنے سے پہلے نکالنے کے نتائج کو چیک کرنا چاہیے، خاص طور پر جب بڑی رپورٹس یا سینکڑوں گرافکس پر مشتمل کیٹلاگ پر کارروائی کی جائے۔
ایپلیکیشن براؤزر کے اندر مقامی طور پر تمام کارروائیاں انجام دیتی ہے، لہذا خفیہ دستاویزات نکالنے کے پورے عمل کے دوران نجی رہیں۔ یہ کاروباری رپورٹس، انجینئرنگ ڈرائنگ، مالیاتی دستاویزات، قانونی ریکارڈ، تربیتی مواد، اور دیگر حساس PDFs کے لیے موزوں براؤزر پر مبنی تصویر نکالنے کے قابل بناتا ہے۔
سے بچنے کے لئے عام غلطیاں
ایک عام غلطی یہ سمجھنا ہے کہ پی ڈی ایف میں نظر آنے والی تمام اشیاء نکالنے کے قابل تصاویر ہیں۔
بہت سے خاکے، لوگو اور چارٹ دراصل راسٹر امیجز کے بجائے ویکٹر گرافکس ہوتے ہیں۔ ان عناصر کو ڈرا کمانڈز کے ساتھ پیش کیا جاتا ہے اور انہیں ہمیشہ اسٹینڈ لون امیج فائلوں میں نہیں نکالا جا سکتا۔
ایک اور غلطی ایمبیڈڈ تصاویر کو نکالنے کے بجائے اسکرین شاٹس پر انحصار کرنا ہے۔
اسکرین شاٹس صرف پیش کردہ صفحہ کو پکڑتے ہیں جو اسکرین پر نظر آتا ہے، جس کے نتیجے میں اکثر تصویر کا معیار کم ہوتا ہے اور اس میں صفحہ کے غیر ضروری عناصر شامل ہوتے ہیں۔
نتائج ظاہر کرنے سے پہلے ہمیشہ چیک کریں کہ آیا سرایت شدہ تصاویر کا پتہ چلا ہے۔
if(
extractedImages.length === 0
){
alert(
"No embedded images found."
);
}
کچھ صارفین نکالی گئی تصاویر کو صفحات میں ترتیب دینا بھول جاتے ہیں۔
تصویروں کو ان کے صفحہ کے اصل مقام کی بنیاد پر گروپ کرنا درجنوں یا سینکڑوں گرافکس پر مشتمل بڑی دستاویزات کو نیویگیٹ کرنا بہت آسان بنا دیتا ہے۔
آخر میں، نکالی گئی تصاویر کو ڈاؤن لوڈ کرنے سے پہلے ہمیشہ ان کا جائزہ لیں۔
پیش نظارہ چیک کرنے سے صارفین فائل کو محفوظ کرنے سے پہلے تصویر کے معیار، سائز اور صفحہ کی جگہ کو چیک کر سکتے ہیں۔
نتیجہ
یہ ٹیوٹوریل براؤزر پر مبنی استعمال کرتا ہے۔ پی ڈی ایف امیج ایکسٹریکٹر جاوا اسکرپٹ استعمال کرتا ہے۔
آپ نے پی ڈی ایف فائل اپ لوڈ کرنے، دستاویز کے صفحات کا پیش نظارہ کرنے، ایمبیڈڈ تصویری اشیاء کو تلاش کرنے، تصاویر کو ان کے اصل معیار کو برقرار رکھتے ہوئے نکالنے، صفحہ کے لحاظ سے نتائج کو ترتیب دینے، انفرادی تصاویر ڈاؤن لوڈ کرنے، اور نکالی گئی تمام تصاویر کو براہ راست اپنے براؤزر میں ڈاؤن لوڈ کرنے کا طریقہ سیکھا۔
مزید اہم بات یہ ہے کہ میں نے ایمبیڈڈ امیجز اور رینڈرڈ پیج پریویو کے درمیان فرق سیکھا اور پی ڈی ایف دستاویزات کو اندرونی طور پر کیسے منظم کیا جاتا ہے اس کی بہتر سمجھ حاصل کی۔
چونکہ پورا ورک فلو براؤزر کے اندر مقامی طور پر چلتا ہے، اس لیے صارفین کسی بیرونی سرور پر خفیہ پی ڈی ایف دستاویزات اپ لوڈ کیے بغیر گرافکس کو محفوظ طریقے سے بازیافت کر سکتے ہیں۔
آپ یہاں مکمل نفاذ کی کوشش کر سکتے ہیں۔
پی ڈی ایف امیج ایکسٹریکٹر: https://allinonetools.net/extract-images-from-pdf/
اس ورک فلو کو سمجھنے کے بعد، آپ ڈپلیکیٹ امیج ڈٹیکشن، آٹومیٹک امیج کمپریشن، AI پر مبنی امیج ٹیگنگ، بیک گراؤنڈ ریموول، امیج فارمیٹ کنورژن، نکالی گئی امیجز کے لیے OCR، واٹر مارک کا پتہ لگانے، یا بلک اثاثہ جات کے انتظام جیسی خصوصیات شامل کرکے اپنے پروجیکٹ کو مزید بڑھا سکتے ہیں۔