স্ক্রিপ্টিংয়ের জন্য আমার একটি পিডিএফ ফাইলের মিমি আয়তন (মিমি) পাওয়া দরকার।
pdfinfo এটি কেবল 'pts' এ মুদ্রণ করে, যেমন:
Page size: 624 x 312 pts
আমার কী ব্যবহার করা উচিত?
বা যাইহোক 'pts' কী ইউনিট - যদি আমি তাদের রূপান্তর করতে চাই ...
স্ক্রিপ্টিংয়ের জন্য আমার একটি পিডিএফ ফাইলের মিমি আয়তন (মিমি) পাওয়া দরকার।
pdfinfo এটি কেবল 'pts' এ মুদ্রণ করে, যেমন:
Page size: 624 x 312 pts
আমার কী ব্যবহার করা উচিত?
বা যাইহোক 'pts' কী ইউনিট - যদি আমি তাদের রূপান্তর করতে চাই ...
উত্তর:
ব্যবহৃত 'পিটিএস' ইউনিট pdfinfoএকটি পোস্টস্ক্রিপ্ট পয়েন্টকে নির্দেশ করে। একটি পোস্টস্ক্রিপ্ট পয়েন্টটি ইঞ্চি এবং প্রতি ইঞ্চি 72২ বিন্দুর রেজোলিউশনের শর্তে সংজ্ঞায়িত করা হয়:
১৯৮০-এর দশক থেকে 1990-এর দশকের শেষদিকে, ,তিহ্যবাহী পয়েন্টটি ডেস্কটপ পাবলিশিং পয়েন্ট দ্বারা পোস্ট করা হয়েছিল (পোস্টস্ক্রিপ্ট পয়েন্টও বলা হয়), যা ইঞ্চি ( 1 পয়েন্ট = 1-72 ইঞ্চি = 25.4⁄72 মিমি = 0.352 ) হিসাবে 72 পয়েন্ট হিসাবে সংজ্ঞায়িত হয়েছিল ¯7 মিমি [≙ 0.3528 মিমি ])।
ম্যানুয়ালটিতে পোস্টস্ক্রিপ্ট পয়েন্টগুলিতে নির্দিষ্ট সাধারণ কাগজের ফর্ম্যাটগুলির একটি তালিকাgv রয়েছে ।
pdfinfoকখনও কখনও আমাকে কাগজের ফর্ম্যাটটি দেয় (যেমন Page size: 595.28 x 841.89 pts (A4)) - আমি অবাক হই যে এটি যদি পৃষ্ঠা মাপের তালিকার জন্য এটি জানে তবে তা করে?
সবচেয়ে সহজ উপায় নয়, তবে দেওয়া হয়েছে imagemagickএবং unitsআপনি এটিও ব্যবহার করতে পারেন
$ identify -verbose some.pdf | grep "Print size"
Print size: 8.26389x11.6944
পৃষ্ঠার আকারটি ইঞ্চি আকারে খুঁজে পেতে (পিডিএফ বিভিন্ন মাত্রা ব্যবহার করে তবে এটি বেশ কয়েকটি ফলাফল পেতে পারে) এবং এর পরে এই সংখ্যাগুলিকে রূপান্তর করুন:
$ units -t '8.26389 inch' 'mm'
209.90281
মানে 8.26 ইঞ্চি 209.9 মিমি (আমি এর জন্য একটি এ 4 পিডিএফ ব্যবহার করেছি)।
identifyওএস একাদশের একটি পিডিএফ পাই তখন কোনও আউটপুট পাই না।
identify
একই সমস্যা জুড়ে এসে নিম্নলিখিত সমাধানে এসেছিলেন। পিডিএফ ফাইলগুলি কীভাবে নির্মিত হয় তার নথিতে আমি প্রবেশ করি নি আমি দুটি খালি পিডিএফ ফাইলকে বিভিন্ন পৃষ্ঠার আকারের সাথে তুলনা করেছি।
দেখে মনে হচ্ছে পিডিএফ-এর সমস্ত ধরণের বৈশিষ্ট্য "<<" এবং ">>" এর মধ্যে এমবেড করা রয়েছে। আমি খুঁজে পেলাম যে পৃষ্ঠার আকারের তথ্যটি সরল পাঠ্যে রয়েছে এবং একটি সাধারণ রেইগেক্স অনুসন্ধানের সাথে পাওয়া যাবে।
এটি সমস্ত পিডিএফ-র ক্ষেত্রে সত্য হতে পারে বা নাও পারে তবে আমি বিভিন্ন উত্স থেকে যে সবগুলি খুঁজে পেতে পারি তাতে এটি কাজ করে।
প্রাসঙ্গিক অংশটি আকারের A4 পৃষ্ঠার জন্য যেকোনটির মতো দেখতে পাওয়া যায়:
/MediaBox [0 0 595 842]
/MediaBox[0 0 595 842]
/MediaBox[ 0 0 595.32 841.92]
এর অর্থ [0 0 প্রস্থের উচ্চতা] সুতরাং এখানে আমার লম্বা লম্বা তবে এটির সমাধানের জন্য কার্যকারী সমাধান:
cat test.pdf | egrep -ao "/MediaBox ?\[ ?[0-9]+ [0-9]+ [0-9]+(\.[0-9]+)? [0-9]+(\.[0-9]+)?\]" | head -1
কেবলমাত্র আপনার ফাইলটিতে test.pdf পরিবর্তন করুন।
আমি সরাসরি মিমি গণনা করতে ম্যাক্সচেপিজিগ উত্তরগুলি ব্যবহার করেছি:
$ pdfinfo test.pdf | grep "Page size" | grep -Eo '[-+]?[0-9]*\.?[0-9]+' | awk -v x=0.3528 '{print $1*x}'
এটি অ্যালেক্স নফস উত্তরের সাথেও কাজ করে তবে পিডিফিনফোর চেয়ে অনেক বেশি সময় নেয় এবং সনাক্ত করতে ইমেজম্যাগিকের প্রয়োজন হয়, উল্টোটি হ'ল আপনি এটি একাধিক ফাইলের জন্য ব্যবহার করতে পারেন (উদাহরণস্বরূপ ডিরেক্টরিতে সিডি করে এবং ব্যবহার করে *.pdf):
$ identify -verbose some.pdf | grep "Print size" | grep -Eo '[-+]?[0-9]*\.?[0-9]+' | awk -v x=25.4 '{print $1*x}'
দ্বিতীয় grepকমান্ড দুটি পয়েন্ট / ইঞ্চি মান পায়। আমি মোটামুটি নিশ্চিত যে আপনি গ্রেপ রেজেক্সকে এড়িয়ে যেতে পারেন এবং সরাসরি জাজ দিয়ে এটি করতে পারেন তবে আমি এটি বের করতে পারি না।