maven-pdf-plugin: как определить корень документа для использования относительных ссылок

Я использую maven-pdf-plugin для создания PDF-файла из документа уценки. У меня есть файл уценки в /src/site/markdown наряду с включенными файлами изображений. у меня есть pdf.xml файл в /src/site,

Когда я бегу mvn pdf:pdfЯ получаю файл PDF, сгенерированный в /target/pdf, Файл PDF отлично отформатирован из файла уценки, но не включает изображения. Вывод содержит ошибки, указывающие на то, что он не может найти изображения наиболее вероятно из-за предупреждения:

[предупреждение] Корень документа не указан, локальные ссылки не будут разрешены правильно!

Я искал все, что могу найти в maven-pdf-plugin, и не нашел ссылок на то, как установить этот неуловимый корень документа. Я хотел бы сохранить файлы изображений в том же каталоге и использовать относительные ссылки в файле уценки, т.е. в этом случае ссылка - это просто имя файла.

Буду признателен за любую помощь или указатели, где найти то, что мне нужно сделать.

РЕДАКТИРОВАТЬ, чтобы добавить pdf.xmlВот содержимое /src/site/pdf.xml

<document outputName="DesignDoc">
<meta>
  <title>Design Documentation</title>
  <author>Team A</author>
</meta>
<toc name="Table of Contents">
  <item name="Design Documentation" ref="DesignDoc.md"/>
</toc>
<cover>
  <coverTitle>${project.name}</coverTitle>
  <coverSubTitle>v. ${project.version}</coverSubTitle>
  <coverType>Design Documentation</coverType>
  <projectName>${project.name}</projectName>
</cover>
</document>

Файл уценки находится в /src/site/markdown, Файлы изображений, которые будут включены, находятся в том же каталоге.

Это пример того, как изображение включено в файл уценки:

![Domain Model](domain-model-placeholder.png)

РЕДАКТИРОВАТЬ, чтобы добавить результаты дальнейшего исследования
Два способа, которыми я могу создать PDF-файл с визуализированными изображениями, - это либо поместить файлы изображений в корень проекта верхнего уровня, либо изменить спецификацию изображения в файле уценки на относительную к корневому каталогу проекта. Первое - паршивое решение. Последнее может быть временным обходным путем, но может нарушить другой способ, которым мы используем файл уценки.

1 ответ

Невозможно изменить относительное расположение изображений в maven-pdf-plugin. Он генерирует PDF-файл из контекста сайта. Чтобы изображения были доступны в формате PDF, они должны быть доступны на сайте. Согласно документации изображения должны быть в resources каталог.

      +- src/
      +- markdown/
      |  +- docs.md
      |
      +- resources/
      |  +- images/
      |     +- domain-model-placeholder.png
      |
      +- site.xml

Изображение будет доступно в уценке со следующим тегом:

      ![Domain Model](images/domain-model-placeholder.png)

PDF-контент будет создан с изображениями. Но изображения не будут найдены в представлении репозитория в BitBucket или Github, где корень документа используется в качестве относительной ссылки. Я исправил это, скопировав изображения в каталог уценки.

      +- src/
      +- markdown/
      |  +- images/
      |  |  +- domain-model-placeholder.png
      |  |
      |  +- docs.md
      |
      +- resources/
      |  +- images/
      |     +- domain-model-placeholder.png
      |
      +- site.xml

Это дублирование изображений, но при таком подходе они доступны как в формате pdf, так и в виде репозитория.

Другие вопросы по тегам