2010-08-23 11 views
5

में प्रोसेसिंग इलस्ट्रेटर या पीडीएफ फाइलें एक्सएएमएल में इलस्ट्रेटर फ़ाइलों या पीडीएफ को संसाधित करने के विकल्प क्या हैं। मेरे वर्तमान कार्यप्रवाह इस तरह काम करता है:एक्सएएमएल

  1. ओपन एडोब इलस्ट्रेटर
  2. सहेजें के रूप में .ai (एडोब इलस्ट्रेटर) फ़ाइल में पीडीएफ फाइल अभिव्यक्ति डिजाइन
  3. में दाखिल
  4. ओपन करते हैं कुछ प्रसंस्करण, मुख्य रूप से अलग परतों के तत्वों और unneeded भागों को हटाने।
  5. XAML XAML
  6. जोड़ें के रूप में परियोजना

मेरी केवल समस्या ब्लेंड करने के लिए सहेजें है कि इस तरह से पाठ पथ में परिवर्तित हो जाता। मैं अपने पाठ को एक्सएएमएल में पथों के बजाय भी रखना चाहता हूं।

क्या ऐसा करने का कोई और तरीका है, इसलिए मैं पाठ रखता हूं? कोई अन्य उपकरण?

उत्तर

2

एक्सएएमएल को निर्यात करने के लिए एक (फ्री) एडोब इलस्ट्रेटर प्लगइन है। यह सुनिश्चित नहीं है कि यह वही करता है जो आप खोज रहे हैं।

यह http://www.mikeswanson.com/XAMLExport/

+0

मैंने इस प्लगइन को आजमाया और यह ठीक काम करता है, लेकिन यह दस्तावेज़ में पाठ को पथ में परिवर्तित करता है। मैं टेक्स्ट को XAML दस्तावेज़ में टेक्स्ट के रूप में रखना चाहता हूं। – gyurisc

4

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

1. दृष्टिकोण: एम्बेड फ़ॉन्ट सबसेट फ़ाइल, Base64 उत्पन्न XAML कोड में कोडित, और आवेदन एक वर्ग को लागू कि, लोड हो रहा है, अर्क पर और एक अस्थायी स्थान के लिए एक एम्बेडेड फ़ॉन्ट सबसेट फ़ाइल डीकोड और उस अस्थायी फ़ाइल को XAML लोडर पर वापस वैध यूआरआई सौंपता है।

या 2. दृष्टिकोण: मेरे आवेदन के साथ पहले से ही अधिकतर फ़ॉन्ट फ़ाइलें इंस्टॉल की गई हैं और फिर, मेरे एप्लिकेशन द्वारा कुछ समर्थन जोड़ना जो XAML को लोड करने पर स्थापित यूआरआई द्वारा फ़ॉन्ट नाम को प्रतिस्थापित करता है कोड। इस दूसरे दृष्टिकोण के साथ समस्या यह है कि ग्लिफ इंडेक्स को स्थापित फ़ॉन्ट फ़ाइल में सही तरीके से मैप किया जाना चाहिए, जो कि करने के लिए तुच्छ नहीं हो सकता है। (आप एक उदाहरण फ़ाइल के लिए एक लिंक प्राप्त कर सकते हैं जो मेरे ब्लॉग पर लोड होने के इस तरीके के लिए जेनरेट किया गया है: विशेष रूप से फ़ाइल truncatedcone-xaml.txt)

संक्षेप में: दोनों समाधानों को XAML कनवर्टर के लिए एक विशेष पीडीएफ की आवश्यकता होती है और लोडिंग आवेदन द्वारा समर्थन। कारण मैं अपने पीडीएफ को केवल पथों में परिवर्तित करने की बजाय ही ऐसा करना चाहता था कि मेरा आवेदन एक साझा व्हाइटबोर्ड है: इस प्रकार मैं चाहता हूं कि मेरे वेक्टर ग्राफिक्स जितना संभव हो सके। (अधिकांश मामलों में पथों में रूपांतरण XAML कोड को 10 या उससे अधिक के कारक द्वारा उड़ाता है)।

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

+0

महान जवाब! समय लेने और इसे लिखने के लिए धन्यवाद। मुझे TallPDF नामक एक अच्छा घटक मिला जो मुझे उम्मीद है कि मेरे पास पीडीएफ के बाहर xaml का उत्पादन हो सकता है। यह पीडीएफ से एक्सपीएस बना सकता है और अब मुझे यह पता लगाने की जरूरत है कि xps से xaml को कैसे बनाया जाए। – gyurisc

1

