आपके पास कई विकल्प हैं। ये सभी विधियां लिनक्स के साथ-साथ विंडोज या मैक ओएस एक्स पर भी काम करती हैं। हालांकि, इस बात का ध्यान रखें कि ज्यादातर PDF में फॉन्ट इंट्रोड्यूस होने पर फुल, फुलफेस को शामिल नहीं किया जाता है। अधिकतर वे दस्तावेज़ में उपयोग किए गए ग्लिफ़ के सबसेट को शामिल करते हैं ।
का उपयोग करते हुए pdftops
* Nix सिस्टम पर इसे करने के लिए सबसे अधिक उपयोग की जाने वाली विधियों में से एक में निम्न चरण होते हैं:
- उदाहरण के लिए XPDF's
pdftops
(विंडोज पर: pdftops.exe
हेल्पर प्रोग्राम) का उपयोग करके पीडीएफ को पोस्टस्क्रिप्ट में कनवर्ट करें ।
- अब फॉन्ट्स
.pfa
(पोस्टस्क्रिप्ट) प्रारूप में एम्बेड किए जाएंगे + आप उन्हें टेक्स्ट एडिटर का उपयोग करके निकाल सकते हैं ।
- (और बाइनरी) फ़ाइल को ( और ) का उपयोग करके आपको
.pfa
(एएससीआईआई) कन्वर्ट करने की आवश्यकता हो सकती है ।.pfb
t1utils
pfa2pfb
- पीडीएफ में कभी
.pfm
भी .afm
फाइल या फाइल (फॉन्ट मेट्रिक फाइलें) एम्बेडेड नहीं होती हैं (क्योंकि पीडीएफ दर्शक को इन के बारे में आंतरिक जानकारी होती है)। इनके बिना, फॉन्ट फाइल्स शायद ही दृष्टिगोचर तरीके से प्रयोग करने योग्य हों।
का उपयोग करते हुए fontforge
एक अन्य विधि नि: शुल्क फ़ॉन्ट संपादक का उपयोग करने के लिए है FontForge :
- का प्रयोग करें "ओपन फ़ॉन्ट" फ़ाइलें खोलते समय इस्तेमाल किया dialogbox।
- फिर संवाद के फ़िल्टर अनुभाग में "पीडीएफ से अर्क" चुनें ।
- निकाले जाने वाले फ़ॉन्ट के साथ पीडीएफ फाइल का चयन करें।
- एक "एक फ़ॉन्ट चुनें" dialogbox खुलता है - यहाँ जो खोलने के लिए फ़ॉन्ट का चयन करें।
FontForge मैनुअल की जाँच करें। आपको कुछ विशिष्ट चरणों का पालन करने की आवश्यकता हो सकती है जो निकाले गए फ़ॉन्ट डेटा को फिर से उपयोग करने योग्य फ़ाइल के रूप में सहेजने के लिए आवश्यक नहीं हैं।
का उपयोग करते हुए mupdf
अगला, MuPDF । यह एप्लिकेशन pdfextract
(विंडोज पर pdfextract.exe
) नामक एक उपयोगिता के साथ आता है जो पीडीएफ से फोंट और छवियों को निकाल सकता है। (मामले में आप MuPDF, जो अभी भी अपेक्षाकृत अनजान और नया है के बारे में पता नहीं है: "MuPDF एक नि: शुल्क हल्के PDF व्यूअर और टूलकिट पोर्टेबल सी में लिखा है" , कलाकार सॉफ्टवेयर डेवलपर्स, एक ही कंपनी है कि हम Ghostscript दिया ने लिखा है। )
( अपडेट: MuPDF के नए संस्करणों ने 'pdfextract' की पूर्व कार्यक्षमता को कमांड 'मल निकालने' में स्थानांतरित कर दिया है। इसे यहां डाउनलोड करें: mupdf.com/downloads )
नोट: pdfextract.exe
एक कमांड-लाइन प्रोग्राम है। इसका उपयोग करने के लिए, निम्नलिखित करें:
c:\> pdfextract.exe c:\path\to\filename.pdf # (on Windows)
$> pdfextract /path/tofilename.pdf # (on Linux, Unix, Mac OS X)
यह कमांड मौजूदा निर्देशिका में संदर्भित पीडीएफ फाइल से सभी एक्सट्रैक्टेबल फाइलों को डंप कर देगा। आम तौर पर आपको कई प्रकार की फाइलें दिखाई देंगी: चित्र और साथ ही फोंट। इनमें PNG, TTF, CFF, CID, आदि शामिल हैं। इमेज के नाम img-0412.png की तरह होंगे यदि इमेज का पीडीएफ ऑब्जेक्ट नंबर 412 था। फॉन्टनेम FGETYK + LinLintineI-0966.ttf की तरह होगा , अगर फॉन्ट का फॉन्ट पीडीएफ ऑब्जेक्ट संख्या 966 थी।
सीएफएफ ( कॉम्पैक्ट फॉन्ट फॉर्मेट ) फाइलें एक मान्यता प्राप्त प्रारूप है जिसे विभिन्न ऑपरेटिंग सिस्टम पर उपयोग के लिए विभिन्न प्रकार के कन्वर्टर्स के माध्यम से अन्य प्रारूपों में परिवर्तित किया जा सकता है।
दोबारा: इस बात से अवगत रहें कि इनमें से अधिकांश फ़ॉन्ट फ़ाइलों में केवल वर्णों का एक सबसेट हो सकता है और यह पूर्ण टाइपफेस का प्रतिनिधित्व नहीं कर सकता है।
अपडेट: (जुलाई 2013) हाल के संस्करणों में mupdf
एक बार नहीं, बल्कि कई बार उनके बायनेरिज़ के आंतरिक फेरबदल और नामकरण देखा गया है। मुख्य उपयोगिता एक 'स्विस नाइफ' एक जैसे बाइनरी कहलाती थी, जिसे mubusy
(बिजीबॉक्स से प्रेरित नाम?) कहा जाता था, जिसे हाल ही में बदल दिया गया था mutool
। ये समर्थन उप आदेशों info
, clean
, extract
, poster
और show
। दुर्भाग्यपूर्ण है, इन उपकरणों के लिए आधिकारिक दस्तावेज आज तक (अभी तक) नहीं है। यदि आप 'MacPorts' का उपयोग करते हुए मैक पर हैं: तो समान नाम का उपयोग करने वाले अन्य उपयोगिताओं के साथ नाम के टकराव से बचने के लिए उपयोगिता का नाम बदल दिया गया था, और आपको उपयोग करने की आवश्यकता हो सकती है mupdfextract
।
mutool
अपने पिछले उपकरण के साथ (लगभग) समान परिणाम प्राप्त करने के लिए pdfextract
, बस चलाएं mubusy extract ...
। *
तो फोंट और छवियों को निकालने के लिए, आपको निम्नलिखित कमांडलाइनों में से एक को चलाने की आवश्यकता हो सकती है:
c:\> mutool.exe extract filename.pdf # (on Windows)
$> mutool extract filename.pdf # (on Linux, Unix, Mac OS X)
डाउनलोड यहां हैं: mupdf.com/downloads
का उपयोग कर gs
(भूत)
फिर, घोस्टस्क्रिप्ट भी पीडीएफ से सीधे फोंट निकाल सकते हैं। हालांकि, इसे extractFonts.ps
पोस्टस्क्रिप्ट भाषा में लिखे गए विशेष उपयोगिता कार्यक्रम की मदद की जरूरत है , जो घोस्टस्क्रिप्ट स्रोत कोड रिपॉजिटरी से उपलब्ध है ।
अब इसका उपयोग करें, आपको दोनों को चलाने की जरूरत है, यह फ़ाइल extractFonts.ps
और आपकी पीडीएफ फाइल। घोस्टस्क्रिप्ट तब पीडीएफ से फोंट निकालने के लिए पोस्टस्क्रिप्ट प्रोग्राम के निर्देशों का उपयोग करेगा। यह विंडोज पर इस तरह दिखता है (हाँ, घोस्टस्क्रिप्ट 'फॉरवर्ड स्लैश' को समझता है, /, पथ पृथक्करण भी विंडोज पर!):
gswin32c.exe ^
-q -dNODISPLAY ^
c:/path/to/extractFonts.ps ^
-c "(c:/path/to/your/PDFFile.pdf) extractFonts quit"
या लिनक्स, यूनिक्स या मैक ओएस एक्स पर:
gs \
-q -dNODISPLAY \
/path/to/extractFonts.ps \
-c "(/path/to/your/PDFFile.pdf) extractFonts quit"
मैंने कुछ साल पहले घोस्टस्क्रिप्ट विधि का परीक्षण किया है। जिस समय इसने अर्क * .टीटीएफ (ट्रू टाइप) को ठीक किया। मुझे नहीं पता कि अन्य फ़ॉन्ट प्रकार भी बिल्कुल निकाले जाएंगे, और यदि हां, तो पुन: प्रयोज्य तरीके से। मुझे पता नहीं है कि क्या उपयोगिता फोंट के ब्लॉक निकालना है जो संरक्षित के रूप में चिह्नित हैं।
का उपयोग करते हुए pdf-parser.py
अंत में, डिडिएर स्टीवंस का pdf-parser.py : यह शायद उपयोग करना उतना आसान नहीं है, क्योंकि आपको आंतरिक पीडीएफ संरचनाओं के बारे में कुछ जानकारी होना आवश्यक है। pdf-parser.py
एक पायथन लिपि है, जो बहुत सारी अन्य चीजें भी कर सकती है। यह ऑब्जेक्ट से मनमानी धाराएँ भी हटा सकता है और निकाल सकता है, और इसलिए यह एम्बेडेड फ़ॉन्ट फ़ाइलों को भी निकाल सकता है।
लेकिन आपको यह जानने की जरूरत है कि क्या देखना है। इसे एक उदाहरण से देखते हैं। मेरे पास एक फ़ाइल है जिसका नाम big.pdf है । पहले चरण के रूप में मैं -s
कीवर्ड फॉन्टफाइल की किसी भी घटना के लिए पीडीएफ को खोजने के लिए पैरामीटर का उपयोग pdf-parser.py
करता हूं ( इसमें केस संवेदनशील खोज की आवश्यकता नहीं है):
pdf-parser.py -s fontfile big.pdf
मेरे मामले में, मेरे big1.pdf के लिए , मुझे यह परिणाम मिले:
obj 9 0
Type: /FontDescriptor
Referencing: 15 0 R
<<
/Ascent 728
/CapHeight 716
/Descent -210
/Flags 32
/FontBBox [ -665 -325 2000 1006 ]
/FontFile2 15 0 R
/FontName /ArialMT
/ItalicAngle 0
/StemV 87
/Type /FontDescriptor
/XHeight 519
>>
obj 11 0
Type: /FontDescriptor
Referencing: 16 0 R
<<
/Ascent 728
/CapHeight 716
/Descent -210
/Flags 262176
/FontBBox [ -628 -376 2000 1018 ]
/FontFile2 16 0 R
/FontName /Arial-BoldMT
/ItalicAngle 0
/StemV 165
/Type /FontDescriptor
/XHeight 519
>>
यह मुझे बताता है कि FontFile2
पीडीएफ के अंदर दो उदाहरण हैं , और ये पीडीएफ ऑब्जेक्ट्स में हैं। 15 और नहीं। 16, क्रमशः। वस्तु नं। 15 /FontFile2
फ़ॉन्ट / ArialMT के लिए रखती है , ऑब्जेक्ट नं। 16 /FontFile2
फ़ॉन्ट / एरियल- BoldMT के लिए रखती है ।
इसे और अधिक स्पष्ट रूप से दिखाने के लिए:
pdf-parser.py -s fontfile big1.pdf | grep -i fontfile
/FontFile2 15 0 R
/FontFile2 16 0 R
पीडीएफ विनिर्देश में एक त्वरित देखना पता चलता कीवर्ड /FontFile2
एक से संबंधित है 'एक ट्रू टाइप फ़ॉन्ट कार्यक्रम युक्त धारा' ( /FontFile
एक से संबंधित हैं 'टाइप 1 फ़ॉन्ट कार्यक्रम युक्त धारा' और /FontFile3
एक से संबंधित हैं एक फ़ॉन्ट कार्यक्रम जिसका प्रारूप है जिसमें 'धारा स्ट्रीम शब्दकोश में उपप्रकार प्रविष्टि द्वारा निर्दिष्ट ' {इसलिए या तो टाइप 1 C या CIDFontType0 सबटाइटल सबटाइटल } हो रहा है।))
पीडीएफ ऑब्जेक्ट विशेष रूप से देखने के लिए। 15 (जो फ़ॉन्ट / एरियलएमटी रखता है ), कोई भी -o 15
पैरामीटर का उपयोग कर सकता है :
pdf-parser.py -o 15 big1.pdf
obj 15 0
Type:
Referencing:
Contains stream
<<
/Length1 778552
/Length 1581435
/Filter /ASCIIHexDecode
>>
यह pdf-parser.py
आउटपुट हमें बताता है कि इस ऑब्जेक्ट में एक स्ट्रीम है (जो इसे सीधे प्रदर्शित नहीं करेगा) जिसकी लंबाई 1.581.435 बाइट्स है और ASCIIHexEncode के साथ एन्कोडेड (== "संपीड़ित") है और इसे डीकोड करना होगा (= "de-" मानक /ASCIIHexDecode
फिल्टर की मदद से संपीड़ित "या" फ़िल्टर्ड ") ।
ऑब्जेक्ट से किसी भी स्ट्रीम को डंप करने के लिए, पैरामीटर के pdf-parser.py
साथ कॉल किया जा सकता है -d dumpname
। हो जाए:
pdf-parser.py -o 15 -d dumped-data.ext big1.pdf
हमारा एक्सट्रेक्टेड डेटा डंप डंप-data.ext नाम की फाइल में होगा । आइए देखें कि यह कितना बड़ा है:
ls -l dumped-data.ext
-rw-r--r-- 1 kurtpfeifle staff 1581435 Apr 11 00:29 dumped-data.ext
ओह देखो, यह 1.581.435 बाइट्स है। हमने पिछले कमांड के आउटपुट में यह आंकड़ा देखा। पाठ संपादक के साथ इस फ़ाइल को खोलने से पुष्टि होती है कि इसकी सामग्री ASCII hex एन्कोडेड डेटा है।
फ़ाइल को फ़ॉन्ट पढ़ने वाले टूल की तरह खोलने otfinfo
( जैसे यह lcdf-typetools
पैकेज का एक हिस्सा है ) से पहली बार में कुछ निराशा होगी:
otfinfo -i dumped-data.ext
otfinfo: dumped-data.ext: not an OpenType font (bad magic number)
ठीक है, यह इसलिए है क्योंकि हमने (अभी तक) pdf-parser.py
इसके पूर्ण जादू का उपयोग नहीं किया है: एक फ़िल्टर्ड, डीकोडेड स्ट्रीम को डंप करने के लिए। इसके लिए हमें -f
पैरामीटर जोड़ना होगा :
pdf-parser.py -o 15 -f -d dumped-data-decoded.ext big1.pdf
इस नई फ़ाइल का आकार क्या है?
ls -l dumped-data-decoded.ext
-rw-r--r-- 1 kurtpfeifle staff 778552 Apr 11 00:39 dumped-data-decoded.ext
ओह, देखो: वह सटीक संख्या भी पहले से ही पीडीएफ ऑब्जेक्ट नं में संग्रहीत थी। कुंजी के लिए मूल्य के रूप में 15 शब्दकोश /Length1
...
यह क्या file
सोचता है?
file dumped-data-decoded.ext
dumped-data-decoded.ext: TrueType font data
otfinfo
इसके बारे में हमें क्या बताता है?
otfinfo -i dumped-data-decoded.ext
Family: Arial
Subfamily: Regular
Full name: Arial
PostScript name: ArialMT
Version: Version 5.10
Unique ID: Monotype:Arial Regular:Version 5.10 (Microsoft)
Designer: Monotype Type Drawing Office - Robin Nicholas, Patricia Saunders 1982
Manufacturer: The Monotype Corporation
Trademark: Arial is a trademark of The Monotype Corporation.
Copyright: © 2011 The Monotype Corporation. All Rights Reserved.
License Description: You may use this font to display and print content as permitted by
the license terms for the product in which this font is included.
You may only (i) embed this font in content as permitted by the
embedding restrictions included in this font; and (ii) temporarily
download this font to a printer or other output device to help
print content.
Vendor ID: TMC
तो बिंगो!, हमारे पास एक विजेता है: pdf-parser.py
वास्तव में हमारे लिए एक वैध फ़ॉन्ट फ़ाइल निकालता है। इस फ़ाइल के आकार (778.552 बाइट्स) को देखते हुए, ऐसा लगता है कि यह फ़ॉन्ट पूरी तरह से पीडीएफ में भी एम्बेड किया गया था ...
हम इसे arial-regular.ttf में बदल सकते हैं और इसे ऐसे स्थापित कर सकते हैं और खुशी से इसका उपयोग कर सकते हैं।
चेतावनियां:
किसी भी मामले में आपको फॉन्ट पर लागू होने वाले लाइसेंस का पालन करना होगा। कुछ फ़ॉन्ट लाइसेंस मुफ्त उपयोग और / या वितरण की अनुमति नहीं देते हैं। पायरिंग फोंट किसी भी सॉफ्टवेयर या अन्य कॉपीराइट सामग्री को पायरेट करने जैसा है।
अधिकांश PDF जो कि वाइल्ड आउट में हैं, वैसे भी पूर्ण फ़ॉन्ट एम्बेड नहीं करते हैं, लेकिन केवल सबसेट हैं। एक फ़ॉन्ट का सबसेट निकालने केवल एक बहुत ही सीमित दायरे में उपयोगी है, अगर सब पर।
कृपया इसके अलावा पेशेवरों और (और) के बारे में पढ़ें फ़ॉन्ट निष्कर्षण प्रयासों के बारे में विपक्ष: