1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dromara-x-easypdf

 / Детали:

Текст QR-кода не отображается корректно в рабочей среде.

Предстоит сделать
Владелец
Создано  
03.03.2025

JDK:21
x-easy-pdf:3.2.1
Операционная система: CentOS 7
Файл шрифта: simfang.ttf

Проблемный скриншот представлен ниже:
Иллюстрация ввода

Локальная операционная система: macOS
Нормальное отображение представлено ниже:
Иллюстрация ввода```xml

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:fox="http://xmlgraphics.apache.org/fop/extensions"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:xe="http://www.x-easypdf.cn/ns">

fo:layout-master-set

<fo:simple-page-master master-name="A4" margin="20px" page-height="29.7cm" page-width="21cm">

<fo:region-body margin-top="3cm"/>
<fo:region-before extent="3cm"/>
</fo:simple-page-master>
</fo:layout-master-set>

<fo:page-sequence master-reference="A4">

<fo:static-content flow-name="xsl-region-before">
<fo:block-container height="3cm" width="50%" position="absolute" top="0cm" left="0cm">
fo:block

<fo:external-graphic src="${logo}" content-height="2.5cm" content-width="auto" />
</fo:block>
</fo:block-container>
<fo:block-container width="50%" height="3cm" position="absolute" top="0cm" right="0cm">

<fo:block text-align="right">
fo:instream-foreign-object
<xe:barcode content="https://xj.maxminds.cn/task/history/detail/${task.taskHistoryId}"
height="2.5cm" type="qr_code" width="2.5cm" words="Сканирование для просмотра онлайн"
words-family="黑体" words-color="#abb2bf"/>
</fo:instream-foreign-object>
</fo:block>
</fo:block-container>
</fo:static-content>

<fo:flow flow-name="xsl-region-body">
<fo:block font-family="黑体">
<fo:table table-layout="fixed">
fo:table-body
fo:table-row
<fo:table-cell number-columns-spanned="4" text-align="center" border="1 solid black" margin="0" padding="0">
<fo:block font-weight="500">
fo:inline${task.taskName}</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
fo:table-row
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inlineНазвание задачи</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inline
${task.taskName}
</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inlineСтатус выполнения</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inline
<#if task.status=='0'>В ожидании</#if>
<#if task.status=='1'>В процессе</#if>
<#if task.status=='2'>Выполнено</#if>
<#if task.status=='3'>Пропущено сроки</#if>
</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
fo:table-row
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inlineКатегория задачи</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inline${task.taskTypeName!''}</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inlineНаименование оборудования</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inline${task.equipmentName}</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
fo:table-row
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inlineПроект</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell number-columns-spanned="3" text-align="center" border="1 solid black" margin="0" padding="0">
fo:block
fo:inline${task.projectName}</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
fo:table-row
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inlineДата начала</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inline
<#if task.allowPostStartTime??>
${task.allowPostStartTime?string("yyyy-MM-dd HH:mm")}
</#if>
</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inlineДата окончания</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inline
<#if task.allowPostEndTime??>
${task.allowPostEndTime?string("yyyy-MM-dd HH:mm")}
<#else>
Без ограничений
</#if>
</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
fo:table-row
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inlineИсполнитель</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inline${task.operatorName!''}</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inlineДата последнего действия</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inline
<#if task.lastOptTime??>
${task.lastOptTime?string("yyyy-MM-dd HH:mm")!''}
</#if>
</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
fo:table-row
<fo:table-cell number-columns-spanned="4" text-align="center" border="1 solid black" margin="0" padding="0">
<fo:block font-weight="500">
fo:inlineДетали задачи</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
<#if form.checkItems??>
fo:table-row
<fo:table-cell number-rows-spanned="${form.checkItems?size}" text-align="center" display-align="center" border="1 solid black" margin="0" padding="0">
fo:block
fo:inlineЭлементы проверки и обслуживания</fo:inline>
</fo:block>
</fo:table-cell>
<#if form.checkItems[0].status == "normal">
<fo:table-cell text-align="center" border="1 solid black" margin="0" padding="0">
fo:block
fo:inlineНормальное состояние</fo:inline>
</fo:block>
</fo:table-cell>
</#if>
<#if form.checkItems[0].status == "error">
<fo:table-cell text-align="center" border="1 solid black" margin="0" padding="0">
<fo:block color="red">
fo:inlineОшибка</fo:inline>
</fo:block>
</fo:table-cell>
</#if>
<fo:table-cell number-columns-spanned="2" text-align="center" border="1 solid black" margin="0" padding="0">
fo:block
fo:inline${form.checkItems[0].label}</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
<#list form.checkItems[1..] as item>
fo:table-row
<#if item.status == "normal">
<fo:table-cell text-align="center" border="1 solid black" margin="0" padding="0">
fo:block
fo:inlineНормальное состояние</fo:inline>
</fo:block>
</fo:table-cell>
</#if>
<#if item.status == "error">
<fo:table-cell text-align="center" border="1 solid black" margin="0" padding="0">
<fo:block color="red">
fo:inlineОшибка</fo:inline>
</fo:block>
</fo:table-cell>
</#if>
<fo:table-cell number-columns-spanned="2" text-align="center" border="1 solid black" margin="0" padding="0">
fo:block
fo:inline${item.label}</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
</#list>
</#if>
<#if form.localtion??>
fo:table-row
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inlineЛокация</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell number-columns-spanned="3" text-align="center" border="1 solid black" margin="0" padding="0">
fo:block
fo:inline${form.localtion}</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
</#if>
<#if form.images?exists>
fo:table-row
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inlineФотографии местности</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell number-columns-spanned="3" text-align="center" border="1 solid black" margin="0" padding="0">
fo:block
<#if (form.images!?size > 0)>
<#list form.images as img>
fo:inline
<fo:external-graphic src="${img.url}" content-height="2.5cm" content-width="auto" />
</fo:inline>
</#list>
<#else>
fo:inline</fo:inline>
</#if>
</fo:block>
</fo:table-cell>
</fo:table-row>
</#if>
fo:table-row
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inlineДополнительные сведения</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell number-columns-spanned="3" text-align="center" border="1 solid black" margin="0" padding="0">
fo:block
fo:inline${form.otherDesc!''}</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
<#if form.signatureList?exists>
<#list form.signatureList as signature>
fo:table-row
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inline${signature.itemName}</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell number-columns-spanned="3" text-align="center" border="1 solid black" margin="0" padding="0">
fo:block
<#if signature.value?exists>
<fo:external-graphic src="${signature.value}" content-height="2.5cm" content-width="auto" />
<#else>
fo:inline</fo:inline>
</#if>
</fo:block>
</fo:table-cell>
</fo:table-row>
</#list>
</#if>
<#if checkSignList?exists>
fo:table-row
<fo:table-cell number-columns-spanned="4" text-align="center" border="1 solid black" margin="0" padding="0">
<fo:block font-weight="500">
fo:inlineПроверочные подписи</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
<#list checkSignList as checkSign>
fo:table-row
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inline${checkSign.signer}</fo:inline>
</fo:block>
</fo:table-cell>
<fo:table-cell number-columns-spanned="2" text-align="center" border="1 solid black" margin="0" padding="0">
fo:block
<#if signature.signValue?exists>
<fo:external-graphic src="${signature.signValue}" content-height="2.5cm" content-width="auto" />
<#else>
fo:inline</fo:inline>
</#if>
</fo:block>
</fo:table-cell>
<fo:table-cell border="1 solid black" text-align="center" margin="0" padding="0">
fo:block
fo:inline${signature.createTime!''}</fo:inline>
</fo:block>
</fo:table-cell>
</fo:table-row>
</#list>
</#if>
</fo:table-body>
</fo:table>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/dromara-x-easypdf.git
git@api.gitlife.ru:oschina-mirror/dromara-x-easypdf.git
oschina-mirror
dromara-x-easypdf
dromara-x-easypdf