PDF फ़ाइल के बुकमार्क को आयात, निर्यात और संपादित कैसे करें?


21

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

यदि हाँ, तो क्या पीडीएफ फाइल के बुकमार्क वाले टेक्स्ट फ़ाइल को संपादित करने के लिए वाक्यविन्यास पर कोई वर्णन है?

मैं उबंटू 10.10 और विंडोज 7 के लिए मुफ्त सॉफ्टवेयर समाधान की उम्मीद कर रहा था।

धन्यवाद एवं शुभकामनाएँ!

जवाबों:


22

वहाँ उपकरणों की एक किस्म है कि एक पीडीएफ से सादे पाठ फ़ाइल के लिए बुकमार्क निकाल सकते हैं, और इसके विपरीत। जिनमें से कुछ इस प्रकार हैं:

  • pdftk
  • iText टूलबॉक्स (पुराने संस्करण केवल, itext-2.0.1.jar प्राप्त करें )
  • PDFWritebookmark टूल जो मैं उपयोग करता हूं
  • JPdfBookmarks जिसमें एक GUI भी है।

इसके अलावा, मेरे पास एक स्क्रिप्ट है जो इन उपकरणों में से कई के स्वरूपों के बीच परिवर्तित कर सकती है: bmconverter.py

एक और बहुत अच्छा तरीका है पीडीएफ़एक्सएक्स के माध्यम से बुकमार्क को पीडीएफ में जोड़ना


13

आप इसके लिए उपयोग कर सकते हैं pdftk। अधिक जानकारी: पीडीएफ बुकमार्क कैसे निर्यात और आयात करें

इस तरह कमांड लाइन पर पीडीएफ बुकमार्क निर्यात करें:

pdftk C:\Users\Sid\Desktop\doc.pdf dump_data output C:\Users\Sid\Desktop\doc_data.txt

इस तरह से डेटा फ़ाइल से पीडीएफ बुकमार्क आयात करें:

pdftk C:\Users\Sid\Desktop\doc.pdf update_info C:\Users\Sid\Desktop\doc_data.txt output C:\Users\Sid\Desktop\updated.pdf

pdftkलिखने के लिए बुकमार्क प्रारूप थोड़ा थकाऊ है। इसके बजाय मैं का उपयोग कर अपने ही स्क्रिप्ट बनाने bash, sed, pdftkऔर python3। इसे इस रेपो पर देखें : https://github.com/SiddharthPant/booky

तो अब मैं bkmrks.txtइस तरह से एक टेक्स्ट फाइल ( ) बना सकता हूं जो 1000 पेज की पीडीऍफ़ के लिए भी लिखने में सिर्फ 5 मिनट का समय लेती है।

{
  Title1, 1
  Title2, 2
  {
    Subtitle1, 3
    Subtitle2, 4
    {
      SubSubtitle1, 5
      ...
    }
  }
}

और फिर मेरी स्क्रिप्ट का उपयोग करें

./booky.sh pdf_file.pdf bkmrks.txt

यह स्वचालित रूप से एक पीडीएफ ( pdf_file_new.pdf) बनाता है जिसमें मेरे बुकमार्क हैं।

यह * nix सिस्टम में काम करने जा रहा है अगर इसके बजाय आप विंडोज मशीन पर हैं। फिर पहले सेट करें python3और संगत प्रारूप में बदलने के लिए रेपो में फ़ाइल का pdftkउपयोग करेंbooky.pybkmrks.txtpdftk

python3 booky.py < bkmrks.txt > output.txt

और फिर डंप की गई डेटा फ़ाइल को जनरेट करने के लिए एक्सपोर्ट कमांड का उपयोग करें। उस फ़ाइल से पिछले बुकमार्क निकालें और output.txtएक साधारण कॉपी पेस्ट का उपयोग करने के बजाय सामग्री डालें । और फिर उस डेटा को वापस आयात करें।


4

यदि आपके पास एक दस्तावेज़ का एक संस्करण है जिसमें बुकमार्क हैं और उन्हें कॉपी करना चाहते हैं, तो पीडीएफ-एक्सचेंज व्यूअर (मैंने v2.5.211 का उपयोग किया) का उपयोग करने का एक बहुत सरल तरीका है। वह पीडीएफ खोलें जिसमें बुकमार्क हैं (स्रोत पीडीएफ), बुकमार्क फलक में सभी बुकमार्क का चयन करें, उन्हें Ctrl + C का उपयोग करके कॉपी करें, उन पीडीएफ को खोलें जिसमें बुकमार्क (लक्ष्य पीडीएफ) नहीं हैं, और उन्हें पेस्ट करें (Ctrl + V) उस PDF के बुकमार्क फलक में। पीडीएफ-एक्सचेंज व्यूअर बुकमार्क के गुणों को संरक्षित करता है क्योंकि वे स्रोत पीडीएफ से थे (बुकमार्क पाठ पर किसी भी बोल्ड / इटैलिक प्रारूपण सहित)। यदि किसी कारण से लक्ष्य पीडीएफ के कुछ खंड दस्तावेज़ में किए गए संशोधन के कारण कम या अधिक हैं, तो आप बुकमार्क को सुधार की आवश्यकता पर क्लिक कर सकते हैं, उस पृष्ठ पर स्क्रॉल करें जहां आप बुकमार्क को खोलना चाहते हैं, दाईं ओर- बुकमार्क को फिर से क्लिक करें और "सेट डेस्टिनेशन" पर क्लिक करें। किसी भी अपमानजनक बुकमार्क के लिए आवश्यकतानुसार इस अंतिम भाग को दोहराएं। पूरा होने पर लक्ष्य पीडीएफ को बचाएं।