अच्छी तरह से एक एक्सपीएस फ़ाइल वास्तव में एक ज़िप फ़ाइल है। तो यदि आप इसे ज़िप-संग्रहकर्ता के साथ खोलते हैं या यदि आप ज़िप के विस्तार का नाम बदलते हैं तो आप देख सकते हैं कि अंदर क्या है। इसमें पहले से ही एक्सएएमएल कोड के रूप में पृष्ठ शामिल हैं (उन फाइलों में फॉर्म [pagenumber] .fpage है)। हालांकि, एक्सएएमएल कोड अन्य फाइलों (जैसे रास्टर छवियों और फ़ॉन्ट सबसेट फाइलों, जैसे कि आमतौर पर odttf फ़ाइलों - मूल रूप से एन्क्रिप्टेड सच्ची प्रकार की फाइलें) को संदर्भित कर सकता है जो कि ज़िप संग्रह में भी शामिल हैं। जिसका अर्थ है कि एक्सएएमएल कोड जो आपको एक्सपीएस दस्तावेज़ में मिलता है, आपके आवेदन में शुद्ध एक्सएएमएल के रूप में सीधे उपयोग नहीं किया जा सकता है। मैंने XAML फ़ाइलों को प्राप्त करने के लिए एक्सपीएस दस्तावेजों (माइक्रोसॉफ्ट एक्सपीएस दस्तावेज़ राइटर द्वारा जेनरेट) से लिया गया एक्सएएमएल का रूपांतरण करने के लिए पाइथन स्क्रिप्ट लिखी हैं, जो मेरा एप्लिकेशन लोड कर सकता है (ऊपर 1 और 2 दृष्टिकोण देखें)। मैं आपको उन पायथन स्क्रिप्ट्स की प्रतियां भेज सकता हूं (वे विशेष रूप से महान कोड नहीं हैं, जो मेरे लिए कोई समस्या नहीं है क्योंकि अब मैं पीडीएफ को एक्सएएमएल में परिवर्तित करने के लिए एक अलग दृष्टिकोण का उपयोग कर रहा हूं)।

+0

मुझे आपकी पायथन लिपि का प्रयास करना अच्छा लगेगा। पीडीएफ से एक्सएएमएल में कनवर्ट करने का आपका दृष्टिकोण क्या है? यदि संभव हो तो मैं फोंट और टेक्स्ट रखना चाहूंगा। – gyurisc

+0

मैंने आपके ईमेल पते पर अपनी साइट पर एक टिप्पणी छोड़ी। आपकी सहायता के लिए अग्रिम धन्यवाद! – gyurisc

1

@gyurisc: फ़ॉन्ट फ़ाइल रखते हुए काम करना चाहिए लेकिन पाठ बाहर बारी एक समस्या हो सकती है, क्योंकि जैसा कि आप देख रखते हुए, ग्लिफ़ पात्रों नहीं हैं। हो सकता है कि आप उस फ़ॉन्ट फ़ाइल की जांच करके चरित्र को समझ सकें जो दिया गया ग्लिफ का हिस्सा है, लेकिन इसमें फ़ॉन्ट फ़ाइल को पार्स करना शामिल होगा। यदि आप दुर्भाग्यपूर्ण हैं, तो आपका पीडीएफ एक्सपीएस कनवर्टर भी फ़ॉन्ट सबसेट फ़ाइलों में पर्याप्त जानकारी नहीं रखता है ताकि चरित्र को दिए गए ग्लिफ (बहुत संभावना) का प्रतिनिधित्व किया जा सके।

उदाहरण के लिए: यदि मैं माइक्रोसॉफ्ट के एक्सपीएस दस्तावेज़ राइटर की मदद से पीडीएफ फ़ाइल को एक्सपीएस में परिवर्तित करता हूं, और फिर उस एक्सपीएस दस्तावेज़ से टेक्स्ट का एक टुकड़ा चुनने का प्रयास करता हूं, तो मैं इसे क्लिपबोर्ड पर कॉपी कर सकता हूं। हालांकि, अगर मैं इसे वापस Word दस्तावेज़ में पेस्ट करता हूं, तो मुझे कचरा मिलता है। जबकि अगर मैं मूल पीडीएफ दस्तावेज में वही टेक्स्ट का टुकड़ा चुनता हूं और उसे उसी वर्ड दस्तावेज़ में पेस्ट करता हूं, तो मुझे उचित अर्थपूर्ण पाठ मिलता है। तो माइक्रोसॉफ्ट के एक्सपीएस दस्तावेज़ लेखक स्पष्ट रूप से टेक्स्ट के रूप में "ग्लिफ रन" की व्याख्या की परवाह नहीं करते हैं, और इस प्रकार मुझे लगता है कि जेलीफ इंडेक्स के बीच का लिंक जो जेनरेट किए गए एक्सपीएस कोड में मिलता है और वर्ण वे हैं प्रतिनिधित्व करने के लिए उस बिंदु पर पहले ही टूटा हुआ है। (लेकिन, स्वीकार्य रूप से, यह सिर्फ एक अनुमान है।)

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

+0

यह समझ में आता है। मुझे लगता है कि जब मैंने अंदर खोज की तो मेरी परिवर्तित एक्सपीएस फ़ाइलों में कोई टेक्स्ट नहीं मिला। इसे साफ़ करने के लिए धन्यवाद! – gyurisc

संबंधित मुद्दे