Hi,
The solution in that link uses an fo:block-container to rotate an image on a portrait
page. That gives the image the width that it needs, and works fine for print output,
but if your readers are primarily using PDFs, it requires the reader to either tilt
their head or rotate the page in the PDF reader.
Another solution more suited to PDF readers is to add landscape page-masters to your
stylesheet customization. The simplest version defines pages that use the vertical
dimension of the portrait page for the page width of the landscape page, and the
horizontal portrait dimension for the landscape page height. When such a page is
displayed in a PDF reader, it is displayed in landscape view, so the figure is
upright. The reader sees pages switch from portrait to landscape view as they browse
pages.
With that solution, you will need to examine the page headers and footers. They will
appear at the top and bottom of the landscape page, and thus be wider than they were
before, to match the wider page. If the document is printed out and collated into a
portrait book, then such pages will show the image and the headers and footer
sideways.
If you want your landscape headers and footers to match those on the portrait pages,
then you need to do more. It requires adding start and end regions to the page
masters, moving the header and footer tables to those regions, and rotating them so
they are sideways when the page is viewed in landscape.
If you decide to go with landscape page masters, then you have the problem of getting
individual pages to use the page masters. Most figures are part of a chapter or
article that is in a page-sequence in XSL-FO. One page-sequence can only use one
page-master, and you cannot nest page-sequences. That situation led G. Ken Holman to
invent the Page Sequence Master Interleave (PSMI) solution. It can be used to break a
single page-sequence into several page-sequences. It requires one pass of XSL
processing to insert psmi:page-sequence elements in an fo:flow element, and a second
pass to convert those to real fo:page-sequences, each with an fo:flow element.
As you see, it can get pretty complicated, but it is capable of producing good
results.
Bob Stayton
Sagehill Enterprises
[email protected]
----- Original Message -----
From: "Rouvinez, Jean-Claude" <[email protected]>
To: <[email protected]>
Sent: Tuesday, July 20, 2010 11:56 PM
Subject: [docbook] Landscape images within a portrait DocBook document.
Hi,
We want create a DocBook document in a portrait format.
Some graphics (UML graphics) must be rendered in a landscape format because they are
too large.
How is it possible to display the graphics in a lanscape format within a document in a
portrait format?
The most valuable link I found on the internet is this:
http://www.sagehill.net/docbookxsl/LandscapeImage.html
Is it another solution?
We use DocBook in the following environment:
$ mvn -version
Apache Maven 2.2.0 (r788681; 2009-06-26 15:04:01+0200)
Java version: 1.6.0_16
Java home: C:\Programme\Java\jdk1.6.0_16\jre
Default locale: de_CH, platform encoding: UTF-8
OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"
<plugin>
<groupId>com.agilejava.docbkx</groupId>
<artifactId>docbkx-maven-plugin</artifactId>
<version>2.0.10</version>
<dependencies>
<dependency>
<groupId>org.docbook</groupId>
<artifactId>docbook-xml</artifactId>
<version>4.4</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</plugin>
Thank you for your help
Jean-Claude
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]