2012-04-29 35 views
10

मेरे पास एमआईएम मल्टी-पार्ट डेटा है जिसे मैं एक्सएसएल: एफओ का उपयोग करके पीडीएफ में कनवर्ट करना चाहता हूं। मैं reading MIMEApache James का उपयोग कर आरामदायक हूं और मुझे माइम में embedded image data या HTML में inline images पर एक समझ है। मैंने "[xsl-fo] inline graphic" और "[xsl] +html +mime +image" के लिए परिश्रमपूर्वक एसओ की खोज की और किसी भी तरह the opposite और precurser जो मैं कर रहा हूं उसे मिला। Google on "convert HTML MIME to XSL:FO" भी अनिश्चित था।एक्सएसएल में इनलाइन छवि डेटा: एफओ/अपाचे एफओपी

मैं जो करना चाहता हूं वह एक तत्व (या तत्वों का एक समूह) है जो एक एक्सएसएल के पीडीएफ आउटपुट में ग्राफिक (जेपीजी/पीएनजी/जीआईएफ - सभी या उनमें से कुछ) प्रस्तुत करता है: एफओ रूपांतरण। ग्राफ़िक डेटा के अंदर .fo फ़ाइल को बेस 64 (या अन्यथा) एन्कोडेड डेटा के रूप में शामिल किया जाना चाहिए। मैंने पाया कि external graphics पर इंगित करने के लिए, लेकिन एम्बेडेड ग्राफ़िक डेटा के बारे में कुछ भी नहीं।

यह कैसे काम करेगा?

उत्तर

25

तत्व fo:external-graphic का उपयोग इनलाइन डेटा को एम्बेड करने के लिए भी किया जा सकता है।

<fo:external-graphic src="url('data:image/jpeg;base64,<DATA>')"/> 

<DATA> JPEG छवि के अपने बेस 64 डेटा तार के साथ प्रतिस्थापित किया जाना चाहिए: बस निम्न सिंटैक्स का उपयोग।

+0

उत्कृष्ट, धन्यवाद! – stwissel

+0

@ मार्टिन, क्या आप कुछ संदर्भ दस्तावेज को इंगित कर सकते हैं जहां यह समझाया गया है? एक्सएसएल विनिर्देश के अनुसार, 'src' विशेषता का मान "यूरी-विनिर्देश" होना चाहिए ('src = url (...)')। – mzjn

+1

@mzjn: आप सही हैं। मुझे 'src'value को 'url()' के साथ मानक के अनुरूप होने के लिए लपेटना चाहिए था। चूंकि मैं मुख्य रूप से एफओपी का उपयोग करता हूं जो शॉर्टेंड फॉर्म स्वीकार करता है, मैंने स्पष्ट 'url()' निर्माण के बारे में नहीं सोचा था। मैं तदनुसार जवाब संपादित करूंगा। – Martin