यह मेरे लिए बहुत अच्छा था, काफी सहज था, और मुझे कुछ ही मिनटों में किया गया था। मेरे विशेष परिदृश्य में, एक सहकर्मी ने मैक के लिए वर्ड का उपयोग करके एक बहुत लंबा दस्तावेज़ तैयार किया था जिसमें बुकमार्क नहीं थे। दस्तावेज़ की लंबाई के कारण, मुझे दस्तावेज़ की रूपरेखा के अनुरूप बुकमार्क चाहिए थे। मैं बुकमार्क के साथ पीडीएफ के रूप में दस्तावेज़ को सहेजने के लिए वर्ड के लिए वर्ड प्राप्त कर सकता हूं, लेकिन मैक के लिए वर्ड और विंडोज के लिए वर्ड के बीच कुछ स्वरूपण अंतर पेज की संख्या को काफी दूर फेंक दिया (विशेष रूप से, फुटवेयर के आसपास सफेद स्थान में अंतर और अंतर थे) आंकड़ों और कैप्शन के बीच अंतर में)। विंडोज के लिए वर्ड में पेजिनेशन को सही करने के लिए मैं हेडर और फुटर्स और फिगर साइज के साथ इधर-उधर खेलने में सक्षम था, फिर पीडीएफ w / बुकमार्क में सेव किया। दुर्भाग्य से,


1
PDF-Xchange के लिए +1। कम उपकरण
विलय

1

पीडीएफ फाइलों के लिए विनिर्देश एडोब से एक स्वतंत्र रूप से डाउनलोड करने योग्य पीडीएफ के रूप में उपलब्ध है - या कम से कम यह आखिरी बार जब मैंने जाँच की थी। हालाँकि, अधिकांश PDF फ़ाइलों में संपीड़ित डेटा सबसे अधिक होता है। शायद एक समय में पीडीएफ का मूल रूप से प्लेनटेक्स्ट संस्करण था, और यदि ऐसा है तो यह अभी भी मान्य होगा, लेकिन वास्तव में उस रूप में एक फ़ाइल प्राप्त करना एक समस्या हो सकती है।

हालांकि मैंने इसे नहीं किया है, एक बहुत ही संभावित संभावना (यदि आप भुगतान करने के लिए तैयार हैं) एक्रोबेट प्रो खरीदने के लिए है, और उस एप्लिकेशन में निर्मित जावास्क्रिप्ट स्क्रिप्टिंग क्षमताओं का उपयोग करना है। आपको आरंभ करने के लिए ...

http://acrobatusers.com/tutorials/2008/10/auto_bookmark_creation

यह ट्यूटोरियल दर्शाता है कि एक्रोबेट 7.0 प्रो (क्रिएटिव सूट CS2 में शामिल संस्करण) में जावास्क्रिप्ट का उपयोग करके स्वचालित रूप से बुकमार्क कैसे बनाया जाए। हालाँकि यह थोड़ा पुराना हो रहा है, वही तकनीक नए संस्करणों के लिए ठीक काम करना चाहिए।

एडोब एप्लिकेशन में जावास्क्रिप्ट (कुछ ऐसा है जो जावास्क्रिप्ट मानक के रूप में नहीं है) का उपयोग करते हुए पाठ फ़ाइलों को पढ़ने / लिखने के लिए एक पुस्तकालय शामिल है, इसलिए यह संभव है कि उन स्क्रिप्ट को मजबूत बनाने के लिए अपने स्वयं के आयात / निर्यात स्क्रिप्ट लिखना संभव है, हालांकि गैर-तुच्छ।


धन्यवाद! क्या एक्रोबैट प्रो का लिनक्स संस्करण है?
टिम

