使用多个图形将DOT脚本渲染为PDF每页一个图形 [英] Render DOT script with multiple graphs to PDF one graph per page

查看:3
本文介绍了使用多个图形将DOT脚本渲染为PDF每页一个图形的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个大型的DOT脚本,其中定义了多个图表:

digraph Tree0 {
  ...
}

digraph Tree1 {
  ...
{
...

我可以通过调用dot -Tps forest.dot -o forest.ps将其呈现到一个PostScript文件中,其中每个图形都位于单独的页面上。然而,出于性能原因,我更喜欢PDF而不是PostScript(滚动和缩放要流畅得多)。但是,如果我对PDF而不是ps使用相同的命令,则结果文件只包含其中一个图形,其余图形看起来都写入了stdout。

使用ps2pdf将PS转换为PDF不起作用,因为图形和PS文件的页面具有不同的大小,但生成的PDF文件将具有固定的页面大小,从而截断了部分图形。

有没有一种简单的方法可以从DOT获得多图形PDF,就像处理PS文件一样?如果不是,我如何将PS转换为PDF并保持不同的页面大小?

推荐答案

这个:dot -Tps2 forest.gv -o forest.ps | ps2pdf forest.ps

主要区别在于它使用-Tps2。根据文档:

PS2使用PDF表示法生成PostScript输出。假定输出将直接转换为PDF格式。这些符号包括PDF边界框信息,因此生成的PDF文件可以正确地与pdf工具(如pdflatex)一起使用。此外,如果节点具有URL属性,则将其转换为PDF代码,使得当在PDF查看器(例如,AcroRead)中查看该节点时,该节点是到给定URL的链接。如果将URL附加到图形,则它充当基础,这样节点上的相对URL就是从它派生出来的。

这篇关于使用多个图形将DOT脚本渲染为PDF每页一个图形的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