কমান্ড লাইন থেকে আমি কীভাবে পিডিএফ ফাইল অনুসন্ধান করব?


26

আমি একটি কাগজের রেফারেন্সগুলি যাচাই করছি এবং শরীরের এমন অবস্থানগুলি খুঁজতে চাই যেখানে কিছু কাগজ (রেফারেন্স তালিকায়) রেফারেন্স করা হয়েছে। এমন কোনও পিডিএফ সম্পাদক আছে যা বাশের মাধ্যমে অনুসন্ধান সমর্থন করে এবং অবস্থানের প্রসঙ্গটি বের করে? আমি পিডিএফটিকে পাঠ্যে রূপান্তরিত করার চেষ্টা করেছি, তবে এর ভাল ফলাফল হয়নি।

উত্তর:


22

কেবলমাত্র উপরের উত্তরের সাথে যুক্ত করতে, বিশেষত আপনি xpdf-utils নামক পিডিফোটোটেক্সট থেকে একটি কমান্ড লাইন সরঞ্জাম ব্যবহার করতে পারেন এবং তারপরে এই সরঞ্জামটির দ্বারা টেক্সট ডকুমেন্টটি গ্রেপের সাহায্যে সন্ধান করতে পারেন।

এটি দেখতে এরকম কিছু দেখাচ্ছে:

pdftotext document.pdf - | grep -C5 -n -i "search term"

ম্যানুয়ালটিতে আরও তথ্য রয়েছে। পিডিফোটেক্সটেক্সের একমাত্র অপূর্ণতা হ'ল আপনি আমাদের একই সাথে একাধিক ফাইল রূপান্তর করতে গ্লোব করতে পারবেন না। একটি ছোট ব্যাশ স্ক্রিপ্ট দিয়ে এই সমস্যাটি কাটিয়ে উঠতে পারে:

for f in pdf_directory; do echo $f; pdftotext $f - | grep -i "search_term"; done

যদি আপনার কোনও পিডিএফ থেকে কোনও পাঠ্য দলিল তৈরি করতে সমস্যা হয়, উদাহরণস্বরূপ, একটি বেমানান পিডিএফ ফাইল, তবে এটি অন্য সমস্যা।

আমি সাধারণভাবে মনে করি, পিডিএফ সম্পাদকরা কমান্ড লাইনগুলি অন্তর্ভুক্ত করেন না কারণ তারা গ্রাফিকাল। আপনি যদি ব্যাশ, (বা সম্ভবত zsh!) ব্যবহার করতে চান তবে আপনাকে টার্মিনাল শেল ব্যবহার করতে হতে পারে।

শুভকামনা!


20

poppler-utils

দ্রষ্টব্য: এক্সপিডিএফ-ইউপস হ'ল পপলার-ব্যবহারগুলির জন্য একটি ট্রানজিশনাল প্যাকেজ

আপনি পপলার-ব্যবহারগুলি ব্যবহার করতে পারেন। পপলার-ইউটস পোর্টেবল ডকুমেন্ট ফর্ম্যাট (পিডিএফ) ফাইলগুলির জন্য সরঞ্জামগুলির একটি স্যুট।

এটি ইনস্টল করতে আপনি উবুন্টু সফটওয়্যার কেন্দ্র ব্যবহার করতে পারেন, বা নীচে ক্লিক করে:

পপলার-ব্যবহারগুলি ইনস্টল করুন

pdfgrep

pdfgrepডিরেক্টরি বৃক্ষগুলিতে, পিছু পিডিএফ ফাইলগুলিতে স্ট্রিং বা কোনও প্যাটার্ন অনুসন্ধান করতে পারে, ম্যাচের গণনা করতে বা প্রতিটি ম্যাচের জন্য কিছু প্রসঙ্গ মুদ্রণ করতে পারে। উদাহরণস্বরূপ, পুনরাবৃত্তি অনুসন্ধান keywordকরতে /some directory, সংবেদনশীল ক্ষেত্রে:

pdfgrep -Ri keyword /some/directory

পিডিএফগ্রিপ হ'ল পিডিএফ ফাইলগুলিতে পাঠ্য অনুসন্ধান করার একটি সরঞ্জাম। এটি 'গ্রেপ' এর মতোই কাজ করে।

বৈশিষ্ট্য:

  • নিয়মিত অভিব্যক্তি অনুসন্ধান করুন।
  • কয়েকটি গুরুত্বপূর্ণ গ্রেপ বিকল্পগুলির জন্য সমর্থন, সহ: + ফাইলের নাম আউটপুট। + পৃষ্ঠা নম্বর আউটপুট। + alচ্ছিক ক্ষেত্রে সংবেদনশীলতা।
    ঘটনা গণনা ।
  • এবং সবচেয়ে গুরুত্বপূর্ণ বৈশিষ্ট্য: রঙ আউটপুট!

পিডিএফগ্রিপ ইনস্টল করুন

1 উত্স: উবুন্টু অ্যাপস ডিরেক্টরি


6

পিডিএফগ্রিপ ব্যবহার করে একাধিক পিডিএফ ফাইলগুলিতে নিয়মিত প্রকাশের জন্য অনুসন্ধান করতে:

find /path -iname '*.pdf' -exec pdfgrep -H 'pattern' {} \;

যেখানে পাথ আপনার পিডিএফ ফাইলগুলির জন্য অবস্থান।


0

পিডিফোটটেক্সটটি সাফল্য না পাওয়ার কারণটি হতে পারে পিডিএফটি চিত্রগুলি স্ক্যান করা হয় এবং আপনার ওসিআর করা দরকার, আমি pdfএমন সবগুলি অনুসন্ধান করার জন্য একটি দ্রুত উপায় লিখেছিলাম যা এডিট করা যায় না grepএবং সেগুলিকে ওসিআর করতে পারে ।

আমি লক্ষ্য করেছি যে কোনও pdfফাইলের কোনও ফন্ট না থাকলে এটি সাধারণত অনুসন্ধানযোগ্য নয় cha এটি জেনে আমরা ব্যবহার করতে পারি pdffonts

এর প্রথম 2 লাইনগুলি pdffontsহ'ল টেবিল শিরোনাম, সুতরাং যখন কোনও ফাইল অনুসন্ধানযোগ্য হয় তখন দুটি লাইন আউটপুট থাকে, এটি জেনে আমরা তৈরি করতে পারি:

gedit check_pdf_searchable.sh

এটি আটকান

#!/bin/bash 
#set -vx
if ((`pdffonts "$1" | wc -l` < 3 )); then
echo $1
ocrmypdf "$1" "$1"_ocr.pdf
fi

তারপরে এটি কার্যকর করা যায়

chmod +x check_pdf_searchable.sh

তারপরে ডিরেক্টরিতে সমস্ত অ-অনুসন্ধানযোগ্য পিডিএফ তালিকাভুক্ত করুন:

ls -1 ./*.pdf | xargs -L1 -I {} ./check_pdf_searchable.sh {}

বা ডিরেক্টরি এবং এর উপ ডিরেক্টরিতে:

tree -fai . | grep -P ".pdf$" | xargs -L1 -I {} ./check_pdf_searchable.sh {}

আপনাকেও ইনস্টল করতে হবে:

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