我正在使用maven- PDF插件从一个标记文档生成一个PDF文件。我在/src/site/markdown中有标记文件和包含的图像文件。我在/src/site中有一个/src/site文件。
当我运行mvn pdf:pdf时,我会得到一个在/target/pdf中生成的PDF文件。PDF文件在标记文件中格式化良好,但不包括图像。输出有错误,指示它找不到最有可能的图像,因为警告:
警告没有指定文档根,本地链接将无法正确解析!
我已经搜索了在maven-pdf插件上可以找到的所有东西,也没有找到任何关于如何设置这个难以捉摸的文档根的参考。我希望将图像文件保存在同一个目录中,并在标记文件中使用相对引用,也就是说,在这种情况下,引用只是文件名。
任何帮助或指点,以找到我需要做什么,将不胜感激。
编辑以添加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中。要包含的图像文件位于同一个目录中。
这是一个如何将图像包含在标记文件中的示例:

编辑以添加进一步调查的结果
用呈现的图像生成PDF的两种方法是要么将图像文件放在顶级项目根目录,要么将标记文件中的图像规范更改为相对于项目根目录。前者是一个糟糕的解决方案。后者可能是暂时的解决办法,但会破坏我们使用标记文件的其他方式。
发布于 2021-10-21 08:46:55
无法更改maven-pdf插件中图像的相对位置。它从站点上下文生成一个PDF文件。若要使图片可供PDF使用,请将其用于网站。根据文档,图像应该在resources目录中。
+- src/
+- markdown/
| +- docs.md
|
+- resources/
| +- images/
| +- domain-model-placeholder.png
|
+- site.xml图像将以标记形式提供,并有以下标记:
PDF内容将与图像生成。但是,在使用文档根作为相对引用的BitBucket或Github中的存储库视图中找不到图像。我通过将图像复制到标记目录来修复它。
+- src/
+- markdown/
| +- images/
| | +- domain-model-placeholder.png
| |
| +- docs.md
|
+- resources/
| +- images/
| +- domain-model-placeholder.png
|
+- site.xml这是一种图像的复制,但是使用这种方法,它们可以在pdf生成和存储库视图中使用。
https://stackoverflow.com/questions/52268591
复制相似问题