पीडीएफ फाइल से वैक्टर कैसे निकालें?


51

मेरे पास एक पीडीएफ फाइल है जिसमें वेक्टर इमेज हैं। (मैंने इसे इंटरनेट से डाउनलोड किया है, इसलिए मेरे पास कोई मूल नहीं है।)

मैं वैक्टर निकालने की इच्छा करता हूं ताकि मैं उन्हें कुछ अन्य छवियों पर ओवरले कर सकूं; प्रिंट मीडिया में, या किसी वेबसाइट पर उनका उपयोग करें।

मैं पीडीएफ फाइल से विशिष्ट वैक्टर कैसे निकालूं?

क्या, शायद, कोई सॉफ़्टवेयर जो पीडीएफ फाइल से वैक्टर निकाल सकता है? (अधिमानतः मुक्त।)


@ श्लोक: मेरा मतलब था वेक्टर ग्राफिक्स । मैंने Inkscape का उपयोग किया था, और यह उम्मीद के मुताबिक काम करता है। क्या आप कृपया अपनी टिप्पणी को उत्तर के रूप में रख सकते हैं, ताकि मैं इसे स्वीकार कर सकूं?
देवदत्त तेंग्शे

जवाबों:


49

आप इंकस्केप का उपयोग कर सकते हैं , जो एक निशुल्क, खुला स्रोत और क्रॉस-प्लेटफ़ॉर्म वेक्टर ग्राफिक्स एप्लिकेशन है। यह आपको पीडीएफ फाइलों को आयात करने और एम्बेडेड वैक्टर का चयन करने की अनुमति देगा। फिर आप उन्हें संपादित कर सकते हैं और जैसा चाहें वैसा प्रोसेस कर सकते हैं।

विस्तृत प्रलेखन इंकस्केप वेबसाइट पर उपलब्ध है।

ध्यान दें कि लिनक्स पर इसे X11 की आवश्यकता होती है। एक देशी विंडोज संस्करण भी है।

वैकल्पिक रूप से, आप एडोब इलस्ट्रेटर को एक गो (सशुल्क सॉफ़्टवेयर) देना चाह सकते हैं।


2
लिनक्स की तरह इसे X11 की आवश्यकता होती है - एक देशी विंडोज संस्करण भी है (जिसका उपयोग मैंने सिर्फ पीडीएफ से वेक्टर ड्राइंग निकालने के लिए अच्छी तरह से किया था)।
मार्क लीटन फिशर

23

जबकि Inkscape यह करने का एक शानदार तरीका है, X11 की कमी वाले लोगों के लिए, आप कमांड लाइन पर poppler-utils का उपयोग करके SVG फॉर्मेट में एक PDF के अलग-अलग पेज भी निकाल सकते हैं । उदाहरण के लिए, केवल पृष्ठ 30 निकालने के लिए:

$ pdftocairo -f 30 -l 30 -svg  somehugemanual.pdf  myextractedpage.svg

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

वैकल्पिक रूप से, यदि आप हार्डकोर कमांड-लाइन उपयोगकर्ता हैं, तो आप EPS (एनकैप्सुलेटेड पोस्टस्क्रिप्ट) को निकाल सकते हैं और sedसभी टेक्स्ट को छिपाने के लिए उपयोग कर सकते हैं (जो कि pdftocairo के लिए BT और ET लाइनों के बीच होता है)। ऐसे:

$ pdftocairo -f 30 -l 30 -eps  manual.pdf  - | sed '/^BT$/,/^ET$/ d' > myimage.eps

और, यदि आप X11 का उपयोग करने से बचने के लिए वास्तव में पागल हैं, तो आप भूत रेखा के कमांड का उपयोग करके कमांड लाइन से छवि के बाउंडिंग बॉक्स को भी छोटा कर सकते हैं eps2eps:

$ eps2eps myimage.eps myimage-bb.eps

मैंने इसका परीक्षण किया है और यह बहुत अच्छा है। हालाँकि, व्यक्तिगत रूप से, मुझे सिर्फ Inkscape का उपयोग करना आसान लगता है।


+1 आपकी कमांड लाइन सभी पाठ को स्ट्रिप करती है .. लेकिन क्या आप जानते हैं कि सभी छवियों को कैसे स्ट्रिप करें? मैं एक समाधान की तलाश कर रहा हूँ जहाँ केवल वेक्टर ग्राफिक बचा है :)
क्लार्क

क्या यह आपके लिए काम करता है? cat foo.eps | sed '/^8 dict dup begin$/,/^Q$/ c Q' > nobitmaps.eps
हैकरबी

1
लेकिन क्या यह जांचना संभव है कि ईपीएस फाइल में वेक्टर ग्राफिक भी है या नहीं? :)
क्लार्क

1
मुझे लगता है कि आप घोस्टस्क्रिप्ट के eps2eps का उपयोग करके इसे इसके सबसे छोटे बाउंडिंग बॉक्स में डिस्टिल कर सकते हैं और देख सकते हैं कि यह पूरी तरह से खाली है। लेकिन यह एक नया सवाल बनने लगा है। बेझिझक पूछें और मुझे यकीन है कि अगर मैं जवाब नहीं देता, तो कोई होगा।
हैकरबी

1
@ hackerb9 धन्यवाद, अब eps पठनीय है, लेकिन छवि वास्तव में कम घनत्व में है और कुछ पाठ अभी भी इसके आसपास बना हुआ है। पीडीएफ यहां है , और छवि पृष्ठ 7 पर है
rtrtrt
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.