2013-02-05 48 views
8

XSL-FO (एफओपी) के साथ, मैं एक बाहरी पीडीएफ के लिए एक लिंक बनाने में सफल:एफओपी XSL-FO एंकर एक बाहरी गंतव्य में

<fo:basic-link show-destination="new"> 
<xsl:attribute name="external-destination">foo.pdf</xsl:attribute> 
</fo:basic-link> 

लेकिन अब, मैं इस में एक लंगर तक पहुँचने के लिए चाहते हैं बाहरी पीडीएफ तो मैंने ऐसा कुछ बनाने की कोशिश की:

<fo:basic-link show-destination="new"> 
<xsl:attribute name="external-destination">foo.pdf#anchorId</xsl:attribute> 
</fo:basic-link> 

दुर्भाग्यवश, जब मैं जेनरेट किए गए लिंक पर क्लिक करता हूं, तो मुझे एक त्रुटि मिलती है। यह दस्तावेज़ foo.pdf% 23anchorId खोलने का प्रयास करता है।

मेरी .fo फ़ाइल में लिंक के साथ एक # सही है लेकिन इस # पीडीएफ में परिवर्तन के दौरान गलत व्याख्या की है।

क्या आपके पास इस समस्या को हल करने का कोई विचार है? आंतरिक और बाहरी:

धन्यवाद,

जोहान

उत्तर

11

एफओपी के लिए हम कड़ी से दो की है।

बाहरी के लिए आप उपयोग कर सकते हैं:

<fo:basic-link 
    external-destination="url('http://www.paulmccartney.com')" 
    color="blue" text-decoration="underline"> 
    Paul McCartney 
    </fo:basic-link> 

और आंतरिक लिंक एक ही दस्तावेज़ में किसी अन्य स्थान पर एक दस्तावेज़ में एक स्थान से लिंक कर रहे हैं। आंतरिक लिंक बनाने के लिए दो चरण हैं:

सबसे पहले, स्थान से जुड़े स्थान पर एक अद्वितीय आईडी दें। आईडी आईडी विशेषता के साथ निर्दिष्ट हैं। मूल्य हार्ड कोड या उत्पन्न किया जा सकता है। नीचे दिए गए उदाहरण में, हम आईडी जेनरेट करने के लिए उत्पन्न आईडी() XSLT समारोह का उपयोग करें:

<fo:block font-weight="bold" font-size="larger" 
id="{generate-id(.)}" break-before="page"> 
    <xsl:value-of select="."/> 
</fo:block> 

दूसरा, उस स्थान से लिंक करें। बाहरी लिंक के साथ, टैग के साथ आंतरिक लिंक बनाए जाते हैं। आंतरिक-गंतव्य विशेषता दस्तावेज़ में कहीं और आईडी के मान पर सेट की जानी चाहिए।

<fo:basic-link internal-destination="{generate-id(.)}"> 
<xsl:value-of select="."/> 
</fo:basic-link> 

मैं तुम्हें 'बाहरी-गंतव्य' में 'url' कीवर्ड शामिल करने के लिए विशेषता

+0

आपकी प्रतिक्रिया के लिए धन्यवाद नवीन याद किया लगता है। ऐसा लगता है कि मैं एक संकर लिंक (बाहरी और आंतरिक दोनों) नहीं बना सकता। इसके अलावा, मुझे लगता है कि मुझे अपनी विशेषता में 'url' शामिल करने की आवश्यकता नहीं है क्योंकि मैं उसी फ़ोल्डर में स्थित पीडीएफ फ़ाइल की ओर एक लिंक बनाना चाहता हूं। – Johann