2011-09-22 10 views
5

पर प्रतीक फ़ॉन्ट मैं एचटीएमएल को पीडीएफ में परिवर्तित करने के लिए एबीसीपीडीएफनेट घटक का उपयोग कर रहा हूं। कुछ HTML कुछ वर्ण प्रदर्शित करने के लिए प्रतीक फ़ॉन्ट का उपयोग करते हैं। दुर्भाग्य से, हम किसी तृतीय पक्ष से HTML का उपभोग कर रहे हैं, और इसे बदला नहीं जा सकता है।एबीसीपीडीएफ

मेरा विकास पर्यावरण फ़ॉन्ट को सही तरीके से प्रदर्शित करता है, लेकिन मेरा उत्पादन वातावरण नहीं होगा। यह कार्य करता है जैसे कि फ़ॉन्ट स्थापित नहीं है, भले ही यह है। यदि मैं उत्पादन वातावरण पर इंटरनेट एक्सप्लोरर में एक ही एचटीएमएल प्रस्तुत करता हूं, तो यह ठीक दिखता है।

मैंने फ़ॉन्ट को एक .eot के रूप में एम्बेड करने और शीर्षलेख में @ फ़ॉन्ट-फेस शैली प्रदान करने का प्रयास किया है। मैंने TheDoc.AddFont ('Symbol') का उपयोग करने का प्रयास किया है। कोई सुझाव?

उत्पाद: ABCpdf नेट 7 x64

उत्पादन ओएस: Windows Server 2003 x64, IE8

विकास ओएस: Win7 x64, IE8

उत्तर

2

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

असली समाधान HTML के माध्यम से कंघी करना था और यह सुनिश्चित करना था कि सभी प्रतीकों font-weight: normal !important से घिरे हुए थे। यह शायद एक कम सुरुचिपूर्ण समाधान है, लेकिन यह प्रभावी है। एकमात्र प्रतीक जो अभी भी यादृच्छिक रूप से दिखाने के लिए मना कर दिया गया है कोण प्रतीक (∠) है। इसके लिए, मैंने इसे एक छवि के साथ बदल दिया। मैं अभी भी यह नहीं समझ सकता कि यह क्यों नहीं दिखाई देगा।

2

सर्वर को पुनः प्रारंभ करके।

मुझे एबीसीपीडीएफ पर फोंट के साथ एक ही समस्या है। हालांकि फोंट स्पष्ट रूप से स्थापित किए गए थे, किसी कारण से, ABDPdf ने उन्हें तब तक नहीं उठाया जब तक कि मशीन को पुनरारंभ नहीं किया जाता।

एक ही चीज़ को प्राप्त करने के कुछ गैर-पुनरारंभ करने का तरीका हो सकता है, लेकिन यह समझने में समस्या होगी कि समस्या क्या है! यदि यह आसान है, तो बस पुनरारंभ करने का प्रयास करें।

+0

हाँ, प्रलेखन कहता है कि फोंट वास्तव में कैश किए जाते हैं और प्रक्रिया को पुनरारंभ होने तक पुनः लोड नहीं किया जाएगा। दुर्भाग्यवश, यह मेरी समस्या नहीं है, लेकिन धन्यवाद! =] – samiz

6

वेबसुपरगू समर्थन टीम ने फिक्स से जवाब दिया: फ़ॉन्ट से संबंधित एचटीएमएलऑप्शन सेट करना। मैंने इन विकल्पों को सेट किया है, और यह समस्या को हल किया है। वाह!

If you want to embed the fonts used in a web page/HTML you need to use: 
    Doc.HtmlOptions.FontEmbed = True 
You may also need to set 
    Doc.HtmlOptions.FontSubstitute = False 
and possibly: 
    Doc.HtmlOptions.FontProtection = False 
before you use the Doc.AddImageUrl or Doc.AddImageHtml methods. 

संपादित करें: मैं नीचे टिप्पणी में उल्लेख के रूप में, विकल्प है कि चाल किया FontProtection = झूठा था।

+1

क्या आपने व्यक्तिगत रूप से कोशिश की कि कोड की कौन सी रेखा, या रेखाओं के संयोजन ने यह आपके लिए काम किया है? मैंने सफलता के बिना अतीत में पहली पंक्ति की कोशिश की है - हालांकि मैं इसे गलत जगह पर इस्तेमाल कर रहा हूं। –

+1

मैंने वास्तव में किया था। समस्या को केवल फ़ॉन्ट संरक्षण सेट के साथ हल किया गया है। – samiz

+0

मुझे अपने पीडीएफ के साथ समस्याएं आई थीं जो मैं HTML से उत्पन्न करता हूं और अपने आईपैड ऐप में दिखाता हूं। समस्या बुलेट अंक गलत प्रस्तुत किया गया था। मैंने फ़ॉन्ट प्रकार बदल दिया और 'Doc.HtmlOptions.FontEmbed = True' सेट किया और यह मेरी समस्या हल हो गई। –

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