কমান্ড লাইন থেকে পিডিএফ পৃষ্ঠার আকার কীভাবে জিজ্ঞাসা করবেন?


35

স্ক্রিপ্টিংয়ের জন্য আমার একটি পিডিএফ ফাইলের মিমি আয়তন (মিমি) পাওয়া দরকার।

pdfinfo এটি কেবল 'pts' এ মুদ্রণ করে, যেমন:

Page size:      624 x 312 pts

আমার কী ব্যবহার করা উচিত?

বা যাইহোক 'pts' কী ইউনিট - যদি আমি তাদের রূপান্তর করতে চাই ...


2
উইকিপিডিয়ায় পয়েন্ট
ম্যাট

আপনি কোন পৃষ্ঠার আকার চান? বৈধ আকারের বাইরের কভার? লিফলেটের আকার "এই পৃষ্ঠাটি ইচ্ছাকৃতভাবে ফাঁকা"? অক্ষরের আকার ডাবল পৃষ্ঠা?
Ignacio Vazquez-Abrams

উত্তর:


31

ব্যবহৃত 'পিটিএস' ইউনিট pdfinfoএকটি পোস্টস্ক্রিপ্ট পয়েন্টকে নির্দেশ করে। একটি পোস্টস্ক্রিপ্ট পয়েন্টটি ইঞ্চি এবং প্রতি ইঞ্চি 72২ বিন্দুর রেজোলিউশনের শর্তে সংজ্ঞায়িত করা হয়:

১৯৮০-এর দশক থেকে 1990-এর দশকের শেষদিকে, ,তিহ্যবাহী পয়েন্টটি ডেস্কটপ পাবলিশিং পয়েন্ট দ্বারা পোস্ট করা হয়েছিল (পোস্টস্ক্রিপ্ট পয়েন্টও বলা হয়), যা ইঞ্চি ( 1 পয়েন্ট = 1-72 ইঞ্চি = 25.4⁄72 মিমি = 0.352 ) হিসাবে 72 পয়েন্ট হিসাবে সংজ্ঞায়িত হয়েছিল ¯7 মিমি [≙ 0.3528 মিমি ])।

ম্যানুয়ালটিতে পোস্টস্ক্রিপ্ট পয়েন্টগুলিতে নির্দিষ্ট সাধারণ কাগজের ফর্ম্যাটগুলির একটি তালিকাgv রয়েছে ।


1
সাধারণ কাগজের ফর্ম্যাটে: pdfinfoকখনও কখনও আমাকে কাগজের ফর্ম্যাটটি দেয় (যেমন Page size: 595.28 x 841.89 pts (A4)) - আমি অবাক হই যে এটি যদি পৃষ্ঠা মাপের তালিকার জন্য এটি জানে তবে তা করে?
njsg

2
একটি বিন্দু আসলে 0.352777777 ... মিমি, সুতরাং 0.3528 মিমি একটি কাছাকাছি কাছাকাছি হয়।
সিজেএম

14

সবচেয়ে সহজ উপায় নয়, তবে দেওয়া হয়েছে 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 পিডিএফ ব্যবহার করেছি)।


1
আমি যখন identifyওএস একাদশের একটি পিডিএফ পাই তখন কোনও আউটপুট পাই না।
ডেভিড মোলস

খুব দেরীতে, তবে identify
ইমেজম্যাগিকের

6

একই সমস্যা জুড়ে এসে নিম্নলিখিত সমাধানে এসেছিলেন। পিডিএফ ফাইলগুলি কীভাবে নির্মিত হয় তার নথিতে আমি প্রবেশ করি নি আমি দুটি খালি পিডিএফ ফাইলকে বিভিন্ন পৃষ্ঠার আকারের সাথে তুলনা করেছি।

দেখে মনে হচ্ছে পিডিএফ-এর সমস্ত ধরণের বৈশিষ্ট্য "<<" এবং ">>" এর মধ্যে এমবেড করা রয়েছে। আমি খুঁজে পেলাম যে পৃষ্ঠার আকারের তথ্যটি সরল পাঠ্যে রয়েছে এবং একটি সাধারণ রেইগেক্স অনুসন্ধানের সাথে পাওয়া যাবে।

এটি সমস্ত পিডিএফ-র ক্ষেত্রে সত্য হতে পারে বা নাও পারে তবে আমি বিভিন্ন উত্স থেকে যে সবগুলি খুঁজে পেতে পারি তাতে এটি কাজ করে।

প্রাসঙ্গিক অংশটি আকারের 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 পরিবর্তন করুন।


1
নোট করুন যে এর দ্বারা প্রত্যাবর্তিত মানগুলি মিমি, পিক্সেল বা ইঞ্চি নয় "পয়েন্ট" এ রয়েছে
ডিজেজড

0

আমি সরাসরি মিমি গণনা করতে ম্যাক্সচেপিজিগ উত্তরগুলি ব্যবহার করেছি:

$ 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কমান্ড দুটি পয়েন্ট / ইঞ্চি মান পায়। আমি মোটামুটি নিশ্চিত যে আপনি গ্রেপ রেজেক্সকে এড়িয়ে যেতে পারেন এবং সরাসরি জাজ দিয়ে এটি করতে পারেন তবে আমি এটি বের করতে পারি না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.