Нет изображений в сгенерированном документе PDF (из Asciidoc в PDF)

#asciidoctor #asciidoctor-pdf #antora

#asciidoctor #asciidoctor-pdf #antora

Вопрос:

Я создаю PDF-документ из asciidoc с помощью asciidoctor-web-pdf. Пока большинство задач работают нормально.

 asciidoctor-web-pdf -a stylesheet="asciidoctor-pdf/css/asciidoctor.css,asciidoctor-pdf/css/document.css,assets/pdf-export/custom.css" 
                    -a stem 
                    --require asciidoctor-kroki 
                    docs/modules/ROOT/pdf.adoc
  

Но мой документ не содержит изображений или сгенерированных диаграмм (plantuml).

Структура папок соответствует макету Antora, потому что я в основном использую Antora. PDF — это просто необходимый побочный продукт.

Моя структура папок выглядит следующим образом (как сказано в antora-layout):

 project-folder
  docs
|   modules
| |   ROOT
| | |   assets
| | | |   images
| | | | | - logo.png
| | |   pages
| | | | - index.adoc
| | | | - 01-intro.adoc
| | | | - some-other.adoc
| | | - nav.adoc
| | | - pdf.adoc
  

Pdf.adoc — это просто список включений, чтобы убедиться, что каждый необходимый файл adoc является частью PDF.

В соответствии со структурой папок правильный путь к my logo.png docs/modules/ROOT/assets/images/logo.png (или абсолютный /home/sebastian/work/workspace/workspace-p/jira-ops-manual/docs/modules/ROOT/assets/images/logo.png ).

Когда я генерирую PDF с помощью приведенной выше команды, я получаю эти ошибки:

  1. обычное изображение
 Failed to load resource: net::ERR_FILE_NOT_FOUND at file:///home/sebastian/work/workspace/workspace-provinzial/jira-ops-manual/docs/modules/ROOT/logo-provinzial.png:1
  
  1. схема plantuml
 asciidoctor: ERROR: pages/04-system-setup/index.adoc: line 8: include file not found: /home/sebastian/work/workspace/workspace-provinzial/jira-ops-manual/docs/modules/ROOT/pages/04-system-setup/image$04-system-setup/system-overview.puml
  

Я думаю, проблема в том, что asciidoctor-web-pdf не image$... заменяет часть пути, поэтому ссылка неверна (или вообще не может разрешить эти ссылки). Изображения и диаграммы встроены следующим образом:

 image::logo.png[Logo, align="center"]

[plantuml, system-overview-plantuml-image, svg]
----
include::image$04-system-setup/system-overview.puml[]
----
  

У кого-нибудь есть подсказка, как решить мою проблему? Я открыт и для других решений. Может быть, есть более простой способ с antora, поэтому мне вообще не нужен asciidoctor-web-pdf?


РЕДАКТИРОВАТЬ: я решил проблему с обычными изображениями, установив путь к изображениям в верхней части pdf-adoc.

 = Operations Manual
:imagesdir: ./assets/images

include::pages/index.adoc[]

include::page1.adoc[]

include::page2.adoc[]

...

But the problem with the plantuml images still exists.

  

:imagesdir: ./assets/images

Ответ №1:

Во-первых, я бы написал комментарий, но у меня нет репутации 50, поэтому я отвечаю … вроде:

Вы должны знать, что asciidoc-web-pdf все еще находится в стадии активной разработки, и я не могу представить, что он плохо протестирован рядом с Antora. В этом обсуждении вы получите некоторые идеи: https://discuss.asciidoctor.org/Single-PDF-and-multiple-HTML-from-same-sources-td7640.html

При этом я бы уменьшил сложность (построил бы свои вещи, если бы Antora) и начал строить небольшими шагами. Затем перейдите к следующему шагу.