DjVu छिपा हुआ पाठ → पीडीएफ?


2

क्या एक DjVu फ़ाइल की केवल छिपी हुई पाठ परत की पीडीएफ बनाने का एक तरीका है?

मुझे पता है कि कैसे उपयोग करना है

djvused myfile.djvu -e 'output-txt' > myfile.dsed

एक DjVu स्क्रिप्ट को आउटपुट करने के लिए जिसमें प्रत्येक पृष्ठ के प्रत्येक शब्द का x, y निर्देशांक शामिल है, लेकिन मैं इसे PS या PDF में कैसे परिवर्तित करूंगा? मुझे यकीन है कि किसी के पास एक स्क्रिप्ट है।

इस तरह से एस-एक्सप्रेशंस के साथ ड्राइड फाइल शुरू होती है ( अधिक जानकारी के लिए यहां क्लिक करें ):

select; remove-txt

# ------------------------- 

select "myfile_0000.djvu"
set-txt
(page 108 107 1176 1725
 (column 941 1694 1176 1725
  (region 941 1694 1176 1725
   (para 941 1694 1176 1725
    (line 941 1694 1176 1725
     (word 941 1694 999 1723 "another")
     (word 1024 1696 1176 1725 "word")))))
 (column 108 107 805 1519
  (region 108 107 805 1519
   (para 226 1491 701 1519
    (line 226 1491 701 1519
     (word 226 1491 701 1519 "example")))
   (para 350 1370 534 1396

आदि…

धन्यवाद

जवाबों:


0

ओपी इनपुट के बाद अपडेट किया गया:

एक DJVU फाइल की OCR परत को एक पीडीएफ फाइल में टाइप करने के लिए, वे डीजेवीयू फाइल में दिखाई देने वाले स्थान पर शब्दों को प्रिंट करते हैं, एक विकल्प प्रोग्रामेटिक रूप से एक इंकस्केप या स्क्रिप्स फाइल उत्पन्न करना है। मैं प्रक्रिया को स्केच करूंगा। अपनी पसंद की भाषा (पायथन, रूबी, रैकेट, आदि) में एक स्क्रिप्ट लिखना मुश्किल नहीं है।

  1. DJVU फ़ाइल के हर पृष्ठ के लिए OCR लेयर को HTML या S- एक्सप्रेशन के रूप में एक्सपोर्ट करें। मैं निम्नलिखित में बाद मानूंगा।

  2. से पृष्ठ आकार निकालें (page x1 y1 x2 y2...। पृष्ठ की चौड़ाई = x2-x1, पृष्ठ की ऊँचाई =y2-y1.

  3. प्रत्येक शब्द के लिए पाठ फ्रेम के निचले बाएं कोने की चौड़ाई, ऊंचाई और निर्देशांक की गणना करें जिसमें यह शामिल होगा। चौड़ाई और ऊंचाई (word x1 y1 x2 y2 "another")पर निचले बाएँ कोने के साथ एक पाठ फ़्रेम में बदल जाता है ।(x1, Page height - y1)x2 - x1y2 - y1

  4. पाठ फ्रेम के लिए उपयुक्त फ़ॉन्ट और फ़ॉन्ट आकार का चयन करें। एक मार्गदर्शन के रूप में आयत शब्द की ऊंचाई का उपयोग करें। सुनिश्चित करें कि पाठ फ़्रेम फिट करने के लिए पाठ को बढ़ाया नहीं गया है।

  5. एक बार जब आप पृष्ठ पर सभी पाठ फ़्रेमों को जोड़ रहे हैं, तो फ़ाइल को पीडीएफ में निर्यात करें। ध्यान दें कि पृष्ठ का आकार अक्षर या A4 से बहुत बड़ा है। यदि आप दस्तावेज़ को प्रिंट करने का इरादा रखते हैं तो अपने पेपर के आकार को फिट करने के लिए इसे प्रिंट डायलॉग में स्केल करना सुनिश्चित करें। पेड़ों को बचाने के लिए पहले एक पीडीएफ फाइल को प्रिंट करें।

मूल उत्तर:

के अनुसार man djvused, कमांड 'output-txt'एक djvusedस्क्रिप्ट उत्पन्न करेगा , जो कि उपभोग के लिए अभिप्रेत है djvused

आपके उद्देश्यों के लिए इसका उपयोग करना बेहतर है (मैन पेज के अनुसार)

djvused myfile.djvu -e 'print-pure-txt' > myfile.txt

फिर आप एक प्रोग्राम का उपयोग करके एक पीडीएफ फाइल का उत्पादन कर सकते हैं जो पीडीएफ में प्रिंट कर सकता है।

आपके ऑपरेटिंग सिस्टम और संस्करण के आधार पर आपको एक पीडीएफ प्रिंटर स्थापित करने की आवश्यकता हो सकती है। आप इसे क्रोम या फ़ायरफ़ॉक्स के हाल के संस्करण में भी खोल सकते हैं और पीडीएफ में प्रिंट कर सकते हैं।


हां, लेकिन पीडीएफ डॉक्यूमेंट में टेक्स्ट की स्थिति वैसी नहीं होगी जैसी कि डीजेवीयू में थी।
गेरिमिया

अनिवार्य रूप से, मुझे फ़ाइल को पार्स करने के लिए एक स्क्रिप्ट की आवश्यकता है और सही निर्देशांक पर पाठ के साथ एक पीडीएफ बनाने के लिए।
गेरमिया

यह प्रश्न में स्पष्ट नहीं था। अद्यतन उत्तर देखें। उम्मीद है की वो मदद करदे।
मर्दुक

0

ऐसा करने का सबसे आसान तरीका है कि DjVu को PDF में बदलना (सुनिश्चित करें कि OCR परत पीडीएफ में बनी हुई है)। फिर भागो:

gs -q -o - -dFILTERIMAGE -sDEVICE=pdfwrite -f "${input_pdf}" | pdftk - output - uncompress | sed "s/^3 Tr$/0 Tr/g" | pdftk - output "${output_pdf}" compress

जहां उपयोगकर्ता निर्दिष्ट करता है ${input_pdf}और ${output_pdf}। सभी छवियों gsको निकालता है ( -dFILTERIMAGEऔर sedइसे बनाता है ताकि पीडीएफ छिपे हुए ओसीआर पाठ को दृश्यमान रूप में प्रस्तुत करता है (पीडीएफ के 3 Tr"छिपे हुए पाठ रेंडर" 0 Trया "डिफ़ॉल्ट पाठ रेंडर" को बदलकर )। अंतिम pdftkकमांड कड़ाई से आवश्यक नहीं है, लेकिन पहले वाला है, और sedपीडीएफ Trकमांड को बदलने में सक्षम नहीं होगा ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.