I'm generating a PDF document from asciidoc with asciidoctor-web-pdf. So far most tasks work fine.
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
But my document does not include images or generated diagrams (plantuml).
The folder structure follows the layout of Antora because I mainly use Antora. The PDF is just a necessary side-product.
My folder structure looks like this (as said antora-layout):
project-folder
+ docs
| + modules
| | + ROOT
| | | + assets
| | | | + images
| | | | | - logo.png
| | | + pages
| | | | - index.adoc
| | | | - 01-intro.adoc
| | | | - some-other.adoc
| | | - nav.adoc
| | | - pdf.adoc
The pdf.adoc is just a list of includes to make sure every needed adoc file is part of the PDF.
According to the folder structure the correct path to my logo.png is docs/modules/ROOT/assets/images/logo.png
(or absolute /home/sebastian/work/workspace/workspace-p/jira-ops-manual/docs/modules/ROOT/assets/images/logo.png
).
When I generate the PDf with above command I get these errors:
- normal image
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
- plantuml diagram
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
I guess the problem is that asciidoctor-web-pdf doesn't subsitute the image$...
part of the path so the reference is wrong (or in general cannot resolve these references). Images and diagrams are embedded like this:
image::logo.png[Logo, align="center"]
[plantuml, system-overview-plantuml-image, svg]
----
include::image$04-system-setup/system-overview.puml[]
----
Does anyone have a hint how to solve my issue? I'm open to other solutions as well. Maybe there is a simpler way with antora so I don't need asciidoctor-web-pdf at all?
EDIT: I solved the problem with normal images by setting the images path at the top of the 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
First, I would write a comment but I haven't 50 reputations - So I answer… sort of:
You have to know asciidoc-web-pdf is still under active development and I can't imagine it isn't well tested beside Antora. In this discussion you'll get some insights: https://discuss.asciidoctor.org/Single-PDF-and-multiple-HTML-from-same-sources-td7640.html
That being said, I would reduce complexity (build my stuff out if Antora) and start building in little steps. Then succeed to the next step.