我正在使用 asciidoctor-web-pdf 从 asciidoc 生成 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
但我的文档不包含图像或生成的图表(植物)。
文件夹结构遵循 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 的一部分。
根据文件夹结构,我的 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 时,出现以下错误:
- 正常图像
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
- 植物图
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[]
----
有没有人提示如何解决我的问题?我也对其他解决方案持开放态度。也许安托拉有一种更简单的方法,所以我根本不需要 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