2017-10-23 18 views
1

リンクを含むPDFファイルを生成していて、PDFビューアで表示するときとは違った表示をしたいと思っています。それらを見るとき、リンクの周りに青色の境界線がありますが、印刷されたときは境界線はありません。XSL-FO PDFでのハイパーリンク - アンテナハウスの表示をオフにする

私はAntenna House Formatter v6.3を使用しており、axf:layer-settingsとaxf:layerを使用してレイヤーを作成し、それらのレイヤーの印刷と表示動作を制御できることを認識しています。しかし、私は上記の動作を達成するのに成功していません(私は、境界線だけでなくリンク全体が印刷されなくてもかまいません)。

XSL-FOと書式設定エンジンによって生成されたPDFのリンクを表示と印刷の外観が異なるようにする方法はありますか?

+0

私に連絡してください。 'fo:inline-container'の中に2つの相対的な位置にあるブロックとしてテキストの2つのバージョンを重ねることで可能になるはずです(ただし、リンク内に改行がない場合)。 –

+0

それは非常に感謝される、リンクに改行は含まれません:) –

答えて

0

これを試してください。あなたは、フォントによっては、baseline-shift値を調整する必要があります:

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" 
    xmlns:axf="http://www.antennahouse.com/names/XSL/Extensions" 
    axf:layer-settings="'layer4' view off print on,'layer5' view on print off export off"> 
... 
<fo:block space-before="1em">abcd <fo:inline-container alignment-baseline="baseline" baseline-shift="-3pt"> 
    <fo:block-container position="absolute" axf:layer="layer5"> 
     <fo:block> 
      <fo:basic-link border="thin solid blue" alignment-baseline="baseline" external-destination="http://www.antennahouse.com/">Antenna House</fo:basic-link> 
     </fo:block> 
    </fo:block-container> 
    <fo:block-container axf:layer="layer4"> 
     <fo:block> 
      <fo:basic-link border="thin solid transparent" external-destination="http://www.antennahouse.com/">Antenna House</fo:basic-link> 
     </fo:block> 
    </fo:block-container> 
</fo:inline-container> efgh</fo:block> 

は、PDF 1.5以降が必要です。 https://www.antennahouse.com/product/ahf65/ahf-ext.html#pdf-layer

+0

魅力のように動作します。 –

+0

最も外側の 'fo:block'に' text-align'を '' center ''や' 'right" 'に設定すると、結果がちょっと変わってきます。 2つの層は、互いにオフセットしているように見える。なぜ 'text-align =" right "'を使用しても、2つのレイヤーを重ねて生成する方法があるのか​​どうか、考えていますか? –

関連する問題