如果没有足够的信息我很抱歉。我通常不会像这样在网上寻求帮助。
我在Windows上使用DITA 3.4。我使用Jarno(非常优秀和有帮助的) PDF插件生成器生成了一个名为"vcr2“的插件,然后进行了一些定制。插件使用pdf2插件作为基础。当我尝试使用vcr2插件时,我的图像不起作用。我在图像的href属性中跟踪到了格式错误的图像文件名。
例如:
在我的源文件(一个DITA任务)中,我的一个映像的标记如下所示:
<image href="MyRemindersChooseReminder.png"/>
如果我使用pdf2插件运行转换,图像就可以正常工作。在临时文件夹中合并的stage1.xml文件中,该映像的XML如下所示:
<image class="- topic/image " href="df2d132af27436c59c5c8c4282e112d62bec8201.png" placement="inline" xtrc="image:1;10:66" xtrf="file:/V:/Vasont/Extract/t12340879-minimal/t12340879.xml"/>
它被处理为一个文件Topic.fo,如下所示:
一切运转良好,图像看起来也很好。
如果我通过我的“vcr2”插件运行相同的文件,这个插件只会调用同一个带有重写的pdf2插件,那么所有的图像都会被破坏:
stage1.xml <image class="- topic/image " href="df2d132af27436c59c5c8c4282e112d62bec8201.png" placement="inline" xtrc="image:1;10:66" xtrf="file:/V:/Vasont/Extract/t12340879-minimal/t12340879.xml"/>
外部图形src="url('file:/V:/Vasont/Extract/t12340879-minimal/df2d132af27436c59c5c8c4282e112d62bec8201.png')" /> Topic.fo
当我进一步跟踪它时,似乎在地图阅读器Ant任务的某个地方,这个文件名被更改为伪十六进制的神秘字符串。我认为稍后应该将其更改回或解析为完整的URI或其他内容。
因此,有两个部分的问题是:为什么Open要更改我的文件名,以及应该如何更改它们呢?
发布于 2020-03-26 16:34:41
DITA的预处理使用散列作为临时文件名,因为它允许代码不处理目录结构。这使得预处理能够在所谓的“地图优先”模式中工作,它首先处理所有DITA映射资源,然后才开始处理DITA主题和图像资源。
预处理有一个称为清洁预处理的步骤,它可以重写临时文件名以匹配源文件名。但是,对于PDF输出,此重写操作被禁用,因为原始文件名不用于该输出类型中的任何内容。
https://stackoverflow.com/questions/60858357
复制相似问题