2015-06-04 130 views
0

有什么方法可以使用FO添加我的PDF渐变背景?它也可以是背景图片,并不重要。但我想添加到页面,而不仅仅是身体区域。PDF的渐变背景

回答

2

当然可以。 On会创建一个SVG图像,以匹配他们想要的渐变效果。对于这个例子,我使用从黄色到红色的线性渐变,从左到右。

<svg xmlns="http://www.w3.org/2000/svg" version="1.0" height="1in" width="8.5in"> 
    <defs> 
     <linearGradient id="grad1" x1="0%" y1="0%" x2="100%" y2="0%"> 
      <stop offset="0%" style="stop-color:rgb(255,255,0);stop-opacity:1" /> 
      <stop offset="100%" style="stop-color:rgb(255,0,0);stop-opacity:1" /> 
     </linearGradient> 
    </defs> 
    <rect width="8.5in" height="1in" fill="url(#grad1)" /> 
</svg> 

然后,插入作为用于区域之前的页面的背景图像和页面的程度设置到页面的整个高度:

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg" 
    font-family="Times" font-size="16px"> 
    <fo:layout-master-set> 
     <fo:simple-page-master master-name="backgrad" page-width="8.5in" page-height="11in"> 
      <fo:region-body/> 
      <fo:region-before extent="11in" background-image="backgrad.svg"/> 
     </fo:simple-page-master> 
    </fo:layout-master-set> 
    <fo:page-sequence master-reference="backgrad"> 
     <fo:flow flow-name="xsl-region-body"> 
      <fo:block> 
       Hello 
      </fo:block> 
     </fo:flow> 
    </fo:page-sequence> 
</fo:root> 

结果是这样的:

enter image description here

+0

您使用的是什么FO处理器? – PhillyNJ

+1

我使用RenderX XEP和Apache FOP 1.1测试了它,适用于两者。 –

+0

谢谢。我会尝试,但我已经找到了使用背景图像的方法。 ** * * – levipadre