क्षमा करें - मुझे इसमें बहुत संदेह है। AFAIK ने एक मैक या विंडोज चीज़, और Adobe लिनक्स का समर्थन करने की संभावना नहीं है जब तक कि बड़ी संख्या में रचनात्मक पेशेवर (1) उस प्लेटफ़ॉर्म का उपयोग करना शुरू नहीं करते हैं, और (2) दिखाते हैं कि वे FOSS के बजाय मालिकाना सॉफ़्टवेयर के लिए बहुत अधिक भुगतान करने को तैयार हैं। विकल्प। संभावना नहीं लगती है। एक नि: शुल्क समाधान के लिए, आप एक पुस्तकालय जैसे कि blog.rubypdf.com/2007/12/12// (रूबी के लिए) की कोशिश कर सकते हैं । मुझे इसके बारे में और भी कम पता है - मैंने इसे Google पर पाया।
स्टीव 314

1

बुकमार्क निर्यात करने के लिए, मैं एक अलग दृष्टिकोण का पालन करता हूं जिसके लिए Microsoft OneNote के उपयोग की आवश्यकता होती है:

मैं पीडीएफ रीडर को खोलता हूं (मैं फ़ॉक्सिट के मुफ्त संस्करण का उपयोग करता हूं) बुकमार्क संरचना के साथ दिखाई देता है और फिर, वनोट में, मैं स्नैपशॉट लेने के लिए कहता हूं, और फॉक्सिट बुकमार्क संरचना का चयन करता हूं।

OneNote पर वापस, मैं "इमेज से कॉपी टेक्स्ट" विकल्प (स्नैपशॉट छवि पर राइट-क्लिक करने के बाद दिखाई देने वाले मेनू में) का चयन करता हूं, और इंडेंटेशन (आमतौर पर गोलियों के साथ) को सही करने के लिए, मैं इसे पेस्ट करता हूं।


1

HandyOutline। 1 खींचें, 1 क्लिक, किया। https://sourceforge.net/projects/handyoutlinerfo/ । मुक्त। उप-बुकमार्क को इंगित करता है। किसी भी पीडीएफ रीडर / संपादक की आवश्यकता नहीं है। इसके अलावा संपादित करें, सभी विवरणों को पाठ में निर्यात करें (शब्द में प्रतिलिपि एक मैक्रो लिखने के लिए इसे पूरी तरह कार्यात्मक शब्द दस्तावेज़ में साफ करने के लिए) या XML, repaginate, PDF के लिए आयात करें। देव दान के योग्य हैं।

PDF-Xchange Editor (PDFViewer की जगह) बेतरतीब ढंग से डुप्लिकेट / मिस्ड बुकमार्क पाठ के लिए निर्यात किया गया

JPDF को जावा की आवश्यकता होती है, निर्यात स्वरूपित कचरा, केवल नाम पाने के लिए इसे साफ नहीं कर सकता है

PDFtk ने मुझे सिर्फ निर्देशों को देखते हुए सिरदर्द दिया

:-)


प्यार करें कि यह एक और अधिक idiosyncratic प्रारूप के बजाय XML को निर्यात करता है। निर्यात के लिए ड्रैग एंड ड्रॉप इंटरफेस भी सरल नहीं हो सकता है। मैं केवल यही चाहता हूं कि यह एक साथ कई काम कर सके।
इवान डोनोवन

0

मुझे एक और "बेवकूफ" समाधान मिला जो पीडीएफ के सभी बुकमार्क्स को एक पाठ के रूप में कहीं और उपयोग करने के लिए कॉपी करता है। एक्रोबैट प्रो (मैक ओएस के लिए) में सभी बुकमार्क का चयन करने और उन्हें वर्डप्रोसेसर में कॉपी / पेस्ट करने का कोई तरीका नहीं है। हालाँकि आप पूरे पीडीएफ को HTML-फ़ाइल के रूप में "एक ही HTML-पेज + बुकमार्क के आधार पर नेविगेशनफ़्रेम जोड़ें" विकल्प के साथ निर्यात कर सकते हैं। फिर एक ब्राउज़र में HTML खोलें, नेविगेशनफ्रेम में सभी पाठ का चयन करें और इसे Wordprocessor पर कॉपी / पेस्ट करें ...


0

पीडीएफ से पाठ फ़ाइल में सभी बुकमार्क पढ़ने के लिए, आप इस कमांड का उपयोग कर सकते हैं pdftk:

pdftk input.pdf dump_data output output.txt

मैंने तब अतिरिक्त भागों को हटाने के लिए नोटपैड ++ पर रेगेक्स का उपयोग किया। निम्नलिखित मैंने एक खाली स्ट्रिंग (क्रम में) से बदल दिया, और फिर मैं बुकमार्क की एक सूची के साथ समाप्त हो गया (अपने पाठ संपादक में रेगेक्स का उपयोग करना न भूलें):

BookmarkLevel.*
BookmarkPageNumber.*
BookmarkBegin.*
\n\s+\n

यदि आप संख्याएँ निकालना चाहते हैं, तो इस अभिव्यक्ति को प्रतिस्थापित करें:

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