2012-07-26 16 views
6

मुझे सॉफ़्टवेयर का एक टुकड़ा मिला है जो एक टेक्स्ट फ़ाइल से XSL-FO विवरण बनाता है और इसे पीडीएफ दस्तावेज़ में परिवर्तित करता है। टेक्स्ट फ़ाइल में प्रत्येक पंक्ति को एफओ में fo:block में परिवर्तित किया जाता है, जो गलत लगता है, लेकिन मैं अभी इसे बदल नहीं सकता। मेरे दस्तावेज़ में ए 4 के 1 से 3 पृष्ठ हैं।मैं एक्सएसएल-एफओ और एफओपी 1.0 के साथ दो कॉलम लेआउट कैसे बना सकता हूं?

मुझे अब क्या करना है एक ग्राफिक जोड़ें जो मौजूदा पाठ के नीचे लगभग 8 सेमी चौड़ाई है। इसे बाएं-गठबंधन किया जाना चाहिए। इसके आगे मैं एक (लंबे) विवरण के साथ पाठ का एक ब्लॉक रखना चाहता हूँ।

Layout example

मैं एफओ के लिए दस्तावेजों के एक जोड़े को देखा और इस के साथ आया है:

<fo:block intrusion-displace="block" margin-top="20mm"> 
<fo:float float="right"> 
    <fo:block margin-left="20mm"> 
    Bacon ipsum dolor sit amet laborum proident... 
    </fo:block> 
</fo:float> 
    <fo:external-graphic src="image.png"/> 
</fo:block> 

यह मैं (बेशक कुछ ठीक करने के बाद) क्या चाहता था लग रहा था, लेकिन दुर्भाग्यवश एफओपी does not supportfo:float अभी तक।

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

तो मेरा प्रश्न: fo:float का उपयोग किए बिना इसे बनाने का कोई और तरीका है?

+4

बेकन ipsum के लिए +1। :-) –

+1

दो कॉलम मदद नहीं करेंगे। यदि पाठ छवि से बड़ा है, तो कॉलम बैलेंसर छवि * के नीचे पाठ * शुरू करेगा और इसे अगले कॉलम पर जारी रखेगा। यदि पाठ निश्चित रूप से छोटा है, तो तालिका अच्छी लगती है। – bytebuster

उत्तर

4

आप एक पृष्ठभूमि छवि के रूप में छवि का उपयोग करें और एक बाएं गद्दी के रूप में व्यापक है कि छवि के रूप में छोड़ने के लिए कोशिश कर सकते हैं।

<fo:block intrusion-displace="block" margin-top="20mm"> 
    <fo:block padding-left="20mm" 
     background-image="image.png" 
     background-repeat="no-repeat"> 
    Bacon ipsum dolor sit amet laborum proident... 
    </fo:block> 
</fo:block> 

छवि आगे के इलाज है कि केवल <fo:external-graphic> के साथ संभव है की जरूरत है, तो आप गद्दी तकनीक और एक अतिरिक्त, बिल्कुल तैनात ब्लॉक कंटेनर इस्तेमाल कर सकते हैं:

<fo:block intrusion-displace="block" margin-top="20mm"> 
    <fo:block padding-left="20mm"> 
    Bacon ipsum dolor sit amet laborum proident... 
    </fo:block> 
    <fo:block-container absolute-position="absolute"> 
     <fo:block> 
      <fo:external-graphic src="image.png"/> 
     </fo:block> 
    </fo:block-container> 
</fo:block> 

एक तीसरा विकल्प का उपयोग किया जाएगा मेज़।

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