Используя apache FOP, вы хотите создать заголовок с логотипом, выровненным по левому краю, трехстрочный адрес, выровненный по правому краю, оба выровненные по верху.
Следующее работает нормально, если выполняется внутри потока, но в заголовке статического содержимого ('xsl-region-before') он получает правильное влево и вправо, но выравнивает логотип под блоком адреса, как если бы определение таблицы полностью игнорируется.
Я пробовал другие варианты, такие как попытка встроить два или использовать плавающие числа, с похожими результатами. Заголовок просто обрабатывает их как отдельные блоки и складывает их. У кого-нибудь есть предложения?
Я обнаружил, что эта другая проблема задает тот же вопрос о нижних колонтитулах, увы нет ответов:
Нужны instream-foreign-object и text для выравнивания по низу в XSL-FO
Ниже приведен соответствующий фрагмент:
<fo:layout-master-set>
<fo:simple-page-master page-height="8.5in" page-width="11in" master-name="only" margin=".5in .5in .5in .5in">
<fo:region-body region-name="xsl-region-body" margin-top="1in" margin-bottom=".5in"/>
<fo:region-before region-name="xsl-region-before"/>
<fo:region-after region-name="xsl-region-after"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="only">
<fo:static-content flow-name="xsl-region-before">
<fo:block font-size="7pt">
<fo:table width="10in">
<fo:table-column/>
<fo:table-column/>
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block>
<fo:external-graphic src="img/print_logo.png" content-width="2in"/>
</fo:block>
</fo:table-cell>
<fo:table-cell display-align="center">
<fo:block text-align="right">
123 Credibility Street
</fo:block>
<fo:block text-align="right">
Chicago, IL 60606
</fo:block>
<fo:block text-align="right">
312-123-4567
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
</fo:static-content>