その時々

その時々で違うんです。特に決まっていないんです。

UbuntuでApacheFOP その2

ページの領域を設定してみます。

sample.xml

<?xml version="1.0" encoding="utf-8"?>
<column>
  <title>
    攻略! XSL-FO
  </title>
  <abstract>
    今度はXMLファイルからXSLTを利用してXSL-FOからPDFを作成します。
  </abstract>
</column>

sample2.xsl

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
		xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
		xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <xsl:output method="xml" indent="yes"/>

  <xsl:template match="/column">

    <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

      <fo:layout-master-set>
	<fo:simple-page-master master-name="A4-portrait"
			       page-height="29.7cm" page-width="21.0cm" margin="2cm">
	  <fo:region-body margin-top="1cm"/>
	  <fo:region-before background-color="yellow" extent="10mm"/>
	  <fo:region-after background-color="yellow" extent="10mm"/>
	  <fo:region-start background-color="#EFEFEF" extent="16mm"/>
	  <fo:region-end background-color="#EFEFEF" extent="16mm"/>
	</fo:simple-page-master>
      </fo:layout-master-set>

      <fo:page-sequence master-reference="A4-portrait">
	<fo:static-content flow-name="xsl-region-start">
	  <fo:block font-family="TakaoGothic" font-size="15pt"></fo:block>
	</fo:static-content>
	<fo:static-content flow-name="xsl-region-end">
	  <fo:block font-family="TakaoGothic" font-size="15pt"></fo:block>
	</fo:static-content>
	<fo:static-content flow-name="xsl-region-before">
	  <fo:block font-family="TakaoGothic" font-size="15pt"></fo:block>
	</fo:static-content>
	<fo:static-content flow-name="xsl-region-after">
	  <fo:block font-family="TakaoGothic" font-size="15pt"></fo:block>
	</fo:static-content>
	<fo:flow flow-name="xsl-region-body">
	  <fo:block font-size="14pt" color="red" margin="0.5cm" font-family="TakaoGothic">
	    <xsl:value-of select="title"/>
	  </fo:block>
	  <fo:block font-size="12pt" margin="0.5cm" font-family="TakaoGothic">
	    <xsl:value-of select="abstract"/>
	  </fo:block>
	</fo:flow>
      </fo:page-sequence>
    </fo:root>

  </xsl:template>

</xsl:stylesheet>

PDF作成

$ fop -c ~/fop.xconf -xml sample.xml -xsl sample2.xsl sample2.pdf

sample2.pdf