Ghostscript:不使用文件系统将PDF转换为其他文件类型

时间:2014-04-24 00:24:37

标签: linux pdf ghostscript

我想在Linux上使用C API到Ghostscript将PDF转换为其他东西:页面和图像较少的PDF是两个例子。

我的理解是通过使用gsapi_set_stdio提供回调函数,我可以从中读取和写入数据。然而,从我的实验和阅读来看,情况似乎并非如此。

我这样做的动机是我将大规模处理PDF,并且不希望我的吞吐量被旋转磁盘阻挡。

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

stdio API允许您为stdin,stdout和stderr提供自己的替换,它不会影响不使用它们的解释器的任何活动。

pdfwrite设备广泛使用文件系统来编写临时文件,这些文件在解释时保存PDF文件的各个中间部分,然后将这些文件重新组装到新的PDF文件中。临时文件不会写入stdout或stderr。

没有办法避免这种行为。

再次渲染图像使用文件系统,除非您将stdout指定为位图的目标,在这种情况下,您可以使用stdio API调用将stdout重定向到其他位置。如果图像以足够高的分辨率渲染,那么GS将使用显示列表,并且显示列表将再次存储在不受stdio重定向影响的临时文件中。